@halix/action-sdk 1.0.19 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/lib/cjs/content.js +257 -0
  2. package/lib/cjs/data-crud.js +297 -0
  3. package/lib/cjs/index.js +53 -678
  4. package/lib/cjs/lists.js +175 -0
  5. package/lib/cjs/sdk-general.js +92 -0
  6. package/lib/cjs/types/content.d.ts +119 -0
  7. package/lib/cjs/types/content.d.ts.map +1 -0
  8. package/lib/cjs/types/data-crud.d.ts +156 -0
  9. package/lib/cjs/types/data-crud.d.ts.map +1 -0
  10. package/lib/cjs/types/index.d.ts +8 -578
  11. package/lib/cjs/types/index.d.ts.map +1 -1
  12. package/lib/cjs/types/lists.d.ts +212 -0
  13. package/lib/cjs/types/lists.d.ts.map +1 -0
  14. package/lib/cjs/types/sdk-general.d.ts +263 -0
  15. package/lib/cjs/types/sdk-general.d.ts.map +1 -0
  16. package/lib/cjs/types/utilities.d.ts +73 -0
  17. package/lib/cjs/types/utilities.d.ts.map +1 -0
  18. package/lib/cjs/utilities.js +131 -0
  19. package/lib/esm/content.js +228 -0
  20. package/lib/esm/content.js.map +1 -0
  21. package/lib/esm/data-crud.js +264 -0
  22. package/lib/esm/data-crud.js.map +1 -0
  23. package/lib/esm/index.js.map +1 -1
  24. package/lib/esm/index.mjs +26 -673
  25. package/lib/esm/lists.js +157 -0
  26. package/lib/esm/lists.js.map +1 -0
  27. package/lib/esm/sdk-general.js +138 -0
  28. package/lib/esm/sdk-general.js.map +1 -0
  29. package/lib/esm/types/content.d.ts +118 -0
  30. package/lib/esm/types/data-crud.d.ts +155 -0
  31. package/lib/esm/types/index.d.ts +8 -578
  32. package/lib/esm/types/lists.d.ts +211 -0
  33. package/lib/esm/types/sdk-general.d.ts +262 -0
  34. package/lib/esm/types/utilities.d.ts +72 -0
  35. package/lib/esm/utilities.js +126 -0
  36. package/lib/esm/utilities.js.map +1 -0
  37. package/package.json +12 -1
@@ -1,581 +1,11 @@
1
- import { Observable } from 'rxjs';
2
1
  /**
3
- * authToken contains the authentication token that the action handler can use to make API requests
4
- * to Halix web services. This value is set upon calling the initialize function with incoming event
5
- * data.
2
+ * @module @halix/action-sdk
3
+ * @description Halix Platform action SDK for developing NodeJS Lambda-based actions on the Halix
4
+ * platform. This is the main entry point that provides a unified interface for all SDK functionality.
6
5
  */
7
- export declare let getAuthToken: () => Observable<string>;
8
- /**
9
- * sandboxKey contains the sandbox key identifier; identifies the sandbox that the action handler is
10
- * running in. The sandbox identifies the current solution. This value is set upon calling the
11
- * initialize function with incoming event data.
12
- */
13
- export declare let sandboxKey: string;
14
- /**
15
- * serviceAddress contains the URL of the Halix service that the action handler can use to make API
16
- * requests to. This value is set upon calling the initialize function with incoming event data.
17
- */
18
- export declare let serviceAddress: string;
19
- /**
20
- * actionSubject contains the identifier of the subject of the action. The subject is the object
21
- * that the action is being performed on. The action subject's contents will differ depending on the
22
- * context in which the action is being executed. This value is set upon calling the initialize
23
- * function with incoming event data.
24
- * - for formTemplateActions, the action subject is the data being edited on the form
25
- * - for pageTemplateActions, the action subject is record containing the context variables and
26
- * their corresponding values on the page
27
- * - for objectSaveActions, the action subject is the object being saved
28
- * - for calculatedFieldActions, the action subject is the object containing the calculated field
29
- * - for singleValueActions, the action subject may differ depending on the caller
30
- */
31
- export declare let actionSubject: any;
32
- /**
33
- * userContext contains the user context information for the user that is executing the action.
34
- * This value is set upon calling the initialize function with incoming event data.
35
- */
36
- export declare let userContext: UserContext;
37
- /**
38
- * params contains the parameters passed to the action. If an input dialog is used, params will
39
- * contain the values entered in the dialog. This value is set upon calling the initialize
40
- * function with incoming event data.
41
- */
42
- export declare let params: string;
43
- /**
44
- * useBody is a flag indicating how responses should be formatted. If true, the response will be
45
- * returned as an object with the HTTP response code and ActionResponse in the body field. If false,
46
- * the ActionResponse will be returned directly. Typically, this does not need to be set by the
47
- * action handler and should remain false.
48
- */
49
- export declare let useBody: boolean;
50
- /**
51
- * initialize initializes the SDK with event data. This should be called at the beginning of the
52
- * action handler to set up the SDK with incoming information, including context information, input
53
- * parameters, and authentication information needed to make API requests to the Halix service.
54
- *
55
- * @param event - The event object containing authentication and context information
56
- */
57
- export declare function initialize(event: {
58
- body?: IncomingEventBody;
59
- }): void;
60
- /**
61
- * SortField is an interface for specifying sort fields.
62
- */
63
- export interface SortField {
64
- /** The attribute ID to sort by */
65
- attributeId: string;
66
- /** Whether to sort in descending order */
67
- descending?: boolean;
68
- /** Whether to perform case-insensitive comparison */
69
- caseInsensitive?: boolean;
70
- /** Whether to use auto-sequencing */
71
- autoSequence?: boolean;
72
- }
73
- /**
74
- * SaveOptions is an interface for specifying save operation options.
75
- */
76
- export interface SaveOptions {
77
- /** Whether to bypass validation */
78
- bypassValidation?: boolean;
79
- }
80
- /**
81
- * UserContext is an interface defining the properties of the user context.
82
- */
83
- export interface UserContext {
84
- user: any;
85
- userProxy: any;
86
- orgProxy: any;
87
- orgProxyKey: string;
88
- orgKey: string;
89
- userProxyKey: string;
90
- }
91
- /**
92
- * ContentResource is an interface defining the properties of a content resource.
93
- */
94
- export interface ContentResource {
95
- objKey?: string;
96
- isPublic: boolean;
97
- resourceType: string;
98
- tags: string[];
99
- organizationKey: string;
100
- sandboxKey: string;
101
- userKey: string;
102
- fileName?: string;
103
- fileSize?: number;
104
- mimeType?: string;
105
- contentType?: string;
106
- name?: string | null;
107
- extension?: string | null;
108
- deserialize?: (data: any) => ContentResource;
109
- }
110
- /**
111
- * IncomingEventBody is an interface defining the properties of an incoming event body. The halix
112
- * platform provides these properties when an action is triggered.
113
- */
114
- export interface IncomingEventBody {
115
- authToken?: string;
116
- authTokenRetriever?: () => Observable<string>;
117
- sandboxKey: string;
118
- serviceAddress: string;
119
- actionSubject: any;
120
- userContext: UserContext;
121
- params: Record<string, any>;
122
- }
123
- /**
124
- * BaseActionResponse is an interface defining the base properties of an action response.
125
- */
126
- export interface BaseActionResponse {
127
- /**
128
- * The type of action response
129
- *
130
- * listAction - Use when the action is being run from a list
131
- * formTemplateAction - Use when the action is being run from a form template
132
- * pageTemplateAction - Use when the action is being run from a page template
133
- * objectSaveAction - Use when the action has been specified for use on object save events
134
- * calculatedFieldAction - Use when the action is being used to determine calculated field values
135
- * singleValueAction - Use when the action is being used to determine a single value in specific
136
- * build-in platform events (e.g., determining shopping cart prices)
137
- * error - Use when the action is not successful
138
- */
139
- responseType: "listAction" | "formTemplateAction" | "pageTemplateAction" | "objectSaveAction" | "calculatedFieldAction" | "singleValueAction" | "error";
140
- /** Whether the action is an error */
141
- isError: boolean;
142
- /** Notification configurations; present only if the action should trigger one or more notifications */
143
- notificationConfigs?: NotificationConfig[];
144
- }
145
- /**
146
- * ActionResponse is an interface defining the properties of an action response.
147
- */
148
- export type ActionResponse = ListActionResponse | FormTemplateActionResponse | PageTemplateActionResponse | ObjectSaveActionResponse | CalculatedFieldActionResponse | SingleValueActionResponse;
149
- /**
150
- * NotificationConfig is an interface defining a notification that should be triggered by a
151
- * successful action response.
152
- */
153
- export interface NotificationConfig {
154
- /** The ID of a notification definition setup within the solution */
155
- notificationDefinitionId: string;
156
- /** The key of the organization proxy */
157
- organizationProxyKey: string;
158
- /** The object type of the data associated with the notification */
159
- dataObjectType: string;
160
- /** The key of the data object associated with the notification */
161
- dataObjectKey: string;
162
- /** The parameters to pass to the notification */
163
- params: Record<string, any>;
164
- emailConfig?: {
165
- /** The type of user proxy to send the email to */
166
- recipientUserProxyType: string;
167
- /** The keys of the user proxies to send the email to */
168
- recipientUserProxyKeys: string[];
169
- /** The email address of the sender */
170
- fromEmailAddress?: string;
171
- /** The name of the sender */
172
- fromNameView?: string;
173
- /** The email address to reply to */
174
- replyEmailAddress?: string;
175
- /** The email address to send the email to; use when sending emails to non-user proxies/free-form email addresses; can contain a comma-separated list of email addresses */
176
- recipientEmail?: string;
177
- };
178
- smsConfig?: {
179
- /** The type of user proxy to send the SMS to */
180
- recipientUserProxyType: string;
181
- /** The keys of the user proxies to send the SMS to */
182
- recipientUserProxyKeys: string[];
183
- /** The phone number to send the SMS to; can contain a comma-separated list of phone numbers */
184
- recipientPhone: string;
185
- };
186
- pushConfig?: {
187
- /** The type of user proxy to send the push notification to */
188
- recipientUserProxyType: string;
189
- /** The keys of the user proxies to send the push notification to */
190
- recipientUserProxyKeys: string[];
191
- /** The navigation data to pass to the push notification */
192
- navigationData?: Record<string, string>;
193
- };
194
- }
195
- /**
196
- * ListActionResponse is an interface defining the properties of a list action response. These
197
- * properties are expected by the list framework unpon receiving an action response from an action
198
- * handler.
199
- */
200
- export interface ListActionResponse extends BaseActionResponse {
201
- responseType: "listAction";
202
- updatedSubject: any;
203
- successMessage: string;
204
- }
205
- /**
206
- * FormTemplateActionResponse is an interface defining the properties of a form template action
207
- * response. These properties are expected by the form framework unpon receiving an action response
208
- * from an action handler.
209
- */
210
- export interface FormTemplateActionResponse extends BaseActionResponse {
211
- responseType: "formTemplateAction";
212
- updatedSubject: any;
213
- successMessage: string;
214
- }
215
- /**
216
- * PageTemplateActionResponse is an interface defining the properties of a page template action
217
- * response. These properties are expected by the page framework unpon receiving an action response
218
- * from an action handler.
219
- */
220
- export interface PageTemplateActionResponse extends BaseActionResponse {
221
- responseType: "pageTemplateAction";
222
- successMessage: string;
223
- updatedSubject?: Record<string, any>;
224
- refreshPage?: boolean;
225
- }
226
- /**
227
- * ObjectSaveActionResponse is an interface defining the properties of an object save action
228
- * response. These properties are expected by the object save framework unpon receiving an action
229
- * response from an action handler.
230
- */
231
- export interface ObjectSaveActionResponse extends BaseActionResponse {
232
- responseType: "objectSaveAction";
233
- updatedSubject: any;
234
- successMessage: string;
235
- }
236
- /**
237
- * CalculatedFieldActionResponse is an interface defining the properties of a calculated field
238
- * action response. These properties are expected by the calculated field framework unpon receiving
239
- * an action response from an action handler.
240
- */
241
- export interface CalculatedFieldActionResponse extends BaseActionResponse {
242
- responseType: "calculatedFieldAction";
243
- calculatedValue: any;
244
- }
245
- /**
246
- * SingleValueActionResponse is an interface defining the properties of a single value action
247
- * response. These properties are expected by the caller of the action.
248
- */
249
- export interface SingleValueActionResponse extends BaseActionResponse {
250
- responseType: "singleValueAction";
251
- successMessage: string;
252
- value: any;
253
- }
254
- /**
255
- * ErrorResponse is an interface defining the properties of an error response.
256
- */
257
- export interface ErrorResponse {
258
- responseType: "error";
259
- errorMessage: string;
260
- }
261
- /**
262
- * prepareSuccessResponse prepares a success response in the appropriate format. The action handler
263
- * should return an ActionResponse response when the action is successful. If useBody is true, the
264
- * response will be returned as an object with the HTTP response code and the ActionResponse in the
265
- * body field. If useBody is false, the ActionResponse will be returned directly.
266
- *
267
- * @param successResponse - The value to return
268
- *
269
- * @returns Formatted success response; an ActionResponse unless useBody is true
270
- */
271
- export declare function prepareSuccessResponse(successResponse: ActionResponse): {
272
- statusCode: number;
273
- body: string;
274
- } | ActionResponse;
275
- /**
276
- * prepareErrorResponse prepares an error response in the appropriate format. The action handler
277
- * should return an ErrorResponse response when the action is not successful. If useBody is true,
278
- * the response will be returned as an object with the HTTP response code and the ErrorResponse in
279
- * the body field. If useBody is false, the ErrorResponse will be returned directly.
280
- *
281
- * @param errorMessage - The error message
282
- *
283
- * @returns Formatted error response; an ErrorResponse unless useBody is true
284
- */
285
- export declare function prepareErrorResponse(errorMessage: string): {
286
- statusCode: number;
287
- body: string;
288
- } | ErrorResponse;
289
- /**
290
- * getObject retrieves a single object from the database by its data element ID and key.
291
- *
292
- * @param dataElementId - The ID of the data element
293
- * @param key - The key of the object
294
- * @param fetchedRelationships - Optional array of relationships to fetch; if provided, the returned
295
- * object will include the specified related objects as nested objects
296
- * @returns Promise resolving to the object data
297
- */
298
- export declare function getObject(dataElementId: string, key: string, fetchedRelationships?: string[]): Promise<any>;
299
- /**
300
- * getObjectAsObservable retrieves a single object from the database by its data element ID and key.
301
- *
302
- * @param dataElementId - The ID of the data element
303
- * @param key - The key of the object
304
- * @param fetchedRelationships - Optional array of relationships to fetch; if provided, the returned
305
- * object will include the specified related objects as nested objects
306
- *
307
- * @returns Observable resolving to the object data
308
- */
309
- export declare function getObjectAsObservable(dataElementId: string, key: string, fetchedRelationships?: string[]): Observable<any>;
310
- /**
311
- * getRelatedObjects retrieves an array of objects from the the database. The objects returned are
312
- * related to a parent through a defined relationship in the schema. In a typical setup, action's
313
- * auth token must have scope access to the parent object in order to access all of its related
314
- * objects.
315
- *
316
- * It is common to use getRelatedObjects to retrieve all objects belonging to the current user proxy
317
- * or organization proxy. For example, in a user context where the current user proxy element is
318
- * "customer," an action might want to retrieve all "purchase" objects related to the current
319
- * customer. Similarly, in an organization context where the current organization proxy is
320
- * "business," an action might want to retrieve all "employee" objects related to the current
321
- * business.
322
- *
323
- * @param parentElementId - The ID of the parent element
324
- * @param parentKey - The key of the parent object
325
- * @param elementId - The ID of the element
326
- * @param filter - Optional filter criteria for the query; if not provided, all related objects will
327
- * be returned
328
- * @param fetchedRelationships - Optional array of relationships to fetch; if provided, the returned
329
- * objects will include the specified related objects as nested objects
330
- *
331
- * @returns Promise resolving to an array of objects
332
- */
333
- export declare function getRelatedObjects(parentElementId: string, parentKey: string, elementId: string, filter?: string, fetchedRelationships?: string[]): Promise<any[]>;
334
- /**
335
- * getRelatedObjectsAsObservable retrieves an array of objects from the the database. The objects
336
- * returned are related to a parent through a defined relationship in the schema. In a typical
337
- * setup, action's auth token must have scope access to the parent object in order to access all of
338
- * its related objects.
339
- *
340
- * It is common to use getRelatedObjects to retrieve all objects belonging to the current user proxy
341
- * or organization proxy. For example, in a user context where the current user proxy element is
342
- * "customer," an action might want to retrieve all "purchase" objects related to the current
343
- * customer. Similarly, in an organization context where the current organization proxy is
344
- * "business," an action might want to retrieve all "employee" objects related to the current
345
- * business.
346
- *
347
- * @param parentElementId - The ID of the parent element
348
- * @param parentKey - The key of the parent element
349
- * @param elementId - The ID of the element
350
- * @param filter - Optional filter criteria for the query; if not provided, all related objects will
351
- * be returned
352
- * @param fetchedRelationships - Optional array of relationships to fetch; if provided, the returned
353
- * objects will include the specified related objects as nested objects
354
- *
355
- * @returns Observable resolving to an array of objects
356
- */
357
- export declare function getRelatedObjectsAsObservable(parentElementId: string, parentKey: string, elementId: string, filter?: string, fetchedRelationships?: string[]): Observable<any[]>;
358
- /**
359
- * saveRelatedObject saves a related object to the database. The objectToSave is saved, and its
360
- * relationship to the parent object is established based on the relationship specified in the
361
- * schema. The objectToSave must have a relationship to the parent object and the user must have
362
- * scope access to the parent object.
363
- *
364
- * @param parentElementId - The ID of the parent element
365
- * @param parentKey - The key of the parent object
366
- * @param elementId - The element ID of the object to save
367
- * @param objectToSave - The object data to save (as a JSON string)
368
- * @param opts - Optional save options
369
- *
370
- * @returns Promise resolving to saved object, including any updates made to the object during the
371
- * save operation (such as assigning an objKey if the object is new), or the assignment of
372
- * calculated values
373
- */
374
- export declare function saveRelatedObject(parentElementId: string, parentKey: string, elementId: string, objectToSave: string, opts?: SaveOptions): Promise<any>;
375
- /**
376
- * saveRelatedObjectAsObservable saves a related object to the database. The objectToSave is saved,
377
- * and its relationship to the parent object is established based on the relationship specified in
378
- * the schema. The objectToSave must have a relationship to the parent object and the user must have
379
- * scope access to the parent object.
380
- *
381
- * @param parentElementId - The ID of the parent element
382
- * @param parentKey - The key of the parent object
383
- * @param elementId - The element ID of the object to save
384
- * @param objectToSave - The object data to save (as a JSON string)
385
- * @param opts - Optional save options
386
- *
387
- * @returns Observable resolving to saved object, including any updates made to the object during
388
- * the save operation (such as assigning an objKey if the object is new), or the assignment of
389
- * calculated values
390
- */
391
- export declare function saveRelatedObjectAsObservable(parentElementId: string, parentKey: string, elementId: string, objectToSave: string, opts?: SaveOptions): Observable<any>;
392
- /**
393
- * deleteRelatedObject deletes a single object related to a specific parent.
394
- *
395
- * @param parentElementId - The ID of the parent element
396
- * @param parentKey - The key of the parent object
397
- * @param childElementId - The ID of the child element to delete
398
- * @param childKey - The key of the child object to delete
399
- *
400
- * @returns Promise resolving to true if deletion was successful
401
- */
402
- export declare function deleteRelatedObject(parentElementId: string, parentKey: string, childElementId: string, childKey: string): Promise<boolean>;
403
- /**
404
- * deleteRelatedObjectAsObservable deletes a single object related to a specific parent.
405
- *
406
- * @param parentElementId - The ID of the parent element
407
- * @param parentKey - The key of the parent object
408
- * @param childElementId - The ID of the child element to delete
409
- * @param childKey - The key of the child object to delete
410
- *
411
- * @returns Observable resolving to true if deletion was successful
412
- */
413
- export declare function deleteRelatedObjectAsObservable(parentElementId: string, parentKey: string, childElementId: string, childKey: string): Observable<boolean>;
414
- /**
415
- * deleteRelatedObjects deletes multiple objects related to a specific parent.
416
- *
417
- * @param parentElementId - The ID of the parent element
418
- * @param parentKey - The key of the parent object
419
- * @param childElementId - The ID of the child element to delete
420
- * @param childKeys - Array of keys of the child objects to delete
421
- *
422
- * @returns Promise resolving to true if deletion was successful
423
- */
424
- export declare function deleteRelatedObjects(parentElementId: string, parentKey: string, childElementId: string, childKeys: string[]): Promise<boolean>;
425
- /**
426
- * deleteRelatedObjectsAsObservable deletes multiple objects related to a specific parent.
427
- *
428
- * @param parentElementId - The ID of the parent element
429
- * @param parentKey - The key of the parent object
430
- * @param childElementId - The ID of the child element to delete
431
- * @param childKeys - Array of keys of the child objects to delete
432
- *
433
- * @returns Observable resolving to true if deletion was successful
434
- */
435
- export declare function deleteRelatedObjectsAsObservable(parentElementId: string, parentKey: string, childElementId: string, childKeys: string[]): Observable<boolean>;
436
- /**
437
- * getOrCreateResource retrieves an existing content resource by its key, or creates a new one
438
- * if the key is not provided. If a resource key is provided, it attempts to fetch the existing
439
- * resource from the server. If no key is provided, it creates a new resource with the specified
440
- * properties.
441
- *
442
- * @param resourceKey - Optional key of the existing resource to retrieve
443
- * @param fileToUpload - Optional file or blob to upload
444
- * @param publicFlag - Whether the resource should be public
445
- * @param resourceType - The type of resource
446
- * @param tags - Array of tags for the resource
447
- *
448
- * @returns Promise resolving to a ContentResource
449
- */
450
- export declare function getOrCreateResource(resourceKey: string | null, fileToUpload: File | Blob | null, publicFlag: boolean, resourceType: string, tags: string[]): Promise<ContentResource>;
451
- /**
452
- * getOrCreateResourceAsObservable retrieves an existing content resource by its key, or creates a new one
453
- * if the key is not provided. If a resource key is provided, it attempts to fetch the existing
454
- * resource from the server. If no key is provided, it creates a new resource with the specified
455
- * properties.
456
- *
457
- * @param resourceKey - Optional key of the existing resource to retrieve
458
- * @param fileToUpload - Optional file or blob to upload
459
- * @param publicFlag - Whether the resource should be public
460
- * @param resourceType - The type of resource
461
- * @param tags - Array of tags for the resource
462
- *
463
- * @returns Observable resolving to a ContentResource
464
- */
465
- export declare function getOrCreateResourceAsObservable(resourceKey: string | null, fileToUpload: File | Blob | null, publicFlag: boolean, resourceType: string, tags: string[]): Observable<ContentResource>;
466
- /**
467
- * saveResource saves a content resource to the server. The resource is saved with appropriate
468
- * ownership parameters based on the current context (solution builder vs regular organization view).
469
- *
470
- * @param resource - The ContentResource to save
471
- *
472
- * @returns Promise resolving to the saved ContentResource
473
- */
474
- export declare function saveResource(resource: ContentResource): Promise<ContentResource>;
475
- /**
476
- * saveResourceAsObservable saves a content resource to the server. The resource is saved with appropriate
477
- * ownership parameters based on the current context (solution builder vs regular organization view).
478
- *
479
- * @param resource - The ContentResource to save
480
- *
481
- * @returns Observable resolving to the saved ContentResource
482
- */
483
- export declare function saveResourceAsObservable(resource: ContentResource): Observable<ContentResource>;
484
- /**
485
- * sendFileContents uploads file contents to the server for a specific resource. The file is uploaded
486
- * via FormData with the appropriate scope and public flag settings.
487
- *
488
- * @param resourceKey - The key of the resource to upload file contents for
489
- * @param fileToUpload - The file or blob to upload
490
- * @param publicFlag - Whether the file should be public
491
- *
492
- * @returns Promise resolving to true if upload was successful
493
- */
494
- export declare function sendFileContents(resourceKey: string, fileToUpload: File | Blob, publicFlag: boolean): Promise<boolean>;
495
- /**
496
- * sendFileContentsAsObservable uploads file contents to the server for a specific resource. The file is uploaded
497
- * via FormData with the appropriate scope and public flag settings.
498
- *
499
- * @param resourceKey - The key of the resource to upload file contents for
500
- * @param fileToUpload - The file or blob to upload
501
- * @param publicFlag - Whether the file should be public
502
- *
503
- * @returns Observable resolving to true if upload was successful
504
- */
505
- export declare function sendFileContentsAsObservable(resourceKey: string, fileToUpload: File | Blob, publicFlag: boolean): Observable<boolean>;
506
- /**
507
- * createOrUpdateResource creates a new content resource or updates an existing one, then uploads
508
- * the file contents to that resource. If a resourceKey is provided, it updates the existing resource;
509
- * otherwise, it creates a new resource and uploads the file to the newly created resource.
510
- *
511
- * @param resourceKey - Optional key of the existing resource to update; if not provided, a new resource is created
512
- * @param fileToUpload - The file or blob to upload
513
- * @param publicFlag - Whether the resource should be public
514
- * @param resourceType - The type of resource
515
- * @param tags - Array of tags for the resource
516
- *
517
- * @returns Promise resolving to the ContentResource with uploaded file
518
- */
519
- export declare function createOrUpdateResource(resourceKey: string | null, fileToUpload: File | Blob, publicFlag: boolean, resourceType: string, tags: string[]): Promise<ContentResource>;
520
- /**
521
- * createOrUpdateResourceAsObservable creates a new content resource or updates an existing one, then uploads
522
- * the file contents to that resource. If a resourceKey is provided, it updates the existing resource;
523
- * otherwise, it creates a new resource and uploads the file to the newly created resource.
524
- *
525
- * @param resourceKey - Optional key of the existing resource to update; if not provided, a new resource is created
526
- * @param fileToUpload - The file or blob to upload
527
- * @param publicFlag - Whether the resource should be public
528
- * @param resourceType - The type of resource
529
- * @param tags - Array of tags for the resource
530
- *
531
- * @returns Observable resolving to the ContentResource with uploaded file
532
- */
533
- export declare function createOrUpdateResourceAsObservable(resourceKey: string | null, fileToUpload: File | Blob, publicFlag: boolean, resourceType: string, tags: string[]): Observable<ContentResource>;
534
- /**
535
- * sortObjectArray is a helper function that sorts the passed array in place by the given
536
- * attributes. Sorting by nested attributes in the form of a delimited attribute string are
537
- * supported (e.g., "attribute.nestedAttribute").
538
- *
539
- * @param array - The array to sort
540
- * @param sort - Array of sort field specifications
541
- * @returns The sorted array
542
- */
543
- export declare function sortObjectArray<T>(array: Array<T>, sort: SortField[]): Array<T>;
544
- /**
545
- * compareValues is a helper function that compares two values for sorting purposes. If the values
546
- * are strings, the comparison is case-insensitive. If the values are numbers, the comparison is
547
- * performed numerically.
548
- *
549
- * @param valueA - First value to compare
550
- * @param valueB - Second value to compare
551
- * @param descending - Whether to sort in descending order
552
- * @param caseInsensitive - Whether to perform case-insensitive comparison for strings
553
- *
554
- * @returns Comparison result (-1, 0, or 1)
555
- */
556
- export declare function compareValues(valueA: any, valueB: any, descending: boolean, caseInsensitive: boolean): number;
557
- /**
558
- * getValueFromObject is a helper function that extracts a value from an object using a dot-notation
559
- * path. The path can include relationships. Relationship IDs may include a colon delimiter (e.g.,
560
- * "accountMember:ownerAccountMemberKey") to specify the key of the related object. This is useful
561
- * when an element has more than one relationship to the same object type. Otherwise, if only one
562
- * relationship to the same object type exists, the key may be specified without the relationship ID
563
- * (e.g., simply, "accountMember").
564
- *
565
- * @param object - The object to extract value from
566
- * @param attribute - The attribute path (e.g., "user.address.city")
567
- *
568
- * @returns The extracted value
569
- */
570
- export declare function getValueFromObject(object: any, attribute: string): any;
571
- /**
572
- * debounceFn is a utility function that debounces a function call. It is used to prevent multiple
573
- * calls to the same function within a short period of time.
574
- *
575
- * @param fn - The function to debounce
576
- * @param wait - The number of milliseconds to wait before calling the function
577
- *
578
- * @returns The debounced function
579
- */
580
- export declare function debounceFn<T extends (...args: any[]) => void>(fn: T, wait?: number): (...args: Parameters<T>) => void;
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
+ export { type SaveOptions, getObject, getObjectAsObservable, getRelatedObjects, getRelatedObjectsAsObservable, saveRelatedObject, saveRelatedObjectAsObservable, deleteRelatedObject, deleteRelatedObjectAsObservable, deleteRelatedObjects, deleteRelatedObjectsAsObservable } from './data-crud';
8
+ export { type ContentResource, getOrCreateResource, getOrCreateResourceAsObservable, saveResource, saveResourceAsObservable, sendFileContents, sendFileContentsAsObservable, createOrUpdateResource, createOrUpdateResourceAsObservable } from './content';
9
+ export { type SortField, type DataSortField, type ListDataRequest, type ListDataResponse, type ListDataOptions, type ListDataSearchOptions, getListData, getListDataAsObservable } from './lists';
10
+ export { sortObjectArray, compareValues, getValueFromObject, debounceFn } from './utilities';
581
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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,EAG7B,iBAAiB,EACjB,6BAA6B,EAG7B,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,EACrC,MAAM,WAAW,CAAC;AAMnB,OAAO,EAEH,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAG1B,WAAW,EACX,uBAAuB,EAC1B,MAAM,SAAS,CAAC;AAMjB,OAAO,EACH,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,UAAU,EACb,MAAM,aAAa,CAAC"}