@portaidentity/sdk 1.7.3 → 1.9.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 (116) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +70 -41
  3. package/dist/agent.d.ts +15 -1
  4. package/dist/agent.d.ts.map +1 -1
  5. package/dist/agent.js +473 -69
  6. package/dist/agent.js.map +1 -1
  7. package/dist/auth/cli-auth.d.ts +45 -71
  8. package/dist/auth/cli-auth.d.ts.map +1 -1
  9. package/dist/auth/cli-auth.js +208 -144
  10. package/dist/auth/cli-auth.js.map +1 -1
  11. package/dist/auth/index.d.ts +1 -1
  12. package/dist/auth/index.d.ts.map +1 -1
  13. package/dist/domains/applications.d.ts +22 -3
  14. package/dist/domains/applications.d.ts.map +1 -1
  15. package/dist/domains/applications.js +90 -20
  16. package/dist/domains/applications.js.map +1 -1
  17. package/dist/domains/branding.d.ts +47 -16
  18. package/dist/domains/branding.d.ts.map +1 -1
  19. package/dist/domains/branding.js +28 -5
  20. package/dist/domains/branding.js.map +1 -1
  21. package/dist/domains/clients.d.ts +23 -6
  22. package/dist/domains/clients.d.ts.map +1 -1
  23. package/dist/domains/clients.js +122 -21
  24. package/dist/domains/clients.js.map +1 -1
  25. package/dist/domains/config.d.ts +20 -3
  26. package/dist/domains/config.d.ts.map +1 -1
  27. package/dist/domains/config.js +30 -3
  28. package/dist/domains/config.js.map +1 -1
  29. package/dist/domains/custom-claims.d.ts +2 -1
  30. package/dist/domains/custom-claims.d.ts.map +1 -1
  31. package/dist/domains/custom-claims.js +2 -2
  32. package/dist/domains/custom-claims.js.map +1 -1
  33. package/dist/domains/exports.d.ts +6 -1
  34. package/dist/domains/exports.d.ts.map +1 -1
  35. package/dist/domains/exports.js +27 -1
  36. package/dist/domains/exports.js.map +1 -1
  37. package/dist/domains/helpers.d.ts +31 -0
  38. package/dist/domains/helpers.d.ts.map +1 -1
  39. package/dist/domains/helpers.js +72 -1
  40. package/dist/domains/helpers.js.map +1 -1
  41. package/dist/domains/imports.d.ts +8 -7
  42. package/dist/domains/imports.d.ts.map +1 -1
  43. package/dist/domains/imports.js +158 -14
  44. package/dist/domains/imports.js.map +1 -1
  45. package/dist/domains/index.d.ts +1 -1
  46. package/dist/domains/index.d.ts.map +1 -1
  47. package/dist/domains/organizations.d.ts +2 -9
  48. package/dist/domains/organizations.d.ts.map +1 -1
  49. package/dist/domains/organizations.js +2 -13
  50. package/dist/domains/organizations.js.map +1 -1
  51. package/dist/domains/permissions.d.ts +22 -4
  52. package/dist/domains/permissions.d.ts.map +1 -1
  53. package/dist/domains/permissions.js +47 -13
  54. package/dist/domains/permissions.js.map +1 -1
  55. package/dist/domains/roles.d.ts +26 -16
  56. package/dist/domains/roles.d.ts.map +1 -1
  57. package/dist/domains/roles.js +61 -31
  58. package/dist/domains/roles.js.map +1 -1
  59. package/dist/domains/user-roles.d.ts +9 -4
  60. package/dist/domains/user-roles.d.ts.map +1 -1
  61. package/dist/domains/user-roles.js +32 -6
  62. package/dist/domains/user-roles.js.map +1 -1
  63. package/dist/domains/users.d.ts +31 -26
  64. package/dist/domains/users.d.ts.map +1 -1
  65. package/dist/domains/users.js +56 -46
  66. package/dist/domains/users.js.map +1 -1
  67. package/dist/errors/index.d.ts +2 -0
  68. package/dist/errors/index.d.ts.map +1 -1
  69. package/dist/errors/index.js +18 -1
  70. package/dist/errors/index.js.map +1 -1
  71. package/dist/index.d.ts +1 -1
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js.map +1 -1
  74. package/dist/node.d.ts +1 -1
  75. package/dist/node.d.ts.map +1 -1
  76. package/dist/pagination/index.d.ts +5 -1
  77. package/dist/pagination/index.d.ts.map +1 -1
  78. package/dist/pagination/index.js +2 -2
  79. package/dist/pagination/index.js.map +1 -1
  80. package/dist/types/applications.d.ts +27 -6
  81. package/dist/types/applications.d.ts.map +1 -1
  82. package/dist/types/branding.d.ts +38 -11
  83. package/dist/types/branding.d.ts.map +1 -1
  84. package/dist/types/branding.js +0 -5
  85. package/dist/types/branding.js.map +1 -1
  86. package/dist/types/bulk.d.ts +2 -4
  87. package/dist/types/bulk.d.ts.map +1 -1
  88. package/dist/types/clients.d.ts +104 -13
  89. package/dist/types/clients.d.ts.map +1 -1
  90. package/dist/types/common.d.ts +26 -3
  91. package/dist/types/common.d.ts.map +1 -1
  92. package/dist/types/config.d.ts +57 -21
  93. package/dist/types/config.d.ts.map +1 -1
  94. package/dist/types/config.js +1 -8
  95. package/dist/types/config.js.map +1 -1
  96. package/dist/types/exports.d.ts +17 -0
  97. package/dist/types/exports.d.ts.map +1 -1
  98. package/dist/types/imports.d.ts +390 -84
  99. package/dist/types/imports.d.ts.map +1 -1
  100. package/dist/types/imports.js +1 -7
  101. package/dist/types/imports.js.map +1 -1
  102. package/dist/types/index.d.ts +14 -14
  103. package/dist/types/index.d.ts.map +1 -1
  104. package/dist/types/organizations.d.ts +5 -9
  105. package/dist/types/organizations.d.ts.map +1 -1
  106. package/dist/types/permissions.d.ts +21 -6
  107. package/dist/types/permissions.d.ts.map +1 -1
  108. package/dist/types/roles.d.ts +3 -1
  109. package/dist/types/roles.d.ts.map +1 -1
  110. package/dist/types/user-roles.d.ts +4 -10
  111. package/dist/types/user-roles.d.ts.map +1 -1
  112. package/dist/types/users.d.ts +102 -15
  113. package/dist/types/users.d.ts.map +1 -1
  114. package/dist/version.d.ts +1 -1
  115. package/dist/version.js +1 -1
  116. package/package.json +3 -2
@@ -6,48 +6,84 @@
6
6
  * GET /applications/:appId/roles/:roleId — Get role (plain Role)
7
7
  * POST /applications/:appId/roles — Create role
8
8
  * PUT /applications/:appId/roles/:roleId — Update role
9
- * POST /applications/:appId/roles/:roleId/archive — Archive role
10
- * DELETE /applications/:appId/roles/:roleId — Delete role (?force=true)
9
+ * DELETE /applications/:appId/roles/:roleId — Delete role
11
10
  * GET /applications/:appId/roles/:roleId/permissions — List permissions for role
12
11
  * PUT /applications/:appId/roles/:roleId/permissions — Assign permissions (bulk)
13
12
  * DELETE /applications/:appId/roles/:roleId/permissions — Remove permissions (bulk)
14
13
  *
15
14
  * @module domains/roles
16
15
  */
17
- import { listAll } from '../pagination/index.js';
18
- import { unwrapData, toQueryParams } from './helpers.js';
16
+ import { isRecord, requireData } from './helpers.js';
17
+ /** Validate one role returned by the Admin API. */
18
+ function isRole(value) {
19
+ return (isRecord(value) &&
20
+ typeof value.id === 'string' &&
21
+ typeof value.applicationId === 'string' &&
22
+ typeof value.name === 'string' &&
23
+ typeof value.slug === 'string' &&
24
+ (typeof value.description === 'string' || value.description === null) &&
25
+ typeof value.createdAt === 'string' &&
26
+ typeof value.updatedAt === 'string');
27
+ }
28
+ /** Validate one permission returned by a role-permission collection. */
29
+ function isPermission(value) {
30
+ return (isRecord(value) &&
31
+ typeof value.id === 'string' &&
32
+ typeof value.applicationId === 'string' &&
33
+ (typeof value.moduleId === 'string' || value.moduleId === null) &&
34
+ typeof value.name === 'string' &&
35
+ typeof value.slug === 'string' &&
36
+ (typeof value.description === 'string' || value.description === null) &&
37
+ typeof value.createdAt === 'string');
38
+ }
39
+ /** Validate the explicit result of a committed authority reduction. */
40
+ function isAuthorityReductionResult(value) {
41
+ return isRecord(value) && typeof value.reauthenticationRequired === 'boolean';
42
+ }
43
+ /** Validate a role update result and its authentication effect. */
44
+ function isRoleUpdateResult(value) {
45
+ return (isRecord(value) && isRole(value.role) && typeof value.reauthenticationRequired === 'boolean');
46
+ }
47
+ /** Create role operations backed by one HTTP transport. */
19
48
  export function createRolesDomain(transport) {
20
- function base(appId) { return `/applications/${appId}/roles`; }
49
+ /** Build the parent-qualified role collection path. */
50
+ function base(appId) {
51
+ return `/applications/${appId}/roles`;
52
+ }
21
53
  return {
22
- async list(appId, params) {
23
- const res = await transport.request({ method: 'GET', path: base(appId), params: toQueryParams(params) });
24
- return res.body;
25
- },
26
- listAll(appId, params) {
27
- return listAll((p) => this.list(appId, { ...params, ...p }), params);
54
+ async list(appId) {
55
+ const res = await transport.request({ method: 'GET', path: base(appId) });
56
+ return requireData(res.body, (value) => Array.isArray(value) && value.every(isRole));
28
57
  },
29
58
  async get(appId, roleId) {
30
59
  const res = await transport.request({ method: 'GET', path: `${base(appId)}/${roleId}` });
31
- return unwrapData(res.body);
60
+ return requireData(res.body, isRole);
32
61
  },
33
62
  async create(appId, input) {
34
63
  const res = await transport.request({ method: 'POST', path: base(appId), body: input });
35
- return unwrapData(res.body);
64
+ return requireData(res.body, isRole);
36
65
  },
37
66
  async update(appId, roleId, input) {
38
- const res = await transport.request({ method: 'PUT', path: `${base(appId)}/${roleId}`, body: input });
39
- return unwrapData(res.body);
40
- },
41
- async archive(appId, roleId) {
42
- await transport.request({ method: 'POST', path: `${base(appId)}/${roleId}/archive` });
67
+ const res = await transport.request({
68
+ method: 'PUT',
69
+ path: `${base(appId)}/${roleId}`,
70
+ body: input,
71
+ });
72
+ return requireData(res.body, isRoleUpdateResult);
43
73
  },
44
- async remove(appId, roleId, force) {
45
- const params = force ? { force: 'true' } : undefined;
46
- await transport.request({ method: 'DELETE', path: `${base(appId)}/${roleId}`, params });
74
+ async delete(appId, roleId) {
75
+ const res = await transport.request({
76
+ method: 'DELETE',
77
+ path: `${base(appId)}/${roleId}`,
78
+ });
79
+ return requireData(res.body, isAuthorityReductionResult);
47
80
  },
48
81
  async listPermissions(appId, roleId) {
49
- const res = await transport.request({ method: 'GET', path: `${base(appId)}/${roleId}/permissions` });
50
- return unwrapData(res.body);
82
+ const res = await transport.request({
83
+ method: 'GET',
84
+ path: `${base(appId)}/${roleId}/permissions`,
85
+ });
86
+ return requireData(res.body, (value) => Array.isArray(value) && value.every(isPermission));
51
87
  },
52
88
  async assignPermissions(appId, roleId, permissionIds) {
53
89
  await transport.request({
@@ -57,18 +93,12 @@ export function createRolesDomain(transport) {
57
93
  });
58
94
  },
59
95
  async removePermissions(appId, roleId, permissionIds) {
60
- await transport.request({
96
+ const res = await transport.request({
61
97
  method: 'DELETE',
62
98
  path: `${base(appId)}/${roleId}/permissions`,
63
99
  body: { permissionIds },
64
100
  });
65
- },
66
- // Backward-compatible singular wrappers
67
- async assignPermission(appId, roleId, permissionId) {
68
- return this.assignPermissions(appId, roleId, [permissionId]);
69
- },
70
- async removePermission(appId, roleId, permissionId) {
71
- return this.removePermissions(appId, roleId, [permissionId]);
101
+ return requireData(res.body, isAuthorityReductionResult);
72
102
  },
73
103
  };
74
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/domains/roles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/domains/roles.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,16 @@
4
4
  * @module domains/user-roles
5
5
  */
6
6
  import type { HttpTransport } from '../transport/types.js';
7
- import type { UserRoleAssignment } from '../types/index.js';
7
+ import type { Role, UserRoleRemovalResult } from '../types/index.js';
8
+ /** User-role collection operations scoped by organization and user. */
8
9
  export interface UserRolesDomain {
9
- list(orgId: string, userId: string): Promise<UserRoleAssignment[]>;
10
- assign(orgId: string, userId: string, roleId: string): Promise<void>;
11
- remove(orgId: string, userId: string, roleId: string): Promise<void>;
10
+ /** List the complete set of roles assigned to a user. */
11
+ list(orgId: string, userId: string): Promise<Role[]>;
12
+ /** Assign one or more roles in a single collection request. */
13
+ assign(orgId: string, userId: string, roleIds: string[]): Promise<void>;
14
+ /** Remove one or more roles and report whether the caller must authenticate again. */
15
+ remove(orgId: string, userId: string, roleIds: string[]): Promise<UserRoleRemovalResult>;
12
16
  }
17
+ /** Create user-role operations backed by one HTTP transport. */
13
18
  export declare function createUserRolesDomain(transport: HttpTransport): UserRolesDomain;
14
19
  //# sourceMappingURL=user-roles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-roles.d.ts","sourceRoot":"","sources":["../../src/domains/user-roles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,aAAa,GAAG,eAAe,CAiB/E"}
1
+ {"version":3,"file":"user-roles.d.ts","sourceRoot":"","sources":["../../src/domains/user-roles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAsBrE,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,+DAA+D;IAC/D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,sFAAsF;IACtF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC1F;AAED,gEAAgE;AAChE,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,aAAa,GAAG,eAAe,CA8B/E"}
@@ -3,21 +3,47 @@
3
3
  *
4
4
  * @module domains/user-roles
5
5
  */
6
- import { unwrapData } from './helpers.js';
6
+ import { isRecord, requireData } from './helpers.js';
7
+ /** Validate one role returned by the Admin API. */
8
+ function isRole(value) {
9
+ return (isRecord(value) &&
10
+ typeof value.id === 'string' &&
11
+ typeof value.applicationId === 'string' &&
12
+ typeof value.name === 'string' &&
13
+ typeof value.slug === 'string' &&
14
+ (typeof value.description === 'string' || value.description === null) &&
15
+ typeof value.createdAt === 'string' &&
16
+ typeof value.updatedAt === 'string');
17
+ }
18
+ /** Validate the explicit result of a committed user-role removal. */
19
+ function isUserRoleRemovalResult(value) {
20
+ return isRecord(value) && typeof value.reauthenticationRequired === 'boolean';
21
+ }
22
+ /** Create user-role operations backed by one HTTP transport. */
7
23
  export function createUserRolesDomain(transport) {
24
+ /** Build the organization- and user-qualified role collection path. */
8
25
  function base(orgId, userId) {
9
26
  return `/organizations/${orgId}/users/${userId}/roles`;
10
27
  }
11
28
  return {
12
29
  async list(orgId, userId) {
13
30
  const res = await transport.request({ method: 'GET', path: base(orgId, userId) });
14
- return unwrapData(res.body);
31
+ return requireData(res.body, (value) => Array.isArray(value) && value.every(isRole));
15
32
  },
16
- async assign(orgId, userId, roleId) {
17
- await transport.request({ method: 'POST', path: base(orgId, userId), body: { roleId } });
33
+ async assign(orgId, userId, roleIds) {
34
+ await transport.request({
35
+ method: 'PUT',
36
+ path: base(orgId, userId),
37
+ body: { roleIds },
38
+ });
18
39
  },
19
- async remove(orgId, userId, roleId) {
20
- await transport.request({ method: 'DELETE', path: `${base(orgId, userId)}/${roleId}` });
40
+ async remove(orgId, userId, roleIds) {
41
+ const res = await transport.request({
42
+ method: 'DELETE',
43
+ path: base(orgId, userId),
44
+ body: { roleIds },
45
+ });
46
+ return requireData(res.body, isUserRoleRemovalResult);
21
47
  },
22
48
  };
23
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user-roles.js","sourceRoot":"","sources":["../../src/domains/user-roles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,MAAM,UAAU,qBAAqB,CAAC,SAAwB;IAC5D,SAAS,IAAI,CAAC,KAAa,EAAE,MAAc;QACzC,OAAO,kBAAkB,KAAK,UAAU,MAAM,QAAQ,CAAC;IACzD,CAAC;IAED,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM;YACtB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAClF,OAAO,UAAU,CAAuB,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM;YAChC,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM;YAChC,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1F,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"user-roles.js","sourceRoot":"","sources":["../../src/domains/user-roles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAErD,mDAAmD;AACnD,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACvC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;QACrE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CACpC,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,wBAAwB,KAAK,SAAS,CAAC;AAChF,CAAC;AAYD,gEAAgE;AAChE,MAAM,UAAU,qBAAqB,CAAC,SAAwB;IAC5D,uEAAuE;IACvE,SAAS,IAAI,CAAC,KAAa,EAAE,MAAc;QACzC,OAAO,kBAAkB,KAAK,UAAU,MAAM,QAAQ,CAAC;IACzD,CAAC;IAED,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM;YACtB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAClF,OAAO,WAAW,CAChB,GAAG,CAAC,IAAI,EACR,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CACxE,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO;YACjC,MAAM,SAAS,CAAC,OAAO,CAAC;gBACtB,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;gBACzB,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO;YACjC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;gBAClC,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;gBACzB,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB,CAAC,CAAC;YACH,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QACxD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -4,14 +4,21 @@
4
4
  * @module domains/users
5
5
  */
6
6
  import type { HttpTransport } from '../transport/types.js';
7
- import type { CreateUserInput, ETagResponse, HistoryEntry, InviteUserInput, ListParams, PaginatedResponse, SetPasswordInput, UpdateUserInput, User, UserListParams } from '../types/index.js';
7
+ import type { CreateUserInput, ETagResponse, HistoryResult, InviteUserInput, InviteUserResult, PaginatedResponse, SetPasswordInput, UpdateUserInput, User, UserListParams } from '../types/index.js';
8
+ /** Organization-scoped user administration operations. */
8
9
  export interface UsersDomain {
10
+ /** List users with offset or cursor pagination. */
9
11
  list(orgId: string, params?: UserListParams): Promise<PaginatedResponse<User>>;
12
+ /** Fetch every matching user across all available pages. */
10
13
  listAll(orgId: string, params?: Omit<UserListParams, 'page' | 'cursor'>): Promise<User[]>;
14
+ /** Fetch one user and its current ETag. */
11
15
  get(orgId: string, userId: string): Promise<ETagResponse<User>>;
16
+ /** Create a user in the organization named by the input. */
12
17
  create(input: CreateUserInput): Promise<User>;
18
+ /** Update mutable profile fields, optionally using optimistic concurrency. */
13
19
  update(orgId: string, userId: string, input: UpdateUserInput, etag?: string): Promise<User>;
14
- invite(input: InviteUserInput): Promise<User>;
20
+ /** Invite a user and return the invitation outcome. */
21
+ invite(input: InviteUserInput): Promise<InviteUserResult>;
15
22
  /** Preview the invitation email without sending — POST .../invite/preview */
16
23
  invitePreview(input: InviteUserInput): Promise<InvitePreviewResult>;
17
24
  setPassword(orgId: string, userId: string, input: SetPasswordInput): Promise<void>;
@@ -21,16 +28,14 @@ export interface UsersDomain {
21
28
  verifyEmail(orgId: string, userId: string): Promise<void>;
22
29
  /** GDPR data export (Article 20) — GET .../:userId/export */
23
30
  exportData(orgId: string, userId: string): Promise<UserExportData>;
24
- /** GDPR data purge (Article 17) — POST .../:userId/purge (X-Confirm-Purge) */
25
- purge(orgId: string, userId: string): Promise<UserPurgeResult>;
26
- suspend(orgId: string, userId: string): Promise<void>;
27
- /** Unsuspend a user (suspended → active) — POST .../:userId/unsuspend */
28
- unsuspend(orgId: string, userId: string): Promise<void>;
29
- lock(orgId: string, userId: string): Promise<void>;
30
- unlock(orgId: string, userId: string): Promise<void>;
31
+ /** Permanently delete a user and their owned identity data. */
32
+ delete(orgId: string, userId: string): Promise<void>;
33
+ /** Deactivate an active user. */
31
34
  deactivate(orgId: string, userId: string): Promise<void>;
32
- reactivate(orgId: string, userId: string): Promise<void>;
33
- getHistory(orgId: string, userId: string, params?: ListParams): Promise<HistoryEntry[]>;
35
+ /** Activate an inactive user. */
36
+ activate(orgId: string, userId: string): Promise<void>;
37
+ /** Fetch the first page of user history. */
38
+ getHistory(orgId: string, userId: string): Promise<HistoryResult>;
34
39
  }
35
40
  /** Rendered invitation email returned by `invitePreview()`. */
36
41
  export interface InvitePreviewResult {
@@ -40,14 +45,18 @@ export interface InvitePreviewResult {
40
45
  }
41
46
  /** GDPR export payload returned by `exportData()` (shape determined by the server). */
42
47
  export type UserExportData = Record<string, unknown>;
43
- /** Result of a GDPR purge returned by `purge()`. */
44
- export type UserPurgeResult = Record<string, unknown>;
48
+ /**
49
+ * Create organization-scoped user operations over an authenticated transport.
50
+ *
51
+ * @param transport - HTTP transport used for every request.
52
+ * @returns User operations bound to the supplied transport.
53
+ */
45
54
  export declare function createUsersDomain(transport: HttpTransport): UsersDomain;
46
55
  /**
47
56
  * Org-less user operations — mirrors the server `createStandaloneUserRouter`
48
57
  * (prefix `/api/admin/users`). These are used by the Admin GUI SPA, where the
49
58
  * user detail page only knows the `userId` (not the org). The org-scoped
50
- * `UsersDomain` remains the primary surface for listing/creating users (AR-12d).
59
+ * `UsersDomain` remains the primary surface for listing and creating users.
51
60
  */
52
61
  export interface StandaloneUsersDomain {
53
62
  /** Get a user by ID — GET /users/:userId */
@@ -62,20 +71,16 @@ export interface StandaloneUsersDomain {
62
71
  verifyEmail(userId: string): Promise<void>;
63
72
  /** Deactivate a user — POST /users/:userId/deactivate */
64
73
  deactivate(userId: string): Promise<void>;
65
- /** Reactivate a user — POST /users/:userId/reactivate */
66
- reactivate(userId: string): Promise<void>;
67
- /** Activate a user (SPA alias for reactivate) — POST /users/:userId/activate */
74
+ /** Activate a user — POST /users/:userId/activate */
68
75
  activate(userId: string): Promise<void>;
69
- /** Suspend a user — POST /users/:userId/suspend */
70
- suspend(userId: string): Promise<void>;
71
- /** Unsuspend a user — POST /users/:userId/unsuspend */
72
- unsuspend(userId: string): Promise<void>;
73
- /** Lock a user — POST /users/:userId/lock */
74
- lock(userId: string): Promise<void>;
75
- /** Unlock a user — POST /users/:userId/unlock */
76
- unlock(userId: string): Promise<void>;
77
76
  /** User change history — GET /users/:userId/history */
78
- getHistory(userId: string, params?: ListParams): Promise<HistoryEntry[]>;
77
+ getHistory(userId: string): Promise<HistoryResult>;
79
78
  }
79
+ /**
80
+ * Create standalone user operations over an authenticated transport.
81
+ *
82
+ * @param transport - HTTP transport used for every request.
83
+ * @returns Standalone user operations bound to the supplied transport.
84
+ */
80
85
  export declare function createStandaloneUsersDomain(transport: HttpTransport): StandaloneUsersDomain;
81
86
  //# sourceMappingURL=users.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/domains/users.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/domains/users.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,40 @@
4
4
  * @module domains/users
5
5
  */
6
6
  import { listAll } from '../pagination/index.js';
7
- import { etagHeaders, toQueryParams, unwrapData, unwrapWithEtag } from './helpers.js';
7
+ import { etagHeaders, unwrapData, unwrapWithEtag } from './helpers.js';
8
+ /**
9
+ * Convert the closed user-list input into the query names accepted by the
10
+ * selected pagination strategy.
11
+ */
12
+ function userListQuery(params) {
13
+ if (!params)
14
+ return undefined;
15
+ const common = {
16
+ ...(params.search !== undefined ? { search: params.search } : {}),
17
+ ...(params.status !== undefined ? { status: params.status } : {}),
18
+ ...(params.sortBy !== undefined ? { sortBy: params.sortBy } : {}),
19
+ ...(params.sortOrder !== undefined ? { sortOrder: params.sortOrder } : {}),
20
+ };
21
+ if (params.cursor !== undefined) {
22
+ return {
23
+ cursor: params.cursor,
24
+ ...(params.pageSize !== undefined ? { limit: params.pageSize } : {}),
25
+ ...common,
26
+ };
27
+ }
28
+ const query = {
29
+ ...(params.page !== undefined ? { page: params.page } : {}),
30
+ ...(params.pageSize !== undefined ? { pageSize: params.pageSize } : {}),
31
+ ...common,
32
+ };
33
+ return Object.keys(query).length > 0 ? query : undefined;
34
+ }
35
+ /**
36
+ * Create organization-scoped user operations over an authenticated transport.
37
+ *
38
+ * @param transport - HTTP transport used for every request.
39
+ * @returns User operations bound to the supplied transport.
40
+ */
8
41
  export function createUsersDomain(transport) {
9
42
  function userBase(orgId) {
10
43
  return `/organizations/${orgId}/users`;
@@ -14,12 +47,17 @@ export function createUsersDomain(transport) {
14
47
  const res = await transport.request({
15
48
  method: 'GET',
16
49
  path: userBase(orgId),
17
- params: toQueryParams(params),
50
+ params: userListQuery(params),
18
51
  });
19
52
  return res.body;
20
53
  },
21
54
  listAll(orgId, params) {
22
- return listAll((p) => this.list(orgId, { ...params, ...p }), params);
55
+ return listAll((page) => this.list(orgId, {
56
+ ...params,
57
+ ...(page.page !== undefined ? { page: page.page } : {}),
58
+ ...(page.cursor !== undefined ? { cursor: page.cursor } : {}),
59
+ ...(page.limit !== undefined ? { pageSize: page.limit } : {}),
60
+ }), params);
23
61
  },
24
62
  async get(orgId, userId) {
25
63
  const res = await transport.request({ method: 'GET', path: `${userBase(orgId)}/${userId}` });
@@ -81,44 +119,31 @@ export function createUsersDomain(transport) {
81
119
  });
82
120
  return unwrapData(res.body);
83
121
  },
84
- async purge(orgId, userId) {
85
- // The server requires an explicit confirmation header to perform the
86
- // irreversible GDPR purge (X-Confirm-Purge: true).
87
- const res = await transport.request({
88
- method: 'POST',
89
- path: `${userBase(orgId)}/${userId}/purge`,
90
- headers: { 'X-Confirm-Purge': 'true' },
91
- });
92
- return unwrapData(res.body);
93
- },
94
- async suspend(orgId, userId) {
95
- await transport.request({ method: 'POST', path: `${userBase(orgId)}/${userId}/suspend` });
96
- },
97
- async unsuspend(orgId, userId) {
98
- await transport.request({ method: 'POST', path: `${userBase(orgId)}/${userId}/unsuspend` });
99
- },
100
- async lock(orgId, userId) {
101
- await transport.request({ method: 'POST', path: `${userBase(orgId)}/${userId}/lock` });
102
- },
103
- async unlock(orgId, userId) {
104
- await transport.request({ method: 'POST', path: `${userBase(orgId)}/${userId}/unlock` });
122
+ async delete(orgId, userId) {
123
+ await transport.request({ method: 'DELETE', path: `${userBase(orgId)}/${userId}` });
105
124
  },
106
125
  async deactivate(orgId, userId) {
107
126
  await transport.request({ method: 'POST', path: `${userBase(orgId)}/${userId}/deactivate` });
108
127
  },
109
- async reactivate(orgId, userId) {
110
- await transport.request({ method: 'POST', path: `${userBase(orgId)}/${userId}/reactivate` });
128
+ async activate(orgId, userId) {
129
+ await transport.request({ method: 'POST', path: `${userBase(orgId)}/${userId}/activate` });
111
130
  },
112
- async getHistory(orgId, userId, params) {
131
+ async getHistory(orgId, userId) {
113
132
  const res = await transport.request({
114
133
  method: 'GET',
115
134
  path: `${userBase(orgId)}/${userId}/history`,
116
- params: toQueryParams(params),
135
+ params: undefined,
117
136
  });
118
- return unwrapData(res.body);
137
+ return res.body;
119
138
  },
120
139
  };
121
140
  }
141
+ /**
142
+ * Create standalone user operations over an authenticated transport.
143
+ *
144
+ * @param transport - HTTP transport used for every request.
145
+ * @returns Standalone user operations bound to the supplied transport.
146
+ */
122
147
  export function createStandaloneUsersDomain(transport) {
123
148
  const base = '/users';
124
149
  return {
@@ -147,29 +172,14 @@ export function createStandaloneUsersDomain(transport) {
147
172
  async deactivate(userId) {
148
173
  await transport.request({ method: 'POST', path: `${base}/${userId}/deactivate` });
149
174
  },
150
- async reactivate(userId) {
151
- await transport.request({ method: 'POST', path: `${base}/${userId}/reactivate` });
152
- },
153
175
  async activate(userId) {
154
176
  await transport.request({ method: 'POST', path: `${base}/${userId}/activate` });
155
177
  },
156
- async suspend(userId) {
157
- await transport.request({ method: 'POST', path: `${base}/${userId}/suspend` });
158
- },
159
- async unsuspend(userId) {
160
- await transport.request({ method: 'POST', path: `${base}/${userId}/unsuspend` });
161
- },
162
- async lock(userId) {
163
- await transport.request({ method: 'POST', path: `${base}/${userId}/lock` });
164
- },
165
- async unlock(userId) {
166
- await transport.request({ method: 'POST', path: `${base}/${userId}/unlock` });
167
- },
168
- async getHistory(userId, params) {
178
+ async getHistory(userId) {
169
179
  const res = await transport.request({
170
180
  method: 'GET',
171
181
  path: `${base}/${userId}/history`,
172
- params: toQueryParams(params),
182
+ params: undefined,
173
183
  });
174
184
  return unwrapData(res.body);
175
185
  },
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/domains/users.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/domains/users.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,8 @@ export declare class PortaRateLimitError extends PortaHttpError {
94
94
  * The specific status code is preserved for debugging.
95
95
  */
96
96
  export declare class PortaServerError extends PortaHttpError {
97
+ /** Safe server-created request identifier for operator support, when supplied. */
98
+ readonly requestId: string | null;
97
99
  constructor(status: number, body?: unknown);
98
100
  }
99
101
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAGzD;CACF;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAK1D;CACF;AAED,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,cAAc;IACtD,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAErC,YAAY,IAAI,EAAE,OAAO,EAKxB;CACF;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,cAAc;IAC1D,YAAY,IAAI,CAAC,EAAE,OAAO,EAIzB;CACF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,YAAY,IAAI,CAAC,EAAE,OAAO,EAIzB;CACF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,YAAY,IAAI,CAAC,EAAE,OAAO,EAIzB;CACF;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,YAAY,IAAI,CAAC,EAAE,OAAO,EAIzB;CACF;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,YAAY,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAKrD;CACF;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,YAAY,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAIzC;CACF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,cAAc,CA0B9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAGzD;CACF;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAK1D;CACF;AAED,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,cAAc;IACtD,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAErC,YAAY,IAAI,EAAE,OAAO,EAKxB;CACF;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,cAAc;IAC1D,YAAY,IAAI,CAAC,EAAE,OAAO,EAIzB;CACF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,YAAY,IAAI,CAAC,EAAE,OAAO,EAIzB;CACF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,YAAY,IAAI,CAAC,EAAE,OAAO,EAIzB;CACF;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,YAAY,IAAI,CAAC,EAAE,OAAO,EAIzB;CACF;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,YAAY,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAKrD;CACF;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,kFAAkF;IAClF,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,YAAY,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAKzC;CACF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,cAAc,CA0B9E"}
@@ -119,10 +119,13 @@ export class PortaRateLimitError extends PortaHttpError {
119
119
  * The specific status code is preserved for debugging.
120
120
  */
121
121
  export class PortaServerError extends PortaHttpError {
122
+ /** Safe server-created request identifier for operator support, when supplied. */
123
+ requestId;
122
124
  constructor(status, body) {
123
125
  const message = extractMessage(body, 'Server error');
124
126
  super(status, message, body);
125
127
  this.name = 'PortaServerError';
128
+ this.requestId = extractRequestId(body);
126
129
  }
127
130
  }
128
131
  /**
@@ -185,6 +188,16 @@ function extractMessage(body, fallback) {
185
188
  }
186
189
  return fallback;
187
190
  }
191
+ /** Extract only a UUID-shaped server request identifier from an error body. */
192
+ function extractRequestId(body) {
193
+ if (!body || typeof body !== 'object')
194
+ return null;
195
+ const requestId = Reflect.get(body, 'request_id');
196
+ return typeof requestId === 'string' &&
197
+ /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(requestId)
198
+ ? requestId
199
+ : null;
200
+ }
188
201
  /**
189
202
  * Extracts validation details from a 400 response body.
190
203
  * Looks for { details: [{ path, message, code? }] } or
@@ -194,7 +207,11 @@ function extractDetails(body) {
194
207
  if (!body || typeof body !== 'object')
195
208
  return [];
196
209
  const obj = body;
197
- const raw = Array.isArray(obj.details) ? obj.details : Array.isArray(obj.errors) ? obj.errors : [];
210
+ const raw = Array.isArray(obj.details)
211
+ ? obj.details
212
+ : Array.isArray(obj.errors)
213
+ ? obj.errors
214
+ : [];
198
215
  return raw
199
216
  .filter((item) => item && typeof item === 'object')
200
217
  .map((item) => ({