@salesforce/b2c-tooling-sdk 0.4.0 → 0.4.1

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 (48) hide show
  1. package/dist/cjs/cli/am-command.js +2 -0
  2. package/dist/cjs/cli/am-command.js.map +1 -1
  3. package/dist/cjs/cli/config.js +1 -1
  4. package/dist/cjs/cli/config.js.map +1 -1
  5. package/dist/cjs/cli/instance-command.d.ts +1 -1
  6. package/dist/cjs/cli/oauth-command.d.ts +1 -1
  7. package/dist/cjs/cli/oauth-command.js +1 -1
  8. package/dist/cjs/cli/oauth-command.js.map +1 -1
  9. package/dist/cjs/cli/ods-command.d.ts +1 -1
  10. package/dist/cjs/cli/webdav-command.d.ts +1 -1
  11. package/dist/cjs/clients/am-api.d.ts +40 -10
  12. package/dist/cjs/clients/am-api.js +171 -129
  13. package/dist/cjs/clients/am-api.js.map +1 -1
  14. package/dist/cjs/clients/am-users-api.generated.d.ts +63 -0
  15. package/dist/cjs/clients/index.d.ts +2 -2
  16. package/dist/cjs/clients/index.js +1 -1
  17. package/dist/cjs/clients/index.js.map +1 -1
  18. package/dist/cjs/index.d.ts +2 -2
  19. package/dist/cjs/index.js +1 -1
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/operations/users/index.d.ts +12 -2
  22. package/dist/cjs/operations/users/index.js +22 -24
  23. package/dist/cjs/operations/users/index.js.map +1 -1
  24. package/dist/esm/cli/am-command.js +2 -0
  25. package/dist/esm/cli/am-command.js.map +1 -1
  26. package/dist/esm/cli/config.js +1 -1
  27. package/dist/esm/cli/config.js.map +1 -1
  28. package/dist/esm/cli/instance-command.d.ts +1 -1
  29. package/dist/esm/cli/oauth-command.d.ts +1 -1
  30. package/dist/esm/cli/oauth-command.js +1 -1
  31. package/dist/esm/cli/oauth-command.js.map +1 -1
  32. package/dist/esm/cli/ods-command.d.ts +1 -1
  33. package/dist/esm/cli/webdav-command.d.ts +1 -1
  34. package/dist/esm/clients/am-api.d.ts +40 -10
  35. package/dist/esm/clients/am-api.js +171 -129
  36. package/dist/esm/clients/am-api.js.map +1 -1
  37. package/dist/esm/clients/am-users-api.generated.d.ts +63 -0
  38. package/dist/esm/clients/index.d.ts +2 -2
  39. package/dist/esm/clients/index.js +1 -1
  40. package/dist/esm/clients/index.js.map +1 -1
  41. package/dist/esm/index.d.ts +2 -2
  42. package/dist/esm/index.js +1 -1
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist/esm/operations/users/index.d.ts +12 -2
  45. package/dist/esm/operations/users/index.js +22 -24
  46. package/dist/esm/operations/users/index.js.map +1 -1
  47. package/package.json +1 -1
  48. package/specs/am-users-api-v1.yaml +40 -0
@@ -10,6 +10,8 @@ const AM_ACCOUNT_ADMIN = 'Account Administrator';
10
10
  const AM_API_ADMIN = 'API Administrator';
11
11
  /** Patterns that indicate an authentication/authorization error */
12
12
  const AUTH_ERROR_PATTERNS = [
13
+ 'access is denied',
14
+ 'accessdeniedexception',
13
15
  'authentication invalid',
14
16
  'operation forbidden',
15
17
  '401',
@@ -1 +1 @@
1
- {"version":3,"file":"am-command.js","sourceRoot":"","sources":["../../../src/cli/am-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"am-command.js","sourceRoot":"","sources":["../../../src/cli/am-command.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export { findDwJson };
20
20
  * ```
21
21
  */
22
22
  export function extractOAuthFlags(flags) {
23
- const scopes = flags.scope;
23
+ const scopes = flags['auth-scope'];
24
24
  // Parse auth methods from --auth-methods or --user-auth flag
25
25
  const authMethodValues = flags['auth-methods'];
26
26
  let authMethods;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/config.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export declare abstract class InstanceCommand<T extends typeof Command> extends
43
43
  verify: import("@oclif/core/interfaces").BooleanFlag<boolean>;
44
44
  'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
45
45
  'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
46
- scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
46
+ 'auth-scope': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
47
47
  'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
48
48
  'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
49
49
  'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -18,7 +18,7 @@ export declare abstract class OAuthCommand<T extends typeof Command> extends Bas
18
18
  static baseFlags: {
19
19
  'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
20
  'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
- scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'auth-scope': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
22
  'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
23
  'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
24
  'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -38,7 +38,7 @@ export class OAuthCommand extends BaseCommand {
38
38
  env: 'SFCC_CLIENT_SECRET',
39
39
  helpGroup: 'AUTH',
40
40
  }),
41
- scope: Flags.string({
41
+ 'auth-scope': Flags.string({
42
42
  description: 'OAuth scopes to request (comma-separated)',
43
43
  env: 'SFCC_OAUTH_SCOPES',
44
44
  multiple: true,
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-command.js","sourceRoot":"","sources":["../../../src/cli/oauth-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-command.js","sourceRoot":"","sources":["../../../src/cli/oauth-command.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export declare abstract class OdsCommand<T extends typeof Command> extends OAuth
29
29
  'sandbox-api-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
30
30
  'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
31
31
  'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
- scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
+ 'auth-scope': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
33
  'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
34
34
  'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
35
35
  'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -60,7 +60,7 @@ export declare abstract class WebDavCommand<T extends typeof Command> extends In
60
60
  verify: import("@oclif/core/interfaces").BooleanFlag<boolean>;
61
61
  'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
62
62
  'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
63
- scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
63
+ 'auth-scope': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
64
64
  'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
65
65
  'tenant-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
66
66
  'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -64,18 +64,44 @@ export interface ListUsersOptions {
64
64
  page?: number;
65
65
  }
66
66
  /**
67
- * Role name mappings between external and internal formats.
67
+ * Role mapping built from the Account Manager roles API.
68
+ * Maps between role `id` (e.g., `bm-admin`) and `roleEnumName` (e.g., `ECOM_ADMIN`).
69
+ */
70
+ export interface RoleMapping {
71
+ /** Maps role id (e.g., 'bm-admin') to roleEnumName (e.g., 'ECOM_ADMIN') */
72
+ byId: Map<string, string>;
73
+ /** Maps roleEnumName (e.g., 'ECOM_ADMIN') to role id (e.g., 'bm-admin') */
74
+ byEnumName: Map<string, string>;
75
+ /** Maps roleEnumName (e.g., 'ECOM_ADMIN') to description (e.g., 'Business Manager Administrator') */
76
+ descriptions: Map<string, string>;
77
+ }
78
+ /**
79
+ * Organization mapping built from the Account Manager organizations API.
80
+ * Maps organization ID to name.
68
81
  */
69
- export declare const ROLE_NAMES_MAP: Record<string, string>;
70
- export declare const ROLE_NAMES_MAP_REVERSE: Record<string, string>;
82
+ export interface OrgMapping {
83
+ /** Maps organization ID to name */
84
+ byId: Map<string, string>;
85
+ }
71
86
  /**
72
- * Maps the role name to an internal role ID accepted by the API.
87
+ * Fetches all roles from the Account Manager roles API and builds a mapping
88
+ * between role `id` and `roleEnumName`.
89
+ *
90
+ * @param rolesClient - Account Manager Roles client
91
+ * @returns Role mapping
73
92
  */
74
- export declare function mapToInternalRole(role: string): string;
93
+ export declare function fetchRoleMapping(rolesClient: AccountManagerRolesClient): Promise<RoleMapping>;
75
94
  /**
76
- * Maps the internal role ID to role name.
95
+ * Resolves a role to its internal `roleEnumName` using an API-fetched role mapping.
96
+ * Accepts either the role `id` (e.g., `bm-admin`) or `roleEnumName` (e.g., `ECOM_ADMIN`).
97
+ * Falls back to a generic transform (uppercase + replace hyphens with underscores) for unknown roles.
77
98
  */
78
- export declare function mapFromInternalRole(roleID: string): string;
99
+ export declare function resolveToInternalRole(role: string, mapping: RoleMapping): string;
100
+ /**
101
+ * Resolves an internal `roleEnumName` to its external role `id` using an API-fetched role mapping.
102
+ * Falls back to a generic transform (lowercase + replace underscores with hyphens) for unknown roles.
103
+ */
104
+ export declare function resolveFromInternalRole(roleEnumName: string, mapping: RoleMapping): string;
79
105
  /**
80
106
  * Configuration for creating Account Manager clients.
81
107
  * Used for all Account Manager API clients (users, roles, orgs).
@@ -185,12 +211,12 @@ export declare function purgeUser(client: AccountManagerUsersClient, userId: str
185
211
  */
186
212
  export declare function resetUser(client: AccountManagerUsersClient, userId: string): Promise<void>;
187
213
  /**
188
- * Helper to find a user by login (email) from a list of users.
189
- * This is a convenience function since the API doesn't have a direct search by login endpoint.
214
+ * Finds a user by login (email) using the dedicated search endpoint.
190
215
  *
191
216
  * @param client - Account Manager Users client
192
217
  * @param login - User login (email)
193
- * @returns User if found, undefined otherwise
218
+ * @param expand - Optional array of fields to expand (organizations, roles)
219
+ * @returns User if found, undefined if not found
194
220
  * @throws Error if request fails
195
221
  */
196
222
  export declare function findUserByLogin(client: AccountManagerUsersClient, login: string, expand?: UserExpandOption[]): Promise<AccountManagerUser | undefined>;
@@ -438,6 +464,10 @@ export interface AccountManagerClient {
438
464
  getRole(roleId: string): Promise<AccountManagerRole>;
439
465
  /** List roles with pagination */
440
466
  listRoles(options?: ListRolesOptions): Promise<RoleCollection>;
467
+ /** Get the role mapping (id ↔ roleEnumName), lazily cached */
468
+ getRoleMapping(): Promise<RoleMapping>;
469
+ /** Get the org mapping (id → name), lazily cached */
470
+ getOrgMapping(): Promise<OrgMapping>;
441
471
  /** List API clients with pagination */
442
472
  listApiClients(options?: ListApiClientsOptions): Promise<APIClientCollection>;
443
473
  /** Get API client by ID */
@@ -30,33 +30,57 @@ export function isValidRoleTenantFilter(value) {
30
30
  return value.length > 0 && ROLE_TENANT_FILTER_PATTERN.test(value);
31
31
  }
32
32
  /**
33
- * Role name mappings between external and internal formats.
33
+ * Fetches all roles from the Account Manager roles API and builds a mapping
34
+ * between role `id` and `roleEnumName`.
35
+ *
36
+ * @param rolesClient - Account Manager Roles client
37
+ * @returns Role mapping
34
38
  */
35
- export const ROLE_NAMES_MAP = {
36
- 'bm-admin': 'ECOM_ADMIN',
37
- 'bm-user': 'ECOM_USER',
38
- };
39
- export const ROLE_NAMES_MAP_REVERSE = {
40
- ECOM_ADMIN: 'bm-admin',
41
- ECOM_USER: 'bm-user',
42
- };
39
+ export async function fetchRoleMapping(rolesClient) {
40
+ const result = await listRoles(rolesClient, { size: 100 });
41
+ const byId = new Map();
42
+ const byEnumName = new Map();
43
+ const descriptions = new Map();
44
+ for (const role of result.content || []) {
45
+ if (role.id && role.roleEnumName) {
46
+ byId.set(role.id, role.roleEnumName);
47
+ byEnumName.set(role.roleEnumName, role.id);
48
+ if (role.description) {
49
+ descriptions.set(role.roleEnumName, role.description);
50
+ }
51
+ }
52
+ }
53
+ return { byId, byEnumName, descriptions };
54
+ }
43
55
  /**
44
- * Maps the role name to an internal role ID accepted by the API.
56
+ * Resolves a role to its internal `roleEnumName` using an API-fetched role mapping.
57
+ * Accepts either the role `id` (e.g., `bm-admin`) or `roleEnumName` (e.g., `ECOM_ADMIN`).
58
+ * Falls back to a generic transform (uppercase + replace hyphens with underscores) for unknown roles.
45
59
  */
46
- export function mapToInternalRole(role) {
47
- if (ROLE_NAMES_MAP[role]) {
48
- return ROLE_NAMES_MAP[role];
60
+ export function resolveToInternalRole(role, mapping) {
61
+ // Already a known roleEnumName
62
+ if (mapping.byEnumName.has(role)) {
63
+ return role;
49
64
  }
65
+ // Known role id → roleEnumName
66
+ const enumName = mapping.byId.get(role);
67
+ if (enumName) {
68
+ return enumName;
69
+ }
70
+ // Fallback: generic transform
50
71
  return role.toUpperCase().replace(/-/g, '_');
51
72
  }
52
73
  /**
53
- * Maps the internal role ID to role name.
74
+ * Resolves an internal `roleEnumName` to its external role `id` using an API-fetched role mapping.
75
+ * Falls back to a generic transform (lowercase + replace underscores with hyphens) for unknown roles.
54
76
  */
55
- export function mapFromInternalRole(roleID) {
56
- if (ROLE_NAMES_MAP_REVERSE[roleID]) {
57
- return ROLE_NAMES_MAP_REVERSE[roleID];
77
+ export function resolveFromInternalRole(roleEnumName, mapping) {
78
+ const id = mapping.byEnumName.get(roleEnumName);
79
+ if (id) {
80
+ return id;
58
81
  }
59
- return roleID.toLowerCase().replace(/_/g, '-');
82
+ // Fallback: generic transform
83
+ return roleEnumName.toLowerCase().replace(/_/g, '-');
60
84
  }
61
85
  /**
62
86
  * Creates a typed Account Manager Users API client.
@@ -258,47 +282,35 @@ export async function resetUser(client, userId) {
258
282
  }
259
283
  }
260
284
  /**
261
- * Helper to find a user by login (email) from a list of users.
262
- * This is a convenience function since the API doesn't have a direct search by login endpoint.
285
+ * Finds a user by login (email) using the dedicated search endpoint.
263
286
  *
264
287
  * @param client - Account Manager Users client
265
288
  * @param login - User login (email)
266
- * @returns User if found, undefined otherwise
289
+ * @param expand - Optional array of fields to expand (organizations, roles)
290
+ * @returns User if found, undefined if not found
267
291
  * @throws Error if request fails
268
292
  */
269
293
  export async function findUserByLogin(client, login, expand) {
270
- // Search through paginated results
271
- let page = 0;
272
- const pageSize = 100;
273
- while (true) {
274
- const result = await client.GET('/dw/rest/v1/users', {
275
- params: {
276
- query: {
277
- pageable: {
278
- page,
279
- size: pageSize,
280
- },
281
- },
282
- },
283
- });
284
- if (result.error) {
285
- throw new Error(`Failed to search for user: ${JSON.stringify(result.error)}`);
286
- }
287
- const users = result.data?.content || [];
288
- const found = users.find((u) => u.mail === login);
289
- if (found) {
290
- // If expand is requested, fetch the full user with expanded fields
291
- if (expand && expand.length > 0 && found.id) {
292
- return getUser(client, found.id, expand);
293
- }
294
- return found;
295
- }
296
- // If we got fewer results than page size, we've reached the end
297
- if (users.length < pageSize) {
298
- return undefined;
299
- }
300
- page++;
294
+ const result = await client.GET('/dw/rest/v1/users/search/findByLogin', {
295
+ params: {
296
+ query: { login },
297
+ },
298
+ });
299
+ if (result.response?.status === 404) {
300
+ return undefined;
301
+ }
302
+ if (result.error) {
303
+ throw new Error(`Failed to search for user: ${JSON.stringify(result.error)}`);
301
304
  }
305
+ const found = result.data;
306
+ if (!found) {
307
+ return undefined;
308
+ }
309
+ // If expand is requested, fetch the full user with expanded fields
310
+ if (expand && expand.length > 0 && found.id) {
311
+ return getUser(client, found.id, expand);
312
+ }
313
+ return found;
302
314
  }
303
315
  /**
304
316
  * Creates a typed Account Manager Roles API client.
@@ -823,12 +835,35 @@ function createPageableTransformMiddleware() {
823
835
  * const org = await client.getOrg('org-id');
824
836
  */
825
837
  export function createAccountManagerClient(config, auth) {
826
- // All three clients use the same config
838
+ const logger = getLogger();
827
839
  // Create internal clients (all use the same config, however, specifications are different)
828
840
  const usersClient = createAccountManagerUsersClient(config, auth);
829
841
  const rolesClient = createAccountManagerRolesClient(config, auth);
830
842
  const apiClientsClient = createAccountManagerApiClientsClient(config, auth);
831
843
  const orgsClient = createAccountManagerOrgsClient(config, auth);
844
+ // Lazily cached role mapping
845
+ let cachedRoleMapping;
846
+ async function getRoleMapping() {
847
+ if (!cachedRoleMapping) {
848
+ cachedRoleMapping = await fetchRoleMapping(rolesClient);
849
+ }
850
+ return cachedRoleMapping;
851
+ }
852
+ // Lazily cached org mapping
853
+ let cachedOrgMapping;
854
+ async function getOrgMapping() {
855
+ if (!cachedOrgMapping) {
856
+ const result = await orgsClient.listOrgs({ all: true });
857
+ const byId = new Map();
858
+ for (const org of result.content || []) {
859
+ if (org.id && org.name) {
860
+ byId.set(org.id, org.name);
861
+ }
862
+ }
863
+ cachedOrgMapping = { byId };
864
+ }
865
+ return cachedOrgMapping;
866
+ }
832
867
  // Return unified client with all methods
833
868
  return {
834
869
  // Users API methods
@@ -840,94 +875,101 @@ export function createAccountManagerClient(config, auth) {
840
875
  purgeUser: (userId) => purgeUser(usersClient, userId),
841
876
  resetUser: (userId) => resetUser(usersClient, userId),
842
877
  findUserByLogin: (login, expand) => findUserByLogin(usersClient, login, expand),
843
- grantRole: (userId, role, scope) => {
844
- // Import grantRole from operations - it uses getUser internally which needs the client
845
- return getUser(usersClient, userId).then((user) => {
846
- // Build updated roles
847
- const currentRoles = Array.isArray(user.roles)
848
- ? user.roles.map((r) => (typeof r === 'string' ? r : r.roleEnumName || ''))
849
- : [];
850
- const updatedRoles = currentRoles.includes(role) ? currentRoles : [...currentRoles, role];
851
- // Build updated roleTenantFilter
852
- let roleTenantFilter = user.roleTenantFilter || '';
853
- if (scope) {
854
- const scopes = scope.split(',');
855
- // Parse existing filter
856
- const filters = roleTenantFilter.split(';').filter(Boolean);
857
- const filterMap = new Map();
858
- for (const filter of filters) {
859
- const [r, tenants] = filter.split(':');
860
- if (tenants) {
861
- filterMap.set(r, tenants.split(','));
862
- }
878
+ grantRole: async (userId, role, scope) => {
879
+ const roleMapping = await getRoleMapping();
880
+ // Resolve to both formats: role ID for roles array, roleEnumName for roleTenantFilter
881
+ const enumName = resolveToInternalRole(role, roleMapping);
882
+ const roleId = resolveFromInternalRole(enumName, roleMapping);
883
+ logger.debug({ role, roleId, enumName }, `[AM] Resolved role '${role}' id='${roleId}', enum='${enumName}'`);
884
+ const user = await getUser(usersClient, userId);
885
+ // Build updated roles (uses role ID format, e.g. 'bm-admin')
886
+ const currentRoles = Array.isArray(user.roles)
887
+ ? user.roles.map((r) => (typeof r === 'string' ? r : r.id || ''))
888
+ : [];
889
+ const updatedRoles = currentRoles.includes(roleId) ? currentRoles : [...currentRoles, roleId];
890
+ // Build updated roleTenantFilter (uses roleEnumName format, e.g. 'ECOM_ADMIN')
891
+ let roleTenantFilter = user.roleTenantFilter || '';
892
+ if (scope) {
893
+ const scopes = scope.split(',');
894
+ // Parse existing filter
895
+ const filters = roleTenantFilter.split(';').filter(Boolean);
896
+ const filterMap = new Map();
897
+ for (const filter of filters) {
898
+ const [r, tenants] = filter.split(':');
899
+ if (tenants) {
900
+ filterMap.set(r, tenants.split(','));
863
901
  }
864
- // Add new scopes
865
- const existingScopes = filterMap.get(role) || [];
866
- const allScopes = [...new Set([...existingScopes, ...scopes])];
867
- filterMap.set(role, allScopes);
868
- // Rebuild filter string
869
- roleTenantFilter = Array.from(filterMap.entries())
870
- .map(([r, tenants]) => `${r}:${tenants.join(',')}`)
871
- .join(';');
872
902
  }
873
- return updateUser(usersClient, userId, {
874
- roles: updatedRoles,
875
- roleTenantFilter: roleTenantFilter || undefined,
876
- });
903
+ // Add new scopes
904
+ const existingScopes = filterMap.get(enumName) || [];
905
+ const allScopes = [...new Set([...existingScopes, ...scopes])];
906
+ filterMap.set(enumName, allScopes);
907
+ // Rebuild filter string
908
+ roleTenantFilter = Array.from(filterMap.entries())
909
+ .map(([r, tenants]) => `${r}:${tenants.join(',')}`)
910
+ .join(';');
911
+ }
912
+ return updateUser(usersClient, userId, {
913
+ roles: updatedRoles,
914
+ roleTenantFilter: roleTenantFilter || undefined,
877
915
  });
878
916
  },
879
- revokeRole: (userId, role, scope) => {
880
- // Import revokeRole logic - it uses getUser internally which needs the client
881
- return getUser(usersClient, userId).then((user) => {
882
- // Build updated roles
883
- const currentRoles = Array.isArray(user.roles)
884
- ? user.roles.map((r) => (typeof r === 'string' ? r : r.roleEnumName || ''))
885
- : [];
886
- let updatedRoles = currentRoles;
887
- // Build updated roleTenantFilter
888
- let roleTenantFilter = user.roleTenantFilter || '';
889
- if (!scope) {
890
- // Remove entire role
891
- updatedRoles = currentRoles.filter((r) => r !== role);
892
- // Remove role from filter
893
- const filters = roleTenantFilter.split(';').filter(Boolean);
894
- roleTenantFilter = filters.filter((filter) => !filter.startsWith(`${role}:`)).join(';');
917
+ revokeRole: async (userId, role, scope) => {
918
+ const roleMapping = await getRoleMapping();
919
+ const enumName = resolveToInternalRole(role, roleMapping);
920
+ const roleId = resolveFromInternalRole(enumName, roleMapping);
921
+ logger.debug({ role, roleId, enumName }, `[AM] Resolved role '${role}' → id='${roleId}', enum='${enumName}'`);
922
+ const user = await getUser(usersClient, userId);
923
+ // Build updated roles (uses role ID format, e.g. 'bm-admin')
924
+ const currentRoles = Array.isArray(user.roles)
925
+ ? user.roles.map((r) => (typeof r === 'string' ? r : r.id || ''))
926
+ : [];
927
+ let updatedRoles = currentRoles;
928
+ // Build updated roleTenantFilter (uses roleEnumName format, e.g. 'ECOM_ADMIN')
929
+ let roleTenantFilter = user.roleTenantFilter || '';
930
+ if (!scope) {
931
+ // Remove entire role
932
+ updatedRoles = currentRoles.filter((r) => r !== roleId);
933
+ // Remove role from filter
934
+ const filters = roleTenantFilter.split(';').filter(Boolean);
935
+ roleTenantFilter = filters.filter((filter) => !filter.startsWith(`${enumName}:`)).join(';');
936
+ }
937
+ else {
938
+ // Remove specific scope
939
+ const scopes = scope.split(',');
940
+ const filters = roleTenantFilter.split(';').filter(Boolean);
941
+ const filterMap = new Map();
942
+ for (const filter of filters) {
943
+ const [r, tenants] = filter.split(':');
944
+ if (tenants) {
945
+ filterMap.set(r, tenants.split(','));
946
+ }
947
+ }
948
+ const existingScopes = filterMap.get(enumName) || [];
949
+ const remainingScopes = existingScopes.filter((s) => !scopes.includes(s));
950
+ if (remainingScopes.length === 0) {
951
+ // No scopes left, remove role entirely
952
+ updatedRoles = currentRoles.filter((r) => r !== roleId);
953
+ filterMap.delete(enumName);
895
954
  }
896
955
  else {
897
- // Remove specific scope
898
- const scopes = scope.split(',');
899
- const filters = roleTenantFilter.split(';').filter(Boolean);
900
- const filterMap = new Map();
901
- for (const filter of filters) {
902
- const [r, tenants] = filter.split(':');
903
- if (tenants) {
904
- filterMap.set(r, tenants.split(','));
905
- }
906
- }
907
- const existingScopes = filterMap.get(role) || [];
908
- const remainingScopes = existingScopes.filter((s) => !scopes.includes(s));
909
- if (remainingScopes.length === 0) {
910
- // No scopes left, remove role entirely
911
- updatedRoles = currentRoles.filter((r) => r !== role);
912
- filterMap.delete(role);
913
- }
914
- else {
915
- filterMap.set(role, remainingScopes);
916
- }
917
- // Rebuild filter string
918
- roleTenantFilter = Array.from(filterMap.entries())
919
- .map(([r, tenants]) => `${r}:${tenants.join(',')}`)
920
- .join(';');
956
+ filterMap.set(enumName, remainingScopes);
921
957
  }
922
- return updateUser(usersClient, userId, {
923
- roles: updatedRoles,
924
- roleTenantFilter: roleTenantFilter || undefined,
925
- });
958
+ // Rebuild filter string
959
+ roleTenantFilter = Array.from(filterMap.entries())
960
+ .map(([r, tenants]) => `${r}:${tenants.join(',')}`)
961
+ .join(';');
962
+ }
963
+ return updateUser(usersClient, userId, {
964
+ roles: updatedRoles,
965
+ roleTenantFilter: roleTenantFilter || undefined,
926
966
  });
927
967
  },
928
968
  // Roles API methods
929
969
  getRole: (roleId) => getRole(rolesClient, roleId),
930
970
  listRoles: (options) => listRoles(rolesClient, options),
971
+ getRoleMapping: () => getRoleMapping(),
972
+ getOrgMapping: () => getOrgMapping(),
931
973
  // API Clients API methods
932
974
  listApiClients: (options) => listApiClients(apiClientsClient, options),
933
975
  getApiClient: (apiClientId, expand) => getApiClient(apiClientsClient, apiClientId, expand),