@boxyhq/saml-jackson 1.9.2 → 1.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/controller/admin.d.ts +10 -4
- package/dist/controller/admin.js +6 -6
- package/dist/controller/admin.js.map +1 -1
- package/dist/controller/api.d.ts +3 -1
- package/dist/controller/api.js +19 -12
- package/dist/controller/api.js.map +1 -1
- package/dist/controller/connection/saml.js +2 -2
- package/dist/controller/connection/saml.js.map +1 -1
- package/dist/controller/logout.js +4 -4
- package/dist/controller/logout.js.map +1 -1
- package/dist/controller/oauth.js +4 -3
- package/dist/controller/oauth.js.map +1 -1
- package/dist/controller/saml-handler.js +4 -4
- package/dist/controller/saml-handler.js.map +1 -1
- package/dist/controller/setup-link.d.ts +4 -1
- package/dist/controller/setup-link.js +8 -8
- package/dist/controller/setup-link.js.map +1 -1
- package/dist/controller/utils.d.ts +16 -2
- package/dist/controller/utils.js +11 -8
- package/dist/controller/utils.js.map +1 -1
- package/dist/db/db.d.ts +4 -3
- package/dist/db/db.js +24 -10
- package/dist/db/db.js.map +1 -1
- package/dist/db/defaultDb.js +4 -0
- package/dist/db/defaultDb.js.map +1 -1
- package/dist/db/dynamoDb.d.ts +18 -0
- package/dist/db/dynamoDb.js +336 -0
- package/dist/db/dynamoDb.js.map +1 -0
- package/dist/db/mem.d.ts +4 -3
- package/dist/db/mem.js +15 -5
- package/dist/db/mem.js.map +1 -1
- package/dist/db/mongo.d.ts +4 -3
- package/dist/db/mongo.js +16 -5
- package/dist/db/mongo.js.map +1 -1
- package/dist/db/planetscale/entity/JacksonIndex.js.map +1 -1
- package/dist/db/planetscale/entity/JacksonStore.js.map +1 -1
- package/dist/db/planetscale/entity/JacksonTTL.js.map +1 -1
- package/dist/db/redis.d.ts +4 -3
- package/dist/db/redis.js +26 -5
- package/dist/db/redis.js.map +1 -1
- package/dist/db/sql/entity/JacksonIndex.js.map +1 -1
- package/dist/db/sql/entity/JacksonStore.js.map +1 -1
- package/dist/db/sql/entity/JacksonTTL.js.map +1 -1
- package/dist/db/sql/mariadb/entity/JacksonIndex.js.map +1 -1
- package/dist/db/sql/mariadb/entity/JacksonStore.js.map +1 -1
- package/dist/db/sql/mariadb/entity/JacksonTTL.js.map +1 -1
- package/dist/db/sql/mssql/entity/JacksonIndex.js.map +1 -1
- package/dist/db/sql/mssql/entity/JacksonStore.js.map +1 -1
- package/dist/db/sql/mssql/entity/JacksonTTL.js.map +1 -1
- package/dist/db/sql/sql.d.ts +4 -3
- package/dist/db/sql/sql.js +33 -4
- package/dist/db/sql/sql.js.map +1 -1
- package/dist/db/store.js +9 -4
- package/dist/db/store.js.map +1 -1
- package/dist/directory-sync/Base.d.ts +1 -0
- package/dist/directory-sync/Base.js +1 -0
- package/dist/directory-sync/Base.js.map +1 -1
- package/dist/directory-sync/DirectoryConfig.d.ts +22 -8
- package/dist/directory-sync/DirectoryConfig.js +38 -15
- package/dist/directory-sync/DirectoryConfig.js.map +1 -1
- package/dist/directory-sync/DirectoryGroups.d.ts +4 -5
- package/dist/directory-sync/DirectoryGroups.js +55 -77
- package/dist/directory-sync/DirectoryGroups.js.map +1 -1
- package/dist/directory-sync/DirectoryUsers.js +6 -6
- package/dist/directory-sync/DirectoryUsers.js.map +1 -1
- package/dist/directory-sync/Groups.d.ts +3 -2
- package/dist/directory-sync/Groups.js +48 -18
- package/dist/directory-sync/Groups.js.map +1 -1
- package/dist/directory-sync/Users.d.ts +1 -1
- package/dist/directory-sync/Users.js +18 -14
- package/dist/directory-sync/Users.js.map +1 -1
- package/dist/directory-sync/WebhookEventsLogger.d.ts +7 -6
- package/dist/directory-sync/WebhookEventsLogger.js +26 -18
- package/dist/directory-sync/WebhookEventsLogger.js.map +1 -1
- package/dist/directory-sync/events.js +7 -18
- package/dist/directory-sync/events.js.map +1 -1
- package/dist/directory-sync/index.d.ts +3 -2
- package/dist/directory-sync/index.js +6 -5
- package/dist/directory-sync/index.js.map +1 -1
- package/dist/directory-sync/transform.d.ts +9 -5
- package/dist/directory-sync/transform.js +26 -2
- package/dist/directory-sync/transform.js.map +1 -1
- package/dist/directory-sync/types.d.ts +24 -4
- package/dist/directory-sync/utils.d.ts +23 -26
- package/dist/directory-sync/utils.js +50 -86
- package/dist/directory-sync/utils.js.map +1 -1
- package/dist/ee/federated-saml/app.d.ts +4 -3
- package/dist/ee/federated-saml/app.js +4 -4
- package/dist/ee/federated-saml/app.js.map +1 -1
- package/dist/event/axios.d.ts +2 -0
- package/dist/event/axios.js +32 -0
- package/dist/event/axios.js.map +1 -0
- package/dist/event/index.d.ts +10 -0
- package/dist/event/index.js +54 -0
- package/dist/event/index.js.map +1 -0
- package/dist/event/types.d.ts +21 -0
- package/dist/event/types.js +3 -0
- package/dist/event/types.js.map +1 -0
- package/dist/event/utils.d.ts +4 -0
- package/dist/event/utils.js +39 -0
- package/dist/event/utils.js.map +1 -0
- package/dist/event/webhook.d.ts +3 -0
- package/dist/event/webhook.js +39 -0
- package/dist/event/webhook.js.map +1 -0
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/loadConnection.js +1 -2
- package/dist/loadConnection.js.map +1 -1
- package/dist/saml-tracer/index.d.ts +2 -2
- package/dist/saml-tracer/index.js +5 -4
- package/dist/saml-tracer/index.js.map +1 -1
- package/dist/typings.d.ts +25 -7
- package/dist/typings.js +1 -0
- package/dist/typings.js.map +1 -1
- package/package.json +13 -10
@@ -111,6 +111,7 @@ class Groups extends Base_1.Base {
|
|
111
111
|
throw error;
|
112
112
|
}
|
113
113
|
yield this.store('groups').delete(id);
|
114
|
+
yield this.removeAllUsers(id);
|
114
115
|
return { data: null, error: null };
|
115
116
|
}
|
116
117
|
catch (err) {
|
@@ -121,7 +122,7 @@ class Groups extends Base_1.Base {
|
|
121
122
|
// Get all users in a group
|
122
123
|
getAllUsers(groupId) {
|
123
124
|
return __awaiter(this, void 0, void 0, function* () {
|
124
|
-
const users = yield this.store('members').getByIndex({
|
125
|
+
const { data: users } = yield this.store('members').getByIndex({
|
125
126
|
name: 'groupId',
|
126
127
|
value: groupId,
|
127
128
|
});
|
@@ -136,6 +137,7 @@ class Groups extends Base_1.Base {
|
|
136
137
|
return __awaiter(this, void 0, void 0, function* () {
|
137
138
|
const id = dbutils.keyDigest(dbutils.keyFromParts(groupId, userId));
|
138
139
|
yield this.store('members').put(id, {
|
140
|
+
id: id,
|
139
141
|
group_id: groupId,
|
140
142
|
user_id: userId,
|
141
143
|
}, {
|
@@ -151,18 +153,6 @@ class Groups extends Base_1.Base {
|
|
151
153
|
yield this.store('members').delete(id);
|
152
154
|
});
|
153
155
|
}
|
154
|
-
// Remove all users from a group
|
155
|
-
removeAllUsers(groupId) {
|
156
|
-
return __awaiter(this, void 0, void 0, function* () {
|
157
|
-
const users = yield this.getAllUsers(groupId);
|
158
|
-
if (users.length === 0) {
|
159
|
-
return;
|
160
|
-
}
|
161
|
-
for (const user of users) {
|
162
|
-
yield this.removeUserFromGroup(groupId, user.user_id);
|
163
|
-
}
|
164
|
-
});
|
165
|
-
}
|
166
156
|
// Check if a user is a member of a group
|
167
157
|
isUserInGroup(groupId, userId) {
|
168
158
|
return __awaiter(this, void 0, void 0, function* () {
|
@@ -174,7 +164,7 @@ class Groups extends Base_1.Base {
|
|
174
164
|
search(displayName, directoryId) {
|
175
165
|
return __awaiter(this, void 0, void 0, function* () {
|
176
166
|
try {
|
177
|
-
const groups = yield this.store('groups').getByIndex({
|
167
|
+
const { data: groups } = yield this.store('groups').getByIndex({
|
178
168
|
name: indexNames.directoryIdDisplayname,
|
179
169
|
value: dbutils.keyFromParts(directoryId, displayName),
|
180
170
|
});
|
@@ -186,19 +176,21 @@ class Groups extends Base_1.Base {
|
|
186
176
|
});
|
187
177
|
}
|
188
178
|
// Get all groups in a directory
|
189
|
-
getAll(
|
179
|
+
getAll(params) {
|
190
180
|
return __awaiter(this, void 0, void 0, function* () {
|
181
|
+
const { pageOffset, pageLimit, directoryId } = params;
|
191
182
|
try {
|
192
183
|
let groups = [];
|
193
184
|
// Filter by directoryId
|
194
185
|
if (directoryId) {
|
195
|
-
|
186
|
+
const index = {
|
196
187
|
name: indexNames.directoryId,
|
197
188
|
value: directoryId,
|
198
|
-
}
|
189
|
+
};
|
190
|
+
groups = (yield this.store('groups').getByIndex(index, pageOffset, pageLimit)).data;
|
199
191
|
}
|
200
192
|
else {
|
201
|
-
groups = yield this.store('groups').getAll(pageOffset, pageLimit);
|
193
|
+
groups = (yield this.store('groups').getAll(pageOffset, pageLimit)).data;
|
202
194
|
}
|
203
195
|
return { data: groups, error: null };
|
204
196
|
}
|
@@ -207,6 +199,44 @@ class Groups extends Base_1.Base {
|
|
207
199
|
}
|
208
200
|
});
|
209
201
|
}
|
202
|
+
// Delete all groups from a directory
|
203
|
+
deleteAll(directoryId) {
|
204
|
+
return __awaiter(this, void 0, void 0, function* () {
|
205
|
+
const index = {
|
206
|
+
name: indexNames.directoryId,
|
207
|
+
value: directoryId,
|
208
|
+
};
|
209
|
+
// eslint-disable-next-line no-constant-condition
|
210
|
+
while (true) {
|
211
|
+
const { data: groups } = yield this.store('groups').getByIndex(index, 0, this.bulkDeleteBatchSize);
|
212
|
+
if (!groups || groups.length === 0) {
|
213
|
+
break;
|
214
|
+
}
|
215
|
+
const keys = groups.map((group) => group.id);
|
216
|
+
yield this.store('groups').deleteMany(keys);
|
217
|
+
for (const key of keys) {
|
218
|
+
yield this.removeAllUsers(key);
|
219
|
+
}
|
220
|
+
}
|
221
|
+
});
|
222
|
+
}
|
223
|
+
// Remove all users from a group
|
224
|
+
removeAllUsers(groupId) {
|
225
|
+
return __awaiter(this, void 0, void 0, function* () {
|
226
|
+
const index = {
|
227
|
+
name: 'groupId',
|
228
|
+
value: groupId,
|
229
|
+
};
|
230
|
+
// eslint-disable-next-line no-constant-condition
|
231
|
+
while (true) {
|
232
|
+
const { data: members } = yield this.store('members').getByIndex(index, 0, this.bulkDeleteBatchSize);
|
233
|
+
if (!members || members.length === 0) {
|
234
|
+
break;
|
235
|
+
}
|
236
|
+
yield this.store('members').deleteMany(members.map((member) => member.id));
|
237
|
+
}
|
238
|
+
});
|
239
|
+
}
|
210
240
|
}
|
211
241
|
exports.Groups = Groups;
|
212
242
|
//# sourceMappingURL=Groups.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Groups.js","sourceRoot":"","sources":["../../src/directory-sync/Groups.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qDAAuC;AACvC,+CAA6D;AAC7D,iCAA8B;AAE9B,MAAM,UAAU,GAAG;IACjB,sBAAsB,EAAE,wBAAwB;IAChD,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,MAAa,MAAO,SAAQ,WAAI;IAC9B,YAAY,EAAE,EAAE,EAAyB;QACvC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC;IAED,qBAAqB;IACR,MAAM,CAAC,EAClB,WAAW,EACX,IAAI,EACJ,GAAG,GAKJ;;YACC,IAAI;gBACF,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAE3B,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEf,MAAM,KAAK,GAAU;oBACnB,EAAE;oBACF,IAAI;oBACJ,GAAG;iBACJ,CAAC;gBAEF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAC5B,EAAE,EACF,KAAK,EACL;oBACE,IAAI,EAAE,UAAU,CAAC,sBAAsB;oBACvC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC;iBAC/C,EACD;oBACE,IAAI,EAAE,UAAU,CAAC,WAAW;oBAC5B,KAAK,EAAE,WAAW;iBACnB,CACF,CAAC;gBAEF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aACrC;YAAC,OAAO,GAAQ,EAAE;gBACjB,OAAO,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAC;aACtB;QACH,CAAC;KAAA;IAED,oBAAoB;IACP,GAAG,CAAC,EAAU;;YACzB,IAAI;gBACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEjD,IAAI,CAAC,KAAK,EAAE;oBACV,MAAM,IAAI,oBAAY,CAAC,iBAAiB,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;iBAC/D;gBAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aACrC;YAAC,OAAO,GAAQ,EAAE;gBACjB,OAAO,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAC;aACtB;QACH,CAAC;KAAA;IAED,wBAAwB;IACX,MAAM,CACjB,EAAU,EACV,KAGC;;YAED,IAAI;gBACF,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;gBAE5B,MAAM,KAAK,GAAU;oBACnB,EAAE;oBACF,IAAI;oBACJ,GAAG;iBACJ,CAAC;gBAEF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAE1C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aACrC;YAAC,OAAO,GAAQ,EAAE;gBACjB,OAAO,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAC;aACtB;QACH,CAAC;KAAA;IAED,uBAAuB;IACV,MAAM,CAAC,EAAU;;YAC5B,IAAI;gBACF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAE3C,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;oBAClB,MAAM,KAAK,CAAC;iBACb;gBAED,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"Groups.js","sourceRoot":"","sources":["../../src/directory-sync/Groups.ts"],"names":[],"mappings":"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"}
|
@@ -106,10 +106,10 @@ class Users extends Base_1.Base {
|
|
106
106
|
search(userName, directoryId) {
|
107
107
|
return __awaiter(this, void 0, void 0, function* () {
|
108
108
|
try {
|
109
|
-
const users = yield this.store('users').getByIndex({
|
109
|
+
const users = (yield this.store('users').getByIndex({
|
110
110
|
name: indexNames.directoryIdUsername,
|
111
111
|
value: (0, utils_1.keyFromParts)(directoryId, userName),
|
112
|
-
});
|
112
|
+
})).data;
|
113
113
|
return { data: users, error: null };
|
114
114
|
}
|
115
115
|
catch (err) {
|
@@ -124,13 +124,13 @@ class Users extends Base_1.Base {
|
|
124
124
|
let users = [];
|
125
125
|
// Filter by directoryId
|
126
126
|
if (directoryId) {
|
127
|
-
users = yield this.store('users').getByIndex({
|
127
|
+
users = (yield this.store('users').getByIndex({
|
128
128
|
name: indexNames.directoryId,
|
129
129
|
value: directoryId,
|
130
|
-
}, pageOffset, pageLimit);
|
130
|
+
}, pageOffset, pageLimit)).data;
|
131
131
|
}
|
132
132
|
else {
|
133
|
-
users = yield this.store('users').getAll(pageOffset, pageLimit);
|
133
|
+
users = (yield this.store('users').getAll(pageOffset, pageLimit)).data;
|
134
134
|
}
|
135
135
|
return { data: users, error: null };
|
136
136
|
}
|
@@ -139,17 +139,21 @@ class Users extends Base_1.Base {
|
|
139
139
|
}
|
140
140
|
});
|
141
141
|
}
|
142
|
-
//
|
143
|
-
|
144
|
-
clear() {
|
142
|
+
// Delete all users from a directory
|
143
|
+
deleteAll(directoryId) {
|
145
144
|
return __awaiter(this, void 0, void 0, function* () {
|
146
|
-
const
|
147
|
-
|
148
|
-
|
145
|
+
const index = {
|
146
|
+
name: indexNames.directoryId,
|
147
|
+
value: directoryId,
|
148
|
+
};
|
149
|
+
// eslint-disable-next-line no-constant-condition
|
150
|
+
while (true) {
|
151
|
+
const { data: users } = yield this.store('users').getByIndex(index, 0, this.bulkDeleteBatchSize);
|
152
|
+
if (!users || users.length === 0) {
|
153
|
+
break;
|
154
|
+
}
|
155
|
+
yield this.store('users').deleteMany(users.map((user) => user.id));
|
149
156
|
}
|
150
|
-
yield Promise.all(users.map((user) => __awaiter(this, void 0, void 0, function* () {
|
151
|
-
return this.delete(user.id);
|
152
|
-
})));
|
153
157
|
});
|
154
158
|
}
|
155
159
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Users.js","sourceRoot":"","sources":["../../src/directory-sync/Users.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"Users.js","sourceRoot":"","sources":["../../src/directory-sync/Users.ts"],"names":[],"mappings":"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"}
|
@@ -1,15 +1,16 @@
|
|
1
1
|
import type { Directory, DatabaseStore, WebhookEventLog, DirectorySyncEvent, PaginationParams } from '../typings';
|
2
2
|
import { Base } from './Base';
|
3
|
+
type GetAllParams = PaginationParams & {
|
4
|
+
directoryId?: string;
|
5
|
+
};
|
3
6
|
export declare class WebhookEventsLogger extends Base {
|
4
7
|
constructor({ db }: {
|
5
8
|
db: DatabaseStore;
|
6
9
|
});
|
7
|
-
log(directory: Directory, event: DirectorySyncEvent): Promise<WebhookEventLog>;
|
10
|
+
log(directory: Directory, event: DirectorySyncEvent, status: number): Promise<WebhookEventLog>;
|
8
11
|
get(id: string): Promise<WebhookEventLog>;
|
9
|
-
getAll(
|
10
|
-
directoryId?: string;
|
11
|
-
}): Promise<WebhookEventLog[]>;
|
12
|
+
getAll(params?: GetAllParams): Promise<WebhookEventLog[]>;
|
12
13
|
delete(id: string): Promise<void>;
|
13
|
-
|
14
|
-
updateStatus(log: WebhookEventLog, statusCode: number): Promise<WebhookEventLog>;
|
14
|
+
deleteAll(directoryId: string): Promise<void>;
|
15
15
|
}
|
16
|
+
export {};
|
@@ -15,10 +15,10 @@ class WebhookEventsLogger extends Base_1.Base {
|
|
15
15
|
constructor({ db }) {
|
16
16
|
super({ db });
|
17
17
|
}
|
18
|
-
log(directory, event) {
|
18
|
+
log(directory, event, status) {
|
19
19
|
return __awaiter(this, void 0, void 0, function* () {
|
20
20
|
const id = this.createId();
|
21
|
-
const log = Object.assign(Object.assign({}, event), { id, webhook_endpoint: directory.webhook.endpoint, created_at: new Date() });
|
21
|
+
const log = Object.assign(Object.assign({}, event), { id, webhook_endpoint: directory.webhook.endpoint, created_at: new Date(), status_code: status, delivered: status === 200 });
|
22
22
|
yield this.store('logs').put(id, log, {
|
23
23
|
name: 'directoryId',
|
24
24
|
value: directory.id,
|
@@ -31,15 +31,21 @@ class WebhookEventsLogger extends Base_1.Base {
|
|
31
31
|
return yield this.store('logs').get(id);
|
32
32
|
});
|
33
33
|
}
|
34
|
-
getAll(
|
34
|
+
getAll(params = {}) {
|
35
35
|
return __awaiter(this, void 0, void 0, function* () {
|
36
|
+
const { pageOffset, pageLimit, directoryId } = params;
|
37
|
+
let eventLogs = [];
|
36
38
|
if (directoryId) {
|
37
|
-
|
39
|
+
const index = {
|
38
40
|
name: 'directoryId',
|
39
41
|
value: directoryId,
|
40
|
-
}
|
42
|
+
};
|
43
|
+
eventLogs = (yield this.store('logs').getByIndex(index, pageOffset, pageLimit)).data;
|
41
44
|
}
|
42
|
-
|
45
|
+
else {
|
46
|
+
eventLogs = (yield this.store('logs').getAll(pageOffset, pageLimit)).data;
|
47
|
+
}
|
48
|
+
return eventLogs;
|
43
49
|
});
|
44
50
|
}
|
45
51
|
delete(id) {
|
@@ -47,19 +53,21 @@ class WebhookEventsLogger extends Base_1.Base {
|
|
47
53
|
yield this.store('logs').delete(id);
|
48
54
|
});
|
49
55
|
}
|
50
|
-
|
51
|
-
|
52
|
-
const events = yield this.getAll({});
|
53
|
-
yield Promise.all(events.map((event) => __awaiter(this, void 0, void 0, function* () {
|
54
|
-
yield this.delete(event.id);
|
55
|
-
})));
|
56
|
-
});
|
57
|
-
}
|
58
|
-
updateStatus(log, statusCode) {
|
56
|
+
// Delete all event logs for a directory
|
57
|
+
deleteAll(directoryId) {
|
59
58
|
return __awaiter(this, void 0, void 0, function* () {
|
60
|
-
const
|
61
|
-
|
62
|
-
|
59
|
+
const index = {
|
60
|
+
name: 'directoryId',
|
61
|
+
value: directoryId,
|
62
|
+
};
|
63
|
+
// eslint-disable-next-line no-constant-condition
|
64
|
+
while (true) {
|
65
|
+
const { data: events } = yield this.store('logs').getByIndex(index, 0, this.bulkDeleteBatchSize);
|
66
|
+
if (!events || events.length === 0) {
|
67
|
+
break;
|
68
|
+
}
|
69
|
+
yield this.store('logs').deleteMany(events.map((event) => event.id));
|
70
|
+
}
|
63
71
|
});
|
64
72
|
}
|
65
73
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"WebhookEventsLogger.js","sourceRoot":"","sources":["../../src/directory-sync/WebhookEventsLogger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,iCAA8B;
|
1
|
+
{"version":3,"file":"WebhookEventsLogger.js","sourceRoot":"","sources":["../../src/directory-sync/WebhookEventsLogger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,iCAA8B;AAM9B,MAAa,mBAAoB,SAAQ,WAAI;IAC3C,YAAY,EAAE,EAAE,EAAyB;QACvC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC;IAEY,GAAG,CAAC,SAAoB,EAAE,KAAyB,EAAE,MAAc;;YAC9E,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE3B,MAAM,GAAG,mCACJ,KAAK,KACR,EAAE,EACF,gBAAgB,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAC5C,UAAU,EAAE,IAAI,IAAI,EAAE,EACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,KAAK,GAAG,GAC1B,CAAC;YAEF,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE;gBACpC,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,SAAS,CAAC,EAAE;aACpB,CAAC,CAAC;YAEH,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAEY,GAAG,CAAC,EAAU;;YACzB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;KAAA;IAEY,MAAM,CAAC,SAAuB,EAAE;;YAC3C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;YAEtD,IAAI,SAAS,GAAsB,EAAE,CAAC;YAEtC,IAAI,WAAW,EAAE;gBACf,MAAM,KAAK,GAAG;oBACZ,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,WAAW;iBACnB,CAAC;gBAEF,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;aACtF;iBAAM;gBACL,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;aAC3E;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAEY,MAAM,CAAC,EAAU;;YAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;KAAA;IAED,wCAAwC;IAClC,SAAS,CAAC,WAAmB;;YACjC,MAAM,KAAK,GAAG;gBACZ,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,WAAW;aACnB,CAAC;YAEF,iDAAiD;YACjD,OAAO,IAAI,EAAE;gBACX,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAEjG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;oBAClC,MAAM;iBACP;gBAED,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;aACtE;QACH,CAAC;KAAA;CACF;AAtED,kDAsEC"}
|
@@ -8,15 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
9
|
});
|
10
10
|
};
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
-
};
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
15
12
|
exports.handleEventCallback = exports.sendEvent = void 0;
|
16
|
-
const
|
17
|
-
const
|
13
|
+
const webhook_1 = require("../event/webhook");
|
14
|
+
const transform_1 = require("./transform");
|
18
15
|
const sendEvent = (event, payload, callback) => __awaiter(void 0, void 0, void 0, function* () {
|
19
|
-
const eventTransformed = (0,
|
16
|
+
const eventTransformed = (0, transform_1.transformEventPayload)(event, payload);
|
20
17
|
return callback ? yield callback(eventTransformed) : Promise.resolve();
|
21
18
|
});
|
22
19
|
exports.sendEvent = sendEvent;
|
@@ -27,26 +24,18 @@ const handleEventCallback = (directories, webhookEventsLogger) => __awaiter(void
|
|
27
24
|
if (!directory) {
|
28
25
|
return;
|
29
26
|
}
|
30
|
-
|
31
|
-
// If there is no webhook, then we don't need to send an event
|
32
|
-
if (webhook.endpoint === '') {
|
27
|
+
if (!directory.webhook.endpoint || !directory.webhook.secret) {
|
33
28
|
return;
|
34
29
|
}
|
35
|
-
webhookEventsLogger.setTenantAndProduct(tenant, product);
|
36
|
-
const headers = yield (0, utils_1.createHeader)(webhook.secret, event);
|
37
|
-
// Log the events only if `log_webhook_events` is enabled
|
38
|
-
const log = directory.log_webhook_events ? yield webhookEventsLogger.log(directory, event) : undefined;
|
39
30
|
let status = 200;
|
40
31
|
try {
|
41
|
-
yield
|
42
|
-
headers,
|
43
|
-
});
|
32
|
+
yield (0, webhook_1.sendPayloadToWebhook)(directory.webhook, event);
|
44
33
|
}
|
45
34
|
catch (err) {
|
46
35
|
status = err.response ? err.response.status : 500;
|
47
36
|
}
|
48
|
-
if (
|
49
|
-
yield webhookEventsLogger.
|
37
|
+
if (directory.log_webhook_events) {
|
38
|
+
yield webhookEventsLogger.setTenantAndProduct(tenant, product).log(directory, event, status);
|
50
39
|
}
|
51
40
|
});
|
52
41
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/directory-sync/events.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/directory-sync/events.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,8CAAwD;AACxD,2CAAoD;AAE7C,MAAM,SAAS,GAAG,CACvB,KAA6B,EAC7B,OAA2E,EAC3E,QAAwB,EACxB,EAAE;IACF,MAAM,gBAAgB,GAAG,IAAA,iCAAqB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE/D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AACzE,CAAC,CAAA,CAAC;AARW,QAAA,SAAS,aAQpB;AAEK,MAAM,mBAAmB,GAAG,CACjC,WAA6B,EAC7B,mBAAyC,EACzC,EAAE;IACF,OAAO,CAAO,KAAyB,EAAE,EAAE;QACzC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAE7D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE/D,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;YAC5D,OAAO;SACR;QAED,IAAI,MAAM,GAAG,GAAG,CAAC;QAEjB,IAAI;YACF,MAAM,IAAA,8BAAoB,EAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACtD;QAAC,OAAO,GAAQ,EAAE;YACjB,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;SACnD;QAED,IAAI,SAAS,CAAC,kBAAkB,EAAE;YAChC,MAAM,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SAC9F;IACH,CAAC,CAAA,CAAC;AACJ,CAAC,CAAA,CAAC;AA7BW,QAAA,mBAAmB,uBA6B9B"}
|
@@ -1,12 +1,13 @@
|
|
1
|
-
import type { DatabaseStore, JacksonOption } from '../typings';
|
1
|
+
import type { DatabaseStore, JacksonOption, IEventController } from '../typings';
|
2
2
|
import { DirectoryConfig } from './DirectoryConfig';
|
3
3
|
import { Users } from './Users';
|
4
4
|
import { Groups } from './Groups';
|
5
5
|
import { RequestHandler } from './request';
|
6
6
|
import { WebhookEventsLogger } from './WebhookEventsLogger';
|
7
|
-
declare const directorySync: (
|
7
|
+
declare const directorySync: (params: {
|
8
8
|
db: DatabaseStore;
|
9
9
|
opts: JacksonOption;
|
10
|
+
eventController: IEventController;
|
10
11
|
}) => Promise<{
|
11
12
|
users: Users;
|
12
13
|
groups: Groups;
|
@@ -18,21 +18,22 @@ const utils_1 = require("./utils");
|
|
18
18
|
const request_1 = require("./request");
|
19
19
|
const events_1 = require("./events");
|
20
20
|
const WebhookEventsLogger_1 = require("./WebhookEventsLogger");
|
21
|
-
const directorySync = (
|
22
|
-
const
|
21
|
+
const directorySync = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
22
|
+
const { db, opts, eventController } = params;
|
23
23
|
const users = new Users_1.Users({ db });
|
24
24
|
const groups = new Groups_1.Groups({ db });
|
25
|
+
const logger = new WebhookEventsLogger_1.WebhookEventsLogger({ db });
|
26
|
+
const directories = new DirectoryConfig_1.DirectoryConfig({ db, opts, users, groups, logger, eventController });
|
25
27
|
const directoryUsers = new DirectoryUsers_1.DirectoryUsers({ directories, users });
|
26
28
|
const directoryGroups = new DirectoryGroups_1.DirectoryGroups({ directories, users, groups });
|
27
|
-
const webhookEventsLogger = new WebhookEventsLogger_1.WebhookEventsLogger({ db });
|
28
29
|
return {
|
29
30
|
users,
|
30
31
|
groups,
|
31
32
|
directories,
|
32
|
-
webhookLogs:
|
33
|
+
webhookLogs: logger,
|
33
34
|
requests: new request_1.RequestHandler(directoryUsers, directoryGroups),
|
34
35
|
events: {
|
35
|
-
callback: yield (0, events_1.handleEventCallback)(directories,
|
36
|
+
callback: yield (0, events_1.handleEventCallback)(directories, logger),
|
36
37
|
},
|
37
38
|
providers: () => {
|
38
39
|
return (0, utils_1.getDirectorySyncProviders)();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/directory-sync/index.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,uDAAoD;AACpD,qDAAkD;AAClD,uDAAoD;AACpD,mCAAgC;AAChC,qCAAkC;AAClC,mCAAoD;AACpD,uCAA2C;AAC3C,qCAA+C;AAC/C,+DAA4D;AAE5D,MAAM,aAAa,GAAG,CAAO,EAAE,EAAE,EAAE,IAAI,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/directory-sync/index.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,uDAAoD;AACpD,qDAAkD;AAClD,uDAAoD;AACpD,mCAAgC;AAChC,qCAAkC;AAClC,mCAAoD;AACpD,uCAA2C;AAC3C,qCAA+C;AAC/C,+DAA4D;AAE5D,MAAM,aAAa,GAAG,CAAO,MAI5B,EAAE,EAAE;IACH,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAE7C,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,yCAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,iCAAe,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAE9F,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5E,OAAO;QACL,KAAK;QACL,MAAM;QACN,WAAW;QACX,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,IAAI,wBAAc,CAAC,cAAc,EAAE,eAAe,CAAC;QAC7D,MAAM,EAAE;YACN,QAAQ,EAAE,MAAM,IAAA,4BAAmB,EAAC,WAAW,EAAE,MAAM,CAAC;SACzD;QACD,SAAS,EAAE,GAAG,EAAE;YACd,OAAO,IAAA,iCAAyB,GAAE,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
@@ -1,7 +1,11 @@
|
|
1
|
-
import { Group, User } from '../typings';
|
2
|
-
declare const transformUser: (user: User) => User;
|
3
|
-
declare const transformGroup: (group: Group) => Group;
|
4
|
-
declare const transformUserGroup: (user: User, group: Group) => User & {
|
1
|
+
import { Directory, DirectorySyncEvent, DirectorySyncEventType, Group, User } from '../typings';
|
2
|
+
export declare const transformUser: (user: User) => User;
|
3
|
+
export declare const transformGroup: (group: Group) => Group;
|
4
|
+
export declare const transformUserGroup: (user: User, group: Group) => User & {
|
5
5
|
group: Group;
|
6
6
|
};
|
7
|
-
export
|
7
|
+
export declare const transformEventPayload: (event: DirectorySyncEventType, payload: {
|
8
|
+
directory: Directory;
|
9
|
+
group?: Group | null;
|
10
|
+
user?: User | null;
|
11
|
+
}) => DirectorySyncEvent;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.transformUserGroup = exports.transformGroup = exports.transformUser = void 0;
|
3
|
+
exports.transformEventPayload = exports.transformUserGroup = exports.transformGroup = exports.transformUser = void 0;
|
4
4
|
const transformUser = (user) => {
|
5
5
|
return {
|
6
6
|
id: user.id,
|
@@ -21,7 +21,31 @@ const transformGroup = (group) => {
|
|
21
21
|
};
|
22
22
|
exports.transformGroup = transformGroup;
|
23
23
|
const transformUserGroup = (user, group) => {
|
24
|
-
return Object.assign(Object.assign({}, transformUser(user)), { group: transformGroup(group) });
|
24
|
+
return Object.assign(Object.assign({}, (0, exports.transformUser)(user)), { group: (0, exports.transformGroup)(group) });
|
25
25
|
};
|
26
26
|
exports.transformUserGroup = transformUserGroup;
|
27
|
+
const transformEventPayload = (event, payload) => {
|
28
|
+
const { directory, group, user } = payload;
|
29
|
+
const { tenant, product, id: directory_id } = directory;
|
30
|
+
const eventPayload = {
|
31
|
+
event,
|
32
|
+
tenant,
|
33
|
+
product,
|
34
|
+
directory_id,
|
35
|
+
};
|
36
|
+
// User events
|
37
|
+
if (['user.created', 'user.updated', 'user.deleted'].includes(event) && user) {
|
38
|
+
eventPayload['data'] = (0, exports.transformUser)(user);
|
39
|
+
}
|
40
|
+
// Group events
|
41
|
+
if (['group.created', 'group.updated', 'group.deleted'].includes(event) && group) {
|
42
|
+
eventPayload['data'] = (0, exports.transformGroup)(group);
|
43
|
+
}
|
44
|
+
// Group membership events
|
45
|
+
if (['group.user_added', 'group.user_removed'].includes(event) && user && group) {
|
46
|
+
eventPayload['data'] = (0, exports.transformUserGroup)(user, group);
|
47
|
+
}
|
48
|
+
return eventPayload;
|
49
|
+
};
|
50
|
+
exports.transformEventPayload = transformEventPayload;
|
27
51
|
//# sourceMappingURL=transform.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/directory-sync/transform.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/directory-sync/transform.ts"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,GAAG,CAAC,IAAU,EAAQ,EAAE;IAChD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB;AAEK,MAAM,cAAc,GAAG,CAAC,KAAY,EAAS,EAAE;IACpD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAE,KAAY,EAA2B,EAAE;IACtF,uCACK,IAAA,qBAAa,EAAC,IAAI,CAAC,KACtB,KAAK,EAAE,IAAA,sBAAc,EAAC,KAAK,CAAC,IAC5B;AACJ,CAAC,CAAC;AALW,QAAA,kBAAkB,sBAK7B;AAEK,MAAM,qBAAqB,GAAG,CACnC,KAA6B,EAC7B,OAA2E,EAC3E,EAAE;IACF,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC3C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAExD,MAAM,YAAY,GAAG;QACnB,KAAK;QACL,MAAM;QACN,OAAO;QACP,YAAY;KACb,CAAC;IAEF,cAAc;IACd,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE;QAC5E,YAAY,CAAC,MAAM,CAAC,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC;KAC5C;IAED,eAAe;IACf,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE;QAChF,YAAY,CAAC,MAAM,CAAC,GAAG,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;KAC9C;IAED,0BAA0B;IAC1B,IAAI,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE;QAC/E,YAAY,CAAC,MAAM,CAAC,GAAG,IAAA,0BAAkB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACxD;IAED,OAAO,YAAkC,CAAC;AAC5C,CAAC,CAAC;AA9BW,QAAA,qBAAqB,yBA8BhC"}
|
@@ -65,12 +65,11 @@ export interface DirectorySyncRequest {
|
|
65
65
|
filter?: string;
|
66
66
|
};
|
67
67
|
}
|
68
|
+
export type DirectorySyncEventData = User | Group | UserWithGroup;
|
68
69
|
export interface DirectorySyncEvent {
|
69
70
|
directory_id: Directory['id'];
|
70
71
|
event: DirectorySyncEventType;
|
71
|
-
data:
|
72
|
-
group: Group;
|
73
|
-
});
|
72
|
+
data: DirectorySyncEventData;
|
74
73
|
tenant: string;
|
75
74
|
product: string;
|
76
75
|
}
|
@@ -97,12 +96,16 @@ export type Group = {
|
|
97
96
|
name: string;
|
98
97
|
raw?: any;
|
99
98
|
};
|
99
|
+
export type UserWithGroup = User & {
|
100
|
+
group: Group;
|
101
|
+
};
|
100
102
|
export type PaginationParams = {
|
101
103
|
pageOffset?: number;
|
102
104
|
pageLimit?: number;
|
105
|
+
pageToken?: string;
|
103
106
|
};
|
104
107
|
export type UserPatchOperation = {
|
105
|
-
op: 'replace';
|
108
|
+
op: 'replace' | 'add';
|
106
109
|
path?: string;
|
107
110
|
value: boolean | {
|
108
111
|
active: boolean;
|
@@ -110,5 +113,22 @@ export type UserPatchOperation = {
|
|
110
113
|
'name.givenName': string;
|
111
114
|
} | {
|
112
115
|
'name.familyName': string;
|
116
|
+
} | {
|
117
|
+
'emails[type eq "work"].value': string;
|
118
|
+
} | {
|
119
|
+
[key: string]: string | boolean;
|
113
120
|
};
|
114
121
|
};
|
122
|
+
export type GroupPatchOperation = {
|
123
|
+
op: 'add' | 'remove' | 'replace';
|
124
|
+
path?: 'members' | 'displayName';
|
125
|
+
value: {
|
126
|
+
value: string;
|
127
|
+
display?: string;
|
128
|
+
}[];
|
129
|
+
};
|
130
|
+
export type GroupMembership = {
|
131
|
+
id: string;
|
132
|
+
group_id: string;
|
133
|
+
user_id: string;
|
134
|
+
};
|