@cobaltio/cobalt-js 9.0.0 → 9.1.0

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/cobalt.d.ts CHANGED
@@ -232,6 +232,21 @@ export interface ConfigWorkflow {
232
232
  enabled: boolean;
233
233
  fields?: ConfigField[];
234
234
  }
235
+ export interface WorkflowPayloadResponse {
236
+ payload: Record<string, any>;
237
+ schema?: unknown;
238
+ schema_interpreted?: unknown;
239
+ }
240
+ export interface ExecuteWorkflowPayload {
241
+ /**The workflow id or alias. */
242
+ worklfow: string;
243
+ /** The application's slug this workflow belongs to. */
244
+ slug?: string;
245
+ /** The payload to execute the workflow. */
246
+ payload?: Record<string, any>;
247
+ /** Whether to execute the workflow synchronously. */
248
+ sync_execution?: boolean;
249
+ }
235
250
  export interface Execution {
236
251
  _id: string;
237
252
  id?: string;
@@ -455,6 +470,21 @@ declare class Cobalt {
455
470
  * @returns {Promise<unknown>}
456
471
  */
457
472
  deleteWorkflow(workflowId: string): Promise<unknown>;
473
+ /**
474
+ * Returns the execution payload for the specified public workflow.
475
+ * @param {String} workflowId The workflow ID.
476
+ * @returns {Promise<WorkflowPayloadResponse>} The workflow payload response.
477
+ */
478
+ getWorkflowPayload(workflowId: string): Promise<WorkflowPayloadResponse>;
479
+ /**
480
+ * Execute the specified public workflow.
481
+ * @param {ExecuteWorkflowPayload} options The execution payload.
482
+ * @param {String} options.worklfow The workflow id or alias.
483
+ * @param {String} [options.slug] The application's slug this workflow belongs to. Slug is required if you're using workflow alias.
484
+ * @param {Record<string, any>} [options.payload] The execution payload.
485
+ * @returns {Promise<unknown>}
486
+ */
487
+ executeWorkflow(options: ExecuteWorkflowPayload): Promise<unknown>;
458
488
  /**
459
489
  * Returns the workflow execution logs for the linked account.
460
490
  * @param {Object} [params]
package/cobalt.js CHANGED
@@ -538,6 +538,52 @@ class Cobalt {
538
538
  return yield res.json();
539
539
  });
540
540
  }
541
+ /**
542
+ * Returns the execution payload for the specified public workflow.
543
+ * @param {String} workflowId The workflow ID.
544
+ * @returns {Promise<WorkflowPayloadResponse>} The workflow payload response.
545
+ */
546
+ getWorkflowPayload(workflowId) {
547
+ return __awaiter(this, void 0, void 0, function* () {
548
+ const res = yield fetch(`${this.baseUrl}/api/v2/public/workflow/request-structure/${workflowId}`, {
549
+ headers: {
550
+ authorization: `Bearer ${this.token}`,
551
+ },
552
+ });
553
+ if (res.status >= 400 && res.status < 600) {
554
+ const error = yield res.json();
555
+ throw error;
556
+ }
557
+ return yield res.json();
558
+ });
559
+ }
560
+ /**
561
+ * Execute the specified public workflow.
562
+ * @param {ExecuteWorkflowPayload} options The execution payload.
563
+ * @param {String} options.worklfow The workflow id or alias.
564
+ * @param {String} [options.slug] The application's slug this workflow belongs to. Slug is required if you're using workflow alias.
565
+ * @param {Record<string, any>} [options.payload] The execution payload.
566
+ * @returns {Promise<unknown>}
567
+ */
568
+ executeWorkflow(options) {
569
+ return __awaiter(this, void 0, void 0, function* () {
570
+ const res = yield fetch(`${this.baseUrl}/api/v2/public/workflow/${options === null || options === void 0 ? void 0 : options.worklfow}/execute`, {
571
+ method: "POST",
572
+ headers: {
573
+ authorization: `Bearer ${this.token}`,
574
+ "content-type": "application/json",
575
+ slug: (options === null || options === void 0 ? void 0 : options.slug) || "",
576
+ sync_execution: (options === null || options === void 0 ? void 0 : options.sync_execution) ? "true" : "false",
577
+ },
578
+ body: JSON.stringify(options === null || options === void 0 ? void 0 : options.payload),
579
+ });
580
+ if (res.status >= 400 && res.status < 600) {
581
+ const error = yield res.json();
582
+ throw error;
583
+ }
584
+ return yield res.json();
585
+ });
586
+ }
541
587
  /**
542
588
  * Returns the workflow execution logs for the linked account.
543
589
  * @param {Object} [params]
package/cobalt.ts CHANGED
@@ -252,6 +252,23 @@ export interface ConfigWorkflow {
252
252
  fields?: ConfigField[];
253
253
  }
254
254
 
255
+ export interface WorkflowPayloadResponse {
256
+ payload: Record<string, any>;
257
+ schema?: unknown;
258
+ schema_interpreted?: unknown;
259
+ }
260
+
261
+ export interface ExecuteWorkflowPayload {
262
+ /**The workflow id or alias. */
263
+ worklfow: string;
264
+ /** The application's slug this workflow belongs to. */
265
+ slug?: string;
266
+ /** The payload to execute the workflow. */
267
+ payload?: Record<string, any>;
268
+ /** Whether to execute the workflow synchronously. */
269
+ sync_execution?: boolean;
270
+ }
271
+
255
272
  export interface Execution {
256
273
  _id: string;
257
274
  id?: string;
@@ -861,6 +878,54 @@ class Cobalt {
861
878
  return await res.json();
862
879
  }
863
880
 
881
+ /**
882
+ * Returns the execution payload for the specified public workflow.
883
+ * @param {String} workflowId The workflow ID.
884
+ * @returns {Promise<WorkflowPayloadResponse>} The workflow payload response.
885
+ */
886
+ async getWorkflowPayload(workflowId: string): Promise<WorkflowPayloadResponse> {
887
+ const res = await fetch(`${this.baseUrl}/api/v2/public/workflow/request-structure/${workflowId}`, {
888
+ headers: {
889
+ authorization: `Bearer ${this.token}`,
890
+ },
891
+ });
892
+
893
+ if (res.status >= 400 && res.status < 600) {
894
+ const error = await res.json();
895
+ throw error;
896
+ }
897
+
898
+ return await res.json();
899
+ }
900
+
901
+ /**
902
+ * Execute the specified public workflow.
903
+ * @param {ExecuteWorkflowPayload} options The execution payload.
904
+ * @param {String} options.worklfow The workflow id or alias.
905
+ * @param {String} [options.slug] The application's slug this workflow belongs to. Slug is required if you're using workflow alias.
906
+ * @param {Record<string, any>} [options.payload] The execution payload.
907
+ * @returns {Promise<unknown>}
908
+ */
909
+ async executeWorkflow(options: ExecuteWorkflowPayload): Promise<unknown> {
910
+ const res = await fetch(`${this.baseUrl}/api/v2/public/workflow/${options?.worklfow}/execute`, {
911
+ method: "POST",
912
+ headers: {
913
+ authorization: `Bearer ${this.token}`,
914
+ "content-type": "application/json",
915
+ slug: options?.slug || "",
916
+ sync_execution: options?.sync_execution ? "true" : "false",
917
+ },
918
+ body: JSON.stringify(options?.payload),
919
+ });
920
+
921
+ if (res.status >= 400 && res.status < 600) {
922
+ const error = await res.json();
923
+ throw error;
924
+ }
925
+
926
+ return await res.json();
927
+ }
928
+
864
929
  /**
865
930
  * Returns the workflow execution logs for the linked account.
866
931
  * @param {Object} [params]
@@ -1 +1 @@
1
- window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm"
1
+ window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg=="
@@ -1 +1 @@
1
- window.navigationData = "eJyNk01LAzEQhv9LzsViwVJ6E1EQBEtb8SAeZndnu6FpEpoJbRH/u7v1YxvMTnKd532fXSbJ24cgPJKYi1tPzYqAvBMjYYGadoba79y4J1cN7VSLt1JXYj77HAXt9clirNvNh5t3pgBFfa9U4By68fc87F1Pgm9aq2QJJI3u61IT7msoW8MFDzWTm+m/H3i2Xc5FRUGCV+labgYcHUqXHySqijGceVqzgJMywIl+EmnVq9lva2UOjOs3wsnuj1j6wbP6o5ziUVtPwwvqMSd5ggJVtH8mXHXhi/ZCsfsII/ky7ryiyXy1y3e7DPnSK+QeywXnNC+2AsL0ZY3kOG3OPpObfP8CA8O/QA=="
1
+ window.navigationData = "eJyVk1FLwzAUhf9LnovFgSJ9E1EQBMc28UF8SNtbG5YlYfcGN8T/Lp3WLi69ja853/kaDs3LhyDYkSjEtad2SZI8ikw4Sa0oBBi/wXxIzlraaJGJtTK1KK4+s6C92juIdbvz8eaNLaWmoVdpiQiYf5+HvfNZ8E3ntKokKWuGujIE20ZWgPlRHmpmF5cnF3h0HYdRUUDwKtOotxFHF02X7xTomjEc8mnNXO61lZzoh5hWPdvtutH2nXH1CCe73UHlCXqUu2AcnZaP/Qi/Kae4N87T+PpDzEkeZAk62j8kXHXuS60qduwQSZdxW0fJdDWmuzFBvvAauJd4lHOaJ1dLgumXEOE4bcqe/1jyD7oAdNYgpGh79lT/+gV47gL5"
@@ -1 +1 @@
1
- window.searchData = "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";
1
+ window.searchData = "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";