@halix/action-sdk 1.0.44 → 1.0.46

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.
@@ -0,0 +1,416 @@
1
+ "use strict";
2
+ // Halix SDK License v1.0
3
+ // Copyright (c) 2025 halix.io LLC.
4
+ //
5
+ // This source code is licensed for use **only** within applications
6
+ // running on the Halix platform, in accordance with Halix SDK guidelines.
7
+ //
8
+ // Unauthorized use outside the Halix platform is prohibited.
9
+ // Full license terms available in the LICENSE file.
10
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
+ return new (P || (P = Promise))(function (resolve, reject) {
13
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
14
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
15
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
16
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
17
+ });
18
+ };
19
+ var __importDefault = (this && this.__importDefault) || function (mod) {
20
+ return (mod && mod.__esModule) ? mod : { "default": mod };
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.listRoles = listRoles;
24
+ exports.listRolesAsObservable = listRolesAsObservable;
25
+ exports.listBusinessPrivileges = listBusinessPrivileges;
26
+ exports.listBusinessPrivilegesAsObservable = listBusinessPrivilegesAsObservable;
27
+ exports.listSandboxUsers = listSandboxUsers;
28
+ exports.listSandboxUsersAsObservable = listSandboxUsersAsObservable;
29
+ exports.getUserAccess = getUserAccess;
30
+ exports.getUserAccessAsObservable = getUserAccessAsObservable;
31
+ exports.inviteUser = inviteUser;
32
+ exports.inviteUserAsObservable = inviteUserAsObservable;
33
+ exports.updateUserAccess = updateUserAccess;
34
+ exports.updateUserAccessAsObservable = updateUserAccessAsObservable;
35
+ exports.removeUserAccess = removeUserAccess;
36
+ exports.removeUserAccessAsObservable = removeUserAccessAsObservable;
37
+ exports.hasBusinessPrivilege = hasBusinessPrivilege;
38
+ exports.hasBusinessPrivilegeAsObservable = hasBusinessPrivilegeAsObservable;
39
+ exports.userPrivileges = userPrivileges;
40
+ exports.userPrivilegesAsObservable = userPrivilegesAsObservable;
41
+ exports.dataElementAccess = dataElementAccess;
42
+ exports.dataElementAccessAsObservable = dataElementAccessAsObservable;
43
+ exports.hasDataElementAccess = hasDataElementAccess;
44
+ exports.hasDataElementAccessAsObservable = hasDataElementAccessAsObservable;
45
+ exports.canReadDataElement = canReadDataElement;
46
+ exports.canReadDataElementAsObservable = canReadDataElementAsObservable;
47
+ exports.canWriteDataElement = canWriteDataElement;
48
+ exports.canWriteDataElementAsObservable = canWriteDataElementAsObservable;
49
+ exports.canDeleteDataElement = canDeleteDataElement;
50
+ exports.canDeleteDataElementAsObservable = canDeleteDataElementAsObservable;
51
+ /**
52
+ * @module @halix/action-sdk/access
53
+ * @description Access, roles, business privileges, invitations, and user scope assignment for the Halix Platform action SDK.
54
+ * This module lets custom code inspect role and privilege metadata, invite users, and update a user's access inside the
55
+ * current sandbox.
56
+ *
57
+ * Key concepts:
58
+ * - `Role.id` is the stable semantic role identifier used by configuration and generated code.
59
+ * - `Role.objKey` is the persisted role object key. APIs that accept `roleKeys` require `Role.objKey`, not `Role.id`.
60
+ * - `BusinessPrivilege.id` is the stable privilege identifier used by server-validated checks such as `hasBusinessPrivilege`.
61
+ * - Data element access checks use stable data element IDs and resolve to persisted keys on the server.
62
+ * - `ScopeKeyItem` entries define the data scope a user receives for an organization, user proxy, or custom data scope.
63
+ *
64
+ * @usage
65
+ * ## When to Use
66
+ * - **Build role assignment UI** -> `listRoles`, then submit matching `role.objKey` values as `roleKeys`
67
+ * - **Show or check business privileges** -> `listBusinessPrivileges`, `hasBusinessPrivilege`, `userPrivileges`
68
+ * - **List users in the current sandbox** -> `listSandboxUsers`
69
+ * - **Inspect one user's access** -> `getUserAccess`
70
+ * - **Invite a user by email** -> `inviteUser`
71
+ * - **Add or update a user's scope entry** -> `updateUserAccess`
72
+ * - **Remove one user scope entry** -> `removeUserAccess`
73
+ *
74
+ * ## Role Key Rule
75
+ * Never submit semantic role IDs as `roleKeys`. Resolve them first:
76
+ * 1. call `listRoles()`
77
+ * 2. find the role where `role.id` matches the semantic ID
78
+ * 3. submit `role.objKey` in `InviteUserRequest.roleKeys` or `UpdateAccessRequest.roleKeys`
79
+ *
80
+ * ## Key Functions
81
+ * | Function | Use For |
82
+ * |----------|---------|
83
+ * | `listRoles` | Read assignable roles for the current sandbox |
84
+ * | `listBusinessPrivileges` | Read business privilege metadata |
85
+ * | `listSandboxUsers` | Read users with access to the current sandbox |
86
+ * | `getUserAccess` | Read one user's current scope entries and roles |
87
+ * | `inviteUser` | Invite a new user and assign initial role keys/scopes |
88
+ * | `updateUserAccess` | Add or update one user scope entry |
89
+ * | `removeUserAccess` | Remove one user scope entry |
90
+ * | `hasBusinessPrivilege` | Server-check whether the current user has a privilege ID |
91
+ * | `userPrivileges` | Server-read the current user's privilege IDs |
92
+ * | `dataElementAccess` | Server-check current user's read/write/delete access to a data element ID |
93
+ * | `hasDataElementAccess` | Server-check one read/write/delete access mode |
94
+ * | `canReadDataElement` | Server-check read access to a data element ID |
95
+ * | `canWriteDataElement` | Server-check write access to a data element ID |
96
+ * | `canDeleteDataElement` | Server-check delete access to a data element ID |
97
+ *
98
+ * @example
99
+ * // Resolve a semantic role ID to the persisted object key before assignment
100
+ * const roles = await hx.listRoles();
101
+ * const memberRole = roles.find((role) => role.id === 'householdMember');
102
+ * if (!memberRole?.objKey) {
103
+ * throw new Error('Required role not found.');
104
+ * }
105
+ * await hx.updateUserAccess(userKey, {
106
+ * roleKeys: [memberRole.objKey],
107
+ * scopeKeyItems: [{ scopeKey: orgKey, dataElementId: 'family' }],
108
+ * });
109
+ *
110
+ * @example
111
+ * // Check the current user's business privilege
112
+ * if (await hx.hasBusinessPrivilege('manageSharedLists')) {
113
+ * // Show controls for sharing list access
114
+ * }
115
+ *
116
+ * @example
117
+ * // Check current user's data access before showing a CRUD control
118
+ * if (await hx.canWriteDataElement('shoppingList')) {
119
+ * // Show controls that create or update shopping list records
120
+ * }
121
+ */
122
+ const axios_1 = __importDefault(require("axios"));
123
+ const rxjs_1 = require("rxjs");
124
+ const sdk_general_1 = require("./sdk-general");
125
+ function authHeaders() {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ if (!sdk_general_1.getAuthToken) {
128
+ throw new Error('SDK not initialized.');
129
+ }
130
+ const authToken = yield (0, rxjs_1.lastValueFrom)((0, sdk_general_1.getAuthToken)());
131
+ return { Authorization: `Bearer ${authToken}` };
132
+ });
133
+ }
134
+ /**
135
+ * Lists roles available in the current sandbox.
136
+ *
137
+ * Use this before assigning roles so semantic role IDs can be resolved to persisted `objKey` values. Assignment
138
+ * requests must send `Role.objKey` values in `roleKeys`.
139
+ *
140
+ * @returns Promise resolving to role metadata for the current sandbox
141
+ */
142
+ function listRoles() {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ const response = yield axios_1.default.get(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/allRoles`, {
145
+ headers: yield authHeaders(),
146
+ });
147
+ return response.data;
148
+ });
149
+ }
150
+ /**
151
+ * Observable version of `listRoles`. See `listRoles` for details.
152
+ */
153
+ function listRolesAsObservable() {
154
+ return (0, rxjs_1.from)(listRoles());
155
+ }
156
+ /**
157
+ * Lists business privileges available in the current sandbox.
158
+ *
159
+ * Business privilege IDs are used by `hasBusinessPrivilege`, current-user privilege checks, and role
160
+ * `businessPrivilegeIds`.
161
+ *
162
+ * @returns Promise resolving to business privilege metadata
163
+ */
164
+ function listBusinessPrivileges() {
165
+ return __awaiter(this, void 0, void 0, function* () {
166
+ const response = yield axios_1.default.get(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/businessPrivileges`, {
167
+ headers: yield authHeaders(),
168
+ });
169
+ return response.data;
170
+ });
171
+ }
172
+ /**
173
+ * Observable version of `listBusinessPrivileges`. See `listBusinessPrivileges` for details.
174
+ */
175
+ function listBusinessPrivilegesAsObservable() {
176
+ return (0, rxjs_1.from)(listBusinessPrivileges());
177
+ }
178
+ /**
179
+ * Lists users with access to the current sandbox.
180
+ *
181
+ * Use `getUserAccess` when full scope-entry details are needed for a specific user.
182
+ *
183
+ * @returns Promise resolving to sandbox user summaries
184
+ */
185
+ function listSandboxUsers() {
186
+ return __awaiter(this, void 0, void 0, function* () {
187
+ const response = yield axios_1.default.get(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/users`, {
188
+ headers: yield authHeaders(),
189
+ });
190
+ return response.data;
191
+ });
192
+ }
193
+ /**
194
+ * Observable version of `listSandboxUsers`. See `listSandboxUsers` for details.
195
+ */
196
+ function listSandboxUsersAsObservable() {
197
+ return (0, rxjs_1.from)(listSandboxUsers());
198
+ }
199
+ /**
200
+ * Gets one user's current sandbox access, including scope entries and any role metadata returned by the access service.
201
+ *
202
+ * @param userKey - Persisted user object key
203
+ * @returns Promise resolving to the user's access wrapper
204
+ */
205
+ function getUserAccess(userKey) {
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ const response = yield axios_1.default.get(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/user/${userKey}/access`, {
208
+ headers: yield authHeaders(),
209
+ });
210
+ return response.data;
211
+ });
212
+ }
213
+ /**
214
+ * Observable version of `getUserAccess`. See `getUserAccess` for details.
215
+ */
216
+ function getUserAccessAsObservable(userKey) {
217
+ return (0, rxjs_1.from)(getUserAccess(userKey));
218
+ }
219
+ /**
220
+ * Invites a user by email and assigns initial sandbox access.
221
+ *
222
+ * `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs. Resolve desired
223
+ * semantic IDs with `listRoles` before calling this function.
224
+ *
225
+ * @param req - Invitation and initial access request
226
+ * @returns Promise resolving to invitation result metadata
227
+ */
228
+ function inviteUser(req) {
229
+ return __awaiter(this, void 0, void 0, function* () {
230
+ const response = yield axios_1.default.post(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/inviteByEmail`, req, {
231
+ headers: yield authHeaders(),
232
+ });
233
+ return response.data;
234
+ });
235
+ }
236
+ /**
237
+ * Observable version of `inviteUser`. See `inviteUser` for details.
238
+ */
239
+ function inviteUserAsObservable(req) {
240
+ return (0, rxjs_1.from)(inviteUser(req));
241
+ }
242
+ /**
243
+ * Adds or updates one user's sandbox scope entry.
244
+ *
245
+ * If `req.scopeElementId` is present, the existing scope entry is updated. If it is omitted, a new scope entry is
246
+ * added. `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs.
247
+ *
248
+ * @param userKey - Persisted user object key
249
+ * @param req - Scope-entry access update request
250
+ */
251
+ function updateUserAccess(userKey, req) {
252
+ return __awaiter(this, void 0, void 0, function* () {
253
+ const path = req.scopeElementId ? 'updateScopeElement' : 'addScopeElement';
254
+ yield axios_1.default.post(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/user/${userKey}/${path}`, req, {
255
+ headers: yield authHeaders(),
256
+ });
257
+ });
258
+ }
259
+ /**
260
+ * Observable version of `updateUserAccess`. See `updateUserAccess` for details.
261
+ */
262
+ function updateUserAccessAsObservable(userKey, req) {
263
+ return (0, rxjs_1.from)(updateUserAccess(userKey, req));
264
+ }
265
+ /**
266
+ * Removes one sandbox scope entry from a user.
267
+ *
268
+ * @param userKey - Persisted user object key
269
+ * @param scopeElementId - Scope element ID to remove from the user
270
+ */
271
+ function removeUserAccess(userKey, scopeElementId) {
272
+ return __awaiter(this, void 0, void 0, function* () {
273
+ yield axios_1.default.delete(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/user/${userKey}/removeScopeElements`, {
274
+ headers: yield authHeaders(),
275
+ data: { scopeElementIds: [scopeElementId] },
276
+ });
277
+ });
278
+ }
279
+ /**
280
+ * Observable version of `removeUserAccess`. See `removeUserAccess` for details.
281
+ */
282
+ function removeUserAccessAsObservable(userKey, scopeElementId) {
283
+ return (0, rxjs_1.from)(removeUserAccess(userKey, scopeElementId));
284
+ }
285
+ /**
286
+ * Checks whether the authenticated user has a business privilege ID by calling the access service.
287
+ *
288
+ * This intentionally does not read `userContext.businessPrivileges`, because browser-local context can be manipulated.
289
+ * Treat this as an authorization check and await the server response.
290
+ *
291
+ * @param privilegeId - Stable business privilege ID
292
+ * @returns Promise resolving to true when the current user has the privilege
293
+ */
294
+ function hasBusinessPrivilege(privilegeId) {
295
+ return __awaiter(this, void 0, void 0, function* () {
296
+ const response = yield axios_1.default.get(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/businessPrivileges/${encodeURIComponent(privilegeId)}/currentUserHasPrivilege`, {
297
+ headers: yield authHeaders(),
298
+ });
299
+ return response.data.hasPrivilege;
300
+ });
301
+ }
302
+ /**
303
+ * Observable version of `hasBusinessPrivilege`. See `hasBusinessPrivilege` for details.
304
+ */
305
+ function hasBusinessPrivilegeAsObservable(privilegeId) {
306
+ return (0, rxjs_1.from)(hasBusinessPrivilege(privilegeId));
307
+ }
308
+ /**
309
+ * Returns the authenticated user's business privilege IDs by calling the access service.
310
+ *
311
+ * This intentionally does not read `userContext.businessPrivileges`, because browser-local context can be manipulated.
312
+ *
313
+ * @returns Promise resolving to business privilege IDs for the current user
314
+ */
315
+ function userPrivileges() {
316
+ return __awaiter(this, void 0, void 0, function* () {
317
+ var _a;
318
+ const response = yield axios_1.default.get(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/currentBusinessPrivileges`, {
319
+ headers: yield authHeaders(),
320
+ });
321
+ return (_a = response.data.businessPrivileges) !== null && _a !== void 0 ? _a : [];
322
+ });
323
+ }
324
+ /**
325
+ * Observable version of `userPrivileges`. See `userPrivileges` for details.
326
+ */
327
+ function userPrivilegesAsObservable() {
328
+ return (0, rxjs_1.from)(userPrivileges());
329
+ }
330
+ /**
331
+ * Checks the authenticated user's data element read/write/delete access through the access service.
332
+ *
333
+ * The caller passes the stable data element ID. The server resolves that ID to the persisted data element key before
334
+ * checking the user's token, so generated code does not need to manage ID-to-key mappings.
335
+ *
336
+ * @param dataElementId - Stable data element ID
337
+ * @returns Promise resolving to the current user's data element access flags
338
+ */
339
+ function dataElementAccess(dataElementId) {
340
+ return __awaiter(this, void 0, void 0, function* () {
341
+ const response = yield axios_1.default.get(`${sdk_general_1.serviceAddress}/access/sandboxes/${sdk_general_1.sandboxKey}/dataElements/${encodeURIComponent(dataElementId)}/currentUserAccess`, {
342
+ headers: yield authHeaders(),
343
+ });
344
+ return response.data;
345
+ });
346
+ }
347
+ /**
348
+ * Observable version of `dataElementAccess`. See `dataElementAccess` for details.
349
+ */
350
+ function dataElementAccessAsObservable(dataElementId) {
351
+ return (0, rxjs_1.from)(dataElementAccess(dataElementId));
352
+ }
353
+ /**
354
+ * Checks one data element access mode for the authenticated user through the access service.
355
+ *
356
+ * @param dataElementId - Stable data element ID
357
+ * @param access - Access mode to check: `read`, `write`, or `delete`
358
+ * @returns Promise resolving to true when the current user has the requested data access
359
+ */
360
+ function hasDataElementAccess(dataElementId, access) {
361
+ return __awaiter(this, void 0, void 0, function* () {
362
+ const result = yield dataElementAccess(dataElementId);
363
+ switch (access) {
364
+ case 'read':
365
+ return result.canRead;
366
+ case 'write':
367
+ return result.canWrite;
368
+ case 'delete':
369
+ return result.canDelete;
370
+ default:
371
+ return false;
372
+ }
373
+ });
374
+ }
375
+ /**
376
+ * Observable version of `hasDataElementAccess`. See `hasDataElementAccess` for details.
377
+ */
378
+ function hasDataElementAccessAsObservable(dataElementId, access) {
379
+ return (0, rxjs_1.from)(hasDataElementAccess(dataElementId, access));
380
+ }
381
+ /**
382
+ * Checks whether the authenticated user can read records for a data element ID.
383
+ */
384
+ function canReadDataElement(dataElementId) {
385
+ return hasDataElementAccess(dataElementId, 'read');
386
+ }
387
+ /**
388
+ * Observable version of `canReadDataElement`. See `canReadDataElement` for details.
389
+ */
390
+ function canReadDataElementAsObservable(dataElementId) {
391
+ return (0, rxjs_1.from)(canReadDataElement(dataElementId));
392
+ }
393
+ /**
394
+ * Checks whether the authenticated user can create or update records for a data element ID.
395
+ */
396
+ function canWriteDataElement(dataElementId) {
397
+ return hasDataElementAccess(dataElementId, 'write');
398
+ }
399
+ /**
400
+ * Observable version of `canWriteDataElement`. See `canWriteDataElement` for details.
401
+ */
402
+ function canWriteDataElementAsObservable(dataElementId) {
403
+ return (0, rxjs_1.from)(canWriteDataElement(dataElementId));
404
+ }
405
+ /**
406
+ * Checks whether the authenticated user can delete records for a data element ID.
407
+ */
408
+ function canDeleteDataElement(dataElementId) {
409
+ return hasDataElementAccess(dataElementId, 'delete');
410
+ }
411
+ /**
412
+ * Observable version of `canDeleteDataElement`. See `canDeleteDataElement` for details.
413
+ */
414
+ function canDeleteDataElementAsObservable(dataElementId) {
415
+ return (0, rxjs_1.from)(canDeleteDataElement(dataElementId));
416
+ }
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.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.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 = void 0;
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;
13
13
  /**
14
14
  * @module @halix/action-sdk
15
15
  * @description Halix Platform action SDK for developing NodeJS Lambda-based actions on the Halix
@@ -58,6 +58,38 @@ Object.defineProperty(exports, "deleteRelatedObjectAsObservable", { enumerable:
58
58
  Object.defineProperty(exports, "deleteRelatedObjects", { enumerable: true, get: function () { return data_crud_1.deleteRelatedObjects; } });
59
59
  Object.defineProperty(exports, "deleteRelatedObjectsAsObservable", { enumerable: true, get: function () { return data_crud_1.deleteRelatedObjectsAsObservable; } });
60
60
  // ================================================================================
61
+ // ACCESS FUNCTIONS
62
+ // ================================================================================
63
+ var access_1 = require("./access");
64
+ Object.defineProperty(exports, "listRoles", { enumerable: true, get: function () { return access_1.listRoles; } });
65
+ Object.defineProperty(exports, "listRolesAsObservable", { enumerable: true, get: function () { return access_1.listRolesAsObservable; } });
66
+ Object.defineProperty(exports, "listBusinessPrivileges", { enumerable: true, get: function () { return access_1.listBusinessPrivileges; } });
67
+ Object.defineProperty(exports, "listBusinessPrivilegesAsObservable", { enumerable: true, get: function () { return access_1.listBusinessPrivilegesAsObservable; } });
68
+ Object.defineProperty(exports, "listSandboxUsers", { enumerable: true, get: function () { return access_1.listSandboxUsers; } });
69
+ Object.defineProperty(exports, "listSandboxUsersAsObservable", { enumerable: true, get: function () { return access_1.listSandboxUsersAsObservable; } });
70
+ Object.defineProperty(exports, "getUserAccess", { enumerable: true, get: function () { return access_1.getUserAccess; } });
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; } });
74
+ Object.defineProperty(exports, "updateUserAccess", { enumerable: true, get: function () { return access_1.updateUserAccess; } });
75
+ Object.defineProperty(exports, "updateUserAccessAsObservable", { enumerable: true, get: function () { return access_1.updateUserAccessAsObservable; } });
76
+ Object.defineProperty(exports, "removeUserAccess", { enumerable: true, get: function () { return access_1.removeUserAccess; } });
77
+ Object.defineProperty(exports, "removeUserAccessAsObservable", { enumerable: true, get: function () { return access_1.removeUserAccessAsObservable; } });
78
+ Object.defineProperty(exports, "hasBusinessPrivilege", { enumerable: true, get: function () { return access_1.hasBusinessPrivilege; } });
79
+ Object.defineProperty(exports, "hasBusinessPrivilegeAsObservable", { enumerable: true, get: function () { return access_1.hasBusinessPrivilegeAsObservable; } });
80
+ Object.defineProperty(exports, "userPrivileges", { enumerable: true, get: function () { return access_1.userPrivileges; } });
81
+ Object.defineProperty(exports, "userPrivilegesAsObservable", { enumerable: true, get: function () { return access_1.userPrivilegesAsObservable; } });
82
+ Object.defineProperty(exports, "dataElementAccess", { enumerable: true, get: function () { return access_1.dataElementAccess; } });
83
+ Object.defineProperty(exports, "dataElementAccessAsObservable", { enumerable: true, get: function () { return access_1.dataElementAccessAsObservable; } });
84
+ Object.defineProperty(exports, "hasDataElementAccess", { enumerable: true, get: function () { return access_1.hasDataElementAccess; } });
85
+ Object.defineProperty(exports, "hasDataElementAccessAsObservable", { enumerable: true, get: function () { return access_1.hasDataElementAccessAsObservable; } });
86
+ Object.defineProperty(exports, "canReadDataElement", { enumerable: true, get: function () { return access_1.canReadDataElement; } });
87
+ Object.defineProperty(exports, "canReadDataElementAsObservable", { enumerable: true, get: function () { return access_1.canReadDataElementAsObservable; } });
88
+ Object.defineProperty(exports, "canWriteDataElement", { enumerable: true, get: function () { return access_1.canWriteDataElement; } });
89
+ Object.defineProperty(exports, "canWriteDataElementAsObservable", { enumerable: true, get: function () { return access_1.canWriteDataElementAsObservable; } });
90
+ Object.defineProperty(exports, "canDeleteDataElement", { enumerable: true, get: function () { return access_1.canDeleteDataElement; } });
91
+ Object.defineProperty(exports, "canDeleteDataElementAsObservable", { enumerable: true, get: function () { return access_1.canDeleteDataElementAsObservable; } });
92
+ // ================================================================================
61
93
  // CONTENT FUNCTIONS
62
94
  // ================================================================================
63
95
  var content_1 = require("./content");