@halix/action-sdk 1.0.24 → 1.0.26
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/content.js +12 -70
- package/lib/cjs/data-aggregate.js +101 -0
- package/lib/cjs/data-crud.js +24 -117
- package/lib/cjs/index.js +15 -1
- package/lib/cjs/lists.js +22 -176
- package/lib/cjs/messaging.js +8 -59
- package/lib/cjs/preferences.js +75 -0
- package/lib/cjs/sdk-general.js +6 -18
- package/lib/cjs/types/content.d.ts +12 -70
- package/lib/cjs/types/content.d.ts.map +1 -1
- package/lib/cjs/types/data-aggregate.d.ts +140 -0
- package/lib/cjs/types/data-aggregate.d.ts.map +1 -0
- package/lib/cjs/types/data-crud.d.ts +24 -117
- package/lib/cjs/types/data-crud.d.ts.map +1 -1
- package/lib/cjs/types/filter-expressions.d.ts +35 -107
- package/lib/cjs/types/filter-expressions.d.ts.map +1 -1
- package/lib/cjs/types/index.d.ts +2 -0
- package/lib/cjs/types/index.d.ts.map +1 -1
- package/lib/cjs/types/lists.d.ts +22 -177
- package/lib/cjs/types/lists.d.ts.map +1 -1
- package/lib/cjs/types/messaging.d.ts +8 -59
- package/lib/cjs/types/messaging.d.ts.map +1 -1
- package/lib/cjs/types/preferences.d.ts +17 -0
- package/lib/cjs/types/preferences.d.ts.map +1 -0
- package/lib/cjs/types/sdk-general.d.ts +23 -78
- package/lib/cjs/types/sdk-general.d.ts.map +1 -1
- package/lib/cjs/types/utilities.d.ts +9 -29
- package/lib/cjs/types/utilities.d.ts.map +1 -1
- package/lib/cjs/utilities.js +9 -29
- package/lib/esm/content.js +12 -70
- package/lib/esm/content.js.map +1 -1
- package/lib/esm/data-aggregate.js +84 -0
- package/lib/esm/data-aggregate.js.map +1 -0
- package/lib/esm/data-crud.js +24 -117
- package/lib/esm/data-crud.js.map +1 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/index.mjs +12 -0
- package/lib/esm/lists.js +22 -176
- package/lib/esm/lists.js.map +1 -1
- package/lib/esm/messaging.js +8 -59
- package/lib/esm/messaging.js.map +1 -1
- package/lib/esm/preferences.js +57 -0
- package/lib/esm/preferences.js.map +1 -0
- package/lib/esm/sdk-general.js +13 -45
- package/lib/esm/sdk-general.js.map +1 -1
- package/lib/esm/types/content.d.ts +12 -70
- package/lib/esm/types/data-aggregate.d.ts +139 -0
- package/lib/esm/types/data-crud.d.ts +24 -117
- package/lib/esm/types/filter-expressions.d.ts +35 -107
- package/lib/esm/types/index.d.ts +2 -0
- package/lib/esm/types/lists.d.ts +22 -177
- package/lib/esm/types/messaging.d.ts +8 -59
- package/lib/esm/types/preferences.d.ts +16 -0
- package/lib/esm/types/sdk-general.d.ts +23 -78
- package/lib/esm/types/utilities.d.ts +9 -29
- package/lib/esm/utilities.js +9 -29
- package/lib/esm/utilities.js.map +1 -1
- package/package.json +1 -1
package/lib/cjs/types/lists.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ export interface BaseListDataRequest {
|
|
|
60
60
|
childKeysField?: string;
|
|
61
61
|
/**
|
|
62
62
|
* Filter expression to limit results. Evaluated within the parent key scope.
|
|
63
|
-
* @see
|
|
63
|
+
* @see the filter-expressions module for filter syntax and examples
|
|
64
64
|
*/
|
|
65
65
|
filter?: FilterExpression;
|
|
66
66
|
/**
|
|
@@ -201,24 +201,13 @@ export interface MassChangeResponse {
|
|
|
201
201
|
failed: number;
|
|
202
202
|
}
|
|
203
203
|
/**
|
|
204
|
-
*
|
|
205
|
-
* different modes based on the provided options:
|
|
204
|
+
* Retrieves paginated list data. Supports authenticated/public access, filtering, sorting, and binary search.
|
|
206
205
|
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
* 4. Public list data with search (when both isPublic and search options are provided)
|
|
211
|
-
*
|
|
212
|
-
* The search functionality uses binary search to efficiently locate items in a sorted list by
|
|
213
|
-
* a specific attribute value.
|
|
214
|
-
*
|
|
215
|
-
* @param request - The list data request containing list configuration and parameters
|
|
216
|
-
* @param options - Optional configuration for the request
|
|
217
|
-
*
|
|
218
|
-
* @returns Promise resolving to the list data response
|
|
206
|
+
* @param request - List configuration including dataElementId, parentDataElementId, parentKey, pagination, sort, filter
|
|
207
|
+
* @param options - Optional: isPublic, bypassTotal, search
|
|
208
|
+
* @returns Promise<ListDataResponse> with data array, total count, pageNumber
|
|
219
209
|
*
|
|
220
210
|
* @example
|
|
221
|
-
* // Basic authenticated list data retrieval
|
|
222
211
|
* const listData = await getListData({
|
|
223
212
|
* dataElementId: 'customer',
|
|
224
213
|
* parentDataElementId: 'company',
|
|
@@ -227,199 +216,55 @@ export interface MassChangeResponse {
|
|
|
227
216
|
* pageSize: 50,
|
|
228
217
|
* displayFields: ['firstName', 'lastName', 'email']
|
|
229
218
|
* });
|
|
230
|
-
* console.log('Total customers:', listData.total);
|
|
231
|
-
* console.log('Page:', listData.pageNumber);
|
|
232
|
-
* console.log('Data:', listData.data);
|
|
233
|
-
*
|
|
234
|
-
* @example
|
|
235
|
-
* // Public list data retrieval without authentication
|
|
236
|
-
* const publicData = await getListData({
|
|
237
|
-
* dataElementId: 'product',
|
|
238
|
-
* parentDataElementId: 'catalog',
|
|
239
|
-
* parentKey: orgProxyKey,
|
|
240
|
-
* pageNumber: 1,
|
|
241
|
-
* pageSize: 20
|
|
242
|
-
* }, { isPublic: true });
|
|
243
|
-
*
|
|
244
|
-
* @example
|
|
245
|
-
* // List data retrieval with binary search
|
|
246
|
-
* const searchData = await getListData({
|
|
247
|
-
* dataElementId: 'purchases',
|
|
248
|
-
* parentDataElementId: 'customer',
|
|
249
|
-
* parentKey: userProxyKey,
|
|
250
|
-
* sort: [{ attributeId: 'invoiceNumber', descending: false }]
|
|
251
|
-
* }, {
|
|
252
|
-
* search: {
|
|
253
|
-
* attributeId: 'invoiceNumber',
|
|
254
|
-
* value: 'INV-123456',
|
|
255
|
-
* total: 1000
|
|
256
|
-
* }
|
|
257
|
-
* });
|
|
258
|
-
* console.log('Selected row index:', searchData.selectedRow);
|
|
259
219
|
*/
|
|
260
220
|
export declare function getListData(request: PagedListDataRequest, options?: ListDataOptions): Promise<ListDataResponse>;
|
|
261
221
|
/**
|
|
262
|
-
*
|
|
263
|
-
* function operates in the same four modes as getListData.
|
|
264
|
-
*
|
|
265
|
-
* @param request - The list data request containing list configuration and parameters
|
|
266
|
-
* @param options - Optional configuration for the request
|
|
267
|
-
*
|
|
268
|
-
* @returns Observable resolving to the list data response
|
|
222
|
+
* Observable version of getListData. See getListData for details.
|
|
269
223
|
*
|
|
270
224
|
* @example
|
|
271
|
-
*
|
|
272
|
-
*
|
|
273
|
-
* dataElementId: 'customer',
|
|
274
|
-
* parentDataElementId: 'company',
|
|
275
|
-
* parentKey: userContext.orgProxyKey,
|
|
276
|
-
* pageNumber: 1,
|
|
277
|
-
* pageSize: 50
|
|
278
|
-
* }).subscribe(response => {
|
|
279
|
-
* console.log('Total customers:', response.total);
|
|
280
|
-
* console.log('Page:', response.pageNumber);
|
|
281
|
-
* console.log('Data:', response.data);
|
|
282
|
-
* });
|
|
225
|
+
* getListDataAsObservable({ dataElementId: 'customer', parentDataElementId: 'company', parentKey: orgProxyKey })
|
|
226
|
+
* .subscribe(response => console.log(response.data));
|
|
283
227
|
*/
|
|
284
228
|
export declare function getListDataAsObservable(request: PagedListDataRequest, options?: ListDataOptions): Observable<ListDataResponse>;
|
|
285
229
|
/**
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
* **Security Scoping**: The dataRequest serves as a security boundary. Only records that would
|
|
290
|
-
* be returned by the dataRequest can be updated. The keys array must reference records within
|
|
291
|
-
* this scope. This allows efficient security validation without checking each record individually.
|
|
292
|
-
*
|
|
293
|
-
* The value can be set in two ways based on valueType:
|
|
294
|
-
* - 'literal': Set the property to a literal value
|
|
295
|
-
* - 'property': Copy the value from another property on the same object
|
|
296
|
-
*
|
|
297
|
-
* @param request - The mass edit request specifying what to update and how
|
|
230
|
+
* Bulk update multiple records. The dataRequest defines security scope; only records within that scope can be updated.
|
|
231
|
+
* Use valueType 'literal' to set a value, or 'property' to copy from another field.
|
|
298
232
|
*
|
|
299
|
-
* @
|
|
233
|
+
* @param request - keys[], dataRequest (scope), dataElementId, property, valueType, value
|
|
234
|
+
* @returns Promise<MassChangeResponse> with tried/succeeded/failed counts
|
|
300
235
|
*
|
|
301
236
|
* @example
|
|
302
|
-
* // Update the status of multiple orders to 'shipped'
|
|
303
237
|
* const result = await massEdit({
|
|
304
|
-
* keys: ['order-123', 'order-456'
|
|
305
|
-
* dataRequest: {
|
|
306
|
-
* dataElementId: 'order',
|
|
307
|
-
* parentDataElementId: 'company',
|
|
308
|
-
* parentKey: orgProxyKey
|
|
309
|
-
* },
|
|
238
|
+
* keys: ['order-123', 'order-456'],
|
|
239
|
+
* dataRequest: { dataElementId: 'order', parentDataElementId: 'company', parentKey: orgProxyKey },
|
|
310
240
|
* dataElementId: 'order',
|
|
311
241
|
* property: 'status',
|
|
312
242
|
* valueType: 'literal',
|
|
313
243
|
* value: 'shipped'
|
|
314
244
|
* });
|
|
315
|
-
* console.log(`Updated ${result.succeeded} of ${result.tried} orders`);
|
|
316
|
-
*
|
|
317
|
-
* @example
|
|
318
|
-
* // Copy shipping address to billing address for multiple customers
|
|
319
|
-
* const result = await massEdit({
|
|
320
|
-
* keys: selectedCustomerKeys,
|
|
321
|
-
* dataRequest: {
|
|
322
|
-
* dataElementId: 'customer',
|
|
323
|
-
* parentDataElementId: 'company',
|
|
324
|
-
* parentKey: orgProxyKey
|
|
325
|
-
* },
|
|
326
|
-
* dataElementId: 'customer',
|
|
327
|
-
* property: 'billingAddress',
|
|
328
|
-
* valueType: 'property',
|
|
329
|
-
* value: 'shippingAddress'
|
|
330
|
-
* });
|
|
331
245
|
*/
|
|
332
246
|
export declare function massEdit(request: MassEditRequest): Promise<MassChangeResponse>;
|
|
333
247
|
/**
|
|
334
|
-
*
|
|
335
|
-
* See massEdit for detailed documentation.
|
|
336
|
-
*
|
|
337
|
-
* @param request - The mass edit request specifying what to update and how
|
|
338
|
-
*
|
|
339
|
-
* @returns Observable resolving to statistics about the operation
|
|
340
|
-
*
|
|
341
|
-
* @example
|
|
342
|
-
* massEditAsObservable({
|
|
343
|
-
* keys: ['order-123', 'order-456'],
|
|
344
|
-
* dataRequest: {
|
|
345
|
-
* dataElementId: 'order',
|
|
346
|
-
* parentDataElementId: 'company',
|
|
347
|
-
* parentKey: orgProxyKey
|
|
348
|
-
* },
|
|
349
|
-
* dataElementId: 'order',
|
|
350
|
-
* property: 'status',
|
|
351
|
-
* valueType: 'literal',
|
|
352
|
-
* value: 'shipped'
|
|
353
|
-
* }).subscribe(result => {
|
|
354
|
-
* console.log(`Updated ${result.succeeded} of ${result.tried} orders`);
|
|
355
|
-
* });
|
|
248
|
+
* Observable version of massEdit. See massEdit for details.
|
|
356
249
|
*/
|
|
357
250
|
export declare function massEditAsObservable(request: MassEditRequest): Observable<MassChangeResponse>;
|
|
358
251
|
/**
|
|
359
|
-
*
|
|
360
|
-
*
|
|
361
|
-
*
|
|
362
|
-
* **Security Scoping**: The dataRequest serves as a security boundary. Only records that would
|
|
363
|
-
* be returned by the dataRequest can be deleted. The keys array must reference records within
|
|
364
|
-
* this scope. This allows efficient security validation without checking each record individually.
|
|
365
|
-
*
|
|
366
|
-
* If emptyList is set to true, all records returned by the dataRequest will be deleted,
|
|
367
|
-
* ignoring the keys array.
|
|
368
|
-
*
|
|
369
|
-
* @param request - The mass delete request specifying what to delete
|
|
252
|
+
* Bulk soft-delete multiple records. The dataRequest defines security scope; only records within that scope can be deleted.
|
|
253
|
+
* Set emptyList: true to delete all records matching dataRequest (ignores keys array).
|
|
370
254
|
*
|
|
371
|
-
* @
|
|
255
|
+
* @param request - keys[], dataRequest (scope), dataElementId, emptyList?
|
|
256
|
+
* @returns Promise<MassChangeResponse> with tried/succeeded/failed counts
|
|
372
257
|
*
|
|
373
258
|
* @example
|
|
374
|
-
* // Delete specific orders
|
|
375
259
|
* const result = await massDelete({
|
|
376
|
-
* keys: ['order-123', 'order-456'
|
|
377
|
-
* dataRequest: {
|
|
378
|
-
* dataElementId: 'order',
|
|
379
|
-
* parentDataElementId: 'company',
|
|
380
|
-
* parentKey: orgProxyKey,
|
|
381
|
-
* filter: { field: 'status', operator: '==', value: 'cancelled' }
|
|
382
|
-
* },
|
|
260
|
+
* keys: ['order-123', 'order-456'],
|
|
261
|
+
* dataRequest: { dataElementId: 'order', parentDataElementId: 'company', parentKey: orgProxyKey },
|
|
383
262
|
* dataElementId: 'order'
|
|
384
263
|
* });
|
|
385
|
-
* console.log(`Deleted ${result.succeeded} of ${result.tried} orders`);
|
|
386
|
-
*
|
|
387
|
-
* @example
|
|
388
|
-
* // Delete all records matching the filter
|
|
389
|
-
* const result = await massDelete({
|
|
390
|
-
* keys: [],
|
|
391
|
-
* dataRequest: {
|
|
392
|
-
* dataElementId: 'tempRecord',
|
|
393
|
-
* parentDataElementId: 'company',
|
|
394
|
-
* parentKey: orgProxyKey,
|
|
395
|
-
* filter: { field: 'createdDate', operator: '<', value: '2023-01-01' }
|
|
396
|
-
* },
|
|
397
|
-
* dataElementId: 'tempRecord',
|
|
398
|
-
* emptyList: true
|
|
399
|
-
* });
|
|
400
|
-
* console.log(`Deleted ${result.succeeded} old records`);
|
|
401
264
|
*/
|
|
402
265
|
export declare function massDelete(request: MassDeleteRequest): Promise<MassChangeResponse>;
|
|
403
266
|
/**
|
|
404
|
-
*
|
|
405
|
-
* See massDelete for detailed documentation.
|
|
406
|
-
*
|
|
407
|
-
* @param request - The mass delete request specifying what to delete
|
|
408
|
-
*
|
|
409
|
-
* @returns Observable resolving to statistics about the operation
|
|
410
|
-
*
|
|
411
|
-
* @example
|
|
412
|
-
* massDeleteAsObservable({
|
|
413
|
-
* keys: ['order-123', 'order-456'],
|
|
414
|
-
* dataRequest: {
|
|
415
|
-
* dataElementId: 'order',
|
|
416
|
-
* parentDataElementId: 'company',
|
|
417
|
-
* parentKey: orgProxyKey
|
|
418
|
-
* },
|
|
419
|
-
* dataElementId: 'order'
|
|
420
|
-
* }).subscribe(result => {
|
|
421
|
-
* console.log(`Deleted ${result.succeeded} of ${result.tried} orders`);
|
|
422
|
-
* });
|
|
267
|
+
* Observable version of massDelete. See massDelete for details.
|
|
423
268
|
*/
|
|
424
269
|
export declare function massDeleteAsObservable(request: MassDeleteRequest): Observable<MassChangeResponse>;
|
|
425
270
|
//# sourceMappingURL=lists.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../src/lists.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../src/lists.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,74 +37,23 @@ export interface MessageRequest {
|
|
|
37
37
|
resourceKeys?: string[];
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
41
|
-
* service. The message is sent asynchronously - this function returns immediately after the
|
|
42
|
-
* message is queued for sending.
|
|
40
|
+
* Sends email/text message to recipients. Returns when message is queued (sent asynchronously).
|
|
43
41
|
*
|
|
44
|
-
* @param orgProxyElementId -
|
|
45
|
-
* @param orgProxyKey -
|
|
46
|
-
* @param message -
|
|
47
|
-
*
|
|
48
|
-
* @returns Promise that resolves when the message has been queued for sending
|
|
42
|
+
* @param orgProxyElementId - Org proxy element ID (e.g., "business")
|
|
43
|
+
* @param orgProxyKey - Org proxy key
|
|
44
|
+
* @param message - MessageRequest with userProxyKeys/directEmailAddresses, subject, body, sentAs, replyToEmail, resourceKeys
|
|
45
|
+
* @returns Promise<void> - resolves when queued
|
|
49
46
|
*
|
|
50
47
|
* @example
|
|
51
|
-
* ```typescript
|
|
52
|
-
* // Send an email to customers (sentAs defaults to email)
|
|
53
48
|
* await sendMessage('business', businessKey, {
|
|
54
|
-
* userProxyKeys: [customerKey1, customerKey2
|
|
49
|
+
* userProxyKeys: [customerKey1, customerKey2],
|
|
55
50
|
* subject: 'Important Announcement',
|
|
56
|
-
* body: '<p>This is an important announcement.</p>'
|
|
57
|
-
* replyToEmail: 'sender@example.com'
|
|
58
|
-
* });
|
|
59
|
-
* ```
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```typescript
|
|
63
|
-
* // Send to user proxies and direct email addresses
|
|
64
|
-
* await sendMessage('business', businessKey, {
|
|
65
|
-
* userProxyKeys: [clientKey1, clientKey2],
|
|
66
|
-
* directEmailAddresses: ['manager@example.com'],
|
|
67
|
-
* sentAs: MessageMethod.EmailAndText,
|
|
68
|
-
* subject: 'Project Reminder',
|
|
69
|
-
* body: '<p>Don\'t forget about the deadline.</p>',
|
|
70
|
-
* resourceKeys: [attachmentKey]
|
|
71
|
-
* });
|
|
72
|
-
* ```
|
|
73
|
-
*
|
|
74
|
-
* @example
|
|
75
|
-
* ```typescript
|
|
76
|
-
* // Send email to direct addresses only (no user proxies)
|
|
77
|
-
* await sendMessage('business', businessKey, {
|
|
78
|
-
* directEmailAddresses: ['partner@example.com', 'vendor@example.com'],
|
|
79
|
-
* subject: 'External Notification',
|
|
80
|
-
* body: '<p>Important information for external stakeholders.</p>'
|
|
51
|
+
* body: '<p>This is an important announcement.</p>'
|
|
81
52
|
* });
|
|
82
|
-
* ```
|
|
83
53
|
*/
|
|
84
54
|
export declare function sendMessage(orgProxyElementId: string, orgProxyKey: string, message: MessageRequest): Promise<void>;
|
|
85
55
|
/**
|
|
86
|
-
*
|
|
87
|
-
* notification service. The message is sent asynchronously - this observable completes immediately
|
|
88
|
-
* after the message is queued for sending.
|
|
89
|
-
*
|
|
90
|
-
* @param orgProxyElementId - The ID of the organization proxy element (e.g., "business", "school")
|
|
91
|
-
* @param orgProxyKey - The key of the organization proxy object
|
|
92
|
-
* @param message - The message request object containing recipients, content, and delivery options
|
|
93
|
-
*
|
|
94
|
-
* @returns Observable that completes when the message has been queued for sending
|
|
95
|
-
*
|
|
96
|
-
* @example
|
|
97
|
-
* ```typescript
|
|
98
|
-
* sendMessageAsObservable('business', businessKey, {
|
|
99
|
-
* userProxyKeys: [customerKey1, customerKey2],
|
|
100
|
-
* directEmailAddresses: ['admin@example.com'],
|
|
101
|
-
* subject: 'Monthly Newsletter',
|
|
102
|
-
* body: '<p>Newsletter content here...</p>'
|
|
103
|
-
* }).subscribe({
|
|
104
|
-
* next: () => console.log('Message queued for sending'),
|
|
105
|
-
* error: (err) => console.error('Failed to send message:', err)
|
|
106
|
-
* });
|
|
107
|
-
* ```
|
|
56
|
+
* Observable version of sendMessage. See sendMessage for details.
|
|
108
57
|
*/
|
|
109
58
|
export declare function sendMessageAsObservable(orgProxyElementId: string, orgProxyKey: string, message: MessageRequest): Observable<void>;
|
|
110
59
|
//# sourceMappingURL=messaging.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../../src/messaging.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAQ,UAAU,EAAiB,MAAM,MAAM,CAAC;AAOvD;;GAEG;AACH,oBAAY,aAAa;IACrB,oBAAoB;IACpB,KAAK,UAAU;IACf,uBAAuB;IACvB,IAAI,SAAS;IACb,kCAAkC;IAClC,YAAY,eAAe;CAC9B;AAMD;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC3B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,2GAA2G;IAC3G,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IAChC,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAqCD
|
|
1
|
+
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../../src/messaging.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAQ,UAAU,EAAiB,MAAM,MAAM,CAAC;AAOvD;;GAEG;AACH,oBAAY,aAAa;IACrB,oBAAoB;IACpB,KAAK,UAAU;IACf,uBAAuB;IACvB,IAAI,SAAS;IACb,kCAAkC;IAClC,YAAY,eAAe;CAC9B;AAMD;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC3B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,2GAA2G;IAC3G,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IAChC,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAqCD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCxH;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAEjI"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieves a preference value for the current user.
|
|
4
|
+
*
|
|
5
|
+
* @param prefID - The preference ID to retrieve
|
|
6
|
+
* @returns Promise<any> - the preference value
|
|
7
|
+
* @throws Error if SDK not initialized or user context not available
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const preferenceValue = await getPreference('myPreferenceId');
|
|
11
|
+
*/
|
|
12
|
+
export declare function getPreference(prefID: string): Promise<any>;
|
|
13
|
+
/**
|
|
14
|
+
* Observable version of getPreference. See getPreference for details.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getPreferenceAsObservable(prefID: string): Observable<any>;
|
|
17
|
+
//# sourceMappingURL=preferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/preferences.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAQ,UAAU,EAAiB,MAAM,MAAM,CAAC;AAOvD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CA2BhE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAEzE"}
|
|
@@ -13,59 +13,37 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { Observable } from 'rxjs';
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
* to Halix web services. This value is set upon calling the initialize function with incoming event
|
|
18
|
-
* data.
|
|
16
|
+
* Authentication token for API requests. Set by initialize().
|
|
19
17
|
*/
|
|
20
18
|
export declare let getAuthToken: () => Observable<string>;
|
|
21
19
|
/**
|
|
22
|
-
*
|
|
23
|
-
* running in. The sandbox identifies the current solution. This value is set upon calling the
|
|
24
|
-
* initialize function with incoming event data.
|
|
20
|
+
* Sandbox key identifier for the current solution. Set by initialize().
|
|
25
21
|
*/
|
|
26
22
|
export declare let sandboxKey: string;
|
|
27
23
|
/**
|
|
28
|
-
*
|
|
29
|
-
* requests to. This value is set upon calling the initialize function with incoming event data.
|
|
24
|
+
* Halix service URL for API requests. Set by initialize().
|
|
30
25
|
*/
|
|
31
26
|
export declare let serviceAddress: string;
|
|
32
27
|
/**
|
|
33
|
-
*
|
|
34
|
-
* that the action is being performed on. The action subject's contents will differ depending on the
|
|
35
|
-
* context in which the action is being executed. This value is set upon calling the initialize
|
|
36
|
-
* function with incoming event data.
|
|
37
|
-
* - for formTemplateActions, the action subject is the data being edited on the form
|
|
38
|
-
* - for pageTemplateActions, the action subject is record containing the context variables and
|
|
39
|
-
* their corresponding values on the page
|
|
40
|
-
* - for objectSaveActions, the action subject is the object being saved
|
|
41
|
-
* - for calculatedFieldActions, the action subject is the object containing the calculated field
|
|
42
|
-
* - for singleValueActions, the action subject may differ depending on the caller
|
|
28
|
+
* Subject of the action (context-dependent: form data, page variables, object being saved, etc.). Set by initialize().
|
|
43
29
|
*/
|
|
44
30
|
export declare let actionSubject: any;
|
|
45
31
|
/**
|
|
46
|
-
*
|
|
47
|
-
* This value is set upon calling the initialize function with incoming event data.
|
|
32
|
+
* User context (user, userProxy, orgProxy, keys). Set by initialize().
|
|
48
33
|
*/
|
|
49
34
|
export declare let userContext: UserContext;
|
|
50
35
|
/**
|
|
51
|
-
*
|
|
52
|
-
* contain the values entered in the dialog. This value is set upon calling the initialize
|
|
53
|
-
* function with incoming event data.
|
|
36
|
+
* Parameters passed to the action (e.g., from input dialog). Set by initialize().
|
|
54
37
|
*/
|
|
55
38
|
export declare let params: string;
|
|
56
39
|
/**
|
|
57
|
-
*
|
|
58
|
-
* returned as an object with the HTTP response code and ActionResponse in the body field. If false,
|
|
59
|
-
* the ActionResponse will be returned directly. Typically, this does not need to be set by the
|
|
60
|
-
* action handler and should remain false.
|
|
40
|
+
* Response format flag (internal). Typically leave as false.
|
|
61
41
|
*/
|
|
62
42
|
export declare let useBody: boolean;
|
|
63
43
|
/**
|
|
64
|
-
*
|
|
65
|
-
* action handler to set up the SDK with incoming information, including context information, input
|
|
66
|
-
* parameters, and authentication information needed to make API requests to the Halix service.
|
|
44
|
+
* Initializes SDK with event data. Call at the beginning of action handler to set up authentication, context, and parameters.
|
|
67
45
|
*
|
|
68
|
-
* @param event -
|
|
46
|
+
* @param event - Event object with body containing IncomingEventBody
|
|
69
47
|
*/
|
|
70
48
|
export declare function initialize(event: {
|
|
71
49
|
body?: IncomingEventBody;
|
|
@@ -95,25 +73,14 @@ export interface IncomingEventBody {
|
|
|
95
73
|
params: Record<string, any>;
|
|
96
74
|
}
|
|
97
75
|
/**
|
|
98
|
-
*
|
|
76
|
+
* Base properties for action responses. Use specific response types: ListActionResponse, FormTemplateActionResponse, etc.
|
|
99
77
|
*/
|
|
100
78
|
export interface BaseActionResponse {
|
|
101
|
-
/**
|
|
102
|
-
* The type of action response
|
|
103
|
-
*
|
|
104
|
-
* listAction - Use when the action is being run from a list
|
|
105
|
-
* formTemplateAction - Use when the action is being run from a form template
|
|
106
|
-
* pageTemplateAction - Use when the action is being run from a page template
|
|
107
|
-
* objectSaveAction - Use when the action has been specified for use on object save events
|
|
108
|
-
* calculatedFieldAction - Use when the action is being used to determine calculated field values
|
|
109
|
-
* singleValueAction - Use when the action is being used to determine a single value in specific
|
|
110
|
-
* build-in platform events (e.g., determining shopping cart prices)
|
|
111
|
-
* error - Use when the action is not successful
|
|
112
|
-
*/
|
|
79
|
+
/** Response type: listAction, formTemplateAction, pageTemplateAction, objectSaveAction, calculatedFieldAction, singleValueAction, or error */
|
|
113
80
|
responseType: "listAction" | "formTemplateAction" | "pageTemplateAction" | "objectSaveAction" | "calculatedFieldAction" | "singleValueAction" | "error";
|
|
114
81
|
/** Whether the action is an error */
|
|
115
82
|
isError: boolean;
|
|
116
|
-
/**
|
|
83
|
+
/** Optional notification configurations */
|
|
117
84
|
notificationConfigs?: NotificationConfig[];
|
|
118
85
|
}
|
|
119
86
|
/**
|
|
@@ -121,8 +88,7 @@ export interface BaseActionResponse {
|
|
|
121
88
|
*/
|
|
122
89
|
export type ActionResponse = ListActionResponse | FormTemplateActionResponse | PageTemplateActionResponse | ObjectSaveActionResponse | CalculatedFieldActionResponse | SingleValueActionResponse;
|
|
123
90
|
/**
|
|
124
|
-
*
|
|
125
|
-
* successful action response.
|
|
91
|
+
* Notification configuration for triggering notifications from action responses.
|
|
126
92
|
*/
|
|
127
93
|
export interface NotificationConfig {
|
|
128
94
|
/** The ID of a notification definition setup within the solution */
|
|
@@ -167,9 +133,7 @@ export interface NotificationConfig {
|
|
|
167
133
|
};
|
|
168
134
|
}
|
|
169
135
|
/**
|
|
170
|
-
*
|
|
171
|
-
* properties are expected by the list framework unpon receiving an action response from an action
|
|
172
|
-
* handler.
|
|
136
|
+
* Response for actions run from lists.
|
|
173
137
|
*/
|
|
174
138
|
export interface ListActionResponse extends BaseActionResponse {
|
|
175
139
|
responseType: "listAction";
|
|
@@ -177,9 +141,7 @@ export interface ListActionResponse extends BaseActionResponse {
|
|
|
177
141
|
successMessage: string;
|
|
178
142
|
}
|
|
179
143
|
/**
|
|
180
|
-
*
|
|
181
|
-
* response. These properties are expected by the form framework unpon receiving an action response
|
|
182
|
-
* from an action handler.
|
|
144
|
+
* Response for actions run from forms.
|
|
183
145
|
*/
|
|
184
146
|
export interface FormTemplateActionResponse extends BaseActionResponse {
|
|
185
147
|
responseType: "formTemplateAction";
|
|
@@ -187,9 +149,7 @@ export interface FormTemplateActionResponse extends BaseActionResponse {
|
|
|
187
149
|
successMessage: string;
|
|
188
150
|
}
|
|
189
151
|
/**
|
|
190
|
-
*
|
|
191
|
-
* response. These properties are expected by the page framework unpon receiving an action response
|
|
192
|
-
* from an action handler.
|
|
152
|
+
* Response for actions run from pages.
|
|
193
153
|
*/
|
|
194
154
|
export interface PageTemplateActionResponse extends BaseActionResponse {
|
|
195
155
|
responseType: "pageTemplateAction";
|
|
@@ -198,9 +158,7 @@ export interface PageTemplateActionResponse extends BaseActionResponse {
|
|
|
198
158
|
refreshPage?: boolean;
|
|
199
159
|
}
|
|
200
160
|
/**
|
|
201
|
-
*
|
|
202
|
-
* response. These properties are expected by the object save framework unpon receiving an action
|
|
203
|
-
* response from an action handler.
|
|
161
|
+
* Response for actions triggered on object save events.
|
|
204
162
|
*/
|
|
205
163
|
export interface ObjectSaveActionResponse extends BaseActionResponse {
|
|
206
164
|
responseType: "objectSaveAction";
|
|
@@ -208,17 +166,14 @@ export interface ObjectSaveActionResponse extends BaseActionResponse {
|
|
|
208
166
|
successMessage: string;
|
|
209
167
|
}
|
|
210
168
|
/**
|
|
211
|
-
*
|
|
212
|
-
* action response. These properties are expected by the calculated field framework unpon receiving
|
|
213
|
-
* an action response from an action handler.
|
|
169
|
+
* Response for actions computing calculated field values.
|
|
214
170
|
*/
|
|
215
171
|
export interface CalculatedFieldActionResponse extends BaseActionResponse {
|
|
216
172
|
responseType: "calculatedFieldAction";
|
|
217
173
|
calculatedValue: any;
|
|
218
174
|
}
|
|
219
175
|
/**
|
|
220
|
-
*
|
|
221
|
-
* response. These properties are expected by the caller of the action.
|
|
176
|
+
* Response for actions returning a single value.
|
|
222
177
|
*/
|
|
223
178
|
export interface SingleValueActionResponse extends BaseActionResponse {
|
|
224
179
|
responseType: "singleValueAction";
|
|
@@ -233,28 +188,18 @@ export interface ErrorResponse {
|
|
|
233
188
|
errorMessage: string;
|
|
234
189
|
}
|
|
235
190
|
/**
|
|
236
|
-
*
|
|
237
|
-
* should return an ActionResponse response when the action is successful. If useBody is true, the
|
|
238
|
-
* response will be returned as an object with the HTTP response code and the ActionResponse in the
|
|
239
|
-
* body field. If useBody is false, the ActionResponse will be returned directly.
|
|
191
|
+
* Formats a success response. Returns ActionResponse directly, or wrapped with statusCode if useBody is true.
|
|
240
192
|
*
|
|
241
|
-
* @
|
|
242
|
-
*
|
|
243
|
-
* @returns Formatted success response; an ActionResponse unless useBody is true
|
|
193
|
+
* @returns ActionResponse or {statusCode: 200, body: string}
|
|
244
194
|
*/
|
|
245
195
|
export declare function prepareSuccessResponse(successResponse: ActionResponse): {
|
|
246
196
|
statusCode: number;
|
|
247
197
|
body: string;
|
|
248
198
|
} | ActionResponse;
|
|
249
199
|
/**
|
|
250
|
-
*
|
|
251
|
-
* should return an ErrorResponse response when the action is not successful. If useBody is true,
|
|
252
|
-
* the response will be returned as an object with the HTTP response code and the ErrorResponse in
|
|
253
|
-
* the body field. If useBody is false, the ErrorResponse will be returned directly.
|
|
254
|
-
*
|
|
255
|
-
* @param errorMessage - The error message
|
|
200
|
+
* Formats an error response. Returns ErrorResponse directly, or wrapped with statusCode if useBody is true.
|
|
256
201
|
*
|
|
257
|
-
* @returns
|
|
202
|
+
* @returns ErrorResponse or {statusCode: 400, body: string}
|
|
258
203
|
*/
|
|
259
204
|
export declare function prepareErrorResponse(errorMessage: string): {
|
|
260
205
|
statusCode: number;
|
|
@@ -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
|
|
1
|
+
{"version":3,"file":"sdk-general.d.ts","sourceRoot":"","sources":["../../../src/sdk-general.ts"],"names":[],"mappings":"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"}
|