@halix/action-sdk 1.0.43 → 1.0.45
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 +279 -0
- package/lib/cjs/content.js +62 -0
- package/lib/cjs/index.js +24 -2
- package/lib/cjs/sdk-general.js +3 -0
- package/lib/cjs/types/access.d.ts +230 -0
- package/lib/cjs/types/access.d.ts.map +1 -0
- package/lib/cjs/types/content.d.ts +42 -0
- package/lib/cjs/types/content.d.ts.map +1 -1
- package/lib/cjs/types/index.d.ts +2 -1
- package/lib/cjs/types/index.d.ts.map +1 -1
- package/lib/cjs/types/sdk-general.d.ts +1 -0
- package/lib/cjs/types/sdk-general.d.ts.map +1 -1
- package/lib/esm/access.js +232 -0
- package/lib/esm/access.js.map +1 -0
- package/lib/esm/content.js +57 -0
- package/lib/esm/content.js.map +1 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/index.mjs +5 -1
- package/lib/esm/sdk-general.js +3 -0
- package/lib/esm/sdk-general.js.map +1 -1
- package/lib/esm/types/access.d.ts +229 -0
- package/lib/esm/types/content.d.ts +42 -0
- package/lib/esm/types/index.d.ts +2 -1
- package/lib/esm/types/sdk-general.d.ts +1 -0
- package/package.json +1 -1
|
@@ -58,4 +58,46 @@ export declare function createOrUpdateResource(resourceKey: string | null, fileT
|
|
|
58
58
|
* Observable version of createOrUpdateResource. See createOrUpdateResource for details.
|
|
59
59
|
*/
|
|
60
60
|
export declare function createOrUpdateResourceAsObservable(resourceKey: string | null, fileToUpload: File | Blob, publicFlag: boolean, resourceType: string, tags: string[]): Observable<ContentResource>;
|
|
61
|
+
/**
|
|
62
|
+
* Fetches a file resource from the Halix content service and returns it as a `Blob` along with
|
|
63
|
+
* the filename derived from the `Content-Disposition` response header (falling back to
|
|
64
|
+
* `resourceKey` when the header is absent).
|
|
65
|
+
*
|
|
66
|
+
* This function is environment-agnostic: it performs only the authenticated HTTP fetch and leaves
|
|
67
|
+
* all presentation logic to the caller.
|
|
68
|
+
*
|
|
69
|
+
* **Browser download example** — trigger the native Save dialog from a click handler:
|
|
70
|
+
* ```js
|
|
71
|
+
* button.addEventListener('click', async () => {
|
|
72
|
+
* const { blob, fileName } = await downloadResource(recipe.attachmentKey);
|
|
73
|
+
* const url = URL.createObjectURL(blob);
|
|
74
|
+
* const a = document.createElement('a');
|
|
75
|
+
* a.href = url;
|
|
76
|
+
* a.download = fileName;
|
|
77
|
+
* a.click();
|
|
78
|
+
* URL.revokeObjectURL(url);
|
|
79
|
+
* });
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* **Node.js example** — write the blob to disk:
|
|
83
|
+
* ```js
|
|
84
|
+
* const { blob } = await downloadResource(recipe.attachmentKey);
|
|
85
|
+
* const buffer = Buffer.from(await blob.arrayBuffer());
|
|
86
|
+
* fs.writeFileSync('attachment.pdf', buffer);
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* @param resourceKey - Key of the content resource to fetch
|
|
90
|
+
* @returns Promise resolving to `{ blob, fileName }`
|
|
91
|
+
*/
|
|
92
|
+
export declare function downloadResource(resourceKey: string): Promise<{
|
|
93
|
+
blob: Blob;
|
|
94
|
+
fileName: string;
|
|
95
|
+
}>;
|
|
96
|
+
/**
|
|
97
|
+
* Observable version of downloadResource. See downloadResource for details.
|
|
98
|
+
*/
|
|
99
|
+
export declare function downloadResourceAsObservable(resourceKey: string): Observable<{
|
|
100
|
+
blob: Blob;
|
|
101
|
+
fileName: string;
|
|
102
|
+
}>;
|
|
61
103
|
//# sourceMappingURL=content.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/content.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/content.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/types/index.d.ts
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
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
|
|
8
|
+
export { type ScopeKeyItem, type Role, type BusinessPrivilege, type SandboxUser, type UserAccessWrapper, type InviteUserRequest, type InviteResult, type UpdateAccessRequest, listRoles, listRolesAsObservable, listBusinessPrivileges, listBusinessPrivilegesAsObservable, listSandboxUsers, listSandboxUsersAsObservable, getUserAccess, getUserAccessAsObservable, inviteUser, inviteUserAsObservable, updateUserAccess, updateUserAccessAsObservable, removeUserAccess, removeUserAccessAsObservable, hasBusinessPrivilege, userPrivileges, } from './access';
|
|
9
|
+
export { type ContentResource, getOrCreateResource, getOrCreateResourceAsObservable, saveResource, saveResourceAsObservable, sendFileContents, sendFileContentsAsObservable, createOrUpdateResource, createOrUpdateResourceAsObservable, downloadResource, downloadResourceAsObservable } from './content';
|
|
9
10
|
export { MessageMethod, type MessageRequest, sendMessage, sendMessageAsObservable } from './messaging';
|
|
10
11
|
export { getUserPreference, getOrganizationPreference, getUserPreferenceAsObservable, getOrganizationPreferenceAsObservable } from './preferences';
|
|
11
12
|
export { type SortField, type DataSortField, type BaseListDataRequest, type PagedListDataRequest, type ListDataResponse, type ListDataOptions, type ListDataSearchOptions, type MassEditValueType, type MassEditRequest, type MassDeleteRequest, type MassChangeResponse, getListData, getListDataAsObservable, massEdit, massEditAsObservable, massDelete, massDeleteAsObservable } from './lists';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AASA;;;;GAIG;AAMH,OAAO,EAEH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,OAAO,EAGP,UAAU,EAGV,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAGtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAGlB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAEH,KAAK,WAAW,EAGhB,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,gCAAgC,EAChC,UAAU,EACV,sBAAsB,EAGtB,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,6BAA6B,EAG7B,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EACnC,MAAM,aAAa,CAAC;AAMrB,OAAO,EAEH,KAAK,eAAe,EAGpB,mBAAmB,EACnB,+BAA+B,EAC/B,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-general.d.ts","sourceRoot":"","sources":["../../../src/sdk-general.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAM,MAAM,MAAM,CAAC;AAMtC;;GAEG;AACH,eAAO,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;AAElD;;GAEG;AACH,eAAO,IAAI,UAAU,EAAE,MAAM,CAAC;AAE9B;;GAEG;AACH,eAAO,IAAI,cAAc,EAAE,MAAM,CAAC;AAElC;;GAEG;AACH,eAAO,IAAI,aAAa,EAAE,GAAG,CAAC;AAE9B;;GAEG;AACH,eAAO,IAAI,WAAW,EAAE,WAAW,CAAC;AAEpC;;GAEG;AACH,eAAO,IAAI,MAAM,EAAE,MAAM,CAAC;AAE1B;;GAEG;AACH,eAAO,IAAI,OAAO,EAAE,OAAO,CAAC;AAE5B;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"sdk-general.d.ts","sourceRoot":"","sources":["../../../src/sdk-general.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
// Halix SDK License v1.0
|
|
2
|
+
// Copyright (c) 2025 halix.io LLC.
|
|
3
|
+
//
|
|
4
|
+
// This source code is licensed for use **only** within applications
|
|
5
|
+
// running on the Halix platform, in accordance with Halix SDK guidelines.
|
|
6
|
+
//
|
|
7
|
+
// Unauthorized use outside the Halix platform is prohibited.
|
|
8
|
+
// Full license terms available in the LICENSE file.
|
|
9
|
+
/**
|
|
10
|
+
* @module @halix/action-sdk/access
|
|
11
|
+
* @description Access, roles, business privileges, invitations, and user scope assignment for the Halix Platform action SDK.
|
|
12
|
+
* This module lets custom code inspect role and privilege metadata, invite users, and update a user's access inside the
|
|
13
|
+
* current sandbox.
|
|
14
|
+
*
|
|
15
|
+
* Key concepts:
|
|
16
|
+
* - `Role.id` is the stable semantic role identifier used by configuration and generated code.
|
|
17
|
+
* - `Role.objKey` is the persisted role object key. APIs that accept `roleKeys` require `Role.objKey`, not `Role.id`.
|
|
18
|
+
* - `BusinessPrivilege.id` is the stable privilege identifier used by privilege checks such as `hasBusinessPrivilege`.
|
|
19
|
+
* - `ScopeKeyItem` entries define the data scope a user receives for an organization, user proxy, or custom data scope.
|
|
20
|
+
*
|
|
21
|
+
* @usage
|
|
22
|
+
* ## When to Use
|
|
23
|
+
* - **Build role assignment UI** -> `listRoles`, then submit matching `role.objKey` values as `roleKeys`
|
|
24
|
+
* - **Show or check business privileges** -> `listBusinessPrivileges`, `hasBusinessPrivilege`, `userPrivileges`
|
|
25
|
+
* - **List users in the current sandbox** -> `listSandboxUsers`
|
|
26
|
+
* - **Inspect one user's access** -> `getUserAccess`
|
|
27
|
+
* - **Invite a user by email** -> `inviteUser`
|
|
28
|
+
* - **Add or update a user's scope entry** -> `updateUserAccess`
|
|
29
|
+
* - **Remove one user scope entry** -> `removeUserAccess`
|
|
30
|
+
*
|
|
31
|
+
* ## Role Key Rule
|
|
32
|
+
* Never submit semantic role IDs as `roleKeys`. Resolve them first:
|
|
33
|
+
* 1. call `listRoles()`
|
|
34
|
+
* 2. find the role where `role.id` matches the semantic ID
|
|
35
|
+
* 3. submit `role.objKey` in `InviteUserRequest.roleKeys` or `UpdateAccessRequest.roleKeys`
|
|
36
|
+
*
|
|
37
|
+
* ## Key Functions
|
|
38
|
+
* | Function | Use For |
|
|
39
|
+
* |----------|---------|
|
|
40
|
+
* | `listRoles` | Read assignable roles for the current sandbox |
|
|
41
|
+
* | `listBusinessPrivileges` | Read business privilege metadata |
|
|
42
|
+
* | `listSandboxUsers` | Read users with access to the current sandbox |
|
|
43
|
+
* | `getUserAccess` | Read one user's current scope entries and roles |
|
|
44
|
+
* | `inviteUser` | Invite a new user and assign initial role keys/scopes |
|
|
45
|
+
* | `updateUserAccess` | Add or update one user scope entry |
|
|
46
|
+
* | `removeUserAccess` | Remove one user scope entry |
|
|
47
|
+
* | `hasBusinessPrivilege` | Check whether the current user has a privilege ID |
|
|
48
|
+
* | `userPrivileges` | Return the current user's privilege IDs |
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* // Resolve a semantic role ID to the persisted object key before assignment
|
|
52
|
+
* const roles = await hx.listRoles();
|
|
53
|
+
* const memberRole = roles.find((role) => role.id === 'householdMember');
|
|
54
|
+
* if (!memberRole?.objKey) {
|
|
55
|
+
* throw new Error('Required role not found.');
|
|
56
|
+
* }
|
|
57
|
+
* await hx.updateUserAccess(userKey, {
|
|
58
|
+
* roleKeys: [memberRole.objKey],
|
|
59
|
+
* scopeKeyItems: [{ scopeKey: orgKey, dataElementId: 'family' }],
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* // Check the current user's business privilege
|
|
64
|
+
* if (hx.hasBusinessPrivilege('manageSharedLists')) {
|
|
65
|
+
* // Show controls for sharing list access
|
|
66
|
+
* }
|
|
67
|
+
*/
|
|
68
|
+
import axios from 'axios';
|
|
69
|
+
import { from, lastValueFrom } from 'rxjs';
|
|
70
|
+
import { getAuthToken, sandboxKey, serviceAddress, userContext } from './sdk-general';
|
|
71
|
+
async function authHeaders() {
|
|
72
|
+
if (!getAuthToken) {
|
|
73
|
+
throw new Error('SDK not initialized.');
|
|
74
|
+
}
|
|
75
|
+
const authToken = await lastValueFrom(getAuthToken());
|
|
76
|
+
return { Authorization: `Bearer ${authToken}` };
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Lists roles available in the current sandbox.
|
|
80
|
+
*
|
|
81
|
+
* Use this before assigning roles so semantic role IDs can be resolved to persisted `objKey` values. Assignment
|
|
82
|
+
* requests must send `Role.objKey` values in `roleKeys`.
|
|
83
|
+
*
|
|
84
|
+
* @returns Promise resolving to role metadata for the current sandbox
|
|
85
|
+
*/
|
|
86
|
+
export async function listRoles() {
|
|
87
|
+
const response = await axios.get(`${serviceAddress}/access/sandboxes/${sandboxKey}/allRoles`, {
|
|
88
|
+
headers: await authHeaders(),
|
|
89
|
+
});
|
|
90
|
+
return response.data;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Observable version of `listRoles`. See `listRoles` for details.
|
|
94
|
+
*/
|
|
95
|
+
export function listRolesAsObservable() {
|
|
96
|
+
return from(listRoles());
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Lists business privileges available in the current sandbox.
|
|
100
|
+
*
|
|
101
|
+
* Business privilege IDs are used by `hasBusinessPrivilege`, current-user privilege checks, and role
|
|
102
|
+
* `businessPrivilegeIds`.
|
|
103
|
+
*
|
|
104
|
+
* @returns Promise resolving to business privilege metadata
|
|
105
|
+
*/
|
|
106
|
+
export async function listBusinessPrivileges() {
|
|
107
|
+
const response = await axios.get(`${serviceAddress}/access/sandboxes/${sandboxKey}/businessPrivileges`, {
|
|
108
|
+
headers: await authHeaders(),
|
|
109
|
+
});
|
|
110
|
+
return response.data;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Observable version of `listBusinessPrivileges`. See `listBusinessPrivileges` for details.
|
|
114
|
+
*/
|
|
115
|
+
export function listBusinessPrivilegesAsObservable() {
|
|
116
|
+
return from(listBusinessPrivileges());
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Lists users with access to the current sandbox.
|
|
120
|
+
*
|
|
121
|
+
* Use `getUserAccess` when full scope-entry details are needed for a specific user.
|
|
122
|
+
*
|
|
123
|
+
* @returns Promise resolving to sandbox user summaries
|
|
124
|
+
*/
|
|
125
|
+
export async function listSandboxUsers() {
|
|
126
|
+
const response = await axios.get(`${serviceAddress}/access/sandboxes/${sandboxKey}/users`, {
|
|
127
|
+
headers: await authHeaders(),
|
|
128
|
+
});
|
|
129
|
+
return response.data;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Observable version of `listSandboxUsers`. See `listSandboxUsers` for details.
|
|
133
|
+
*/
|
|
134
|
+
export function listSandboxUsersAsObservable() {
|
|
135
|
+
return from(listSandboxUsers());
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Gets one user's current sandbox access, including scope entries and any role metadata returned by the access service.
|
|
139
|
+
*
|
|
140
|
+
* @param userKey - Persisted user object key
|
|
141
|
+
* @returns Promise resolving to the user's access wrapper
|
|
142
|
+
*/
|
|
143
|
+
export async function getUserAccess(userKey) {
|
|
144
|
+
const response = await axios.get(`${serviceAddress}/access/sandboxes/${sandboxKey}/user/${userKey}/access`, {
|
|
145
|
+
headers: await authHeaders(),
|
|
146
|
+
});
|
|
147
|
+
return response.data;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Observable version of `getUserAccess`. See `getUserAccess` for details.
|
|
151
|
+
*/
|
|
152
|
+
export function getUserAccessAsObservable(userKey) {
|
|
153
|
+
return from(getUserAccess(userKey));
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Invites a user by email and assigns initial sandbox access.
|
|
157
|
+
*
|
|
158
|
+
* `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs. Resolve desired
|
|
159
|
+
* semantic IDs with `listRoles` before calling this function.
|
|
160
|
+
*
|
|
161
|
+
* @param req - Invitation and initial access request
|
|
162
|
+
* @returns Promise resolving to invitation result metadata
|
|
163
|
+
*/
|
|
164
|
+
export async function inviteUser(req) {
|
|
165
|
+
const response = await axios.post(`${serviceAddress}/access/sandboxes/${sandboxKey}/inviteByEmail`, req, {
|
|
166
|
+
headers: await authHeaders(),
|
|
167
|
+
});
|
|
168
|
+
return response.data;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Observable version of `inviteUser`. See `inviteUser` for details.
|
|
172
|
+
*/
|
|
173
|
+
export function inviteUserAsObservable(req) {
|
|
174
|
+
return from(inviteUser(req));
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Adds or updates one user's sandbox scope entry.
|
|
178
|
+
*
|
|
179
|
+
* If `req.scopeElementId` is present, the existing scope entry is updated. If it is omitted, a new scope entry is
|
|
180
|
+
* added. `req.roleKeys` must contain persisted role object keys from `Role.objKey`, not semantic role IDs.
|
|
181
|
+
*
|
|
182
|
+
* @param userKey - Persisted user object key
|
|
183
|
+
* @param req - Scope-entry access update request
|
|
184
|
+
*/
|
|
185
|
+
export async function updateUserAccess(userKey, req) {
|
|
186
|
+
const path = req.scopeElementId ? 'updateScopeElement' : 'addScopeElement';
|
|
187
|
+
await axios.post(`${serviceAddress}/access/sandboxes/${sandboxKey}/user/${userKey}/${path}`, req, {
|
|
188
|
+
headers: await authHeaders(),
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Observable version of `updateUserAccess`. See `updateUserAccess` for details.
|
|
193
|
+
*/
|
|
194
|
+
export function updateUserAccessAsObservable(userKey, req) {
|
|
195
|
+
return from(updateUserAccess(userKey, req));
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Removes one sandbox scope entry from a user.
|
|
199
|
+
*
|
|
200
|
+
* @param userKey - Persisted user object key
|
|
201
|
+
* @param scopeElementId - Scope element ID to remove from the user
|
|
202
|
+
*/
|
|
203
|
+
export async function removeUserAccess(userKey, scopeElementId) {
|
|
204
|
+
await axios.delete(`${serviceAddress}/access/sandboxes/${sandboxKey}/user/${userKey}/removeScopeElements`, {
|
|
205
|
+
headers: await authHeaders(),
|
|
206
|
+
data: { scopeElementIds: [scopeElementId] },
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Observable version of `removeUserAccess`. See `removeUserAccess` for details.
|
|
211
|
+
*/
|
|
212
|
+
export function removeUserAccessAsObservable(userKey, scopeElementId) {
|
|
213
|
+
return from(removeUserAccess(userKey, scopeElementId));
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Checks whether the current user context contains a business privilege ID.
|
|
217
|
+
*
|
|
218
|
+
* @param privilegeId - Stable business privilege ID
|
|
219
|
+
* @returns True when the current user has the privilege
|
|
220
|
+
*/
|
|
221
|
+
export function hasBusinessPrivilege(privilegeId) {
|
|
222
|
+
return userContext?.businessPrivileges?.includes(privilegeId) ?? false;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Returns the current user's business privilege IDs from the SDK user context.
|
|
226
|
+
*
|
|
227
|
+
* @returns Business privilege IDs for the current user, or an empty array when none are available
|
|
228
|
+
*/
|
|
229
|
+
export function userPrivileges() {
|
|
230
|
+
return userContext?.businessPrivileges ?? [];
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/access.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/content.js
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* Key features:
|
|
15
15
|
* - Retrieve content resources (images, documents, etc.)
|
|
16
16
|
* - Upload/save content resources (images, documents, etc.)
|
|
17
|
+
* - Download file resources in the browser (e.g. as a button click handler)
|
|
17
18
|
*/
|
|
18
19
|
import axios from 'axios';
|
|
19
20
|
import { from, lastValueFrom } from 'rxjs';
|
|
@@ -167,4 +168,60 @@ export async function createOrUpdateResource(resourceKey, fileToUpload, publicFl
|
|
|
167
168
|
export function createOrUpdateResourceAsObservable(resourceKey, fileToUpload, publicFlag, resourceType, tags) {
|
|
168
169
|
return from(createOrUpdateResource(resourceKey, fileToUpload, publicFlag, resourceType, tags));
|
|
169
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Fetches a file resource from the Halix content service and returns it as a `Blob` along with
|
|
173
|
+
* the filename derived from the `Content-Disposition` response header (falling back to
|
|
174
|
+
* `resourceKey` when the header is absent).
|
|
175
|
+
*
|
|
176
|
+
* This function is environment-agnostic: it performs only the authenticated HTTP fetch and leaves
|
|
177
|
+
* all presentation logic to the caller.
|
|
178
|
+
*
|
|
179
|
+
* **Browser download example** — trigger the native Save dialog from a click handler:
|
|
180
|
+
* ```js
|
|
181
|
+
* button.addEventListener('click', async () => {
|
|
182
|
+
* const { blob, fileName } = await downloadResource(recipe.attachmentKey);
|
|
183
|
+
* const url = URL.createObjectURL(blob);
|
|
184
|
+
* const a = document.createElement('a');
|
|
185
|
+
* a.href = url;
|
|
186
|
+
* a.download = fileName;
|
|
187
|
+
* a.click();
|
|
188
|
+
* URL.revokeObjectURL(url);
|
|
189
|
+
* });
|
|
190
|
+
* ```
|
|
191
|
+
*
|
|
192
|
+
* **Node.js example** — write the blob to disk:
|
|
193
|
+
* ```js
|
|
194
|
+
* const { blob } = await downloadResource(recipe.attachmentKey);
|
|
195
|
+
* const buffer = Buffer.from(await blob.arrayBuffer());
|
|
196
|
+
* fs.writeFileSync('attachment.pdf', buffer);
|
|
197
|
+
* ```
|
|
198
|
+
*
|
|
199
|
+
* @param resourceKey - Key of the content resource to fetch
|
|
200
|
+
* @returns Promise resolving to `{ blob, fileName }`
|
|
201
|
+
*/
|
|
202
|
+
export async function downloadResource(resourceKey) {
|
|
203
|
+
if (!getAuthToken) {
|
|
204
|
+
const errorMessage = 'SDK not initialized.';
|
|
205
|
+
console.error(errorMessage);
|
|
206
|
+
throw new Error(errorMessage);
|
|
207
|
+
}
|
|
208
|
+
const url = `${serviceAddress}/filecontent/${sandboxKey}/${resourceKey}`;
|
|
209
|
+
const authToken = await lastValueFrom(getAuthToken());
|
|
210
|
+
console.log("Sending GET request to " + url + " with token " + authToken);
|
|
211
|
+
const response = await axios.get(url, {
|
|
212
|
+
headers: { "Authorization": `Bearer ${authToken}` },
|
|
213
|
+
responseType: 'blob',
|
|
214
|
+
});
|
|
215
|
+
const blob = response.data;
|
|
216
|
+
const disposition = response.headers['content-disposition'] ?? '';
|
|
217
|
+
const match = disposition.match(/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/);
|
|
218
|
+
const fileName = (match?.[1] ?? '').replace(/['"]/g, '') || resourceKey;
|
|
219
|
+
return { blob, fileName };
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Observable version of downloadResource. See downloadResource for details.
|
|
223
|
+
*/
|
|
224
|
+
export function downloadResourceAsObservable(resourceKey) {
|
|
225
|
+
return from(downloadResource(resourceKey));
|
|
226
|
+
}
|
|
170
227
|
//# sourceMappingURL=content.js.map
|
package/lib/esm/content.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/content.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/content.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;GAIG;AAEH,mFAAmF;AACnF,sDAAsD;AACtD,mFAAmF;AAEnF,OAAO;AACH,UAAU;AACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,OAAO;AAEP,iBAAiB;AACjB,UAAU;AAkBV,mBAAmB;AACnB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AAIH,iBAAiB;AACjB,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,gCAAgC,EAChC,UAAU,EACV,sBAAsB;AAEtB,YAAY;AACZ,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,6BAA6B;AAE7B,cAAc;AACd,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EACnC,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,oBAAoB;AACpB,mFAAmF;AAEnF,OAAO;AAIH,oBAAoB;AACpB,mBAAmB,EACnB,+BAA+B,EAC/B,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;GAIG;AAEH,mFAAmF;AACnF,sDAAsD;AACtD,mFAAmF;AAEnF,OAAO;AACH,UAAU;AACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,OAAO;AAEP,iBAAiB;AACjB,UAAU;AAkBV,mBAAmB;AACnB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AAIH,iBAAiB;AACjB,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,gCAAgC,EAChC,UAAU,EACV,sBAAsB;AAEtB,YAAY;AACZ,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,6BAA6B;AAE7B,cAAc;AACd,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EACnC,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,mBAAmB;AACnB,mFAAmF;AAEnF,OAAO,EASH,SAAS,EACT,qBAAqB,EACrB,sBAAsB,EACtB,kCAAkC,EAClC,gBAAgB,EAChB,4BAA4B,EAC5B,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,sBAAsB,EACtB,gBAAgB,EAChB,4BAA4B,EAC5B,gBAAgB,EAChB,4BAA4B,EAC5B,oBAAoB,EACpB,cAAc,GACjB,MAAM,UAAU,CAAC;AAElB,mFAAmF;AACnF,oBAAoB;AACpB,mFAAmF;AAEnF,OAAO;AAIH,oBAAoB;AACpB,mBAAmB,EACnB,+BAA+B,EAC/B,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,EAClC,gBAAgB,EAChB,4BAA4B,EAC/B,MAAM,WAAW,CAAC;AAEnB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AACH,kBAAkB;AAClB,aAAa;AAKb,sBAAsB;AACtB,WAAW,EACX,uBAAuB,EAC1B,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,uBAAuB;AACvB,mFAAmF;AAEnF,OAAO;AACH,uBAAuB;AACvB,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,qCAAqC,EACxC,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AAcH,YAAY;AACZ,WAAW,EACX,uBAAuB,EACvB,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAEjB,mFAAmF;AACnF,2BAA2B;AAC3B,mFAAmF;AAEnF,OAAO;AACH,UAAU;AACV,mBAAmB;AAYnB,YAAY;AACZ,gBAAgB,EAChB,4BAA4B,EAC/B,MAAM,kBAAkB,CAAC;AAE1B,mFAAmF;AACnF,oBAAoB;AACpB,mFAAmF;AAEnF,OAAO;AAMH,YAAY;AACZ,uBAAuB,EACvB,mCAAmC,EACtC,MAAM,YAAY,CAAC;AAEpB,mFAAmF;AACnF,eAAe;AACf,mFAAmF;AAEnF,OAAO;AAIH,eAAe;AACf,aAAa,EACb,yBAAyB,EAC5B,MAAM,MAAM,CAAC;AAEd,mFAAmF;AACnF,oBAAoB;AACpB,mFAAmF;AAEnF,OAAO,EACH,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,UAAU,EACb,MAAM,aAAa,CAAC"}
|
package/lib/esm/index.mjs
CHANGED
|
@@ -32,11 +32,15 @@ saveObject, saveObjectAsObservable, saveRelatedObject, saveRelatedObjectAsObserv
|
|
|
32
32
|
// Data Delete
|
|
33
33
|
deleteObject, deleteObjectAsObservable, deleteRelatedObject, deleteRelatedObjectAsObservable, deleteRelatedObjects, deleteRelatedObjectsAsObservable } from './data-crud';
|
|
34
34
|
// ================================================================================
|
|
35
|
+
// ACCESS FUNCTIONS
|
|
36
|
+
// ================================================================================
|
|
37
|
+
export { listRoles, listRolesAsObservable, listBusinessPrivileges, listBusinessPrivilegesAsObservable, listSandboxUsers, listSandboxUsersAsObservable, getUserAccess, getUserAccessAsObservable, inviteUser, inviteUserAsObservable, updateUserAccess, updateUserAccessAsObservable, removeUserAccess, removeUserAccessAsObservable, hasBusinessPrivilege, userPrivileges, } from './access';
|
|
38
|
+
// ================================================================================
|
|
35
39
|
// CONTENT FUNCTIONS
|
|
36
40
|
// ================================================================================
|
|
37
41
|
export {
|
|
38
42
|
// Content Functions
|
|
39
|
-
getOrCreateResource, getOrCreateResourceAsObservable, saveResource, saveResourceAsObservable, sendFileContents, sendFileContentsAsObservable, createOrUpdateResource, createOrUpdateResourceAsObservable } from './content';
|
|
43
|
+
getOrCreateResource, getOrCreateResourceAsObservable, saveResource, saveResourceAsObservable, sendFileContents, sendFileContentsAsObservable, createOrUpdateResource, createOrUpdateResourceAsObservable, downloadResource, downloadResourceAsObservable } from './content';
|
|
40
44
|
// ================================================================================
|
|
41
45
|
// MESSAGING FUNCTIONS
|
|
42
46
|
// ================================================================================
|
package/lib/esm/sdk-general.js
CHANGED
|
@@ -64,6 +64,9 @@ export function initialize(event) {
|
|
|
64
64
|
}
|
|
65
65
|
if (body) {
|
|
66
66
|
({ sandboxKey, serviceAddress, actionSubject, userContext, params } = body);
|
|
67
|
+
if (userContext && !userContext.businessPrivileges) {
|
|
68
|
+
userContext.businessPrivileges = [];
|
|
69
|
+
}
|
|
67
70
|
if (body.authToken) {
|
|
68
71
|
getAuthToken = () => of(body.authToken);
|
|
69
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-general.js","sourceRoot":"","sources":["../../src/sdk-general.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAc,EAAE,EAAE,MAAM,MAAM,CAAC;AAEtC,mFAAmF;AACnF,sCAAsC;AACtC,mFAAmF;AAEnF;;GAEG;AACH,MAAM,CAAC,IAAI,YAAsC,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,IAAI,UAAkB,CAAC;AAE9B;;GAEG;AACH,MAAM,CAAC,IAAI,cAAsB,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,IAAI,aAAkB,CAAC;AAE9B;;GAEG;AACH,MAAM,CAAC,IAAI,WAAwB,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,IAAI,MAAc,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,IAAI,OAAgB,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAmC;IAE1D,IAAI,IAAI,GAAQ,KAAK,CAAC;IACtB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAClB,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACP,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk-general.js","sourceRoot":"","sources":["../../src/sdk-general.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAc,EAAE,EAAE,MAAM,MAAM,CAAC;AAEtC,mFAAmF;AACnF,sCAAsC;AACtC,mFAAmF;AAEnF;;GAEG;AACH,MAAM,CAAC,IAAI,YAAsC,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,IAAI,UAAkB,CAAC;AAE9B;;GAEG;AACH,MAAM,CAAC,IAAI,cAAsB,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,IAAI,aAAkB,CAAC;AAE9B;;GAEG;AACH,MAAM,CAAC,IAAI,WAAwB,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,IAAI,MAAc,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,IAAI,OAAgB,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAmC;IAE1D,IAAI,IAAI,GAAQ,KAAK,CAAC;IACtB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAClB,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACP,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QAC5E,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;YACjD,WAAW,CAAC,kBAAkB,GAAG,EAAE,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,YAAY,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3C,CAAC;IACL,CAAC;AACL,CAAC;AAyKD,mFAAmF;AACnF,4BAA4B;AAC5B,mFAAmF;AAEnF;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,eAA+B;IAClE,IAAI,OAAO,EAAE,CAAC;QACV,OAAO;YACH,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;SACxC,CAAC;IACN,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAAoB;IACrD,IAAI,OAAO,EAAE,CAAC;QACV,OAAO;YACH,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;SACzC,CAAC;IACN,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;AACnD,CAAC"}
|