@boxyhq/saml-jackson 1.6.0 → 1.7.0

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 (33) hide show
  1. package/dist/directory-sync/DirectoryConfig.d.ts +3 -6
  2. package/dist/directory-sync/DirectoryConfig.js +19 -5
  3. package/dist/directory-sync/DirectoryConfig.js.map +1 -1
  4. package/dist/directory-sync/DirectoryGroups.d.ts +6 -5
  5. package/dist/directory-sync/DirectoryGroups.js +12 -3
  6. package/dist/directory-sync/DirectoryGroups.js.map +1 -1
  7. package/dist/directory-sync/DirectoryUsers.d.ts +5 -4
  8. package/dist/directory-sync/DirectoryUsers.js +9 -4
  9. package/dist/directory-sync/DirectoryUsers.js.map +1 -1
  10. package/dist/directory-sync/Groups.d.ts +6 -6
  11. package/dist/directory-sync/Groups.js +27 -11
  12. package/dist/directory-sync/Groups.js.map +1 -1
  13. package/dist/directory-sync/Users.d.ts +15 -13
  14. package/dist/directory-sync/Users.js +32 -11
  15. package/dist/directory-sync/Users.js.map +1 -1
  16. package/dist/directory-sync/WebhookEventsLogger.d.ts +4 -5
  17. package/dist/directory-sync/WebhookEventsLogger.js +11 -2
  18. package/dist/directory-sync/WebhookEventsLogger.js.map +1 -1
  19. package/dist/directory-sync/events.d.ts +2 -2
  20. package/dist/directory-sync/events.js.map +1 -1
  21. package/dist/directory-sync/index.d.ts +20 -3
  22. package/dist/directory-sync/index.js +2 -2
  23. package/dist/directory-sync/index.js.map +1 -1
  24. package/dist/directory-sync/request.d.ts +1 -1
  25. package/dist/directory-sync/request.js +6 -5
  26. package/dist/directory-sync/request.js.map +1 -1
  27. package/dist/directory-sync/types.d.ts +103 -0
  28. package/dist/directory-sync/types.js +12 -0
  29. package/dist/directory-sync/types.js.map +1 -0
  30. package/dist/typings.d.ts +1 -263
  31. package/dist/typings.js +1 -9
  32. package/dist/typings.js.map +1 -1
  33. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- import type { Directory, JacksonOption, DatabaseStore, DirectoryType, ApiError } from '../typings';
1
+ import type { Directory, JacksonOption, DatabaseStore, DirectoryType, ApiError, PaginationParams } from '../typings';
2
2
  export declare class DirectoryConfig {
3
3
  private _store;
4
4
  private opts;
@@ -28,13 +28,10 @@ export declare class DirectoryConfig {
28
28
  error: ApiError | null;
29
29
  }>;
30
30
  getByTenantAndProduct(tenant: string, product: string): Promise<{
31
- data: Directory | null;
31
+ data: Directory[] | null;
32
32
  error: ApiError | null;
33
33
  }>;
34
- list({ pageOffset, pageLimit, }: {
35
- pageOffset: number;
36
- pageLimit: number;
37
- }): Promise<{
34
+ getAll({ pageOffset, pageLimit }?: PaginationParams): Promise<{
38
35
  data: Directory[] | null;
39
36
  error: ApiError | null;
40
37
  }>;
@@ -37,6 +37,9 @@ const dbutils = __importStar(require("../db/utils"));
37
37
  const utils_1 = require("../controller/utils");
38
38
  const error_1 = require("../controller/error");
39
39
  const utils_2 = require("../controller/utils");
40
+ const crypto_1 = require("crypto");
41
+ const utils_3 = require("../controller/utils");
42
+ const utils_4 = require("./utils");
40
43
  class DirectoryConfig {
41
44
  constructor({ db, opts }) {
42
45
  this._store = null;
@@ -54,11 +57,15 @@ class DirectoryConfig {
54
57
  if (!tenant || !product) {
55
58
  throw new error_1.JacksonError('Missing required parameters.', 400);
56
59
  }
60
+ // Validate the directory type
61
+ if (!Object.keys((0, utils_4.getDirectorySyncProviders)()).includes(type)) {
62
+ throw new error_1.JacksonError('Invalid directory type.', 400);
63
+ }
57
64
  (0, utils_1.validateTenantAndProduct)(tenant, product);
58
65
  if (!name) {
59
66
  name = `scim-${tenant}-${product}`;
60
67
  }
61
- const id = dbutils.keyDigest(dbutils.keyFromParts(tenant, product));
68
+ const id = (0, crypto_1.randomUUID)();
62
69
  const hasWebhook = webhook_url && webhook_secret;
63
70
  const directory = {
64
71
  id,
@@ -76,7 +83,10 @@ class DirectoryConfig {
76
83
  secret: hasWebhook ? webhook_secret : '',
77
84
  },
78
85
  };
79
- yield this.store().put(id, directory);
86
+ yield this.store().put(id, directory, {
87
+ name: utils_3.IndexNames.TenantProduct,
88
+ value: dbutils.keyFromParts(tenant, product),
89
+ });
80
90
  return { data: this.transform(directory), error: null };
81
91
  }
82
92
  catch (err) {
@@ -138,7 +148,12 @@ class DirectoryConfig {
138
148
  if (!tenant || !product) {
139
149
  throw new error_1.JacksonError('Missing required parameters.', 400);
140
150
  }
141
- return yield this.get(dbutils.keyDigest(dbutils.keyFromParts(tenant, product)));
151
+ const directories = yield this.store().getByIndex({
152
+ name: utils_3.IndexNames.TenantProduct,
153
+ value: dbutils.keyFromParts(tenant, product),
154
+ });
155
+ const transformedDirectories = directories.map((directory) => this.transform(directory));
156
+ return { data: transformedDirectories, error: null };
142
157
  }
143
158
  catch (err) {
144
159
  return (0, error_1.apiError)(err);
@@ -146,7 +161,7 @@ class DirectoryConfig {
146
161
  });
147
162
  }
148
163
  // Get all configurations
149
- list({ pageOffset, pageLimit, }) {
164
+ getAll({ pageOffset, pageLimit } = {}) {
150
165
  return __awaiter(this, void 0, void 0, function* () {
151
166
  try {
152
167
  const directories = (yield this.store().getAll(pageOffset, pageLimit));
@@ -164,7 +179,6 @@ class DirectoryConfig {
164
179
  });
165
180
  }
166
181
  // Delete a configuration by id
167
- // Note: This feature is not yet implemented
168
182
  delete(id) {
169
183
  return __awaiter(this, void 0, void 0, function* () {
170
184
  if (!id) {
@@ -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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"}
@@ -1,19 +1,20 @@
1
- import type { Group, DirectoryConfig, DirectorySyncResponse, Directory, DirectorySyncGroupMember, DirectorySyncRequest, Users, Groups, IDirectoryGroups, EventCallback } from '../typings';
2
- export declare class DirectoryGroups implements IDirectoryGroups {
1
+ import type { Group, DirectorySyncResponse, Directory, DirectorySyncGroupMember, DirectorySyncRequest, EventCallback, IDirectoryConfig, IUsers, IGroups } from '../typings';
2
+ export declare class DirectoryGroups {
3
3
  private directories;
4
4
  private users;
5
5
  private groups;
6
6
  private callback;
7
7
  constructor({ directories, users, groups, }: {
8
- directories: DirectoryConfig;
9
- users: Users;
10
- groups: Groups;
8
+ directories: IDirectoryConfig;
9
+ users: IUsers;
10
+ groups: IGroups;
11
11
  });
12
12
  create(directory: Directory, body: any): Promise<DirectorySyncResponse>;
13
13
  get(group: Group): Promise<DirectorySyncResponse>;
14
14
  delete(directory: Directory, group: Group): Promise<DirectorySyncResponse>;
15
15
  getAll(queryParams: {
16
16
  filter?: string;
17
+ directoryId: string;
17
18
  }): Promise<DirectorySyncResponse>;
18
19
  updateDisplayName(directory: Directory, group: Group, body: any): Promise<Group>;
19
20
  patch(directory: Directory, group: Group, body: any): Promise<DirectorySyncResponse>;
@@ -22,9 +22,14 @@ class DirectoryGroups {
22
22
  return __awaiter(this, void 0, void 0, function* () {
23
23
  const { displayName, members } = body;
24
24
  const { data: group } = yield this.groups.create({
25
+ directoryId: directory.id,
25
26
  name: displayName,
26
27
  raw: body,
27
28
  });
29
+ // Add members to the group if any
30
+ if (members && members.length > 0 && group) {
31
+ yield this.addOrRemoveGroupMembers(directory, group, members);
32
+ }
28
33
  yield (0, events_1.sendEvent)('group.created', { directory, group }, this.callback);
29
34
  return {
30
35
  status: 201,
@@ -63,17 +68,17 @@ class DirectoryGroups {
63
68
  }
64
69
  getAll(queryParams) {
65
70
  return __awaiter(this, void 0, void 0, function* () {
66
- const { filter } = queryParams;
71
+ const { filter, directoryId } = queryParams;
67
72
  let groups = [];
68
73
  if (filter) {
69
74
  // Filter by group displayName
70
75
  // filter: displayName eq "Developer"
71
- const { data } = yield this.groups.search(filter.split('eq ')[1].replace(/['"]+/g, ''));
76
+ const { data } = yield this.groups.search(filter.split('eq ')[1].replace(/['"]+/g, ''), directoryId);
72
77
  groups = data;
73
78
  }
74
79
  else {
75
80
  // Fetch all the existing group
76
- const { data } = yield this.groups.list({ pageOffset: undefined, pageLimit: undefined });
81
+ const { data } = yield this.groups.getAll({ pageOffset: undefined, pageLimit: undefined });
77
82
  groups = data;
78
83
  }
79
84
  return {
@@ -224,6 +229,9 @@ class DirectoryGroups {
224
229
  this.groups.setTenantAndProduct(directory.tenant, directory.product);
225
230
  // Get the group
226
231
  const { data: group } = groupId ? yield this.groups.get(groupId) : { data: null };
232
+ if (groupId && !group) {
233
+ return this.respondWithError({ code: 404, message: 'Group not found' });
234
+ }
227
235
  if (group) {
228
236
  switch (method) {
229
237
  case 'GET':
@@ -242,6 +250,7 @@ class DirectoryGroups {
242
250
  case 'GET':
243
251
  return yield this.getAll({
244
252
  filter: query.filter,
253
+ directoryId,
245
254
  });
246
255
  }
247
256
  return {
@@ -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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"}
@@ -1,11 +1,11 @@
1
- import type { DirectoryConfig, Directory, DirectorySyncResponse, DirectorySyncRequest, User, Users, IDirectoryUsers, EventCallback } from '../typings';
2
- export declare class DirectoryUsers implements IDirectoryUsers {
1
+ import type { Directory, DirectorySyncResponse, DirectorySyncRequest, User, EventCallback, IDirectoryConfig, IUsers } from '../typings';
2
+ export declare class DirectoryUsers {
3
3
  private directories;
4
4
  private users;
5
5
  private callback;
6
6
  constructor({ directories, users }: {
7
- directories: DirectoryConfig;
8
- users: Users;
7
+ directories: IDirectoryConfig;
8
+ users: IUsers;
9
9
  });
10
10
  create(directory: Directory, body: any): Promise<DirectorySyncResponse>;
11
11
  get(user: User): Promise<DirectorySyncResponse>;
@@ -16,6 +16,7 @@ export declare class DirectoryUsers implements IDirectoryUsers {
16
16
  count: number;
17
17
  startIndex: number;
18
18
  filter?: string;
19
+ directoryId: string;
19
20
  }): Promise<DirectorySyncResponse>;
20
21
  private respondWithError;
21
22
  handleRequest(request: DirectorySyncRequest, callback?: EventCallback): Promise<DirectorySyncResponse>;
@@ -21,6 +21,7 @@ class DirectoryUsers {
21
21
  return __awaiter(this, void 0, void 0, function* () {
22
22
  const { name, emails } = body;
23
23
  const { data: user } = yield this.users.create({
24
+ directoryId: directory.id,
24
25
  first_name: name && 'givenName' in name ? name.givenName : '',
25
26
  last_name: name && 'familyName' in name ? name.familyName : '',
26
27
  email: emails[0].value,
@@ -89,21 +90,21 @@ class DirectoryUsers {
89
90
  }
90
91
  getAll(queryParams) {
91
92
  return __awaiter(this, void 0, void 0, function* () {
92
- const { startIndex, filter, count } = queryParams;
93
+ const { startIndex, filter, count, directoryId } = queryParams;
93
94
  let users = [];
94
95
  let totalResults = 0;
95
96
  if (filter) {
96
97
  // Search users by userName
97
98
  // filter: userName eq "john@example.com"
98
- const { data } = yield this.users.search(filter.split('eq ')[1].replace(/['"]+/g, ''));
99
+ const { data } = yield this.users.search(filter.split('eq ')[1].replace(/['"]+/g, ''), directoryId);
99
100
  users = data;
100
101
  totalResults = users ? users.length : 0;
101
102
  }
102
103
  else {
103
104
  // Fetch all the existing Users (Paginated)
104
105
  // At this moment, we don't have method to count the database records.
105
- const { data: allUsers } = yield this.users.list({});
106
- const { data } = yield this.users.list({ pageOffset: startIndex - 1, pageLimit: count });
106
+ const { data: allUsers } = yield this.users.getAll({ directoryId });
107
+ const { data } = yield this.users.getAll({ pageOffset: startIndex - 1, pageLimit: count, directoryId });
107
108
  users = data;
108
109
  totalResults = allUsers ? allUsers.length : 0;
109
110
  }
@@ -147,6 +148,9 @@ class DirectoryUsers {
147
148
  if (body && 'password' in body) {
148
149
  delete body['password'];
149
150
  }
151
+ if (userId && !user) {
152
+ return this.respondWithError({ code: 404, message: 'User not found' });
153
+ }
150
154
  if (user) {
151
155
  switch (method) {
152
156
  case 'GET':
@@ -167,6 +171,7 @@ class DirectoryUsers {
167
171
  count: query.count,
168
172
  startIndex: query.startIndex,
169
173
  filter: query.filter,
174
+ directoryId,
170
175
  });
171
176
  }
172
177
  return {
@@ -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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"}
@@ -1,10 +1,11 @@
1
- import type { Group, DatabaseStore, ApiError } from '../typings';
1
+ import type { Group, DatabaseStore, ApiError, PaginationParams } from '../typings';
2
2
  import { Base } from './Base';
3
3
  export declare class Groups extends Base {
4
4
  constructor({ db }: {
5
5
  db: DatabaseStore;
6
6
  });
7
- create(param: {
7
+ create({ directoryId, name, raw, }: {
8
+ directoryId: string;
8
9
  name: string;
9
10
  raw: any;
10
11
  }): Promise<{
@@ -33,13 +34,12 @@ export declare class Groups extends Base {
33
34
  removeUserFromGroup(groupId: string, userId: string): Promise<void>;
34
35
  removeAllUsers(groupId: string): Promise<void>;
35
36
  isUserInGroup(groupId: string, userId: string): Promise<boolean>;
36
- search(displayName: string): Promise<{
37
+ search(displayName: string, directoryId: string): Promise<{
37
38
  data: Group[] | null;
38
39
  error: ApiError | null;
39
40
  }>;
40
- list({ pageOffset, pageLimit, }: {
41
- pageOffset?: number;
42
- pageLimit?: number;
41
+ getAll({ pageOffset, pageLimit, directoryId, }?: PaginationParams & {
42
+ directoryId?: string;
43
43
  }): Promise<{
44
44
  data: Group[] | null;
45
45
  error: ApiError | null;
@@ -36,15 +36,18 @@ exports.Groups = void 0;
36
36
  const dbutils = __importStar(require("../db/utils"));
37
37
  const error_1 = require("../controller/error");
38
38
  const Base_1 = require("./Base");
39
+ const indexNames = {
40
+ directoryIdDisplayname: 'directoryIdDisplayname',
41
+ directoryId: 'directoryId',
42
+ };
39
43
  class Groups extends Base_1.Base {
40
44
  constructor({ db }) {
41
45
  super({ db });
42
46
  }
43
47
  // Create a new group
44
- create(param) {
48
+ create({ directoryId, name, raw, }) {
45
49
  return __awaiter(this, void 0, void 0, function* () {
46
50
  try {
47
- const { name, raw } = param;
48
51
  const id = this.createId();
49
52
  raw['id'] = id;
50
53
  const group = {
@@ -53,8 +56,11 @@ class Groups extends Base_1.Base {
53
56
  raw,
54
57
  };
55
58
  yield this.store('groups').put(id, group, {
56
- name: 'displayName',
57
- value: name,
59
+ name: indexNames.directoryIdDisplayname,
60
+ value: dbutils.keyFromParts(directoryId, name),
61
+ }, {
62
+ name: indexNames.directoryId,
63
+ value: directoryId,
58
64
  });
59
65
  return { data: group, error: null };
60
66
  }
@@ -165,13 +171,13 @@ class Groups extends Base_1.Base {
165
171
  });
166
172
  }
167
173
  // Search groups by displayName
168
- search(displayName) {
174
+ search(displayName, directoryId) {
169
175
  return __awaiter(this, void 0, void 0, function* () {
170
176
  try {
171
- const groups = (yield this.store('groups').getByIndex({
172
- name: 'displayName',
173
- value: displayName,
174
- }));
177
+ const groups = yield this.store('groups').getByIndex({
178
+ name: indexNames.directoryIdDisplayname,
179
+ value: dbutils.keyFromParts(directoryId, displayName),
180
+ });
175
181
  return { data: groups, error: null };
176
182
  }
177
183
  catch (err) {
@@ -180,10 +186,20 @@ class Groups extends Base_1.Base {
180
186
  });
181
187
  }
182
188
  // Get all groups in a directory
183
- list({ pageOffset, pageLimit, }) {
189
+ getAll({ pageOffset, pageLimit, directoryId, } = {}) {
184
190
  return __awaiter(this, void 0, void 0, function* () {
185
191
  try {
186
- const groups = (yield this.store('groups').getAll(pageOffset, pageLimit));
192
+ let groups = [];
193
+ // Filter by directoryId
194
+ if (directoryId) {
195
+ groups = yield this.store('groups').getByIndex({
196
+ name: indexNames.directoryId,
197
+ value: directoryId,
198
+ }, pageOffset, pageLimit);
199
+ }
200
+ else {
201
+ groups = yield this.store('groups').getAll(pageOffset, pageLimit);
202
+ }
187
203
  return { data: groups, error: null };
188
204
  }
189
205
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"Groups.js","sourceRoot":"","sources":["../../src/directory-sync/Groups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Groups.js","sourceRoot":"","sources":["../../src/directory-sync/Groups.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,18 @@
1
- import type { User, DatabaseStore, ApiError } from '../typings';
1
+ import type { User, DatabaseStore, ApiError, PaginationParams } from '../typings';
2
2
  import { Base } from './Base';
3
+ type CreateUserPayload = {
4
+ directoryId: string;
5
+ first_name: string;
6
+ last_name: string;
7
+ email: string;
8
+ active: boolean;
9
+ raw: any;
10
+ };
3
11
  export declare class Users extends Base {
4
12
  constructor({ db }: {
5
13
  db: DatabaseStore;
6
14
  });
7
- create(param: {
8
- first_name: string;
9
- last_name: string;
10
- email: string;
11
- active: boolean;
12
- raw: any;
13
- }): Promise<{
15
+ create({ directoryId, first_name, last_name, email, active, raw, }: CreateUserPayload): Promise<{
14
16
  data: User | null;
15
17
  error: ApiError | null;
16
18
  }>;
@@ -32,16 +34,16 @@ export declare class Users extends Base {
32
34
  data: null;
33
35
  error: ApiError | null;
34
36
  }>;
35
- list({ pageOffset, pageLimit, }: {
36
- pageOffset?: number;
37
- pageLimit?: number;
38
- }): Promise<{
37
+ search(userName: string, directoryId: string): Promise<{
39
38
  data: User[] | null;
40
39
  error: ApiError | null;
41
40
  }>;
42
- search(userName: string): Promise<{
41
+ getAll({ pageOffset, pageLimit, directoryId, }?: PaginationParams & {
42
+ directoryId?: string;
43
+ }): Promise<{
43
44
  data: User[] | null;
44
45
  error: ApiError | null;
45
46
  }>;
46
47
  clear(): Promise<void>;
47
48
  }
49
+ export {};
@@ -12,15 +12,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Users = void 0;
13
13
  const error_1 = require("../controller/error");
14
14
  const Base_1 = require("./Base");
15
+ const utils_1 = require("../db/utils");
16
+ const indexNames = {
17
+ directoryIdUsername: 'directoryIdUsername',
18
+ directoryId: 'directoryId',
19
+ };
15
20
  class Users extends Base_1.Base {
16
21
  constructor({ db }) {
17
22
  super({ db });
18
23
  }
19
24
  // Create a new user
20
- create(param) {
25
+ create({ directoryId, first_name, last_name, email, active, raw, }) {
21
26
  return __awaiter(this, void 0, void 0, function* () {
22
27
  try {
23
- const { first_name, last_name, email, active, raw } = param;
24
28
  const id = this.createId();
25
29
  raw['id'] = id;
26
30
  const user = {
@@ -32,8 +36,11 @@ class Users extends Base_1.Base {
32
36
  raw,
33
37
  };
34
38
  yield this.store('users').put(id, user, {
35
- name: 'userName',
36
- value: email,
39
+ name: indexNames.directoryIdUsername,
40
+ value: (0, utils_1.keyFromParts)(directoryId, email),
41
+ }, {
42
+ name: indexNames.directoryId,
43
+ value: directoryId,
37
44
  });
38
45
  return { data: user, error: null };
39
46
  }
@@ -95,11 +102,14 @@ class Users extends Base_1.Base {
95
102
  }
96
103
  });
97
104
  }
98
- // Get all users in a directory
99
- list({ pageOffset, pageLimit, }) {
105
+ // Search users by userName
106
+ search(userName, directoryId) {
100
107
  return __awaiter(this, void 0, void 0, function* () {
101
108
  try {
102
- const users = (yield this.store('users').getAll(pageOffset, pageLimit));
109
+ const users = yield this.store('users').getByIndex({
110
+ name: indexNames.directoryIdUsername,
111
+ value: (0, utils_1.keyFromParts)(directoryId, userName),
112
+ });
103
113
  return { data: users, error: null };
104
114
  }
105
115
  catch (err) {
@@ -107,11 +117,21 @@ class Users extends Base_1.Base {
107
117
  }
108
118
  });
109
119
  }
110
- // Search users by userName
111
- search(userName) {
120
+ // Get all users in a directory
121
+ getAll({ pageOffset, pageLimit, directoryId, } = {}) {
112
122
  return __awaiter(this, void 0, void 0, function* () {
113
123
  try {
114
- const users = (yield this.store('users').getByIndex({ name: 'userName', value: userName }));
124
+ let users = [];
125
+ // Filter by directoryId
126
+ if (directoryId) {
127
+ users = yield this.store('users').getByIndex({
128
+ name: indexNames.directoryId,
129
+ value: directoryId,
130
+ }, pageOffset, pageLimit);
131
+ }
132
+ else {
133
+ users = yield this.store('users').getAll(pageOffset, pageLimit);
134
+ }
115
135
  return { data: users, error: null };
116
136
  }
117
137
  catch (err) {
@@ -120,9 +140,10 @@ class Users extends Base_1.Base {
120
140
  });
121
141
  }
122
142
  // Clear all the users
143
+ // This is used for testing
123
144
  clear() {
124
145
  return __awaiter(this, void 0, void 0, function* () {
125
- const { data: users, error } = yield this.list({});
146
+ const { data: users, error } = yield this.getAll();
126
147
  if (!users || error) {
127
148
  return;
128
149
  }
@@ -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":";;;;;;;;;;;;AACA,+CAA6D;AAC7D,iCAA8B;AAC9B,uCAA2C;AAW3C,MAAM,UAAU,GAAG;IACjB,mBAAmB,EAAE,qBAAqB;IAC1C,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,MAAa,KAAM,SAAQ,WAAI;IAC7B,YAAY,EAAE,EAAE,EAAyB;QACvC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,CAAC;IAED,oBAAoB;IACP,MAAM,CAAC,EAClB,WAAW,EACX,UAAU,EACV,SAAS,EACT,KAAK,EACL,MAAM,EACN,GAAG,GACe;;YAClB,IAAI;gBACF,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAE3B,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEf,MAAM,IAAI,GAAG;oBACX,EAAE;oBACF,UAAU;oBACV,SAAS;oBACT,KAAK;oBACL,MAAM;oBACN,GAAG;iBACJ,CAAC;gBAEF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAC3B,EAAE,EACF,IAAI,EACJ;oBACE,IAAI,EAAE,UAAU,CAAC,mBAAmB;oBACpC,KAAK,EAAE,IAAA,oBAAY,EAAC,WAAW,EAAE,KAAK,CAAC;iBACxC,EACD;oBACE,IAAI,EAAE,UAAU,CAAC,WAAW;oBAC5B,KAAK,EAAE,WAAW;iBACnB,CACF,CAAC;gBAEF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aACpC;YAAC,OAAO,GAAQ,EAAE;gBACjB,OAAO,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAC;aACtB;QACH,CAAC;KAAA;IAED,mBAAmB;IACN,GAAG,CAAC,EAAU;;YACzB,IAAI;gBACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAE/C,IAAI,IAAI,KAAK,IAAI,EAAE;oBACjB,MAAM,IAAI,oBAAY,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;iBAC/C;gBAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aACpC;YAAC,OAAO,GAAQ,EAAE;gBACjB,OAAO,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAC;aACtB;QACH,CAAC;KAAA;IAED,uBAAuB;IACV,MAAM,CACjB,EAAU,EACV,KAMC;;YAED,IAAI;gBACF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;gBAE5D,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEf,MAAM,IAAI,GAAG;oBACX,EAAE;oBACF,UAAU;oBACV,SAAS;oBACT,KAAK;oBACL,MAAM;oBACN,GAAG;iBACJ,CAAC;gBAEF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAExC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aACpC;YAAC,OAAO,GAAQ,EAAE;gBACjB,OAAO,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAC;aACtB;QACH,CAAC;KAAA;IAED,sBAAsB;IACT,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,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAErC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aACpC;YAAC,OAAO,GAAQ,EAAE;gBACjB,OAAO,IAAA,gBAAQ,EAAC,GAAG,CAAC,CAAC;aACtB;QACH,CAAC;KAAA;IAED,2BAA2B;IACd,MAAM,CACjB,QAAgB,EAChB,WAAmB;;YAEnB,IAAI;gBACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;oBACjD,IAAI,EAAE,UAAU,CAAC,mBAAmB;oBACpC,KAAK,EAAE,IAAA,oBAAY,EAAC,WAAW,EAAE,QAAQ,CAAC;iBAC3C,CAAC,CAAC;gBAEH,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,+BAA+B;IAClB,MAAM,CAAC,EAClB,UAAU,EACV,SAAS,EACT,WAAW,MAGT,EAAE;;YAIJ,IAAI;gBACF,IAAI,KAAK,GAAW,EAAE,CAAC;gBAEvB,wBAAwB;gBACxB,IAAI,WAAW,EAAE;oBACf,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAC1C;wBACE,IAAI,EAAE,UAAU,CAAC,WAAW;wBAC5B,KAAK,EAAE,WAAW;qBACnB,EACD,UAAU,EACV,SAAS,CACV,CAAC;iBACH;qBAAM;oBACL,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;iBACjE;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,sBAAsB;IACtB,2BAA2B;IACd,KAAK;;YAChB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAEnD,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE;gBACnB,OAAO;aACR;YAED,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,EAAE;gBACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAA,CAAC,CACH,CAAC;QACJ,CAAC;KAAA;CACF;AAlLD,sBAkLC"}