@halix/action-sdk 1.0.47 → 1.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/access.js CHANGED
@@ -28,8 +28,14 @@ exports.listSandboxUsers = listSandboxUsers;
28
28
  exports.listSandboxUsersAsObservable = listSandboxUsersAsObservable;
29
29
  exports.getUserAccess = getUserAccess;
30
30
  exports.getUserAccessAsObservable = getUserAccessAsObservable;
31
- exports.inviteUser = inviteUser;
32
- exports.inviteUserAsObservable = inviteUserAsObservable;
31
+ exports.linkUserProxy = linkUserProxy;
32
+ exports.linkUserProxyAsObservable = linkUserProxyAsObservable;
33
+ exports.listUserProxyAccessRoster = listUserProxyAccessRoster;
34
+ exports.listUserProxyAccessRosterAsObservable = listUserProxyAccessRosterAsObservable;
35
+ exports.inviteOrLinkUserProxyByEmail = inviteOrLinkUserProxyByEmail;
36
+ exports.inviteOrLinkUserProxyByEmailAsObservable = inviteOrLinkUserProxyByEmailAsObservable;
37
+ exports.setUserProxyRosterRoles = setUserProxyRosterRoles;
38
+ exports.setUserProxyRosterRolesAsObservable = setUserProxyRosterRolesAsObservable;
33
39
  exports.updateUserAccess = updateUserAccess;
34
40
  exports.updateUserAccessAsObservable = updateUserAccessAsObservable;
35
41
  exports.removeUserAccess = removeUserAccess;
@@ -60,8 +66,10 @@ exports.canDeleteDataElementAsObservable = canDeleteDataElementAsObservable;
60
66
  * - `BusinessPrivilege.id` is the stable privilege identifier used by server-validated checks such as `hasBusinessPrivilege`.
61
67
  * - Data element access checks use stable data element IDs and resolve to persisted keys on the server.
62
68
  * - `ScopeKeyItem` entries define the data scope a user receives for an organization, user proxy, or custom data scope.
63
- * - `inviteUser` invites an existing unlinked user proxy record. Create or select that record first, then pass its
64
- * object key as `userProxyKey`.
69
+ * - `linkUserProxy` links an existing platform user (`userKey`) to an existing unlinked user proxy record.
70
+ * - `listUserProxyAccessRoster` and `inviteOrLinkUserProxyByEmail` are the standard user-access page helpers. They use
71
+ * the access service to join shared user proxy identity records with current-sandbox login, invite, scope, and role
72
+ * state. Do not infer current-solution access from shared proxy records alone.
65
73
  *
66
74
  * @usage
67
75
  * ## When to Use
@@ -69,7 +77,8 @@ exports.canDeleteDataElementAsObservable = canDeleteDataElementAsObservable;
69
77
  * - **Show or check business privileges** -> `listBusinessPrivileges`, `hasBusinessPrivilege`, `userPrivileges`
70
78
  * - **List users in the current sandbox** -> `listSandboxUsers`
71
79
  * - **Inspect one user's access** -> `getUserAccess`
72
- * - **Invite a user by email** -> `inviteUser`
80
+ * - **Invite or link a user by email** -> `inviteOrLinkUserProxyByEmail`
81
+ * - **Link an existing platform user to a user proxy** -> `linkUserProxy`
73
82
  * - **Add or update a user's scope entry** -> `updateUserAccess`
74
83
  * - **Remove one user scope entry** -> `removeUserAccess`
75
84
  *
@@ -77,7 +86,7 @@ exports.canDeleteDataElementAsObservable = canDeleteDataElementAsObservable;
77
86
  * Never submit semantic role IDs as `roleKeys`. Resolve them first:
78
87
  * 1. call `listRoles()`
79
88
  * 2. find the role where `role.id` matches the semantic ID
80
- * 3. submit `role.objKey` in `InviteUserRequest.roleKeys` or `UpdateAccessRequest.roleKeys`
89
+ * 3. submit `role.objKey` in `InviteOrLinkUserProxyByEmailRequest.roleKeys`, `LinkUserProxyRequest.roleKeys`, or `UpdateAccessRequest.roleKeys`
81
90
  *
82
91
  * ## Key Functions
83
92
  * | Function | Use For |
@@ -86,7 +95,10 @@ exports.canDeleteDataElementAsObservable = canDeleteDataElementAsObservable;
86
95
  * | `listBusinessPrivileges` | Read business privilege metadata |
87
96
  * | `listSandboxUsers` | Read users with access to the current sandbox |
88
97
  * | `getUserAccess` | Read one user's current scope entries and roles |
89
- * | `inviteUser` | Invite a new user and assign initial role keys/scopes |
98
+ * | `linkUserProxy` | Link an existing platform user to an existing user proxy |
99
+ * | `listUserProxyAccessRoster` | Read shared proxy rows enriched with current-sandbox access status |
100
+ * | `inviteOrLinkUserProxyByEmail` | Reuse/create a proxy, invite/link by email, and return refreshed access state |
101
+ * | `setUserProxyRosterRoles` | Update roles for one roster row |
90
102
  * | `updateUserAccess` | Add or update one user scope entry |
91
103
  * | `removeUserAccess` | Remove one user scope entry |
92
104
  * | `hasBusinessPrivilege` | Server-check whether the current user has a privilege ID |
@@ -116,16 +128,11 @@ exports.canDeleteDataElementAsObservable = canDeleteDataElementAsObservable;
116
128
  * }
117
129
  *
118
130
  * @example
119
- * // Invite an existing unlinked user proxy record
120
- * const roles = await hx.listRoles();
121
- * const memberRole = roles.find((role) => role.id === 'householdMember');
122
- * if (!memberRole?.objKey) {
123
- * throw new Error('Required role not found.');
124
- * }
125
- * await hx.inviteUser({
126
- * email: 'new-member@example.com',
131
+ * // Link an existing platform user to an existing unlinked user proxy record
132
+ * await hx.linkUserProxy({
133
+ * userKey: 'usr~00~existing',
127
134
  * userProxyElementId: 'familyMember',
128
- * userProxyKey: pendingFamilyMember.objKey,
135
+ * userProxyKey: existingFamilyMember.objKey,
129
136
  * roleKeys: [memberRole.objKey],
130
137
  * });
131
138
  *
@@ -233,30 +240,102 @@ function getUserAccessAsObservable(userKey) {
233
240
  return (0, rxjs_1.from)(getUserAccess(userKey));
234
241
  }
235
242
  /**
236
- * Invites a user by email and assigns initial sandbox access.
243
+ * Links an existing platform user to an existing unlinked user proxy record and assigns role keys for that scope.
244
+ *
245
+ * Use this when the user already exists and you have selected or created the user proxy record that should represent
246
+ * them in the solution. `req.userKey` is the platform user object key. `req.userProxyKey` is the solution user proxy
247
+ * object key. `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs.
248
+ *
249
+ * @param req - Existing-user link request
250
+ */
251
+ function linkUserProxy(req) {
252
+ return __awaiter(this, void 0, void 0, function* () {
253
+ const roleKeys = req.roleKeys.map((roleKey) => encodeURIComponent(roleKey)).join(',');
254
+ yield axios_1.default.post(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/userProxy/${encodeURIComponent(req.userProxyKey)}/${encodeURIComponent(req.userProxyElementId)}/linkProxy?userKey=${encodeURIComponent(req.userKey)}&roleKeys=${roleKeys}`, null, {
255
+ headers: yield authHeaders(),
256
+ });
257
+ });
258
+ }
259
+ /**
260
+ * Observable version of `linkUserProxy`. See `linkUserProxy` for details.
261
+ */
262
+ function linkUserProxyAsObservable(req) {
263
+ return (0, rxjs_1.from)(linkUserProxy(req));
264
+ }
265
+ /**
266
+ * Lists shared user proxy records enriched with current-sandbox access state.
267
+ *
268
+ * Use this for generated user-access pages. A returned proxy/member record is identity data; `row.hasAccess` and
269
+ * `row.matchingScopeElement` describe whether that identity has access in the current sandbox for the requested
270
+ * org/user-proxy context.
271
+ *
272
+ * @param orgProxyKey - Organization proxy object key for the roster context
273
+ * @param orgProxyElementId - Organization proxy data element ID
274
+ * @param userProxyElementId - User proxy/member data element ID
275
+ */
276
+ function listUserProxyAccessRoster(orgProxyKey, orgProxyElementId, userProxyElementId) {
277
+ return __awaiter(this, void 0, void 0, function* () {
278
+ const response = yield axios_1.default.get(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/userProxyRoster/${encodeURIComponent(orgProxyKey)}/${encodeURIComponent(orgProxyElementId)}/${encodeURIComponent(userProxyElementId)}`, {
279
+ headers: yield authHeaders(),
280
+ });
281
+ return response.data;
282
+ });
283
+ }
284
+ /**
285
+ * Observable version of `listUserProxyAccessRoster`. See `listUserProxyAccessRoster` for details.
286
+ */
287
+ function listUserProxyAccessRosterAsObservable(orgProxyKey, orgProxyElementId, userProxyElementId) {
288
+ return (0, rxjs_1.from)(listUserProxyAccessRoster(orgProxyKey, orgProxyElementId, userProxyElementId));
289
+ }
290
+ /**
291
+ * Invites or links a user by email through the access service roster helper.
237
292
  *
238
- * The target user proxy record must already exist and be unlinked. Pass that record's persisted object key in
239
- * `req.userProxyKey` and its data element ID in `req.userProxyElementId`.
293
+ * The server normalizes email, reuses an existing shared proxy for the same org/user-proxy context when present,
294
+ * creates a proxy only when absent, links active users, refreshes pending invites, and returns the refreshed roster row.
295
+ *
296
+ * @param orgProxyKey - Organization proxy object key for the roster context
297
+ * @param orgProxyElementId - Organization proxy data element ID
298
+ * @param userProxyElementId - User proxy/member data element ID
299
+ * @param req - Invite/link request
300
+ */
301
+ function inviteOrLinkUserProxyByEmail(orgProxyKey, orgProxyElementId, userProxyElementId, req) {
302
+ return __awaiter(this, void 0, void 0, function* () {
303
+ const response = yield axios_1.default.post(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/userProxyRoster/${encodeURIComponent(orgProxyKey)}/${encodeURIComponent(orgProxyElementId)}/${encodeURIComponent(userProxyElementId)}/inviteOrLink`, req, {
304
+ headers: yield authHeaders(),
305
+ });
306
+ return response.data;
307
+ });
308
+ }
309
+ /**
310
+ * Observable version of `inviteOrLinkUserProxyByEmail`. See `inviteOrLinkUserProxyByEmail` for details.
311
+ */
312
+ function inviteOrLinkUserProxyByEmailAsObservable(orgProxyKey, orgProxyElementId, userProxyElementId, req) {
313
+ return (0, rxjs_1.from)(inviteOrLinkUserProxyByEmail(orgProxyKey, orgProxyElementId, userProxyElementId, req));
314
+ }
315
+ /**
316
+ * Updates role keys for one roster row and returns the refreshed row.
240
317
  *
241
- * `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs. Resolve desired
242
- * semantic IDs with `listRoles` before calling this function.
318
+ * `roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs.
243
319
  *
244
- * @param req - Invitation and initial access request
245
- * @returns Promise resolving to invitation result metadata
320
+ * @param orgProxyKey - Organization proxy object key for the roster context
321
+ * @param orgProxyElementId - Organization proxy data element ID
322
+ * @param userProxyElementId - User proxy/member data element ID
323
+ * @param proxyKey - User proxy object key for the row being updated
324
+ * @param req - Role update request
246
325
  */
247
- function inviteUser(req) {
326
+ function setUserProxyRosterRoles(orgProxyKey, orgProxyElementId, userProxyElementId, proxyKey, req) {
248
327
  return __awaiter(this, void 0, void 0, function* () {
249
- const response = yield axios_1.default.post(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/inviteByEmail`, req, {
328
+ const response = yield axios_1.default.post(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/userProxyRoster/${encodeURIComponent(orgProxyKey)}/${encodeURIComponent(orgProxyElementId)}/${encodeURIComponent(userProxyElementId)}/${encodeURIComponent(proxyKey)}/roles`, req, {
250
329
  headers: yield authHeaders(),
251
330
  });
252
331
  return response.data;
253
332
  });
254
333
  }
255
334
  /**
256
- * Observable version of `inviteUser`. See `inviteUser` for details.
335
+ * Observable version of `setUserProxyRosterRoles`. See `setUserProxyRosterRoles` for details.
257
336
  */
258
- function inviteUserAsObservable(req) {
259
- return (0, rxjs_1.from)(inviteUser(req));
337
+ function setUserProxyRosterRolesAsObservable(orgProxyKey, orgProxyElementId, userProxyElementId, proxyKey, req) {
338
+ return (0, rxjs_1.from)(setUserProxyRosterRoles(orgProxyKey, orgProxyElementId, userProxyElementId, proxyKey, req));
260
339
  }
261
340
  /**
262
341
  * Adds or updates one user's sandbox scope entry.
package/lib/cjs/index.js CHANGED
@@ -8,8 +8,8 @@
8
8
  // Unauthorized use outside the Halix platform is prohibited.
9
9
  // Full license terms available in the LICENSE file.
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.hasDataElementAccessAsObservable = exports.hasDataElementAccess = exports.dataElementAccessAsObservable = exports.dataElementAccess = exports.userPrivilegesAsObservable = exports.userPrivileges = exports.hasBusinessPrivilegeAsObservable = exports.hasBusinessPrivilege = exports.removeUserAccessAsObservable = exports.removeUserAccess = exports.updateUserAccessAsObservable = exports.updateUserAccess = exports.inviteUserAsObservable = exports.inviteUser = exports.getUserAccessAsObservable = exports.getUserAccess = exports.listSandboxUsersAsObservable = exports.listSandboxUsers = exports.listBusinessPrivilegesAsObservable = exports.listBusinessPrivileges = exports.listRolesAsObservable = exports.listRoles = exports.deleteRelatedObjectsAsObservable = exports.deleteRelatedObjects = exports.deleteRelatedObjectAsObservable = exports.deleteRelatedObject = exports.deleteObjectAsObservable = exports.deleteObject = exports.saveRelatedObjectAsObservable = exports.saveRelatedObject = exports.saveObjectAsObservable = exports.saveObject = exports.getObjectsAsObservable = exports.getObjects = exports.getAccessibleObjectsAsObservable = exports.getAccessibleObjects = exports.getRelatedObjectsAsObservable = exports.getRelatedObjects = exports.getObjectAsObservable = exports.getObject = exports.prepareErrorResponse = exports.prepareSuccessResponse = exports.initialize = exports.useBody = exports.params = exports.userContext = exports.actionSubject = exports.serviceAddress = exports.sandboxKey = exports.getAuthToken = void 0;
12
- exports.debounceFn = exports.getValueFromObject = exports.compareValues = exports.sortObjectArray = exports.sendAIMessageAsObservable = exports.sendAIMessage = exports.submitStandalonePaymentAsObservable = exports.submitStandalonePayment = exports.getAggregateDataAsObservable = exports.getAggregateData = exports.AggregationResponse = exports.massDeleteAsObservable = exports.massDelete = exports.massEditAsObservable = exports.massEdit = exports.getListDataAsObservable = exports.getListData = exports.getOrganizationPreferenceAsObservable = exports.getUserPreferenceAsObservable = exports.getOrganizationPreference = exports.getUserPreference = exports.sendMessageAsObservable = exports.sendMessage = exports.MessageMethod = exports.downloadResourceAsObservable = exports.downloadResource = exports.createOrUpdateResourceAsObservable = exports.createOrUpdateResource = exports.sendFileContentsAsObservable = exports.sendFileContents = exports.saveResourceAsObservable = exports.saveResource = exports.getOrCreateResourceAsObservable = exports.getOrCreateResource = exports.canDeleteDataElementAsObservable = exports.canDeleteDataElement = exports.canWriteDataElementAsObservable = exports.canWriteDataElement = exports.canReadDataElementAsObservable = exports.canReadDataElement = void 0;
11
+ exports.hasBusinessPrivilegeAsObservable = exports.hasBusinessPrivilege = exports.removeUserAccessAsObservable = exports.removeUserAccess = exports.updateUserAccessAsObservable = exports.updateUserAccess = exports.setUserProxyRosterRolesAsObservable = exports.setUserProxyRosterRoles = exports.inviteOrLinkUserProxyByEmailAsObservable = exports.inviteOrLinkUserProxyByEmail = exports.listUserProxyAccessRosterAsObservable = exports.listUserProxyAccessRoster = exports.linkUserProxyAsObservable = exports.linkUserProxy = exports.getUserAccessAsObservable = exports.getUserAccess = exports.listSandboxUsersAsObservable = exports.listSandboxUsers = exports.listBusinessPrivilegesAsObservable = exports.listBusinessPrivileges = exports.listRolesAsObservable = exports.listRoles = exports.deleteRelatedObjectsAsObservable = exports.deleteRelatedObjects = exports.deleteRelatedObjectAsObservable = exports.deleteRelatedObject = exports.deleteObjectAsObservable = exports.deleteObject = exports.saveRelatedObjectAsObservable = exports.saveRelatedObject = exports.saveObjectAsObservable = exports.saveObject = exports.getObjectsAsObservable = exports.getObjects = exports.getAccessibleObjectsAsObservable = exports.getAccessibleObjects = exports.getRelatedObjectsAsObservable = exports.getRelatedObjects = exports.getObjectAsObservable = exports.getObject = exports.prepareErrorResponse = exports.prepareSuccessResponse = exports.initialize = exports.useBody = exports.params = exports.userContext = exports.actionSubject = exports.serviceAddress = exports.sandboxKey = exports.getAuthToken = void 0;
12
+ exports.debounceFn = exports.getValueFromObject = exports.compareValues = exports.sortObjectArray = exports.sendAIMessageAsObservable = exports.sendAIMessage = exports.submitStandalonePaymentAsObservable = exports.submitStandalonePayment = exports.getAggregateDataAsObservable = exports.getAggregateData = exports.AggregationResponse = exports.massDeleteAsObservable = exports.massDelete = exports.massEditAsObservable = exports.massEdit = exports.getListDataAsObservable = exports.getListData = exports.getOrganizationPreferenceAsObservable = exports.getUserPreferenceAsObservable = exports.getOrganizationPreference = exports.getUserPreference = exports.sendMessageAsObservable = exports.sendMessage = exports.MessageMethod = exports.downloadResourceAsObservable = exports.downloadResource = exports.createOrUpdateResourceAsObservable = exports.createOrUpdateResource = exports.sendFileContentsAsObservable = exports.sendFileContents = exports.saveResourceAsObservable = exports.saveResource = exports.getOrCreateResourceAsObservable = exports.getOrCreateResource = exports.canDeleteDataElementAsObservable = exports.canDeleteDataElement = exports.canWriteDataElementAsObservable = exports.canWriteDataElement = exports.canReadDataElementAsObservable = exports.canReadDataElement = exports.hasDataElementAccessAsObservable = exports.hasDataElementAccess = exports.dataElementAccessAsObservable = exports.dataElementAccess = exports.userPrivilegesAsObservable = exports.userPrivileges = void 0;
13
13
  /**
14
14
  * @module @halix/action-sdk
15
15
  * @description Halix Platform action SDK for developing NodeJS Lambda-based actions on the Halix
@@ -69,8 +69,14 @@ Object.defineProperty(exports, "listSandboxUsers", { enumerable: true, get: func
69
69
  Object.defineProperty(exports, "listSandboxUsersAsObservable", { enumerable: true, get: function () { return access_1.listSandboxUsersAsObservable; } });
70
70
  Object.defineProperty(exports, "getUserAccess", { enumerable: true, get: function () { return access_1.getUserAccess; } });
71
71
  Object.defineProperty(exports, "getUserAccessAsObservable", { enumerable: true, get: function () { return access_1.getUserAccessAsObservable; } });
72
- Object.defineProperty(exports, "inviteUser", { enumerable: true, get: function () { return access_1.inviteUser; } });
73
- Object.defineProperty(exports, "inviteUserAsObservable", { enumerable: true, get: function () { return access_1.inviteUserAsObservable; } });
72
+ Object.defineProperty(exports, "linkUserProxy", { enumerable: true, get: function () { return access_1.linkUserProxy; } });
73
+ Object.defineProperty(exports, "linkUserProxyAsObservable", { enumerable: true, get: function () { return access_1.linkUserProxyAsObservable; } });
74
+ Object.defineProperty(exports, "listUserProxyAccessRoster", { enumerable: true, get: function () { return access_1.listUserProxyAccessRoster; } });
75
+ Object.defineProperty(exports, "listUserProxyAccessRosterAsObservable", { enumerable: true, get: function () { return access_1.listUserProxyAccessRosterAsObservable; } });
76
+ Object.defineProperty(exports, "inviteOrLinkUserProxyByEmail", { enumerable: true, get: function () { return access_1.inviteOrLinkUserProxyByEmail; } });
77
+ Object.defineProperty(exports, "inviteOrLinkUserProxyByEmailAsObservable", { enumerable: true, get: function () { return access_1.inviteOrLinkUserProxyByEmailAsObservable; } });
78
+ Object.defineProperty(exports, "setUserProxyRosterRoles", { enumerable: true, get: function () { return access_1.setUserProxyRosterRoles; } });
79
+ Object.defineProperty(exports, "setUserProxyRosterRolesAsObservable", { enumerable: true, get: function () { return access_1.setUserProxyRosterRolesAsObservable; } });
74
80
  Object.defineProperty(exports, "updateUserAccess", { enumerable: true, get: function () { return access_1.updateUserAccess; } });
75
81
  Object.defineProperty(exports, "updateUserAccessAsObservable", { enumerable: true, get: function () { return access_1.updateUserAccessAsObservable; } });
76
82
  Object.defineProperty(exports, "removeUserAccess", { enumerable: true, get: function () { return access_1.removeUserAccess; } });
@@ -81,39 +81,87 @@ export interface UserAccessWrapper {
81
81
  roles?: Role[];
82
82
  }
83
83
  /**
84
- * Request body for inviting a user and assigning initial sandbox access.
84
+ * Request body for linking an existing platform user to an existing unlinked user proxy record.
85
85
  */
86
- export interface InviteUserRequest {
87
- /** Email address for the invited user. */
86
+ export interface LinkUserProxyRequest {
87
+ /** Persisted platform user object key to link. */
88
+ userKey: string;
89
+ /** User proxy data element ID for the proxy record being linked. */
90
+ userProxyElementId: string;
91
+ /** Existing unlinked user proxy object key to link to the platform user. */
92
+ userProxyKey: string;
93
+ /** Persisted role object keys (`Role.objKey`). Never pass semantic `Role.id` values here. */
94
+ roleKeys: string[];
95
+ }
96
+ /**
97
+ * One row in a user proxy access roster.
98
+ *
99
+ * `userProxy` is the shared identity/member record. `hasAccess` is current-sandbox access state and should be used
100
+ * before rendering someone as active or authorized for the current solution.
101
+ */
102
+ export interface UserProxyAccessRosterRow {
103
+ /** Shared solution user proxy record. */
104
+ userProxy: Record<string, unknown>;
105
+ /** Linked platform user, when one exists and is visible to the access service. */
106
+ user?: Record<string, unknown>;
107
+ /** Pending invite token metadata, when a pending invite exists. */
108
+ userToken?: Record<string, unknown>;
109
+ /** Whether token lookup failed. */
110
+ userTokenError?: boolean;
111
+ /** Token validation error code, when available. */
112
+ userTokenErrorCode?: string;
113
+ /** User proxy login status such as `Pending`, `Active`, or empty. */
114
+ loginStatus?: string;
115
+ /** Whether the linked user has current-sandbox scope access for this roster context. */
116
+ hasAccess: boolean;
117
+ /** Matching current-sandbox scope element for this proxy/org context. */
118
+ matchingScopeElement?: Record<string, unknown>;
119
+ /** Persisted role object keys assigned on the matching scope element. */
120
+ roleKeys?: string[];
121
+ /** Role metadata for `roleKeys`, when available. */
122
+ roles?: Role[];
123
+ }
124
+ /**
125
+ * Request body for access-service managed user proxy invite/link flow.
126
+ */
127
+ export interface InviteOrLinkUserProxyByEmailRequest {
128
+ /** Email address to normalize and invite/link. */
88
129
  email: string;
89
- /** Optional first name for the invited user. */
130
+ /** Optional first name to use when the server must create a new proxy. */
90
131
  firstName?: string;
91
- /** Optional last name for the invited user. */
132
+ /** Optional last name to use when the server must create a new proxy. */
92
133
  lastName?: string;
93
- /** User proxy data element ID used to create or link the user proxy record. */
94
- userProxyElementId: string;
95
- /** Existing unlinked user proxy object key to invite or link. */
96
- userProxyKey: string;
97
- /** Optional organization proxy object key for context; this is not a substitute for `userProxyKey`. */
98
- orgProxyKey?: string;
134
+ /** Whether the created/reused proxy should be marked as an org proxy admin identity. */
135
+ orgProxyAdmin?: boolean;
99
136
  /** Persisted role object keys (`Role.objKey`). Never pass semantic `Role.id` values here. */
100
137
  roleKeys: string[];
101
- /** Optional data scopes granted to the invited user. */
102
- scopeKeyItems?: ScopeKeyItem[];
103
138
  /** Optional notification template identifier. */
104
139
  notificationTemplate?: string;
105
140
  }
106
141
  /**
107
- * Result returned from an invitation request.
142
+ * Action performed by `inviteOrLinkUserProxyByEmail`.
108
143
  */
109
- export interface InviteResult {
110
- /** Invitation/user token key, when returned by the access service. */
111
- userTokenKey?: string;
112
- /** Persisted user object key, when a user was created or resolved. */
113
- userKey?: string;
114
- /** Invited email address. */
115
- email?: string;
116
- [key: string]: unknown;
144
+ export type InviteOrLinkUserProxyAction = 'createdProxyAndInvited' | 'reusedProxyAndInvited' | 'resentInvite' | 'linkedExistingUser' | 'alreadyLinked';
145
+ /**
146
+ * Result returned from access-service managed invite/link flow.
147
+ *
148
+ * `rolesUpdated` is only meaningful for `alreadyLinked` and `linkedExistingUser`. It is false for invite actions
149
+ * because invite role keys are carried by the pending invite/access configuration.
150
+ */
151
+ export interface InviteOrLinkUserProxyResult {
152
+ /** Server action that was performed. */
153
+ action: InviteOrLinkUserProxyAction;
154
+ /** Whether requested role keys were added or updated on existing current-sandbox access. */
155
+ rolesUpdated?: boolean;
156
+ /** Refreshed roster row after the operation. */
157
+ row: UserProxyAccessRosterRow;
158
+ }
159
+ /**
160
+ * Request body for setting roles on one roster row.
161
+ */
162
+ export interface SetUserProxyRosterRolesRequest {
163
+ /** Persisted role object keys (`Role.objKey`). Never pass semantic `Role.id` values here. */
164
+ roleKeys: string[];
117
165
  }
118
166
  /**
119
167
  * Request body for adding or updating one user scope entry.
@@ -213,22 +261,67 @@ export declare function getUserAccess(userKey: string): Promise<UserAccessWrappe
213
261
  */
214
262
  export declare function getUserAccessAsObservable(userKey: string): Observable<UserAccessWrapper>;
215
263
  /**
216
- * Invites a user by email and assigns initial sandbox access.
264
+ * Links an existing platform user to an existing unlinked user proxy record and assigns role keys for that scope.
265
+ *
266
+ * Use this when the user already exists and you have selected or created the user proxy record that should represent
267
+ * them in the solution. `req.userKey` is the platform user object key. `req.userProxyKey` is the solution user proxy
268
+ * object key. `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs.
269
+ *
270
+ * @param req - Existing-user link request
271
+ */
272
+ export declare function linkUserProxy(req: LinkUserProxyRequest): Promise<void>;
273
+ /**
274
+ * Observable version of `linkUserProxy`. See `linkUserProxy` for details.
275
+ */
276
+ export declare function linkUserProxyAsObservable(req: LinkUserProxyRequest): Observable<void>;
277
+ /**
278
+ * Lists shared user proxy records enriched with current-sandbox access state.
217
279
  *
218
- * The target user proxy record must already exist and be unlinked. Pass that record's persisted object key in
219
- * `req.userProxyKey` and its data element ID in `req.userProxyElementId`.
280
+ * Use this for generated user-access pages. A returned proxy/member record is identity data; `row.hasAccess` and
281
+ * `row.matchingScopeElement` describe whether that identity has access in the current sandbox for the requested
282
+ * org/user-proxy context.
283
+ *
284
+ * @param orgProxyKey - Organization proxy object key for the roster context
285
+ * @param orgProxyElementId - Organization proxy data element ID
286
+ * @param userProxyElementId - User proxy/member data element ID
287
+ */
288
+ export declare function listUserProxyAccessRoster(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string): Promise<UserProxyAccessRosterRow[]>;
289
+ /**
290
+ * Observable version of `listUserProxyAccessRoster`. See `listUserProxyAccessRoster` for details.
291
+ */
292
+ export declare function listUserProxyAccessRosterAsObservable(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string): Observable<UserProxyAccessRosterRow[]>;
293
+ /**
294
+ * Invites or links a user by email through the access service roster helper.
295
+ *
296
+ * The server normalizes email, reuses an existing shared proxy for the same org/user-proxy context when present,
297
+ * creates a proxy only when absent, links active users, refreshes pending invites, and returns the refreshed roster row.
298
+ *
299
+ * @param orgProxyKey - Organization proxy object key for the roster context
300
+ * @param orgProxyElementId - Organization proxy data element ID
301
+ * @param userProxyElementId - User proxy/member data element ID
302
+ * @param req - Invite/link request
303
+ */
304
+ export declare function inviteOrLinkUserProxyByEmail(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string, req: InviteOrLinkUserProxyByEmailRequest): Promise<InviteOrLinkUserProxyResult>;
305
+ /**
306
+ * Observable version of `inviteOrLinkUserProxyByEmail`. See `inviteOrLinkUserProxyByEmail` for details.
307
+ */
308
+ export declare function inviteOrLinkUserProxyByEmailAsObservable(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string, req: InviteOrLinkUserProxyByEmailRequest): Observable<InviteOrLinkUserProxyResult>;
309
+ /**
310
+ * Updates role keys for one roster row and returns the refreshed row.
220
311
  *
221
- * `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs. Resolve desired
222
- * semantic IDs with `listRoles` before calling this function.
312
+ * `roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs.
223
313
  *
224
- * @param req - Invitation and initial access request
225
- * @returns Promise resolving to invitation result metadata
314
+ * @param orgProxyKey - Organization proxy object key for the roster context
315
+ * @param orgProxyElementId - Organization proxy data element ID
316
+ * @param userProxyElementId - User proxy/member data element ID
317
+ * @param proxyKey - User proxy object key for the row being updated
318
+ * @param req - Role update request
226
319
  */
227
- export declare function inviteUser(req: InviteUserRequest): Promise<InviteResult>;
320
+ export declare function setUserProxyRosterRoles(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string, proxyKey: string, req: SetUserProxyRosterRolesRequest): Promise<UserProxyAccessRosterRow>;
228
321
  /**
229
- * Observable version of `inviteUser`. See `inviteUser` for details.
322
+ * Observable version of `setUserProxyRosterRoles`. See `setUserProxyRosterRoles` for details.
230
323
  */
231
- export declare function inviteUserAsObservable(req: InviteUserRequest): Observable<InviteResult>;
324
+ export declare function setUserProxyRosterRolesAsObservable(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string, proxyKey: string, req: SetUserProxyRosterRolesRequest): Observable<UserProxyAccessRosterRow>;
232
325
  /**
233
326
  * Adds or updates one user's sandbox scope entry.
234
327
  *
@@ -1 +1 @@
1
- {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/access.ts"],"names":[],"mappings":"AAkGA,OAAO,EAAuB,UAAU,EAAE,MAAM,MAAM,CAAC;AAGvD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,0FAA0F;IAC1F,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACjB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,uDAAuD;IACvD,IAAI,EAAE,OAAO,CAAC;IACd,sCAAsC;IACtC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,sEAAsE;IACtE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,uGAAuG;IACvG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,wDAAwD;IACxD,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+CAA+C;IAC/C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,sGAAsG;IACtG,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,qCAAqC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,YAAY,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C,uFAAuF;IACvF,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAChC;AAID;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;IACjB,yFAAyF;IACzF,QAAQ,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,SAAS,EAAE,OAAO,CAAC;CACtB;AAWD;;;;;;;GAOG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAKjD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,CAE1D;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAK3E;AAED;;GAEG;AACH,wBAAgB,kCAAkC,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAEpF;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAK/D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,CAExE;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAK/E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAExF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAK9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC,CAEvF;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAK/F;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,CAExG;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7F;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAEtG;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQhF;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAEzF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAWxD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAEjE;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAQ/F;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAExG;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAYjH;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC5C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,qBAAqB,GAC9B,UAAU,CAAC,OAAO,CAAC,CAErB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1E;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAEzF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAE1F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5E;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAE3F"}
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/access.ts"],"names":[],"mappings":"AAmGA,OAAO,EAAuB,UAAU,EAAE,MAAM,MAAM,CAAC;AAGvD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,0FAA0F;IAC1F,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACjB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,uDAAuD;IACvD,IAAI,EAAE,OAAO,CAAC;IACd,sCAAsC;IACtC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,sEAAsE;IACtE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACrC,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,mCAAmC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,SAAS,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oDAAoD;IACpD,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAChD,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,2BAA2B,GACjC,wBAAwB,GACxB,uBAAuB,GACvB,cAAc,GACd,oBAAoB,GACpB,eAAe,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IACxC,wCAAwC;IACxC,MAAM,EAAE,2BAA2B,CAAC;IACpC,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gDAAgD;IAChD,GAAG,EAAE,wBAAwB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+CAA+C;IAC/C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,sGAAsG;IACtG,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,qCAAqC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,YAAY,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C,uFAAuF;IACvF,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAChC;AAID;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;IACjB,yFAAyF;IACzF,QAAQ,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,SAAS,EAAE,OAAO,CAAC;CACtB;AAWD;;;;;;;GAOG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAKjD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,CAE1D;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAK3E;AAED;;GAEG;AACH,wBAAgB,kCAAkC,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAEpF;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAK/D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,CAExE;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAK/E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAExF;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAS5E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,CAErF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,yBAAyB,CAC3C,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,GAC3B,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAQrC;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CACjD,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,GAC3B,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAExC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,4BAA4B,CAC9C,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,GAAG,EAAE,mCAAmC,GACzC,OAAO,CAAC,2BAA2B,CAAC,CAStC;AAED;;GAEG;AACH,wBAAgB,wCAAwC,CACpD,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,GAAG,EAAE,mCAAmC,GACzC,UAAU,CAAC,2BAA2B,CAAC,CAEzC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CACzC,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,8BAA8B,GACpC,OAAO,CAAC,wBAAwB,CAAC,CASnC;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CAC/C,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,8BAA8B,GACpC,UAAU,CAAC,wBAAwB,CAAC,CAEtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAK/F;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,CAExG;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7F;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAEtG;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQhF;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAEzF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAWxD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAEjE;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAQ/F;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAExG;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAYjH;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC5C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,qBAAqB,GAC9B,UAAU,CAAC,OAAO,CAAC,CAErB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1E;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAEzF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAE1F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5E;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAE3F"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  export { getAuthToken, sandboxKey, serviceAddress, actionSubject, userContext, params, useBody, initialize, type UserContext, type IncomingEventBody, type BaseActionResponse, type ActionResponse, type NotificationConfig, type ListActionResponse, type FormTemplateActionResponse, type PageTemplateActionResponse, type ObjectSaveActionResponse, type CalculatedFieldActionResponse, type SingleValueActionResponse, type ErrorResponse, prepareSuccessResponse, prepareErrorResponse } from './sdk-general';
7
7
  export { type SaveOptions, getObject, getObjectAsObservable, getRelatedObjects, getRelatedObjectsAsObservable, getAccessibleObjects, getAccessibleObjectsAsObservable, getObjects, getObjectsAsObservable, saveObject, saveObjectAsObservable, saveRelatedObject, saveRelatedObjectAsObservable, deleteObject, deleteObjectAsObservable, deleteRelatedObject, deleteRelatedObjectAsObservable, deleteRelatedObjects, deleteRelatedObjectsAsObservable } from './data-crud';
8
- export { type ScopeKeyItem, type Role, type BusinessPrivilege, type SandboxUser, type UserAccessWrapper, type InviteUserRequest, type InviteResult, type UpdateAccessRequest, type BusinessPrivilegeCheckResult, type CurrentBusinessPrivilegesResult, type DataElementAccessMode, type DataElementAccessResult, listRoles, listRolesAsObservable, listBusinessPrivileges, listBusinessPrivilegesAsObservable, listSandboxUsers, listSandboxUsersAsObservable, getUserAccess, getUserAccessAsObservable, inviteUser, inviteUserAsObservable, updateUserAccess, updateUserAccessAsObservable, removeUserAccess, removeUserAccessAsObservable, hasBusinessPrivilege, hasBusinessPrivilegeAsObservable, userPrivileges, userPrivilegesAsObservable, dataElementAccess, dataElementAccessAsObservable, hasDataElementAccess, hasDataElementAccessAsObservable, canReadDataElement, canReadDataElementAsObservable, canWriteDataElement, canWriteDataElementAsObservable, canDeleteDataElement, canDeleteDataElementAsObservable, } from './access';
8
+ export { type ScopeKeyItem, type Role, type BusinessPrivilege, type SandboxUser, type UserAccessWrapper, type LinkUserProxyRequest, type UserProxyAccessRosterRow, type InviteOrLinkUserProxyByEmailRequest, type InviteOrLinkUserProxyAction, type InviteOrLinkUserProxyResult, type SetUserProxyRosterRolesRequest, type UpdateAccessRequest, type BusinessPrivilegeCheckResult, type CurrentBusinessPrivilegesResult, type DataElementAccessMode, type DataElementAccessResult, listRoles, listRolesAsObservable, listBusinessPrivileges, listBusinessPrivilegesAsObservable, listSandboxUsers, listSandboxUsersAsObservable, getUserAccess, getUserAccessAsObservable, linkUserProxy, linkUserProxyAsObservable, listUserProxyAccessRoster, listUserProxyAccessRosterAsObservable, inviteOrLinkUserProxyByEmail, inviteOrLinkUserProxyByEmailAsObservable, setUserProxyRosterRoles, setUserProxyRosterRolesAsObservable, updateUserAccess, updateUserAccessAsObservable, removeUserAccess, removeUserAccessAsObservable, hasBusinessPrivilege, hasBusinessPrivilegeAsObservable, userPrivileges, userPrivilegesAsObservable, dataElementAccess, dataElementAccessAsObservable, hasDataElementAccess, hasDataElementAccessAsObservable, canReadDataElement, canReadDataElementAsObservable, canWriteDataElement, canWriteDataElementAsObservable, canDeleteDataElement, canDeleteDataElementAsObservable, } from './access';
9
9
  export { type ContentResource, getOrCreateResource, getOrCreateResourceAsObservable, saveResource, saveResourceAsObservable, sendFileContents, sendFileContentsAsObservable, createOrUpdateResource, createOrUpdateResourceAsObservable, downloadResource, downloadResourceAsObservable } from './content';
10
10
  export { MessageMethod, type MessageRequest, sendMessage, sendMessageAsObservable } from './messaging';
11
11
  export { getUserPreference, getOrganizationPreference, getUserPreferenceAsObservable, getOrganizationPreferenceAsObservable } from './preferences';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
package/lib/esm/access.js CHANGED
@@ -18,8 +18,10 @@
18
18
  * - `BusinessPrivilege.id` is the stable privilege identifier used by server-validated checks such as `hasBusinessPrivilege`.
19
19
  * - Data element access checks use stable data element IDs and resolve to persisted keys on the server.
20
20
  * - `ScopeKeyItem` entries define the data scope a user receives for an organization, user proxy, or custom data scope.
21
- * - `inviteUser` invites an existing unlinked user proxy record. Create or select that record first, then pass its
22
- * object key as `userProxyKey`.
21
+ * - `linkUserProxy` links an existing platform user (`userKey`) to an existing unlinked user proxy record.
22
+ * - `listUserProxyAccessRoster` and `inviteOrLinkUserProxyByEmail` are the standard user-access page helpers. They use
23
+ * the access service to join shared user proxy identity records with current-sandbox login, invite, scope, and role
24
+ * state. Do not infer current-solution access from shared proxy records alone.
23
25
  *
24
26
  * @usage
25
27
  * ## When to Use
@@ -27,7 +29,8 @@
27
29
  * - **Show or check business privileges** -> `listBusinessPrivileges`, `hasBusinessPrivilege`, `userPrivileges`
28
30
  * - **List users in the current sandbox** -> `listSandboxUsers`
29
31
  * - **Inspect one user's access** -> `getUserAccess`
30
- * - **Invite a user by email** -> `inviteUser`
32
+ * - **Invite or link a user by email** -> `inviteOrLinkUserProxyByEmail`
33
+ * - **Link an existing platform user to a user proxy** -> `linkUserProxy`
31
34
  * - **Add or update a user's scope entry** -> `updateUserAccess`
32
35
  * - **Remove one user scope entry** -> `removeUserAccess`
33
36
  *
@@ -35,7 +38,7 @@
35
38
  * Never submit semantic role IDs as `roleKeys`. Resolve them first:
36
39
  * 1. call `listRoles()`
37
40
  * 2. find the role where `role.id` matches the semantic ID
38
- * 3. submit `role.objKey` in `InviteUserRequest.roleKeys` or `UpdateAccessRequest.roleKeys`
41
+ * 3. submit `role.objKey` in `InviteOrLinkUserProxyByEmailRequest.roleKeys`, `LinkUserProxyRequest.roleKeys`, or `UpdateAccessRequest.roleKeys`
39
42
  *
40
43
  * ## Key Functions
41
44
  * | Function | Use For |
@@ -44,7 +47,10 @@
44
47
  * | `listBusinessPrivileges` | Read business privilege metadata |
45
48
  * | `listSandboxUsers` | Read users with access to the current sandbox |
46
49
  * | `getUserAccess` | Read one user's current scope entries and roles |
47
- * | `inviteUser` | Invite a new user and assign initial role keys/scopes |
50
+ * | `linkUserProxy` | Link an existing platform user to an existing user proxy |
51
+ * | `listUserProxyAccessRoster` | Read shared proxy rows enriched with current-sandbox access status |
52
+ * | `inviteOrLinkUserProxyByEmail` | Reuse/create a proxy, invite/link by email, and return refreshed access state |
53
+ * | `setUserProxyRosterRoles` | Update roles for one roster row |
48
54
  * | `updateUserAccess` | Add or update one user scope entry |
49
55
  * | `removeUserAccess` | Remove one user scope entry |
50
56
  * | `hasBusinessPrivilege` | Server-check whether the current user has a privilege ID |
@@ -74,16 +80,11 @@
74
80
  * }
75
81
  *
76
82
  * @example
77
- * // Invite an existing unlinked user proxy record
78
- * const roles = await hx.listRoles();
79
- * const memberRole = roles.find((role) => role.id === 'householdMember');
80
- * if (!memberRole?.objKey) {
81
- * throw new Error('Required role not found.');
82
- * }
83
- * await hx.inviteUser({
84
- * email: 'new-member@example.com',
83
+ * // Link an existing platform user to an existing unlinked user proxy record
84
+ * await hx.linkUserProxy({
85
+ * userKey: 'usr~00~existing',
85
86
  * userProxyElementId: 'familyMember',
86
- * userProxyKey: pendingFamilyMember.objKey,
87
+ * userProxyKey: existingFamilyMember.objKey,
87
88
  * roleKeys: [memberRole.objKey],
88
89
  * });
89
90
  *
@@ -181,28 +182,94 @@ export function getUserAccessAsObservable(userKey) {
181
182
  return from(getUserAccess(userKey));
182
183
  }
183
184
  /**
184
- * Invites a user by email and assigns initial sandbox access.
185
+ * Links an existing platform user to an existing unlinked user proxy record and assigns role keys for that scope.
186
+ *
187
+ * Use this when the user already exists and you have selected or created the user proxy record that should represent
188
+ * them in the solution. `req.userKey` is the platform user object key. `req.userProxyKey` is the solution user proxy
189
+ * object key. `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs.
190
+ *
191
+ * @param req - Existing-user link request
192
+ */
193
+ export async function linkUserProxy(req) {
194
+ const roleKeys = req.roleKeys.map((roleKey) => encodeURIComponent(roleKey)).join(',');
195
+ await axios.post(`${serviceAddress}/access/sandboxes/${sandboxKey}/userProxy/${encodeURIComponent(req.userProxyKey)}/${encodeURIComponent(req.userProxyElementId)}/linkProxy?userKey=${encodeURIComponent(req.userKey)}&roleKeys=${roleKeys}`, null, {
196
+ headers: await authHeaders(),
197
+ });
198
+ }
199
+ /**
200
+ * Observable version of `linkUserProxy`. See `linkUserProxy` for details.
201
+ */
202
+ export function linkUserProxyAsObservable(req) {
203
+ return from(linkUserProxy(req));
204
+ }
205
+ /**
206
+ * Lists shared user proxy records enriched with current-sandbox access state.
207
+ *
208
+ * Use this for generated user-access pages. A returned proxy/member record is identity data; `row.hasAccess` and
209
+ * `row.matchingScopeElement` describe whether that identity has access in the current sandbox for the requested
210
+ * org/user-proxy context.
211
+ *
212
+ * @param orgProxyKey - Organization proxy object key for the roster context
213
+ * @param orgProxyElementId - Organization proxy data element ID
214
+ * @param userProxyElementId - User proxy/member data element ID
215
+ */
216
+ export async function listUserProxyAccessRoster(orgProxyKey, orgProxyElementId, userProxyElementId) {
217
+ const response = await axios.get(`${serviceAddress}/access/sandboxes/${sandboxKey}/userProxyRoster/${encodeURIComponent(orgProxyKey)}/${encodeURIComponent(orgProxyElementId)}/${encodeURIComponent(userProxyElementId)}`, {
218
+ headers: await authHeaders(),
219
+ });
220
+ return response.data;
221
+ }
222
+ /**
223
+ * Observable version of `listUserProxyAccessRoster`. See `listUserProxyAccessRoster` for details.
224
+ */
225
+ export function listUserProxyAccessRosterAsObservable(orgProxyKey, orgProxyElementId, userProxyElementId) {
226
+ return from(listUserProxyAccessRoster(orgProxyKey, orgProxyElementId, userProxyElementId));
227
+ }
228
+ /**
229
+ * Invites or links a user by email through the access service roster helper.
230
+ *
231
+ * The server normalizes email, reuses an existing shared proxy for the same org/user-proxy context when present,
232
+ * creates a proxy only when absent, links active users, refreshes pending invites, and returns the refreshed roster row.
185
233
  *
186
- * The target user proxy record must already exist and be unlinked. Pass that record's persisted object key in
187
- * `req.userProxyKey` and its data element ID in `req.userProxyElementId`.
234
+ * @param orgProxyKey - Organization proxy object key for the roster context
235
+ * @param orgProxyElementId - Organization proxy data element ID
236
+ * @param userProxyElementId - User proxy/member data element ID
237
+ * @param req - Invite/link request
238
+ */
239
+ export async function inviteOrLinkUserProxyByEmail(orgProxyKey, orgProxyElementId, userProxyElementId, req) {
240
+ const response = await axios.post(`${serviceAddress}/access/sandboxes/${sandboxKey}/userProxyRoster/${encodeURIComponent(orgProxyKey)}/${encodeURIComponent(orgProxyElementId)}/${encodeURIComponent(userProxyElementId)}/inviteOrLink`, req, {
241
+ headers: await authHeaders(),
242
+ });
243
+ return response.data;
244
+ }
245
+ /**
246
+ * Observable version of `inviteOrLinkUserProxyByEmail`. See `inviteOrLinkUserProxyByEmail` for details.
247
+ */
248
+ export function inviteOrLinkUserProxyByEmailAsObservable(orgProxyKey, orgProxyElementId, userProxyElementId, req) {
249
+ return from(inviteOrLinkUserProxyByEmail(orgProxyKey, orgProxyElementId, userProxyElementId, req));
250
+ }
251
+ /**
252
+ * Updates role keys for one roster row and returns the refreshed row.
188
253
  *
189
- * `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs. Resolve desired
190
- * semantic IDs with `listRoles` before calling this function.
254
+ * `roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs.
191
255
  *
192
- * @param req - Invitation and initial access request
193
- * @returns Promise resolving to invitation result metadata
256
+ * @param orgProxyKey - Organization proxy object key for the roster context
257
+ * @param orgProxyElementId - Organization proxy data element ID
258
+ * @param userProxyElementId - User proxy/member data element ID
259
+ * @param proxyKey - User proxy object key for the row being updated
260
+ * @param req - Role update request
194
261
  */
195
- export async function inviteUser(req) {
196
- const response = await axios.post(`${serviceAddress}/access/sandboxes/${sandboxKey}/inviteByEmail`, req, {
262
+ export async function setUserProxyRosterRoles(orgProxyKey, orgProxyElementId, userProxyElementId, proxyKey, req) {
263
+ const response = await axios.post(`${serviceAddress}/access/sandboxes/${sandboxKey}/userProxyRoster/${encodeURIComponent(orgProxyKey)}/${encodeURIComponent(orgProxyElementId)}/${encodeURIComponent(userProxyElementId)}/${encodeURIComponent(proxyKey)}/roles`, req, {
197
264
  headers: await authHeaders(),
198
265
  });
199
266
  return response.data;
200
267
  }
201
268
  /**
202
- * Observable version of `inviteUser`. See `inviteUser` for details.
269
+ * Observable version of `setUserProxyRosterRoles`. See `setUserProxyRosterRoles` for details.
203
270
  */
204
- export function inviteUserAsObservable(req) {
205
- return from(inviteUser(req));
271
+ export function setUserProxyRosterRolesAsObservable(orgProxyKey, orgProxyElementId, userProxyElementId, proxyKey, req) {
272
+ return from(setUserProxyRosterRoles(orgProxyKey, orgProxyElementId, userProxyElementId, proxyKey, req));
206
273
  }
207
274
  /**
208
275
  * Adds or updates one user's sandbox scope entry.
@@ -1 +1 @@
1
- {"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/access.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,aAAa,EAAc,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAoLzE,KAAK,UAAU,WAAW;IACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC;IACtD,OAAO,EAAE,aAAa,EAAE,UAAU,SAAS,EAAE,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS;IAC3B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,qBAAqB,UAAU,WAAW,EAAE;QAC1F,OAAO,EAAE,MAAM,WAAW,EAAE;KAC/B,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACjC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB;IACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,qBAAqB,UAAU,qBAAqB,EAAE;QACpG,OAAO,EAAE,MAAM,WAAW,EAAE;KAC/B,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kCAAkC;IAC9C,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,qBAAqB,UAAU,QAAQ,EAAE;QACvF,OAAO,EAAE,MAAM,WAAW,EAAE;KAC/B,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IACxC,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IAC/C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,qBAAqB,UAAU,SAAS,OAAO,SAAS,EAAE;QACxG,OAAO,EAAE,MAAM,WAAW,EAAE;KAC/B,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACrD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAsB;IACnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,qBAAqB,UAAU,gBAAgB,EAAE,GAAG,EAAE;QACrG,OAAO,EAAE,MAAM,WAAW,EAAE;KAC/B,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAsB;IACzD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,GAAwB;IAC5E,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC3E,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,qBAAqB,UAAU,SAAS,OAAO,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE;QAC9F,OAAO,EAAE,MAAM,WAAW,EAAE;KAC/B,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAe,EAAE,GAAwB;IAClF,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,cAAsB;IAC1E,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,cAAc,qBAAqB,UAAU,SAAS,OAAO,sBAAsB,EAAE;QACvG,OAAO,EAAE,MAAM,WAAW,EAAE;QAC5B,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,cAAc,CAAC,EAAE;KAC9C,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAe,EAAE,cAAsB;IAChF,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IAC1D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC5B,GAAG,cAAc,qBAAqB,UAAU,uBAAuB,kBAAkB,CAAC,WAAW,CAAC,0BAA0B,EAChI;QACI,OAAO,EAAE,MAAM,WAAW,EAAE;KAC/B,CACJ,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,WAAmB;IAChE,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAChC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC5B,GAAG,cAAc,qBAAqB,UAAU,4BAA4B,EAC5E;QACI,OAAO,EAAE,MAAM,WAAW,EAAE;KAC/B,CACJ,CAAC;IACF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACtC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,aAAqB;IACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC5B,GAAG,cAAc,qBAAqB,UAAU,iBAAiB,kBAAkB,CAAC,aAAa,CAAC,oBAAoB,EACtH;QACI,OAAO,EAAE,MAAM,WAAW,EAAE;KAC/B,CACJ,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,aAAqB;IAC/D,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,aAAqB,EAAE,MAA6B;IAC3F,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACtD,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,MAAM;YACP,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,KAAK,OAAO;YACR,OAAO,MAAM,CAAC,QAAQ,CAAC;QAC3B,KAAK,QAAQ;YACT,OAAO,MAAM,CAAC,SAAS,CAAC;QAC5B;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAC5C,aAAqB,EACrB,MAA6B;IAE7B,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAAqB;IACpD,OAAO,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,aAAqB;IAChE,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACrD,OAAO,oBAAoB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,aAAqB;IACjE,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAAqB;IACtD,OAAO,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,aAAqB;IAClE,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/access.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/lib/esm/index.mjs CHANGED
@@ -34,7 +34,7 @@ deleteObject, deleteObjectAsObservable, deleteRelatedObject, deleteRelatedObject
34
34
  // ================================================================================
35
35
  // ACCESS FUNCTIONS
36
36
  // ================================================================================
37
- export { listRoles, listRolesAsObservable, listBusinessPrivileges, listBusinessPrivilegesAsObservable, listSandboxUsers, listSandboxUsersAsObservable, getUserAccess, getUserAccessAsObservable, inviteUser, inviteUserAsObservable, updateUserAccess, updateUserAccessAsObservable, removeUserAccess, removeUserAccessAsObservable, hasBusinessPrivilege, hasBusinessPrivilegeAsObservable, userPrivileges, userPrivilegesAsObservable, dataElementAccess, dataElementAccessAsObservable, hasDataElementAccess, hasDataElementAccessAsObservable, canReadDataElement, canReadDataElementAsObservable, canWriteDataElement, canWriteDataElementAsObservable, canDeleteDataElement, canDeleteDataElementAsObservable, } from './access';
37
+ export { listRoles, listRolesAsObservable, listBusinessPrivileges, listBusinessPrivilegesAsObservable, listSandboxUsers, listSandboxUsersAsObservable, getUserAccess, getUserAccessAsObservable, linkUserProxy, linkUserProxyAsObservable, listUserProxyAccessRoster, listUserProxyAccessRosterAsObservable, inviteOrLinkUserProxyByEmail, inviteOrLinkUserProxyByEmailAsObservable, setUserProxyRosterRoles, setUserProxyRosterRolesAsObservable, updateUserAccess, updateUserAccessAsObservable, removeUserAccess, removeUserAccessAsObservable, hasBusinessPrivilege, hasBusinessPrivilegeAsObservable, userPrivileges, userPrivilegesAsObservable, dataElementAccess, dataElementAccessAsObservable, hasDataElementAccess, hasDataElementAccessAsObservable, canReadDataElement, canReadDataElementAsObservable, canWriteDataElement, canWriteDataElementAsObservable, canDeleteDataElement, canDeleteDataElementAsObservable, } from './access';
38
38
  // ================================================================================
39
39
  // CONTENT FUNCTIONS
40
40
  // ================================================================================
@@ -81,39 +81,87 @@ export interface UserAccessWrapper {
81
81
  roles?: Role[];
82
82
  }
83
83
  /**
84
- * Request body for inviting a user and assigning initial sandbox access.
84
+ * Request body for linking an existing platform user to an existing unlinked user proxy record.
85
85
  */
86
- export interface InviteUserRequest {
87
- /** Email address for the invited user. */
86
+ export interface LinkUserProxyRequest {
87
+ /** Persisted platform user object key to link. */
88
+ userKey: string;
89
+ /** User proxy data element ID for the proxy record being linked. */
90
+ userProxyElementId: string;
91
+ /** Existing unlinked user proxy object key to link to the platform user. */
92
+ userProxyKey: string;
93
+ /** Persisted role object keys (`Role.objKey`). Never pass semantic `Role.id` values here. */
94
+ roleKeys: string[];
95
+ }
96
+ /**
97
+ * One row in a user proxy access roster.
98
+ *
99
+ * `userProxy` is the shared identity/member record. `hasAccess` is current-sandbox access state and should be used
100
+ * before rendering someone as active or authorized for the current solution.
101
+ */
102
+ export interface UserProxyAccessRosterRow {
103
+ /** Shared solution user proxy record. */
104
+ userProxy: Record<string, unknown>;
105
+ /** Linked platform user, when one exists and is visible to the access service. */
106
+ user?: Record<string, unknown>;
107
+ /** Pending invite token metadata, when a pending invite exists. */
108
+ userToken?: Record<string, unknown>;
109
+ /** Whether token lookup failed. */
110
+ userTokenError?: boolean;
111
+ /** Token validation error code, when available. */
112
+ userTokenErrorCode?: string;
113
+ /** User proxy login status such as `Pending`, `Active`, or empty. */
114
+ loginStatus?: string;
115
+ /** Whether the linked user has current-sandbox scope access for this roster context. */
116
+ hasAccess: boolean;
117
+ /** Matching current-sandbox scope element for this proxy/org context. */
118
+ matchingScopeElement?: Record<string, unknown>;
119
+ /** Persisted role object keys assigned on the matching scope element. */
120
+ roleKeys?: string[];
121
+ /** Role metadata for `roleKeys`, when available. */
122
+ roles?: Role[];
123
+ }
124
+ /**
125
+ * Request body for access-service managed user proxy invite/link flow.
126
+ */
127
+ export interface InviteOrLinkUserProxyByEmailRequest {
128
+ /** Email address to normalize and invite/link. */
88
129
  email: string;
89
- /** Optional first name for the invited user. */
130
+ /** Optional first name to use when the server must create a new proxy. */
90
131
  firstName?: string;
91
- /** Optional last name for the invited user. */
132
+ /** Optional last name to use when the server must create a new proxy. */
92
133
  lastName?: string;
93
- /** User proxy data element ID used to create or link the user proxy record. */
94
- userProxyElementId: string;
95
- /** Existing unlinked user proxy object key to invite or link. */
96
- userProxyKey: string;
97
- /** Optional organization proxy object key for context; this is not a substitute for `userProxyKey`. */
98
- orgProxyKey?: string;
134
+ /** Whether the created/reused proxy should be marked as an org proxy admin identity. */
135
+ orgProxyAdmin?: boolean;
99
136
  /** Persisted role object keys (`Role.objKey`). Never pass semantic `Role.id` values here. */
100
137
  roleKeys: string[];
101
- /** Optional data scopes granted to the invited user. */
102
- scopeKeyItems?: ScopeKeyItem[];
103
138
  /** Optional notification template identifier. */
104
139
  notificationTemplate?: string;
105
140
  }
106
141
  /**
107
- * Result returned from an invitation request.
142
+ * Action performed by `inviteOrLinkUserProxyByEmail`.
108
143
  */
109
- export interface InviteResult {
110
- /** Invitation/user token key, when returned by the access service. */
111
- userTokenKey?: string;
112
- /** Persisted user object key, when a user was created or resolved. */
113
- userKey?: string;
114
- /** Invited email address. */
115
- email?: string;
116
- [key: string]: unknown;
144
+ export type InviteOrLinkUserProxyAction = 'createdProxyAndInvited' | 'reusedProxyAndInvited' | 'resentInvite' | 'linkedExistingUser' | 'alreadyLinked';
145
+ /**
146
+ * Result returned from access-service managed invite/link flow.
147
+ *
148
+ * `rolesUpdated` is only meaningful for `alreadyLinked` and `linkedExistingUser`. It is false for invite actions
149
+ * because invite role keys are carried by the pending invite/access configuration.
150
+ */
151
+ export interface InviteOrLinkUserProxyResult {
152
+ /** Server action that was performed. */
153
+ action: InviteOrLinkUserProxyAction;
154
+ /** Whether requested role keys were added or updated on existing current-sandbox access. */
155
+ rolesUpdated?: boolean;
156
+ /** Refreshed roster row after the operation. */
157
+ row: UserProxyAccessRosterRow;
158
+ }
159
+ /**
160
+ * Request body for setting roles on one roster row.
161
+ */
162
+ export interface SetUserProxyRosterRolesRequest {
163
+ /** Persisted role object keys (`Role.objKey`). Never pass semantic `Role.id` values here. */
164
+ roleKeys: string[];
117
165
  }
118
166
  /**
119
167
  * Request body for adding or updating one user scope entry.
@@ -213,22 +261,67 @@ export declare function getUserAccess(userKey: string): Promise<UserAccessWrappe
213
261
  */
214
262
  export declare function getUserAccessAsObservable(userKey: string): Observable<UserAccessWrapper>;
215
263
  /**
216
- * Invites a user by email and assigns initial sandbox access.
264
+ * Links an existing platform user to an existing unlinked user proxy record and assigns role keys for that scope.
265
+ *
266
+ * Use this when the user already exists and you have selected or created the user proxy record that should represent
267
+ * them in the solution. `req.userKey` is the platform user object key. `req.userProxyKey` is the solution user proxy
268
+ * object key. `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs.
269
+ *
270
+ * @param req - Existing-user link request
271
+ */
272
+ export declare function linkUserProxy(req: LinkUserProxyRequest): Promise<void>;
273
+ /**
274
+ * Observable version of `linkUserProxy`. See `linkUserProxy` for details.
275
+ */
276
+ export declare function linkUserProxyAsObservable(req: LinkUserProxyRequest): Observable<void>;
277
+ /**
278
+ * Lists shared user proxy records enriched with current-sandbox access state.
217
279
  *
218
- * The target user proxy record must already exist and be unlinked. Pass that record's persisted object key in
219
- * `req.userProxyKey` and its data element ID in `req.userProxyElementId`.
280
+ * Use this for generated user-access pages. A returned proxy/member record is identity data; `row.hasAccess` and
281
+ * `row.matchingScopeElement` describe whether that identity has access in the current sandbox for the requested
282
+ * org/user-proxy context.
283
+ *
284
+ * @param orgProxyKey - Organization proxy object key for the roster context
285
+ * @param orgProxyElementId - Organization proxy data element ID
286
+ * @param userProxyElementId - User proxy/member data element ID
287
+ */
288
+ export declare function listUserProxyAccessRoster(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string): Promise<UserProxyAccessRosterRow[]>;
289
+ /**
290
+ * Observable version of `listUserProxyAccessRoster`. See `listUserProxyAccessRoster` for details.
291
+ */
292
+ export declare function listUserProxyAccessRosterAsObservable(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string): Observable<UserProxyAccessRosterRow[]>;
293
+ /**
294
+ * Invites or links a user by email through the access service roster helper.
295
+ *
296
+ * The server normalizes email, reuses an existing shared proxy for the same org/user-proxy context when present,
297
+ * creates a proxy only when absent, links active users, refreshes pending invites, and returns the refreshed roster row.
298
+ *
299
+ * @param orgProxyKey - Organization proxy object key for the roster context
300
+ * @param orgProxyElementId - Organization proxy data element ID
301
+ * @param userProxyElementId - User proxy/member data element ID
302
+ * @param req - Invite/link request
303
+ */
304
+ export declare function inviteOrLinkUserProxyByEmail(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string, req: InviteOrLinkUserProxyByEmailRequest): Promise<InviteOrLinkUserProxyResult>;
305
+ /**
306
+ * Observable version of `inviteOrLinkUserProxyByEmail`. See `inviteOrLinkUserProxyByEmail` for details.
307
+ */
308
+ export declare function inviteOrLinkUserProxyByEmailAsObservable(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string, req: InviteOrLinkUserProxyByEmailRequest): Observable<InviteOrLinkUserProxyResult>;
309
+ /**
310
+ * Updates role keys for one roster row and returns the refreshed row.
220
311
  *
221
- * `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs. Resolve desired
222
- * semantic IDs with `listRoles` before calling this function.
312
+ * `roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs.
223
313
  *
224
- * @param req - Invitation and initial access request
225
- * @returns Promise resolving to invitation result metadata
314
+ * @param orgProxyKey - Organization proxy object key for the roster context
315
+ * @param orgProxyElementId - Organization proxy data element ID
316
+ * @param userProxyElementId - User proxy/member data element ID
317
+ * @param proxyKey - User proxy object key for the row being updated
318
+ * @param req - Role update request
226
319
  */
227
- export declare function inviteUser(req: InviteUserRequest): Promise<InviteResult>;
320
+ export declare function setUserProxyRosterRoles(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string, proxyKey: string, req: SetUserProxyRosterRolesRequest): Promise<UserProxyAccessRosterRow>;
228
321
  /**
229
- * Observable version of `inviteUser`. See `inviteUser` for details.
322
+ * Observable version of `setUserProxyRosterRoles`. See `setUserProxyRosterRoles` for details.
230
323
  */
231
- export declare function inviteUserAsObservable(req: InviteUserRequest): Observable<InviteResult>;
324
+ export declare function setUserProxyRosterRolesAsObservable(orgProxyKey: string, orgProxyElementId: string, userProxyElementId: string, proxyKey: string, req: SetUserProxyRosterRolesRequest): Observable<UserProxyAccessRosterRow>;
232
325
  /**
233
326
  * Adds or updates one user's sandbox scope entry.
234
327
  *
@@ -5,7 +5,7 @@
5
5
  */
6
6
  export { getAuthToken, sandboxKey, serviceAddress, actionSubject, userContext, params, useBody, initialize, type UserContext, type IncomingEventBody, type BaseActionResponse, type ActionResponse, type NotificationConfig, type ListActionResponse, type FormTemplateActionResponse, type PageTemplateActionResponse, type ObjectSaveActionResponse, type CalculatedFieldActionResponse, type SingleValueActionResponse, type ErrorResponse, prepareSuccessResponse, prepareErrorResponse } from './sdk-general';
7
7
  export { type SaveOptions, getObject, getObjectAsObservable, getRelatedObjects, getRelatedObjectsAsObservable, getAccessibleObjects, getAccessibleObjectsAsObservable, getObjects, getObjectsAsObservable, saveObject, saveObjectAsObservable, saveRelatedObject, saveRelatedObjectAsObservable, deleteObject, deleteObjectAsObservable, deleteRelatedObject, deleteRelatedObjectAsObservable, deleteRelatedObjects, deleteRelatedObjectsAsObservable } from './data-crud';
8
- export { type ScopeKeyItem, type Role, type BusinessPrivilege, type SandboxUser, type UserAccessWrapper, type InviteUserRequest, type InviteResult, type UpdateAccessRequest, type BusinessPrivilegeCheckResult, type CurrentBusinessPrivilegesResult, type DataElementAccessMode, type DataElementAccessResult, listRoles, listRolesAsObservable, listBusinessPrivileges, listBusinessPrivilegesAsObservable, listSandboxUsers, listSandboxUsersAsObservable, getUserAccess, getUserAccessAsObservable, inviteUser, inviteUserAsObservable, updateUserAccess, updateUserAccessAsObservable, removeUserAccess, removeUserAccessAsObservable, hasBusinessPrivilege, hasBusinessPrivilegeAsObservable, userPrivileges, userPrivilegesAsObservable, dataElementAccess, dataElementAccessAsObservable, hasDataElementAccess, hasDataElementAccessAsObservable, canReadDataElement, canReadDataElementAsObservable, canWriteDataElement, canWriteDataElementAsObservable, canDeleteDataElement, canDeleteDataElementAsObservable, } from './access';
8
+ export { type ScopeKeyItem, type Role, type BusinessPrivilege, type SandboxUser, type UserAccessWrapper, type LinkUserProxyRequest, type UserProxyAccessRosterRow, type InviteOrLinkUserProxyByEmailRequest, type InviteOrLinkUserProxyAction, type InviteOrLinkUserProxyResult, type SetUserProxyRosterRolesRequest, type UpdateAccessRequest, type BusinessPrivilegeCheckResult, type CurrentBusinessPrivilegesResult, type DataElementAccessMode, type DataElementAccessResult, listRoles, listRolesAsObservable, listBusinessPrivileges, listBusinessPrivilegesAsObservable, listSandboxUsers, listSandboxUsersAsObservable, getUserAccess, getUserAccessAsObservable, linkUserProxy, linkUserProxyAsObservable, listUserProxyAccessRoster, listUserProxyAccessRosterAsObservable, inviteOrLinkUserProxyByEmail, inviteOrLinkUserProxyByEmailAsObservable, setUserProxyRosterRoles, setUserProxyRosterRolesAsObservable, updateUserAccess, updateUserAccessAsObservable, removeUserAccess, removeUserAccessAsObservable, hasBusinessPrivilege, hasBusinessPrivilegeAsObservable, userPrivileges, userPrivilegesAsObservable, dataElementAccess, dataElementAccessAsObservable, hasDataElementAccess, hasDataElementAccessAsObservable, canReadDataElement, canReadDataElementAsObservable, canWriteDataElement, canWriteDataElementAsObservable, canDeleteDataElement, canDeleteDataElementAsObservable, } from './access';
9
9
  export { type ContentResource, getOrCreateResource, getOrCreateResourceAsObservable, saveResource, saveResourceAsObservable, sendFileContents, sendFileContentsAsObservable, createOrUpdateResource, createOrUpdateResourceAsObservable, downloadResource, downloadResourceAsObservable } from './content';
10
10
  export { MessageMethod, type MessageRequest, sendMessage, sendMessageAsObservable } from './messaging';
11
11
  export { getUserPreference, getOrganizationPreference, getUserPreferenceAsObservable, getOrganizationPreferenceAsObservable } from './preferences';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@halix/action-sdk",
3
- "version": "1.0.47",
3
+ "version": "1.0.49",
4
4
  "description": "Halix Platform action SDK",
5
5
  "types": "./lib/cjs/types/index.d.ts",
6
6
  "main": "./lib/cjs/index.js",