@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.
Files changed (115) hide show
  1. package/dist/controller/admin.d.ts +10 -4
  2. package/dist/controller/admin.js +6 -6
  3. package/dist/controller/admin.js.map +1 -1
  4. package/dist/controller/api.d.ts +3 -1
  5. package/dist/controller/api.js +19 -12
  6. package/dist/controller/api.js.map +1 -1
  7. package/dist/controller/connection/saml.js +2 -2
  8. package/dist/controller/connection/saml.js.map +1 -1
  9. package/dist/controller/logout.js +4 -4
  10. package/dist/controller/logout.js.map +1 -1
  11. package/dist/controller/oauth.js +4 -3
  12. package/dist/controller/oauth.js.map +1 -1
  13. package/dist/controller/saml-handler.js +4 -4
  14. package/dist/controller/saml-handler.js.map +1 -1
  15. package/dist/controller/setup-link.d.ts +4 -1
  16. package/dist/controller/setup-link.js +8 -8
  17. package/dist/controller/setup-link.js.map +1 -1
  18. package/dist/controller/utils.d.ts +16 -2
  19. package/dist/controller/utils.js +11 -8
  20. package/dist/controller/utils.js.map +1 -1
  21. package/dist/db/db.d.ts +4 -3
  22. package/dist/db/db.js +24 -10
  23. package/dist/db/db.js.map +1 -1
  24. package/dist/db/defaultDb.js +4 -0
  25. package/dist/db/defaultDb.js.map +1 -1
  26. package/dist/db/dynamoDb.d.ts +18 -0
  27. package/dist/db/dynamoDb.js +336 -0
  28. package/dist/db/dynamoDb.js.map +1 -0
  29. package/dist/db/mem.d.ts +4 -3
  30. package/dist/db/mem.js +15 -5
  31. package/dist/db/mem.js.map +1 -1
  32. package/dist/db/mongo.d.ts +4 -3
  33. package/dist/db/mongo.js +16 -5
  34. package/dist/db/mongo.js.map +1 -1
  35. package/dist/db/planetscale/entity/JacksonIndex.js.map +1 -1
  36. package/dist/db/planetscale/entity/JacksonStore.js.map +1 -1
  37. package/dist/db/planetscale/entity/JacksonTTL.js.map +1 -1
  38. package/dist/db/redis.d.ts +4 -3
  39. package/dist/db/redis.js +26 -5
  40. package/dist/db/redis.js.map +1 -1
  41. package/dist/db/sql/entity/JacksonIndex.js.map +1 -1
  42. package/dist/db/sql/entity/JacksonStore.js.map +1 -1
  43. package/dist/db/sql/entity/JacksonTTL.js.map +1 -1
  44. package/dist/db/sql/mariadb/entity/JacksonIndex.js.map +1 -1
  45. package/dist/db/sql/mariadb/entity/JacksonStore.js.map +1 -1
  46. package/dist/db/sql/mariadb/entity/JacksonTTL.js.map +1 -1
  47. package/dist/db/sql/mssql/entity/JacksonIndex.js.map +1 -1
  48. package/dist/db/sql/mssql/entity/JacksonStore.js.map +1 -1
  49. package/dist/db/sql/mssql/entity/JacksonTTL.js.map +1 -1
  50. package/dist/db/sql/sql.d.ts +4 -3
  51. package/dist/db/sql/sql.js +33 -4
  52. package/dist/db/sql/sql.js.map +1 -1
  53. package/dist/db/store.js +9 -4
  54. package/dist/db/store.js.map +1 -1
  55. package/dist/directory-sync/Base.d.ts +1 -0
  56. package/dist/directory-sync/Base.js +1 -0
  57. package/dist/directory-sync/Base.js.map +1 -1
  58. package/dist/directory-sync/DirectoryConfig.d.ts +22 -8
  59. package/dist/directory-sync/DirectoryConfig.js +38 -15
  60. package/dist/directory-sync/DirectoryConfig.js.map +1 -1
  61. package/dist/directory-sync/DirectoryGroups.d.ts +4 -5
  62. package/dist/directory-sync/DirectoryGroups.js +55 -77
  63. package/dist/directory-sync/DirectoryGroups.js.map +1 -1
  64. package/dist/directory-sync/DirectoryUsers.js +6 -6
  65. package/dist/directory-sync/DirectoryUsers.js.map +1 -1
  66. package/dist/directory-sync/Groups.d.ts +3 -2
  67. package/dist/directory-sync/Groups.js +48 -18
  68. package/dist/directory-sync/Groups.js.map +1 -1
  69. package/dist/directory-sync/Users.d.ts +1 -1
  70. package/dist/directory-sync/Users.js +18 -14
  71. package/dist/directory-sync/Users.js.map +1 -1
  72. package/dist/directory-sync/WebhookEventsLogger.d.ts +7 -6
  73. package/dist/directory-sync/WebhookEventsLogger.js +26 -18
  74. package/dist/directory-sync/WebhookEventsLogger.js.map +1 -1
  75. package/dist/directory-sync/events.js +7 -18
  76. package/dist/directory-sync/events.js.map +1 -1
  77. package/dist/directory-sync/index.d.ts +3 -2
  78. package/dist/directory-sync/index.js +6 -5
  79. package/dist/directory-sync/index.js.map +1 -1
  80. package/dist/directory-sync/transform.d.ts +9 -5
  81. package/dist/directory-sync/transform.js +26 -2
  82. package/dist/directory-sync/transform.js.map +1 -1
  83. package/dist/directory-sync/types.d.ts +24 -4
  84. package/dist/directory-sync/utils.d.ts +23 -26
  85. package/dist/directory-sync/utils.js +50 -86
  86. package/dist/directory-sync/utils.js.map +1 -1
  87. package/dist/ee/federated-saml/app.d.ts +4 -3
  88. package/dist/ee/federated-saml/app.js +4 -4
  89. package/dist/ee/federated-saml/app.js.map +1 -1
  90. package/dist/event/axios.d.ts +2 -0
  91. package/dist/event/axios.js +32 -0
  92. package/dist/event/axios.js.map +1 -0
  93. package/dist/event/index.d.ts +10 -0
  94. package/dist/event/index.js +54 -0
  95. package/dist/event/index.js.map +1 -0
  96. package/dist/event/types.d.ts +21 -0
  97. package/dist/event/types.js +3 -0
  98. package/dist/event/types.js.map +1 -0
  99. package/dist/event/utils.d.ts +4 -0
  100. package/dist/event/utils.js +39 -0
  101. package/dist/event/utils.js.map +1 -0
  102. package/dist/event/webhook.d.ts +3 -0
  103. package/dist/event/webhook.js +39 -0
  104. package/dist/event/webhook.js.map +1 -0
  105. package/dist/index.js +4 -2
  106. package/dist/index.js.map +1 -1
  107. package/dist/loadConnection.js +1 -2
  108. package/dist/loadConnection.js.map +1 -1
  109. package/dist/saml-tracer/index.d.ts +2 -2
  110. package/dist/saml-tracer/index.js +5 -4
  111. package/dist/saml-tracer/index.js.map +1 -1
  112. package/dist/typings.d.ts +25 -7
  113. package/dist/typings.js +1 -0
  114. package/dist/typings.js.map +1 -1
  115. package/package.json +13 -10
@@ -1,14 +1,23 @@
1
- import type { Directory, JacksonOption, DatabaseStore, DirectoryType, ApiError, PaginationParams } from '../typings';
1
+ import type { Directory, JacksonOption, DatabaseStore, DirectoryType, ApiError, PaginationParams, IUsers, IGroups, IWebhookEventsLogger, IEventController } from '../typings';
2
+ type ConstructorParams = {
3
+ db: DatabaseStore;
4
+ opts: JacksonOption;
5
+ users: IUsers;
6
+ groups: IGroups;
7
+ logger: IWebhookEventsLogger;
8
+ eventController: IEventController;
9
+ };
2
10
  export declare class DirectoryConfig {
3
11
  private _store;
4
12
  private opts;
5
13
  private db;
6
- constructor({ db, opts }: {
7
- db: DatabaseStore;
8
- opts: JacksonOption;
9
- });
14
+ private users;
15
+ private groups;
16
+ private logger;
17
+ private eventController;
18
+ constructor({ db, opts, users, groups, logger, eventController }: ConstructorParams);
10
19
  private store;
11
- create({ name, tenant, product, webhook_url, webhook_secret, type, }: {
20
+ create(params: {
12
21
  name?: string;
13
22
  tenant: string;
14
23
  product: string;
@@ -31,10 +40,15 @@ export declare class DirectoryConfig {
31
40
  data: Directory[] | null;
32
41
  error: ApiError | null;
33
42
  }>;
34
- getAll({ pageOffset, pageLimit }?: PaginationParams): Promise<{
43
+ getAll({ pageOffset, pageLimit, pageToken }?: PaginationParams): Promise<{
35
44
  data: Directory[] | null;
45
+ pageToken?: string;
46
+ error: ApiError | null;
47
+ }>;
48
+ delete(id: string): Promise<{
49
+ data: null;
36
50
  error: ApiError | null;
37
51
  }>;
38
- delete(id: string): Promise<void>;
39
52
  private transform;
40
53
  }
54
+ export {};
@@ -41,19 +41,24 @@ const crypto_1 = require("crypto");
41
41
  const utils_3 = require("../controller/utils");
42
42
  const utils_4 = require("./utils");
43
43
  class DirectoryConfig {
44
- constructor({ db, opts }) {
44
+ constructor({ db, opts, users, groups, logger, eventController }) {
45
45
  this._store = null;
46
46
  this.opts = opts;
47
47
  this.db = db;
48
+ this.users = users;
49
+ this.groups = groups;
50
+ this.logger = logger;
51
+ this.eventController = eventController;
48
52
  }
49
53
  // Return the database store
50
54
  store() {
51
55
  return this._store || (this._store = this.db.store(utils_2.storeNamespacePrefix.dsync.config));
52
56
  }
53
57
  // Create the configuration
54
- create({ name, tenant, product, webhook_url, webhook_secret, type = 'generic-scim-v2', }) {
58
+ create(params) {
55
59
  return __awaiter(this, void 0, void 0, function* () {
56
60
  try {
61
+ const { name, tenant, product, webhook_url, webhook_secret, type = 'generic-scim-v2' } = params;
57
62
  if (!tenant || !product) {
58
63
  throw new error_1.JacksonError('Missing required parameters.', 400);
59
64
  }
@@ -62,14 +67,12 @@ class DirectoryConfig {
62
67
  throw new error_1.JacksonError('Invalid directory type.', 400);
63
68
  }
64
69
  (0, utils_1.validateTenantAndProduct)(tenant, product);
65
- if (!name) {
66
- name = `scim-${tenant}-${product}`;
67
- }
70
+ const directoryName = name || `scim-${tenant}-${product}`;
68
71
  const id = (0, crypto_1.randomUUID)();
69
72
  const hasWebhook = webhook_url && webhook_secret;
70
73
  const directory = {
71
74
  id,
72
- name,
75
+ name: directoryName,
73
76
  tenant,
74
77
  product,
75
78
  type,
@@ -87,7 +90,9 @@ class DirectoryConfig {
87
90
  name: utils_3.IndexNames.TenantProduct,
88
91
  value: dbutils.keyFromParts(tenant, product),
89
92
  });
90
- return { data: this.transform(directory), error: null };
93
+ const connection = this.transform(directory);
94
+ yield this.eventController.notify('dsync.created', connection);
95
+ return { data: connection, error: null };
91
96
  }
92
97
  catch (err) {
93
98
  return (0, error_1.apiError)(err);
@@ -148,7 +153,7 @@ class DirectoryConfig {
148
153
  if (!tenant || !product) {
149
154
  throw new error_1.JacksonError('Missing required parameters.', 400);
150
155
  }
151
- const directories = yield this.store().getByIndex({
156
+ const { data: directories } = yield this.store().getByIndex({
152
157
  name: utils_3.IndexNames.TenantProduct,
153
158
  value: dbutils.keyFromParts(tenant, product),
154
159
  });
@@ -161,15 +166,16 @@ class DirectoryConfig {
161
166
  });
162
167
  }
163
168
  // Get all configurations
164
- getAll({ pageOffset, pageLimit } = {}) {
169
+ getAll({ pageOffset, pageLimit, pageToken } = {}) {
165
170
  return __awaiter(this, void 0, void 0, function* () {
166
171
  try {
167
- const directories = (yield this.store().getAll(pageOffset, pageLimit));
172
+ const { data: directories, pageToken: nextPageToken } = yield this.store().getAll(pageOffset, pageLimit, pageToken);
168
173
  const transformedDirectories = directories
169
174
  ? directories.map((directory) => this.transform(directory))
170
175
  : [];
171
176
  return {
172
177
  data: transformedDirectories,
178
+ pageToken: nextPageToken,
173
179
  error: null,
174
180
  };
175
181
  }
@@ -181,12 +187,29 @@ class DirectoryConfig {
181
187
  // Delete a configuration by id
182
188
  delete(id) {
183
189
  return __awaiter(this, void 0, void 0, function* () {
184
- if (!id) {
185
- throw new error_1.JacksonError('Missing required parameter.', 400);
190
+ try {
191
+ if (!id) {
192
+ throw new error_1.JacksonError('Missing required parameter.', 400);
193
+ }
194
+ const { data: directory } = yield this.get(id);
195
+ if (!directory) {
196
+ throw new error_1.JacksonError('Directory configuration not found.', 404);
197
+ }
198
+ const { tenant, product } = directory;
199
+ // Delete the configuration
200
+ yield this.store().delete(id);
201
+ // Delete the groups
202
+ yield this.groups.setTenantAndProduct(tenant, product).deleteAll(id);
203
+ // Delete the users
204
+ yield this.users.setTenantAndProduct(tenant, product).deleteAll(id);
205
+ // Delete the webhook events
206
+ yield this.logger.setTenantAndProduct(tenant, product).deleteAll(id);
207
+ yield this.eventController.notify('dsync.deleted', directory);
208
+ return { data: null, error: null };
209
+ }
210
+ catch (err) {
211
+ return (0, error_1.apiError)(err);
186
212
  }
187
- // TODO: Delete the users and groups associated with the configuration
188
- yield this.store().delete(id);
189
- return;
190
213
  });
191
214
  }
192
215
  transform(directory) {
@@ -1 +1 @@
1
- {"version":3,"file":"DirectoryConfig.js","sourceRoot":"","sources":["../../src/directory-sync/DirectoryConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DirectoryConfig.js","sourceRoot":"","sources":["../../src/directory-sync/DirectoryConfig.ts"],"names":[],"mappings":"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"}
@@ -11,17 +11,16 @@ export declare class DirectoryGroups {
11
11
  });
12
12
  create(directory: Directory, body: any): Promise<DirectorySyncResponse>;
13
13
  get(group: Group): Promise<DirectorySyncResponse>;
14
- delete(directory: Directory, group: Group): Promise<DirectorySyncResponse>;
15
14
  getAll(queryParams: {
16
15
  filter?: string;
17
16
  directoryId: string;
18
17
  }): Promise<DirectorySyncResponse>;
19
- updateDisplayName(directory: Directory, group: Group, body: any): Promise<Group>;
20
18
  patch(directory: Directory, group: Group, body: any): Promise<DirectorySyncResponse>;
21
19
  update(directory: Directory, group: Group, body: any): Promise<DirectorySyncResponse>;
22
- addGroupMembers(directory: Directory, group: Group, members: DirectorySyncGroupMember[] | undefined, sendWebhookEvent?: boolean): Promise<void>;
23
- removeGroupMembers(directory: Directory, group: Group, members: DirectorySyncGroupMember[], sendWebhookEvent?: boolean): Promise<void>;
24
- addOrRemoveGroupMembers(directory: Directory, group: Group, members: DirectorySyncGroupMember[]): Promise<void>;
20
+ delete(directory: Directory, group: Group): Promise<DirectorySyncResponse>;
21
+ updateDisplayName(directory: Directory, group: Group, body: any): Promise<Group>;
22
+ addGroupMembers(directory: Directory, group: Group, members: DirectorySyncGroupMember[] | undefined): Promise<void>;
23
+ removeGroupMembers(directory: Directory, group: Group, members: DirectorySyncGroupMember[] | undefined): Promise<void>;
25
24
  private respondWithError;
26
25
  handleRequest(request: DirectorySyncRequest, callback?: EventCallback): Promise<DirectorySyncResponse>;
27
26
  }
@@ -20,16 +20,12 @@ class DirectoryGroups {
20
20
  }
21
21
  create(directory, body) {
22
22
  return __awaiter(this, void 0, void 0, function* () {
23
- const { displayName, members } = body;
23
+ const { displayName } = body;
24
24
  const { data: group } = yield this.groups.create({
25
25
  directoryId: directory.id,
26
26
  name: displayName,
27
- raw: body,
27
+ raw: Object.assign(Object.assign({}, body), { members: [] }),
28
28
  });
29
- // Add members to the group if any
30
- if (members && members.length > 0 && group) {
31
- yield this.addOrRemoveGroupMembers(directory, group, members);
32
- }
33
29
  yield (0, events_1.sendEvent)('group.created', { directory, group }, this.callback);
34
30
  return {
35
31
  status: 201,
@@ -37,7 +33,7 @@ class DirectoryGroups {
37
33
  schemas: ['urn:ietf:params:scim:schemas:core:2.0:Group'],
38
34
  id: group === null || group === void 0 ? void 0 : group.id,
39
35
  displayName: group === null || group === void 0 ? void 0 : group.name,
40
- members: members !== null && members !== void 0 ? members : [],
36
+ members: [],
41
37
  },
42
38
  };
43
39
  });
@@ -50,22 +46,11 @@ class DirectoryGroups {
50
46
  schemas: ['urn:ietf:params:scim:schemas:core:2.0:Group'],
51
47
  id: group.id,
52
48
  displayName: group.name,
53
- members: (0, utils_1.toGroupMembers)(yield this.groups.getAllUsers(group.id)),
49
+ members: [],
54
50
  },
55
51
  };
56
52
  });
57
53
  }
58
- delete(directory, group) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- yield this.groups.removeAllUsers(group.id);
61
- yield this.groups.delete(group.id);
62
- yield (0, events_1.sendEvent)('group.deleted', { directory, group }, this.callback);
63
- return {
64
- status: 200,
65
- data: {},
66
- };
67
- });
68
- }
69
54
  getAll(queryParams) {
70
55
  return __awaiter(this, void 0, void 0, function* () {
71
56
  const { filter, directoryId } = queryParams;
@@ -93,38 +78,25 @@ class DirectoryGroups {
93
78
  };
94
79
  });
95
80
  }
96
- // Update group displayName
97
- updateDisplayName(directory, group, body) {
98
- return __awaiter(this, void 0, void 0, function* () {
99
- const { displayName } = body;
100
- const { data: updatedGroup, error } = yield this.groups.update(group.id, {
101
- name: displayName,
102
- raw: Object.assign(Object.assign({}, group.raw), body),
103
- });
104
- if (error || !updatedGroup) {
105
- throw error;
106
- }
107
- yield (0, events_1.sendEvent)('group.updated', { directory, group: updatedGroup }, this.callback);
108
- return updatedGroup;
109
- });
110
- }
111
81
  patch(directory, group, body) {
112
82
  return __awaiter(this, void 0, void 0, function* () {
113
83
  const { Operations } = body;
114
- const operation = (0, utils_1.parseGroupOperations)(Operations);
115
- // Add group members
116
- if (operation.action === 'addGroupMember') {
117
- yield this.addGroupMembers(directory, group, operation.members);
118
- }
119
- // Remove group members
120
- if (operation.action === 'removeGroupMember') {
121
- yield this.removeGroupMembers(directory, group, operation.members);
122
- }
123
- // Update group name
124
- if (operation.action === 'updateGroupName') {
125
- yield this.updateDisplayName(directory, group, {
126
- displayName: operation.displayName,
127
- });
84
+ for (const op of Operations) {
85
+ const operation = (0, utils_1.parseGroupOperation)(op);
86
+ // Add group members
87
+ if (operation.action === 'addGroupMember') {
88
+ yield this.addGroupMembers(directory, group, operation.members);
89
+ }
90
+ // Remove group members
91
+ if (operation.action === 'removeGroupMember') {
92
+ yield this.removeGroupMembers(directory, group, operation.members);
93
+ }
94
+ // Update group name
95
+ if (operation.action === 'updateGroupName') {
96
+ yield this.updateDisplayName(directory, group, {
97
+ displayName: operation.displayName,
98
+ });
99
+ }
128
100
  }
129
101
  const { data: updatedGroup } = yield this.groups.get(group.id);
130
102
  return {
@@ -133,77 +105,83 @@ class DirectoryGroups {
133
105
  schemas: ['urn:ietf:params:scim:schemas:core:2.0:Group'],
134
106
  id: updatedGroup === null || updatedGroup === void 0 ? void 0 : updatedGroup.id,
135
107
  displayName: updatedGroup === null || updatedGroup === void 0 ? void 0 : updatedGroup.name,
136
- members: (0, utils_1.toGroupMembers)(yield this.groups.getAllUsers(group.id)),
108
+ members: [],
137
109
  },
138
110
  };
139
111
  });
140
112
  }
141
113
  update(directory, group, body) {
142
114
  return __awaiter(this, void 0, void 0, function* () {
143
- const { displayName, members } = body;
115
+ const { displayName } = body;
144
116
  // Update group name
145
117
  const updatedGroup = yield this.updateDisplayName(directory, group, {
146
118
  displayName,
147
119
  });
148
- // Update group members
149
- if (members) {
150
- yield this.addOrRemoveGroupMembers(directory, group, members);
151
- }
152
120
  return {
153
121
  status: 200,
154
122
  data: {
155
123
  schemas: ['urn:ietf:params:scim:schemas:core:2.0:Group'],
156
124
  id: group.id,
157
125
  displayName: updatedGroup.name,
158
- members: (0, utils_1.toGroupMembers)(yield this.groups.getAllUsers(group.id)),
126
+ members: [],
159
127
  },
160
128
  };
161
129
  });
162
130
  }
163
- addGroupMembers(directory, group, members, sendWebhookEvent = true) {
131
+ delete(directory, group) {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ yield this.groups.delete(group.id);
134
+ yield (0, events_1.sendEvent)('group.deleted', { directory, group }, this.callback);
135
+ return {
136
+ status: 200,
137
+ data: {},
138
+ };
139
+ });
140
+ }
141
+ // Update group displayName
142
+ updateDisplayName(directory, group, body) {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ const { displayName } = body;
145
+ const { data: updatedGroup, error } = yield this.groups.update(group.id, {
146
+ name: displayName,
147
+ raw: Object.assign(Object.assign({}, group.raw), body),
148
+ });
149
+ if (error || !updatedGroup) {
150
+ throw error;
151
+ }
152
+ yield (0, events_1.sendEvent)('group.updated', { directory, group: updatedGroup }, this.callback);
153
+ return updatedGroup;
154
+ });
155
+ }
156
+ addGroupMembers(directory, group, members) {
164
157
  return __awaiter(this, void 0, void 0, function* () {
165
158
  if (members === undefined || (members && members.length === 0)) {
166
159
  return;
167
160
  }
168
161
  for (const member of members) {
169
- if (yield this.groups.isUserInGroup(group.id, member.value)) {
170
- continue;
162
+ if (!(yield this.groups.isUserInGroup(group.id, member.value))) {
163
+ yield this.groups.addUserToGroup(group.id, member.value);
171
164
  }
172
- yield this.groups.addUserToGroup(group.id, member.value);
173
165
  const { data: user } = yield this.users.get(member.value);
174
- if (sendWebhookEvent && user) {
175
- yield (0, events_1.sendEvent)('group.user_added', { directory, group, user }, this.callback);
176
- }
166
+ yield (0, events_1.sendEvent)('group.user_added', { directory, group, user }, this.callback);
177
167
  }
178
168
  });
179
169
  }
180
- removeGroupMembers(directory, group, members, sendWebhookEvent = true) {
170
+ removeGroupMembers(directory, group, members) {
181
171
  return __awaiter(this, void 0, void 0, function* () {
182
- if (members.length === 0) {
172
+ if (members === undefined || (members && members.length === 0)) {
183
173
  return;
184
174
  }
185
175
  for (const member of members) {
186
176
  yield this.groups.removeUserFromGroup(group.id, member.value);
187
177
  const { data: user } = yield this.users.get(member.value);
188
178
  // User may not exist in the directory, so we need to check if the user exists
189
- if (sendWebhookEvent && user) {
179
+ if (user) {
190
180
  yield (0, events_1.sendEvent)('group.user_removed', { directory, group, user }, this.callback);
191
181
  }
192
182
  }
193
183
  });
194
184
  }
195
- // Add or remove users from a group
196
- addOrRemoveGroupMembers(directory, group, members) {
197
- return __awaiter(this, void 0, void 0, function* () {
198
- const users = (0, utils_1.toGroupMembers)(yield this.groups.getAllUsers(group.id));
199
- const usersToAdd = members.filter((member) => !users.some((user) => user.value === member.value));
200
- const usersToRemove = users
201
- .filter((user) => !members.some((member) => member.value === user.value))
202
- .map((user) => ({ value: user.value }));
203
- yield this.addGroupMembers(directory, group, usersToAdd, false);
204
- yield this.removeGroupMembers(directory, group, usersToRemove, false);
205
- });
206
- }
207
185
  respondWithError(error) {
208
186
  return {
209
187
  status: error ? error.code : 500,
@@ -1 +1 @@
1
- {"version":3,"file":"DirectoryGroups.js","sourceRoot":"","sources":["../../src/directory-sync/DirectoryGroups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DirectoryGroups.js","sourceRoot":"","sources":["../../src/directory-sync/DirectoryGroups.ts"],"names":[],"mappings":"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"}
@@ -19,13 +19,13 @@ class DirectoryUsers {
19
19
  }
20
20
  create(directory, body) {
21
21
  return __awaiter(this, void 0, void 0, function* () {
22
- const { name, emails } = body;
22
+ const { first_name, last_name, email, active } = (0, utils_1.extractStandardUserAttributes)(body);
23
23
  const { data: user } = yield this.users.create({
24
24
  directoryId: directory.id,
25
- first_name: name && 'givenName' in name ? name.givenName : '',
26
- last_name: name && 'familyName' in name ? name.familyName : '',
27
- email: emails[0].value,
28
- active: true,
25
+ first_name,
26
+ last_name,
27
+ email,
28
+ active,
29
29
  raw: body,
30
30
  });
31
31
  yield (0, events_1.sendEvent)('user.created', { directory, user }, this.callback);
@@ -71,7 +71,7 @@ class DirectoryUsers {
71
71
  attributes = Object.assign(Object.assign({}, attributes), parsedAttributes.attributes);
72
72
  rawAttributes = Object.assign(Object.assign({}, rawAttributes), parsedAttributes.rawAttributes);
73
73
  }
74
- const { data: updatedUser } = yield this.users.update(user.id, Object.assign(Object.assign({ first_name: user.first_name, last_name: user.last_name, email: user.email, active: user.active }, attributes), { raw: Object.assign(Object.assign({}, user.raw), rawAttributes) }));
74
+ const { data: updatedUser } = yield this.users.update(user.id, Object.assign(Object.assign({ first_name: user.first_name, last_name: user.last_name, email: user.email, active: user.active }, attributes), { raw: (0, utils_1.updateRawUserAttributes)(user.raw, rawAttributes) }));
75
75
  yield (0, events_1.sendEvent)('user.updated', { directory, user: updatedUser }, this.callback);
76
76
  return {
77
77
  status: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"DirectoryUsers.js","sourceRoot":"","sources":["../../src/directory-sync/DirectoryUsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DirectoryUsers.js","sourceRoot":"","sources":["../../src/directory-sync/DirectoryUsers.ts"],"names":[],"mappings":"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"}
@@ -32,16 +32,17 @@ export declare class Groups extends Base {
32
32
  }[]>;
33
33
  addUserToGroup(groupId: string, userId: string): Promise<void>;
34
34
  removeUserFromGroup(groupId: string, userId: string): Promise<void>;
35
- removeAllUsers(groupId: string): Promise<void>;
36
35
  isUserInGroup(groupId: string, userId: string): Promise<boolean>;
37
36
  search(displayName: string, directoryId: string): Promise<{
38
37
  data: Group[] | null;
39
38
  error: ApiError | null;
40
39
  }>;
41
- getAll({ pageOffset, pageLimit, directoryId, }?: PaginationParams & {
40
+ getAll(params: PaginationParams & {
42
41
  directoryId?: string;
43
42
  }): Promise<{
44
43
  data: Group[] | null;
45
44
  error: ApiError | null;
46
45
  }>;
46
+ deleteAll(directoryId: string): Promise<void>;
47
+ removeAllUsers(groupId: string): Promise<void>;
47
48
  }