cliodot 1.2.3 → 1.2.4
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/LICENSE +201 -0
- package/README.md +2 -0
- package/dist/AuthAppClient.d.ts +1 -0
- package/dist/AuthAppClient.d.ts.map +1 -1
- package/dist/AuthAppClient.js +199 -1
- package/dist/CommercialAppClient.d.ts +50 -9
- package/dist/CommercialAppClient.d.ts.map +1 -1
- package/dist/CommercialAppClient.js +576 -1
- package/dist/ConnectorBuilder.js +104 -1
- package/dist/Events.d.ts +2 -0
- package/dist/Events.d.ts.map +1 -1
- package/dist/Events.js +325 -1
- package/dist/Flosync.js +296 -1
- package/dist/FlosyncClient.js +429 -1
- package/dist/FunctionBuilder.js +65 -1
- package/dist/IdentityAppClient.d.ts +1 -0
- package/dist/IdentityAppClient.d.ts.map +1 -1
- package/dist/IdentityAppClient.js +197 -1
- package/dist/MemoryAppClient.d.ts +1 -0
- package/dist/MemoryAppClient.d.ts.map +1 -1
- package/dist/MemoryAppClient.js +149 -1
- package/dist/MemoryClient.js +20 -1
- package/dist/OAuthAppClient.d.ts +1 -0
- package/dist/OAuthAppClient.d.ts.map +1 -1
- package/dist/OAuthAppClient.js +269 -1
- package/dist/ProviderServicesClient.d.ts +24 -0
- package/dist/ProviderServicesClient.d.ts.map +1 -0
- package/dist/ProviderServicesClient.js +158 -0
- package/dist/Surface.d.ts +2 -0
- package/dist/Surface.d.ts.map +1 -1
- package/dist/Surface.js +255 -1
- package/dist/ValidatorBuilder.js +24 -1
- package/dist/Webhooks.js +61 -1
- package/dist/WorkflowBuilder.js +279 -1
- package/dist/__tests__/CommercialAppClient.test.d.ts +2 -0
- package/dist/__tests__/CommercialAppClient.test.d.ts.map +1 -0
- package/dist/__tests__/CommercialAppClient.test.js +217 -0
- package/dist/__tests__/Events.test.js +191 -1
- package/dist/__tests__/IdentityAppClient.test.js +232 -1
- package/dist/__tests__/OAuthAppClient.test.js +300 -1
- package/dist/__tests__/ProviderServicesClient.test.d.ts +2 -0
- package/dist/__tests__/ProviderServicesClient.test.d.ts.map +1 -0
- package/dist/__tests__/ProviderServicesClient.test.js +131 -0
- package/dist/__tests__/Surface.test.js +150 -1
- package/dist/__tests__/errors.test.js +54 -1
- package/dist/__tests__/function.test.js +58 -1
- package/dist/__tests__/helpers.d.ts +5 -0
- package/dist/__tests__/helpers.d.ts.map +1 -0
- package/dist/__tests__/helpers.js +10 -0
- package/dist/__tests__/localhost-lookup.test.d.ts +2 -0
- package/dist/__tests__/localhost-lookup.test.d.ts.map +1 -0
- package/dist/__tests__/localhost-lookup.test.js +26 -0
- package/dist/__tests__/parse-api-error.test.js +26 -1
- package/dist/__tests__/runner.test.js +156 -1
- package/dist/connectors/builtin.js +354 -1
- package/dist/connectors/registry.js +300 -1
- package/dist/decorators/build.js +105 -1
- package/dist/decorators/connector.js +56 -1
- package/dist/decorators/index.js +34 -1
- package/dist/decorators/metadata.js +338 -1
- package/dist/decorators/steps.js +220 -1
- package/dist/decorators/workflow.js +52 -1
- package/dist/errors.js +76 -1
- package/dist/http/__tests__/cliodot-request.environment.test.d.ts +2 -0
- package/dist/http/__tests__/cliodot-request.environment.test.d.ts.map +1 -0
- package/dist/http/__tests__/cliodot-request.environment.test.js +37 -0
- package/dist/http/__tests__/cliodot-result.test.d.ts +2 -0
- package/dist/http/__tests__/cliodot-result.test.d.ts.map +1 -0
- package/dist/http/__tests__/cliodot-result.test.js +57 -0
- package/dist/http/__tests__/events-instance-id.test.d.ts +2 -0
- package/dist/http/__tests__/events-instance-id.test.d.ts.map +1 -0
- package/dist/http/__tests__/events-instance-id.test.js +45 -0
- package/dist/http/cliodot-request.d.ts +35 -0
- package/dist/http/cliodot-request.d.ts.map +1 -0
- package/dist/http/cliodot-request.js +105 -0
- package/dist/http/cliodot-result.d.ts +40 -0
- package/dist/http/cliodot-result.d.ts.map +1 -0
- package/dist/http/cliodot-result.js +139 -0
- package/dist/http/create-client.d.ts +3 -0
- package/dist/http/create-client.d.ts.map +1 -0
- package/dist/http/create-client.js +14 -0
- package/dist/http/events-instance-id.d.ts +11 -0
- package/dist/http/events-instance-id.d.ts.map +1 -0
- package/dist/http/events-instance-id.js +86 -0
- package/dist/http/localhost-lookup.d.ts +12 -0
- package/dist/http/localhost-lookup.d.ts.map +1 -0
- package/dist/http/localhost-lookup.js +67 -0
- package/dist/http/parse-api-error.js +56 -1
- package/dist/http/sanitize-execution-headers.js +79 -1
- package/dist/identity-offline-verify.js +174 -1
- package/dist/identity-token-cache.js +51 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +108 -1
- package/dist/runner/ProcessorEngine.js +1311 -1
- package/dist/runner/connector.executor.js +1786 -1
- package/dist/runner/utilities/math.executor.js +153 -1
- package/dist/runner/utilities/random.executor.js +151 -1
- package/dist/runner/utilities/string.executor.js +825 -1
- package/dist/template.js +127 -1
- package/dist/transformers/StepsToNodesTransformer.js +214 -1
- package/dist/transformers/WorkflowTransformer.js +189 -1
- package/dist/types/auth-app.api.d.ts +2 -0
- package/dist/types/auth-app.api.d.ts.map +1 -1
- package/dist/types/auth-app.api.js +2 -1
- package/dist/types/builtin.js +2 -1
- package/dist/types/client.api.js +2 -1
- package/dist/types/commercial-app.api.d.ts +407 -11
- package/dist/types/commercial-app.api.d.ts.map +1 -1
- package/dist/types/commercial-app.api.js +2 -1
- package/dist/types/connector.js +2 -1
- package/dist/types/context.js +2 -1
- package/dist/types/event-app.api.d.ts +8 -0
- package/dist/types/event-app.api.d.ts.map +1 -1
- package/dist/types/event-app.api.js +2 -1
- package/dist/types/function.js +2 -1
- package/dist/types/identity-app.api.d.ts +2 -0
- package/dist/types/identity-app.api.d.ts.map +1 -1
- package/dist/types/identity-app.api.js +2 -1
- package/dist/types/index.js +23 -1
- package/dist/types/memory-app.api.d.ts +2 -0
- package/dist/types/memory-app.api.d.ts.map +1 -1
- package/dist/types/memory-app.api.js +2 -1
- package/dist/types/oauth-app.api.d.ts +2 -0
- package/dist/types/oauth-app.api.d.ts.map +1 -1
- package/dist/types/oauth-app.api.js +105 -1
- package/dist/types/provider-services.api.d.ts +98 -0
- package/dist/types/provider-services.api.d.ts.map +1 -0
- package/dist/types/provider-services.api.js +2 -0
- package/dist/types/validator.js +2 -1
- package/dist/types/webhook-app.api.js +2 -1
- package/dist/types/workflow.js +33 -1
- package/dist/validators/validators.js +478 -1
- package/dist/variable.js +37 -1
- package/package.json +3 -2
package/dist/template.js
CHANGED
|
@@ -1 +1,127 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.renderTemplate = renderTemplate;
|
|
7
|
+
exports.evaluateExpression = evaluateExpression;
|
|
8
|
+
const jexl_1 = __importDefault(require("jexl"));
|
|
9
|
+
let templateJexl = null;
|
|
10
|
+
function getTemplateJexl() {
|
|
11
|
+
if (templateJexl)
|
|
12
|
+
return templateJexl;
|
|
13
|
+
const jexl = new jexl_1.default.Jexl();
|
|
14
|
+
jexl.addFunctions({
|
|
15
|
+
lowercase: (v) => (v != null ? String(v).toLowerCase() : v),
|
|
16
|
+
trim: (v) => (v != null ? String(v).trim() : v),
|
|
17
|
+
uppercase: (v) => (v != null ? String(v).toUpperCase() : v),
|
|
18
|
+
substring: (v, start, end) => {
|
|
19
|
+
if (v == null)
|
|
20
|
+
return v;
|
|
21
|
+
const s = String(v);
|
|
22
|
+
const st = start ?? 0;
|
|
23
|
+
return end != null ? s.substring(st, end) : s.substring(st);
|
|
24
|
+
},
|
|
25
|
+
replace: (v, search, repl) => v != null ? String(v).replace(search ?? "", repl ?? "") : v,
|
|
26
|
+
split: (v, sep, limit) => {
|
|
27
|
+
if (v == null)
|
|
28
|
+
return v;
|
|
29
|
+
const arr = String(v).split(sep ?? ",");
|
|
30
|
+
return limit != null ? arr.slice(0, limit) : arr;
|
|
31
|
+
},
|
|
32
|
+
join: (v, sep) => Array.isArray(v) ? v.join(sep ?? ",") : v != null ? String(v) : v,
|
|
33
|
+
default_value: (v, d) => (v != null && v !== "" ? v : d),
|
|
34
|
+
to_string: (v) => (v != null ? String(v) : v),
|
|
35
|
+
to_number: (v) => (v != null ? Number(v) : v),
|
|
36
|
+
to_boolean: (v) => (v != null ? Boolean(v) : v),
|
|
37
|
+
json_parse: (v) => (typeof v === "string" ? JSON.parse(v) : v),
|
|
38
|
+
json_stringify: (v) => (v != null ? JSON.stringify(v) : v),
|
|
39
|
+
length: (v) => v != null ? (Array.isArray(v) ? v.length : String(v).length) : 0,
|
|
40
|
+
first: (v) => Array.isArray(v) && v.length > 0 ? v[0] : v != null ? String(v)[0] : v,
|
|
41
|
+
last: (v) => Array.isArray(v) && v.length > 0
|
|
42
|
+
? v[v.length - 1]
|
|
43
|
+
: v != null
|
|
44
|
+
? String(v).slice(-1)
|
|
45
|
+
: v,
|
|
46
|
+
coalesce: (obj, fieldsArg) => {
|
|
47
|
+
const fields = Array.isArray(fieldsArg) ? fieldsArg : fieldsArg ? [fieldsArg] : [];
|
|
48
|
+
if (!obj || typeof obj !== "object")
|
|
49
|
+
return undefined;
|
|
50
|
+
for (const f of fields) {
|
|
51
|
+
const val = f.split(".").reduce((o, p) => o?.[p], obj);
|
|
52
|
+
if (val != null && val !== "")
|
|
53
|
+
return val;
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
templateJexl = jexl;
|
|
59
|
+
return templateJexl;
|
|
60
|
+
}
|
|
61
|
+
function preprocessExpression(expr) {
|
|
62
|
+
let result = expr;
|
|
63
|
+
let changed = true;
|
|
64
|
+
let iterations = 0;
|
|
65
|
+
const maxIterations = 10;
|
|
66
|
+
while (changed && iterations < maxIterations) {
|
|
67
|
+
iterations++;
|
|
68
|
+
const before = result;
|
|
69
|
+
result = result.replace(/([\w\]])\.([a-zA-Z_][a-zA-Z0-9_-]+)(?![\[\(])/g, (match, base, prop) => {
|
|
70
|
+
if (prop.includes("-") || /^\d/.test(prop)) {
|
|
71
|
+
return `${base}['${prop}']`;
|
|
72
|
+
}
|
|
73
|
+
return match;
|
|
74
|
+
});
|
|
75
|
+
changed = before !== result;
|
|
76
|
+
}
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
async function renderTemplate(template, context = {}) {
|
|
80
|
+
if (typeof template !== "string")
|
|
81
|
+
return template;
|
|
82
|
+
if (!template.includes("{{"))
|
|
83
|
+
return template;
|
|
84
|
+
const regex = /\{\{\s*([^}]+)\s*\}\}/g;
|
|
85
|
+
let result = template;
|
|
86
|
+
let offset = 0;
|
|
87
|
+
const matches = [...template.matchAll(regex)];
|
|
88
|
+
for (const match of matches) {
|
|
89
|
+
const expr = match[1].trim();
|
|
90
|
+
try {
|
|
91
|
+
const value = await evaluateExpression(expr, context);
|
|
92
|
+
let replacement;
|
|
93
|
+
const adjustedMatchIndex = match.index + offset;
|
|
94
|
+
let replaceStart = adjustedMatchIndex;
|
|
95
|
+
let replaceLength = match[0].length;
|
|
96
|
+
if (value == null) {
|
|
97
|
+
replacement = "";
|
|
98
|
+
}
|
|
99
|
+
else if (typeof value === "object") {
|
|
100
|
+
replacement = JSON.stringify(value);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
replacement = String(value);
|
|
104
|
+
}
|
|
105
|
+
const lengthDiff = replacement.length - replaceLength;
|
|
106
|
+
offset += lengthDiff;
|
|
107
|
+
result =
|
|
108
|
+
result.substring(0, replaceStart) +
|
|
109
|
+
replacement +
|
|
110
|
+
result.substring(replaceStart + replaceLength);
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
const adjustedMatchIndex = match.index + offset;
|
|
114
|
+
result =
|
|
115
|
+
result.substring(0, adjustedMatchIndex) +
|
|
116
|
+
"" +
|
|
117
|
+
result.substring(adjustedMatchIndex + match[0].length);
|
|
118
|
+
offset -= match[0].length;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return result;
|
|
122
|
+
}
|
|
123
|
+
async function evaluateExpression(expr, context) {
|
|
124
|
+
const processedExpr = preprocessExpression(expr);
|
|
125
|
+
const jexl = getTemplateJexl();
|
|
126
|
+
return jexl.eval(processedExpr, context);
|
|
127
|
+
}
|
|
@@ -1 +1,214 @@
|
|
|
1
|
-
'use strict';const _0x5b56ef=_0x4bc7;(function(_0x424e23,_0x45d0b9){const _0x58b3d2=_0x4bc7,_0x1b99c2=_0x424e23();while(!![]){try{const _0x15eedd=parseInt(_0x58b3d2(0x1ac))/0x1*(parseInt(_0x58b3d2(0x1c0))/0x2)+parseInt(_0x58b3d2(0x1e4))/0x3*(parseInt(_0x58b3d2(0x1da))/0x4)+-parseInt(_0x58b3d2(0x1db))/0x5*(parseInt(_0x58b3d2(0x1c2))/0x6)+parseInt(_0x58b3d2(0x1c4))/0x7*(parseInt(_0x58b3d2(0x1b0))/0x8)+-parseInt(_0x58b3d2(0x1f4))/0x9*(-parseInt(_0x58b3d2(0x1d7))/0xa)+-parseInt(_0x58b3d2(0x1e6))/0xb+parseInt(_0x58b3d2(0x1c6))/0xc*(-parseInt(_0x58b3d2(0x1c1))/0xd);if(_0x15eedd===_0x45d0b9)break;else _0x1b99c2['push'](_0x1b99c2['shift']());}catch(_0x319e39){_0x1b99c2['push'](_0x1b99c2['shift']());}}}(_0x1e3a,0x42c32));function _0x4bc7(_0x517360,_0x2538c4){_0x517360=_0x517360-0x1a0;const _0x1e3a6a=_0x1e3a();let _0x4bc70f=_0x1e3a6a[_0x517360];if(_0x4bc7['qLMPnb']===undefined){var _0x31e186=function(_0x3e9320){const _0x43ca6a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x189ab5='',_0x1e8d96='';for(let _0x3f0055=0x0,_0xecdb5a,_0x5474c7,_0x430fa5=0x0;_0x5474c7=_0x3e9320['charAt'](_0x430fa5++);~_0x5474c7&&(_0xecdb5a=_0x3f0055%0x4?_0xecdb5a*0x40+_0x5474c7:_0x5474c7,_0x3f0055++%0x4)?_0x189ab5+=String['fromCharCode'](0xff&_0xecdb5a>>(-0x2*_0x3f0055&0x6)):0x0){_0x5474c7=_0x43ca6a['indexOf'](_0x5474c7);}for(let _0x5c4568=0x0,_0x2ec3=_0x189ab5['length'];_0x5c4568<_0x2ec3;_0x5c4568++){_0x1e8d96+='%'+('00'+_0x189ab5['charCodeAt'](_0x5c4568)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e8d96);};_0x4bc7['OmAUQy']=_0x31e186,_0x4bc7['dIJdbj']={},_0x4bc7['qLMPnb']=!![];}const _0x2e74bf=_0x1e3a6a[0x0],_0x4f72dd=_0x517360+_0x2e74bf,_0x58326d=_0x4bc7['dIJdbj'][_0x4f72dd];return!_0x58326d?(_0x4bc70f=_0x4bc7['OmAUQy'](_0x4bc70f),_0x4bc7['dIJdbj'][_0x4f72dd]=_0x4bc70f):_0x4bc70f=_0x58326d,_0x4bc70f;}Object['defineProperty'](exports,_0x5b56ef(0x1a7),{'value':!![]}),exports['stepsToNodes']=stepsToNodes;function _0x1e3a(){const _0x488e91=['yM9KEq','BwfWCgLUzW','zNvUy3rPB24','y29UzMLN','DMfYCW','Aw5ZDgfSBgf0Aw9Ux2LK','DhjHBNnMB3jT','y29UBMvJDg9Yx2fWAq','tufovufm','zNvUy3rPB25tBhvN','ru5duLLqveLptG','B3bLCMf0Aw9UCW','x19LC01VzhvSzq','ChjVAMvJDf9Pza','zNvUy3rPB25jza','zNvUy3rPB25FAwq','C291CMnLx2nVBM5Ly3rVCL92zxjZAw9U','mtG5otvRt0rpBhG','vfjbtLngt1jn','y29UBMvJDg9Yx3zLCNnPB24','yxv0AgvUDgLJyxrPB24','nJC5mLPPufPOAa','CgfYyw1Z','C2nOzwr1Bgu','DMfSAwrHDgLVBKDYB3vWCW','y29UBMvJDg9Yq29UzMLN','DgLTzxPVBMu','lwvSC2uT','zM9YrwfJAa','Bw9Kzq','CMvZCg9UzgvYvhLWzq','ywn0Aw9U','uKvtue9orevs','te9h','BwvZC2fNzq','B3v0Chv0lwLM','ue9tva','mNHtq1vztq','mJq0mdfxq1z6r1q','mtj6C2Xoy0W','D2vIAg9VAW','mJm0nwjur3v6yG','zgvSyxK','ndqYofDJzKLOuW','v29YA2zSB3DtDgvWvhLWzq','Cgf0AfbHCMfTCW','revmqvK','DgHLBG','DhLWzq','AxnwywXPzgf0B3jby3rPB24','kIaQicOGkIaQ','tK9usuzz','DhjPz2DLCG','vhjPz2DLCG','C291CMnLx2nVBM5Ly3rVCL9Pza','qvbjx0nbteW','qvvusevoveLdqvrjt04','lxrOzw4T','C3rHDhvZ','Ahr0Ca','mZeXmtqWmhPwu2jdBG','CMvZCg9UzgvY','zgf0ywjHC2u','mZG4y0PJzLjb','mJmZmZCWqvPqzKvl','Bg9N','y29UzgL0Aw9U','AM9I','D2vIAg9VA01LDgHVza','AgvHzgvYCW','y29UBMvJDg9Yx2LK','DgLTzw91Da','ywn0AxzL','mtq1ntzftM5bAvm','Aw5WDxrFzNjVBq','mJGZnti1Axjdsvz1','v29YA2zSB3DuCMLNz2vYvhLWzq','v0vcse9psW','rLvoq1rjt04','y29UBMvJDgLVBL9Pza','q09oreLusu9o','ChvZAa','yxjNCW','y29UBMvJDg9Yswq','zwXZzq','zxzLBNq','y3jVBG','vKfmsurbve9s','BM90Awz5','ouXKywfrrq','AMv4Ba','BMfTzq','D2vIAg9VA191CMW','zw5KCg9PBNroyw1L','C3rLChm'];_0x1e3a=function(){return _0x488e91;};return _0x1e3a();}const workflow_1=require('../types/workflow');function stepTypeToNodeType(_0x189ab5){const _0x537ba9=_0x5b56ef,_0x1e8d96=_0x189ab5[_0x537ba9(0x1cb)];if(_0x1e8d96===workflow_1[_0x537ba9(0x1c7)][_0x537ba9(0x1d2)])return _0x537ba9(0x1a2);if(_0x1e8d96===workflow_1[_0x537ba9(0x1c7)]['DB'])return'connector_db';if(_0x1e8d96===workflow_1['WorkflowStepType'][_0x537ba9(0x1ad)])return _0x537ba9(0x1a1);if(_0x1e8d96===workflow_1['WorkflowStepType'][_0x537ba9(0x1eb)])return _0x537ba9(0x1dd);if(_0x1e8d96===workflow_1[_0x537ba9(0x1c7)]['VALIDATOR'])return _0x537ba9(0x1a2);if(_0x1e8d96===workflow_1['WorkflowStepType']['RESPONDER'])return _0x537ba9(0x1a2);if(_0x1e8d96===workflow_1[_0x537ba9(0x1c7)]['AUTHENTICATION'])return _0x537ba9(0x1af);if(_0x1e8d96===workflow_1[_0x537ba9(0x1c7)][_0x537ba9(0x1e9)])return _0x537ba9(0x1fc);if(_0x1e8d96===workflow_1[_0x537ba9(0x1c7)]['ENCRYPTION'])return'connector_api';if(_0x1e8d96===workflow_1[_0x537ba9(0x1c7)][_0x537ba9(0x1bc)])return _0x537ba9(0x1dc);if(_0x1e8d96===workflow_1['WorkflowStepType'][_0x537ba9(0x1c9)])return _0x537ba9(0x1c5);if(_0x1e8d96===workflow_1[_0x537ba9(0x1c7)][_0x537ba9(0x1ce)])return _0x537ba9(0x1f3);return _0x537ba9(0x1a2);}function stepToNodeData(_0x3f0055,_0xecdb5a){const _0xea93a1=_0x5b56ef,_0x5474c7={'label':_0x3f0055['id']},_0x430fa5=_0x3f0055;return _0x3f0055[_0xea93a1(0x1cb)]===workflow_1[_0xea93a1(0x1c7)][_0xea93a1(0x1d2)]&&(_0x5474c7['connectorId']=_0x430fa5['connector_id'],_0x5474c7[_0xea93a1(0x1ba)]=_0x430fa5[_0xea93a1(0x1ba)],_0x5474c7[_0xea93a1(0x1f8)]=_0x430fa5[_0xea93a1(0x1ba)],_0x5474c7[_0xea93a1(0x1b4)]={'body':_0x430fa5[_0xea93a1(0x1fa)],'params':_0x430fa5[_0xea93a1(0x1b1)],'pathParams':_0x430fa5[_0xea93a1(0x1c8)],'headers':_0x430fa5[_0xea93a1(0x1e0)],'vars':_0x430fa5[_0xea93a1(0x1fe)],'installation_id':_0x430fa5[_0xea93a1(0x1a0)],'connection_id':_0x430fa5[_0xea93a1(0x1ea)],'database':_0x430fa5[_0xea93a1(0x1d9)],'timeout':_0x430fa5[_0xea93a1(0x1e2)],'then':_0x430fa5[_0xea93a1(0x1ca)],'else':_0x430fa5[_0xea93a1(0x1ef)]},_0x430fa5[_0xea93a1(0x1ae)]&&(_0x5474c7[_0xea93a1(0x1ae)]=_0x430fa5['connector_version'],_0x5474c7[_0xea93a1(0x1b4)][_0xea93a1(0x1ae)]=_0x430fa5[_0xea93a1(0x1ae)])),_0x3f0055[_0xea93a1(0x1cb)]===workflow_1[_0xea93a1(0x1c7)]['DB']&&(_0x5474c7[_0xea93a1(0x1ee)]=_0x430fa5[_0xea93a1(0x1e1)],_0x5474c7['action']=_0x430fa5[_0xea93a1(0x1ba)],_0x5474c7[_0xea93a1(0x1f8)]=_0x430fa5[_0xea93a1(0x1ba)],_0x5474c7[_0xea93a1(0x1b4)]={..._0x430fa5['body'],'then':_0x430fa5[_0xea93a1(0x1ca)],'else':_0x430fa5['else']},_0x430fa5[_0xea93a1(0x1ae)]&&(_0x5474c7[_0xea93a1(0x1ae)]=_0x430fa5[_0xea93a1(0x1ae)],_0x5474c7['connectorConfig'][_0xea93a1(0x1ae)]=_0x430fa5['connector_version'])),_0x3f0055[_0xea93a1(0x1cb)]===workflow_1['WorkflowStepType']['TRANSFORM']&&(_0x5474c7[_0xea93a1(0x1fb)]=_0x430fa5[_0xea93a1(0x1fb)],_0x5474c7[_0xea93a1(0x1a6)]=_0x430fa5[_0xea93a1(0x1a6)]),_0x3f0055['type']===workflow_1['WorkflowStepType'][_0xea93a1(0x1eb)]&&(_0x5474c7['conditionExpr']=_0x430fa5['if'],_0x5474c7['mode']=_0x430fa5[_0xea93a1(0x1b8)]||_0xea93a1(0x1f5),_0x5474c7[_0xea93a1(0x1ca)]=_0x430fa5[_0xea93a1(0x1ca)],_0x5474c7[_0xea93a1(0x1ef)]=_0x430fa5[_0xea93a1(0x1ef)]),_0x3f0055[_0xea93a1(0x1cb)]===workflow_1[_0xea93a1(0x1c7)][_0xea93a1(0x1f2)]&&(_0x5474c7[_0xea93a1(0x1cc)]=!![],_0x5474c7[_0xea93a1(0x1b3)]=_0x430fa5[_0xea93a1(0x1b3)]),_0x3f0055['type']===workflow_1[_0xea93a1(0x1c7)][_0xea93a1(0x1bb)]&&(_0x5474c7[_0xea93a1(0x1b9)]=_0x430fa5[_0xea93a1(0x1d8)],_0x5474c7[_0xea93a1(0x1b4)]=_0x430fa5[_0xea93a1(0x1fd)]),_0x3f0055['type']===workflow_1[_0xea93a1(0x1c7)][_0xea93a1(0x1d3)]&&(_0x5474c7[_0xea93a1(0x1ee)]=_0x430fa5[_0xea93a1(0x1e1)],_0x5474c7['action']=_0x430fa5[_0xea93a1(0x1ba)],_0x5474c7[_0xea93a1(0x1b4)]={'body':_0x430fa5['body'],'then':_0x430fa5[_0xea93a1(0x1ca)],'else':_0x430fa5['else']},_0x430fa5[_0xea93a1(0x1ae)]&&(_0x5474c7[_0xea93a1(0x1ae)]=_0x430fa5[_0xea93a1(0x1ae)],_0x5474c7[_0xea93a1(0x1b4)][_0xea93a1(0x1ae)]=_0x430fa5[_0xea93a1(0x1ae)])),_0x3f0055['type']===workflow_1['WorkflowStepType'][_0xea93a1(0x1a5)]&&(_0x5474c7[_0xea93a1(0x1ee)]=_0x430fa5[_0xea93a1(0x1e1)],_0x5474c7[_0xea93a1(0x1ba)]=_0x430fa5[_0xea93a1(0x1ba)],_0x5474c7[_0xea93a1(0x1f8)]=_0x430fa5['action'],_0x5474c7['connectorConfig']={'body':_0x430fa5[_0xea93a1(0x1fa)],'params':_0x430fa5[_0xea93a1(0x1b1)],'then':_0x430fa5[_0xea93a1(0x1ca)],'else':_0x430fa5['else']},_0x430fa5['connector_version']&&(_0x5474c7[_0xea93a1(0x1ae)]=_0x430fa5[_0xea93a1(0x1ae)],_0x5474c7[_0xea93a1(0x1b4)][_0xea93a1(0x1ae)]=_0x430fa5['connector_version'])),_0x3f0055[_0xea93a1(0x1cb)]===workflow_1[_0xea93a1(0x1c7)][_0xea93a1(0x1e9)]&&(_0x5474c7[_0xea93a1(0x1a9)]=_0x430fa5[_0xea93a1(0x1aa)],_0x5474c7[_0xea93a1(0x1a4)]=_0x430fa5['function_slug'],_0x5474c7['connectorConfig']={'args':_0x430fa5[_0xea93a1(0x1ed)],'then':_0x430fa5[_0xea93a1(0x1ca)],'else':_0x430fa5[_0xea93a1(0x1ef)]}),_0x3f0055[_0xea93a1(0x1cb)]===workflow_1[_0xea93a1(0x1c7)][_0xea93a1(0x1bc)]&&(_0x5474c7['message']=_0x430fa5[_0xea93a1(0x1bd)]),_0x3f0055[_0xea93a1(0x1cb)]===workflow_1[_0xea93a1(0x1c7)][_0xea93a1(0x1c9)]&&(_0x5474c7['ms']=_0x430fa5['ms']),_0x5474c7;}function stepsToNodes(_0x5c4568){const _0xec3738=_0x5b56ef,_0x2ec3=_0x5c4568[_0xec3738(0x1cf)],_0x102259=_0x5c4568[_0xec3738(0x1f9)]||[],_0x6b5f6d=_0xec3738(0x1cf),_0x21f22f=[],_0x46e551=[],_0x54548f=_0x2ec3[_0xec3738(0x1cb)]||workflow_1[_0xec3738(0x1e7)][_0xec3738(0x1a3)],_0x500811=_0x54548f===workflow_1['WorkflowTriggerType'][_0xec3738(0x1e8)]?_0xec3738(0x1d6):String(_0x54548f)['toLowerCase'](),_0x43c5cd=_0x2ec3[_0xec3738(0x1f7)]||'',_0x2b1483=_0x2ec3[_0xec3738(0x1df)]||_0xec3738(0x1bf),_0x1ef4a5=_0x2ec3[_0xec3738(0x1f1)],_0x326e76=_0x2ec3[_0xec3738(0x1b5)],_0x3eaac5=_0x2ec3[_0xec3738(0x1f0)],_0x51c147=_0x2ec3[_0xec3738(0x1d1)],_0x282f14=_0x2ec3[_0xec3738(0x1ab)],_0x568bbc=_0x500811===_0xec3738(0x1d6)||_0x500811===_0xec3738(0x1c3)?{'webhookPath':_0x43c5cd,'webhookMethod':_0x2b1483}:_0x500811===_0xec3738(0x1de)||_0x500811===_0xec3738(0x1b2)?{'cron':_0x1ef4a5??_0xec3738(0x1cd),'timezone':_0x326e76}:_0x500811==='event'?{'event':_0x3eaac5,'source_connector_id':_0x51c147,'source_connector_version':_0x282f14}:{};_0x21f22f[_0xec3738(0x1ec)]({'id':_0x6b5f6d,'type':'custom','position':{'x':0x0,'y':0x0},'data':{'triggerType':_0x500811,'webhookPath':_0x43c5cd,'webhookMethod':_0x2b1483,'cron':_0x1ef4a5,'timezone':_0x326e76,'event':_0x3eaac5,'source_connector_id':_0x51c147,'source_connector_version':_0x282f14,'label':'Trigger'},'label':_0xec3738(0x1d0)});const _0x113e40=[{'id':_0x6b5f6d,'type':_0x500811,'name':_0xec3738(0x1d0),'enabled':!![],'config':_0x568bbc}];_0x102259[_0xec3738(0x1b7)]((_0x3d0cec,_0x34be9c)=>{const _0x13dedd=_0xec3738,_0x4dd60f=_0x3d0cec['id'],_0xe0d03d=0xfa+_0x34be9c*0xc8,_0x15de9c=0x0;_0x21f22f['push']({'id':_0x4dd60f,'type':stepTypeToNodeType(_0x3d0cec),'position':{'x':_0xe0d03d,'y':_0x15de9c},'data':stepToNodeData(_0x3d0cec,_0x34be9c),'label':_0x3d0cec['id']});const _0x4a63f6=_0x3d0cec[_0x13dedd(0x1e5)],_0x528409=_0x4a63f6||_0x6b5f6d;_0x46e551[_0x13dedd(0x1ec)]({'id':'e-'+_0x528409+'-'+_0x4dd60f,'source':_0x528409,'target':_0x4dd60f}),_0x3d0cec[_0x13dedd(0x1ca)]&&_0x46e551[_0x13dedd(0x1ec)]({'id':'e-'+_0x4dd60f+_0x13dedd(0x1d4)+_0x3d0cec[_0x13dedd(0x1ca)],'source':_0x4dd60f,'target':_0x3d0cec['then'],'sourceHandle':_0x13dedd(0x1be)}),_0x3d0cec[_0x13dedd(0x1ef)]&&_0x46e551[_0x13dedd(0x1ec)]({'id':'e-'+_0x4dd60f+_0x13dedd(0x1b6)+_0x3d0cec['else'],'source':_0x4dd60f,'target':_0x3d0cec[_0x13dedd(0x1ef)],'sourceHandle':'output-else'});});const _0x270bc9={'name':_0x5c4568[_0xec3738(0x1f6)],'type':'API','nodes':_0x21f22f,'edges':_0x46e551,'triggers':_0x113e40};return{'type':'API','name':_0x5c4568[_0xec3738(0x1f6)],'status':_0x5c4568[_0xec3738(0x1d5)]||_0xec3738(0x1e3),'project_id':_0x5c4568[_0xec3738(0x1a8)],'vars':_0x5c4568[_0xec3738(0x1fe)],'data':[_0x270bc9]};}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stepsToNodes = stepsToNodes;
|
|
4
|
+
const workflow_1 = require("../types/workflow");
|
|
5
|
+
function stepTypeToNodeType(step) {
|
|
6
|
+
const t = step.type;
|
|
7
|
+
if (t === workflow_1.WorkflowStepType.API_CALL)
|
|
8
|
+
return "connector_api";
|
|
9
|
+
if (t === workflow_1.WorkflowStepType.DB)
|
|
10
|
+
return "connector_db";
|
|
11
|
+
if (t === workflow_1.WorkflowStepType.TRANSFORM)
|
|
12
|
+
return "transform";
|
|
13
|
+
if (t === workflow_1.WorkflowStepType.CONDITION)
|
|
14
|
+
return "condition";
|
|
15
|
+
if (t === workflow_1.WorkflowStepType.VALIDATOR)
|
|
16
|
+
return "connector_api";
|
|
17
|
+
if (t === workflow_1.WorkflowStepType.RESPONDER)
|
|
18
|
+
return "connector_api";
|
|
19
|
+
if (t === workflow_1.WorkflowStepType.AUTHENTICATION)
|
|
20
|
+
return "authentication";
|
|
21
|
+
if (t === workflow_1.WorkflowStepType.FUNCTION)
|
|
22
|
+
return "function";
|
|
23
|
+
if (t === workflow_1.WorkflowStepType.ENCRYPTION)
|
|
24
|
+
return "connector_api";
|
|
25
|
+
if (t === workflow_1.WorkflowStepType.LOG)
|
|
26
|
+
return "log";
|
|
27
|
+
if (t === workflow_1.WorkflowStepType.DELAY)
|
|
28
|
+
return "delay";
|
|
29
|
+
if (t === workflow_1.WorkflowStepType.NOTIFY)
|
|
30
|
+
return "notify";
|
|
31
|
+
return "connector_api";
|
|
32
|
+
}
|
|
33
|
+
function stepToNodeData(step, index) {
|
|
34
|
+
const data = { label: step.id };
|
|
35
|
+
const s = step;
|
|
36
|
+
if (step.type === workflow_1.WorkflowStepType.API_CALL) {
|
|
37
|
+
data.connectorId = s.connector_id;
|
|
38
|
+
data.action = s.action;
|
|
39
|
+
data.endpointName = s.action;
|
|
40
|
+
data.connectorConfig = {
|
|
41
|
+
body: s.body,
|
|
42
|
+
params: s.params,
|
|
43
|
+
pathParams: s.pathParams,
|
|
44
|
+
headers: s.headers,
|
|
45
|
+
vars: s.vars,
|
|
46
|
+
installation_id: s.installation_id,
|
|
47
|
+
connection_id: s.connection_id,
|
|
48
|
+
database: s.database,
|
|
49
|
+
timeout: s.timeout,
|
|
50
|
+
then: s.then,
|
|
51
|
+
else: s.else,
|
|
52
|
+
};
|
|
53
|
+
if (s.connector_version) {
|
|
54
|
+
data.connector_version = s.connector_version;
|
|
55
|
+
data.connectorConfig.connector_version = s.connector_version;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (step.type === workflow_1.WorkflowStepType.DB) {
|
|
59
|
+
data.connectorId = s.connector_id;
|
|
60
|
+
data.action = s.action;
|
|
61
|
+
data.endpointName = s.action;
|
|
62
|
+
data.connectorConfig = { ...s.body, then: s.then, else: s.else };
|
|
63
|
+
if (s.connector_version) {
|
|
64
|
+
data.connector_version = s.connector_version;
|
|
65
|
+
data.connectorConfig.connector_version = s.connector_version;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (step.type === workflow_1.WorkflowStepType.TRANSFORM) {
|
|
69
|
+
data.mapping = s.mapping;
|
|
70
|
+
data.operations = s.operations;
|
|
71
|
+
}
|
|
72
|
+
if (step.type === workflow_1.WorkflowStepType.CONDITION) {
|
|
73
|
+
data.conditionExpr = s.if;
|
|
74
|
+
data.mode = s.mode || "jexl";
|
|
75
|
+
data.then = s.then;
|
|
76
|
+
data.else = s.else;
|
|
77
|
+
}
|
|
78
|
+
if (step.type === workflow_1.WorkflowStepType.VALIDATOR) {
|
|
79
|
+
data.isValidatorAction = true;
|
|
80
|
+
data.validationGroups = s.validationGroups;
|
|
81
|
+
}
|
|
82
|
+
if (step.type === workflow_1.WorkflowStepType.RESPONDER) {
|
|
83
|
+
data.responderType = s.responder;
|
|
84
|
+
data.connectorConfig = s.config;
|
|
85
|
+
}
|
|
86
|
+
if (step.type === workflow_1.WorkflowStepType.AUTHENTICATION) {
|
|
87
|
+
data.connectorId = s.connector_id;
|
|
88
|
+
data.action = s.action;
|
|
89
|
+
data.connectorConfig = { body: s.body, then: s.then, else: s.else };
|
|
90
|
+
if (s.connector_version) {
|
|
91
|
+
data.connector_version = s.connector_version;
|
|
92
|
+
data.connectorConfig.connector_version = s.connector_version;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (step.type === workflow_1.WorkflowStepType.ENCRYPTION) {
|
|
96
|
+
data.connectorId = s.connector_id;
|
|
97
|
+
data.action = s.action;
|
|
98
|
+
data.endpointName = s.action;
|
|
99
|
+
data.connectorConfig = { body: s.body, params: s.params, then: s.then, else: s.else };
|
|
100
|
+
if (s.connector_version) {
|
|
101
|
+
data.connector_version = s.connector_version;
|
|
102
|
+
data.connectorConfig.connector_version = s.connector_version;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (step.type === workflow_1.WorkflowStepType.FUNCTION) {
|
|
106
|
+
data.functionId = s.function_id;
|
|
107
|
+
data.functionSlug = s.function_slug;
|
|
108
|
+
data.connectorConfig = { args: s.args, then: s.then, else: s.else };
|
|
109
|
+
}
|
|
110
|
+
if (step.type === workflow_1.WorkflowStepType.LOG) {
|
|
111
|
+
data.message = s.message;
|
|
112
|
+
}
|
|
113
|
+
if (step.type === workflow_1.WorkflowStepType.DELAY) {
|
|
114
|
+
data.ms = s.ms;
|
|
115
|
+
}
|
|
116
|
+
return data;
|
|
117
|
+
}
|
|
118
|
+
function stepsToNodes(workflow) {
|
|
119
|
+
const trigger = workflow.trigger;
|
|
120
|
+
const steps = workflow.steps || [];
|
|
121
|
+
const triggerId = "trigger";
|
|
122
|
+
const nodes = [];
|
|
123
|
+
const edges = [];
|
|
124
|
+
const rawType = trigger.type || workflow_1.WorkflowTriggerType.MANUAL;
|
|
125
|
+
const triggerType = rawType === workflow_1.WorkflowTriggerType.WEBHOOK ? "http" : String(rawType).toLowerCase();
|
|
126
|
+
const webhookPath = trigger.webhook_url || "";
|
|
127
|
+
const webhookMethod = trigger.webhookMethod || "POST";
|
|
128
|
+
const cron = trigger.cron;
|
|
129
|
+
const timezone = trigger.timezone;
|
|
130
|
+
const event = trigger.event;
|
|
131
|
+
const sourceConnectorId = trigger.source_connector_id;
|
|
132
|
+
const sourceConnectorVersion = trigger.source_connector_version;
|
|
133
|
+
const triggerConfig = triggerType === "http" || triggerType === "webhook"
|
|
134
|
+
? { webhookPath, webhookMethod }
|
|
135
|
+
: triggerType === "job" || triggerType === "schedule"
|
|
136
|
+
? { cron: cron ?? "* * * * *", timezone }
|
|
137
|
+
: triggerType === "event"
|
|
138
|
+
? {
|
|
139
|
+
event,
|
|
140
|
+
source_connector_id: sourceConnectorId,
|
|
141
|
+
source_connector_version: sourceConnectorVersion,
|
|
142
|
+
}
|
|
143
|
+
: {};
|
|
144
|
+
nodes.push({
|
|
145
|
+
id: triggerId,
|
|
146
|
+
type: "custom",
|
|
147
|
+
position: { x: 0, y: 0 },
|
|
148
|
+
data: {
|
|
149
|
+
triggerType,
|
|
150
|
+
webhookPath,
|
|
151
|
+
webhookMethod,
|
|
152
|
+
cron,
|
|
153
|
+
timezone,
|
|
154
|
+
event,
|
|
155
|
+
source_connector_id: sourceConnectorId,
|
|
156
|
+
source_connector_version: sourceConnectorVersion,
|
|
157
|
+
label: "Trigger",
|
|
158
|
+
},
|
|
159
|
+
label: "Trigger",
|
|
160
|
+
});
|
|
161
|
+
const triggers = [
|
|
162
|
+
{ id: triggerId, type: triggerType, name: "Trigger", enabled: true, config: triggerConfig },
|
|
163
|
+
];
|
|
164
|
+
steps.forEach((step, idx) => {
|
|
165
|
+
const nodeId = step.id;
|
|
166
|
+
const x = 250 + idx * 200;
|
|
167
|
+
const y = 0;
|
|
168
|
+
nodes.push({
|
|
169
|
+
id: nodeId,
|
|
170
|
+
type: stepTypeToNodeType(step),
|
|
171
|
+
position: { x, y },
|
|
172
|
+
data: stepToNodeData(step, idx),
|
|
173
|
+
label: step.id,
|
|
174
|
+
});
|
|
175
|
+
const inputFrom = step.input_from;
|
|
176
|
+
const sourceId = inputFrom || triggerId;
|
|
177
|
+
edges.push({
|
|
178
|
+
id: `e-${sourceId}-${nodeId}`,
|
|
179
|
+
source: sourceId,
|
|
180
|
+
target: nodeId,
|
|
181
|
+
});
|
|
182
|
+
if (step.then) {
|
|
183
|
+
edges.push({
|
|
184
|
+
id: `e-${nodeId}-then-${step.then}`,
|
|
185
|
+
source: nodeId,
|
|
186
|
+
target: step.then,
|
|
187
|
+
sourceHandle: "output-if",
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
if (step.else) {
|
|
191
|
+
edges.push({
|
|
192
|
+
id: `e-${nodeId}-else-${step.else}`,
|
|
193
|
+
source: nodeId,
|
|
194
|
+
target: step.else,
|
|
195
|
+
sourceHandle: "output-else",
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
const dataItem = {
|
|
200
|
+
name: workflow.name,
|
|
201
|
+
type: "API",
|
|
202
|
+
nodes,
|
|
203
|
+
edges,
|
|
204
|
+
triggers,
|
|
205
|
+
};
|
|
206
|
+
return {
|
|
207
|
+
type: "API",
|
|
208
|
+
name: workflow.name,
|
|
209
|
+
status: workflow.status || "active",
|
|
210
|
+
project_id: workflow.project_id,
|
|
211
|
+
vars: workflow.vars,
|
|
212
|
+
data: [dataItem],
|
|
213
|
+
};
|
|
214
|
+
}
|
|
@@ -1 +1,189 @@
|
|
|
1
|
-
'use strict';function _0x2269(_0xed2ff6,_0x3c6a03){_0xed2ff6=_0xed2ff6-0x1b7;const _0x14f12e=_0x14f1();let _0x22696c=_0x14f12e[_0xed2ff6];if(_0x2269['MWzUSX']===undefined){var _0x3b065c=function(_0x5f4f05){const _0xca2479='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32449b='',_0x13feb1='';for(let _0x2a8ac2=0x0,_0x426078,_0x14e3e1,_0x57e1f1=0x0;_0x14e3e1=_0x5f4f05['charAt'](_0x57e1f1++);~_0x14e3e1&&(_0x426078=_0x2a8ac2%0x4?_0x426078*0x40+_0x14e3e1:_0x14e3e1,_0x2a8ac2++%0x4)?_0x32449b+=String['fromCharCode'](0xff&_0x426078>>(-0x2*_0x2a8ac2&0x6)):0x0){_0x14e3e1=_0xca2479['indexOf'](_0x14e3e1);}for(let _0xfa554b=0x0,_0x20f71a=_0x32449b['length'];_0xfa554b<_0x20f71a;_0xfa554b++){_0x13feb1+='%'+('00'+_0x32449b['charCodeAt'](_0xfa554b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13feb1);};_0x2269['GHBSsH']=_0x3b065c,_0x2269['cqJBGa']={},_0x2269['MWzUSX']=!![];}const _0x416863=_0x14f12e[0x0],_0x3f72f7=_0xed2ff6+_0x416863,_0x774813=_0x2269['cqJBGa'][_0x3f72f7];return!_0x774813?(_0x22696c=_0x2269['GHBSsH'](_0x22696c),_0x2269['cqJBGa'][_0x3f72f7]=_0x22696c):_0x22696c=_0x774813,_0x22696c;}const _0x693e58=_0x2269;(function(_0x1a2c27,_0x39eb87){const _0x2515a3=_0x2269,_0x464d9d=_0x1a2c27();while(!![]){try{const _0x16e8c6=-parseInt(_0x2515a3(0x1fc))/0x1+-parseInt(_0x2515a3(0x1dc))/0x2*(-parseInt(_0x2515a3(0x1cc))/0x3)+parseInt(_0x2515a3(0x206))/0x4+-parseInt(_0x2515a3(0x1d8))/0x5+-parseInt(_0x2515a3(0x1ed))/0x6*(parseInt(_0x2515a3(0x1e0))/0x7)+parseInt(_0x2515a3(0x1f9))/0x8+parseInt(_0x2515a3(0x1f7))/0x9;if(_0x16e8c6===_0x39eb87)break;else _0x464d9d['push'](_0x464d9d['shift']());}catch(_0x2c3303){_0x464d9d['push'](_0x464d9d['shift']());}}}(_0x14f1,0x4c5e5));Object['defineProperty'](exports,_0x693e58(0x1bf),{'value':!![]}),exports['WorkflowTransformer']=void 0x0;const workflow_1=require(_0x693e58(0x20b));function sanitize(_0x32449b){const _0x35788d=_0x693e58;return _0x32449b[_0x35788d(0x1b7)](/[.\-\s]/g,'_');}function buildDependencyGraph(_0x13feb1){const _0x151691=_0x693e58,_0x2a8ac2=new Map();return _0x13feb1[_0x151691(0x1b8)](_0x426078=>{const _0x22b2a1=_0x151691;if(!_0x2a8ac2[_0x22b2a1(0x1e6)](_0x426078[_0x22b2a1(0x200)]))_0x2a8ac2[_0x22b2a1(0x1eb)](_0x426078[_0x22b2a1(0x200)],[]);_0x2a8ac2[_0x22b2a1(0x1c2)](_0x426078[_0x22b2a1(0x200)])[_0x22b2a1(0x1c7)](_0x426078['source']);}),_0x2a8ac2;}function topologicalSort(_0x14e3e1,_0x57e1f1,_0xfa554b){const _0x109ef6=_0x693e58,_0x20f71a=[],_0x45e308=new Set(),_0x229481=_0x285595=>{const _0x51e6e0=_0x2269;if(_0x285595===_0xfa554b||_0x45e308[_0x51e6e0(0x1e6)](_0x285595))return;_0x45e308['add'](_0x285595),(_0x57e1f1[_0x51e6e0(0x1c2)](_0x285595)||[])[_0x51e6e0(0x1b8)](_0x229481),_0x20f71a['push'](_0x285595);};return _0x14e3e1[_0x109ef6(0x1b8)](_0x66fb14=>_0x229481(_0x66fb14['id'])),_0x20f71a;}class WorkflowTransformer{static[_0x693e58(0x1ee)](_0x2a3b3b,_0x4cc052,_0x23a161,_0x1f39d1,_0x24893e){const _0x4dce3d=_0x693e58,_0x6272c0=_0x2a3b3b[_0x4dce3d(0x1c6)][_0x4dce3d(0x1d9)](_0x167a55=>_0x167a55[_0x4dce3d(0x202)]===_0x4dce3d(0x1e3)&&_0x167a55['data'][_0x4dce3d(0x1f8)]);if(!_0x6272c0)throw new Error(_0x4dce3d(0x205));const _0x322b5e=_0x6272c0[_0x4dce3d(0x207)],_0x427dc1=(_0x322b5e[_0x4dce3d(0x1f8)]||_0x4dce3d(0x209))[_0x4dce3d(0x1b9)]();let _0x3223e9={'type':workflow_1[_0x4dce3d(0x1c1)][_0x4dce3d(0x1cf)]};if(_0x427dc1==='http'||_0x427dc1===_0x4dce3d(0x1da))_0x3223e9={'type':workflow_1['WorkflowTriggerType']['HTTP'],'webhook_url':_0x322b5e[_0x4dce3d(0x1e4)]||_0x322b5e[_0x4dce3d(0x1e9)]?.[_0x4dce3d(0x1e4)]||''},_0x3223e9[_0x4dce3d(0x1bc)]=_0x322b5e['webhookMethod']||_0x322b5e[_0x4dce3d(0x1e9)]?.[_0x4dce3d(0x1bc)]||'POST';else{if(_0x427dc1==='job')_0x3223e9={'type':workflow_1['WorkflowTriggerType'][_0x4dce3d(0x1df)],'cron':_0x322b5e[_0x4dce3d(0x1c3)]||_0x322b5e[_0x4dce3d(0x1e9)]?.['cron']||'*\x20*\x20*\x20*\x20*','timezone':_0x322b5e['timezone']||_0x322b5e['config']?.[_0x4dce3d(0x1f5)]};else{if(_0x427dc1===_0x4dce3d(0x1c0))_0x3223e9={'type':workflow_1[_0x4dce3d(0x1c1)][_0x4dce3d(0x1ff)],'cron':_0x322b5e[_0x4dce3d(0x1c3)]||_0x322b5e[_0x4dce3d(0x1e9)]?.[_0x4dce3d(0x1c3)],'timezone':_0x322b5e['timezone']||_0x322b5e['config']?.[_0x4dce3d(0x1f5)]};else{if(_0x427dc1==='event'){const _0xe2e95f=_0x322b5e[_0x4dce3d(0x1e9)]||{};_0x3223e9={'type':workflow_1[_0x4dce3d(0x1c1)]['EVENT'],'event':_0x322b5e[_0x4dce3d(0x1fa)]||_0xe2e95f[_0x4dce3d(0x1fa)],'source_connector_id':_0x322b5e[_0x4dce3d(0x1ca)]||_0x322b5e['sourceConnectorId']||_0xe2e95f[_0x4dce3d(0x1ca)],'source_connector_version':_0x322b5e[_0x4dce3d(0x1c8)]||_0x322b5e[_0x4dce3d(0x1e8)]||_0xe2e95f[_0x4dce3d(0x1c8)]};}}}}const _0x3fcac9=buildDependencyGraph(_0x2a3b3b[_0x4dce3d(0x1f6)]),_0x3fc03b=topologicalSort(_0x2a3b3b[_0x4dce3d(0x1c6)],_0x3fcac9,_0x6272c0['id']),_0x1d593f=[],_0x1767b7=new Map();return _0x3fc03b[_0x4dce3d(0x1b8)](_0x130a2f=>{const _0x3393e3=_0x4dce3d,_0x513153=_0x2a3b3b[_0x3393e3(0x1c6)][_0x3393e3(0x1d9)](_0x1efbbf=>_0x1efbbf['id']===_0x130a2f);if(!_0x513153)return;const _0x17ed38=_0x3fcac9[_0x3393e3(0x1c2)](_0x513153['id'])||[],_0x1d9751=_0x17ed38[_0x3393e3(0x1d9)](_0x24db79=>_0x24db79!==_0x6272c0['id']),_0x339d97=sanitize(_0x513153['id']);_0x1767b7[_0x3393e3(0x1eb)](_0x513153['id'],_0x339d97);const _0xa32373=_0x513153[_0x3393e3(0x207)],_0x581f45={'id':_0x339d97};if(_0x1d9751)_0x581f45['input_from']=_0x1767b7['get'](_0x1d9751)||sanitize(_0x1d9751);const _0x228413=_0xa32373[_0x3393e3(0x1fe)]||{},_0x4dfbdd=_0xddeef0=>{const _0x3a61b2=_0x3393e3;if(_0x228413[_0x3a61b2(0x1d1)])_0xddeef0[_0x3a61b2(0x1d1)]=sanitize(_0x228413['then']);if(_0x228413['else'])_0xddeef0[_0x3a61b2(0x1e7)]=sanitize(_0x228413[_0x3a61b2(0x1e7)]);};if(_0x513153[_0x3393e3(0x202)]===_0x3393e3(0x1f0)||_0x513153['type']===_0x3393e3(0x1f3)){if(_0xa32373[_0x3393e3(0x1db)])_0x581f45[_0x3393e3(0x202)]=workflow_1['WorkflowStepType']['RESPONDER'],_0x581f45[_0x3393e3(0x1bb)]=_0xa32373['responderType'],_0x581f45[_0x3393e3(0x1e9)]=_0x228413;else{if(_0xa32373[_0x3393e3(0x1ce)])_0x581f45['type']=workflow_1['WorkflowStepType'][_0x3393e3(0x1cd)],_0x581f45[_0x3393e3(0x1d6)]=_0xa32373[_0x3393e3(0x1d6)]||[];else{_0x581f45['type']=workflow_1[_0x3393e3(0x1f2)]['API_CALL'],_0x581f45[_0x3393e3(0x1be)]=_0xa32373[_0x3393e3(0x1e1)],_0x581f45['action']=_0xa32373['action']||_0xa32373[_0x3393e3(0x1ea)]||_0xa32373[_0x3393e3(0x1d7)],_0x581f45['params']=_0x228413['params']||{},_0x581f45['pathParams']=_0x228413[_0x3393e3(0x203)]||_0x228413[_0x3393e3(0x1ec)]||{},_0x581f45[_0x3393e3(0x1ba)]=_0x228413[_0x3393e3(0x1ba)]||{};const _0x4ec6ca=_0xa32373[_0x3393e3(0x1f1)]||_0xa32373[_0x3393e3(0x1d5)]||_0x228413[_0x3393e3(0x1f1)]||_0x228413[_0x3393e3(0x1d5)];if(_0x4ec6ca)_0x581f45['connector_version']=String(_0x4ec6ca);_0x4dfbdd(_0x581f45);}}}else{if(_0x513153['type']===_0x3393e3(0x208)){_0x581f45[_0x3393e3(0x202)]=workflow_1[_0x3393e3(0x1f2)]['DB'],_0x581f45[_0x3393e3(0x1be)]=_0xa32373[_0x3393e3(0x1e1)],_0x581f45[_0x3393e3(0x1de)]=_0xa32373[_0x3393e3(0x1de)]||_0xa32373['endpointId'],_0x581f45[_0x3393e3(0x1ba)]=_0x228413['body']||_0x228413;const _0x15ab4a=_0xa32373[_0x3393e3(0x1f1)]||_0xa32373['connectorVersion']||_0x228413[_0x3393e3(0x1f1)]||_0x228413[_0x3393e3(0x1d5)];if(_0x15ab4a)_0x581f45[_0x3393e3(0x1f1)]=String(_0x15ab4a);_0x4dfbdd(_0x581f45);}else{if(_0x513153[_0x3393e3(0x202)]===_0x3393e3(0x1ee))_0x581f45['type']=workflow_1['WorkflowStepType']['TRANSFORM'],_0x581f45[_0x3393e3(0x1c9)]=_0xa32373[_0x3393e3(0x1c9)],_0x581f45[_0x3393e3(0x1d2)]=_0xa32373[_0x3393e3(0x1d2)];else{if(_0x513153[_0x3393e3(0x202)]===_0x3393e3(0x1e5))_0x581f45['type']=workflow_1[_0x3393e3(0x1f2)]['CONDITION'],_0x581f45[_0x3393e3(0x1e2)]=_0xa32373[_0x3393e3(0x1e2)]||_0x3393e3(0x201),_0x581f45['if']=_0xa32373[_0x3393e3(0x1bd)]||_0xa32373['if'],_0x581f45[_0x3393e3(0x1d1)]=_0xa32373['then']?sanitize(_0xa32373[_0x3393e3(0x1d1)]):undefined,_0x581f45[_0x3393e3(0x1e7)]=_0xa32373[_0x3393e3(0x1e7)]?sanitize(_0xa32373[_0x3393e3(0x1e7)]):undefined;else{if(_0x513153[_0x3393e3(0x202)]==='authentication'){_0x581f45[_0x3393e3(0x202)]=workflow_1['WorkflowStepType'][_0x3393e3(0x204)],_0x581f45[_0x3393e3(0x1be)]=_0xa32373[_0x3393e3(0x1e1)],_0x581f45[_0x3393e3(0x1de)]=_0xa32373[_0x3393e3(0x1de)],_0x581f45[_0x3393e3(0x1ba)]=_0x228413[_0x3393e3(0x1ba)]||{};const _0x5d7138=_0xa32373['connector_version']||_0xa32373[_0x3393e3(0x1d5)]||_0x228413[_0x3393e3(0x1f1)]||_0x228413[_0x3393e3(0x1d5)];if(_0x5d7138)_0x581f45[_0x3393e3(0x1f1)]=String(_0x5d7138);_0x4dfbdd(_0x581f45);}else{if(_0x513153[_0x3393e3(0x202)]===_0x3393e3(0x1cb))_0x581f45[_0x3393e3(0x202)]=workflow_1[_0x3393e3(0x1f2)][_0x3393e3(0x1f4)],_0x581f45['function_id']=_0xa32373[_0x3393e3(0x1c4)]||_0xa32373[_0x3393e3(0x20a)],_0x581f45[_0x3393e3(0x1ef)]=_0xa32373[_0x3393e3(0x20a)]||_0xa32373[_0x3393e3(0x1c4)],_0x581f45[_0x3393e3(0x1dd)]=_0x228413['args']||{},_0x4dfbdd(_0x581f45);else{if(_0x513153[_0x3393e3(0x202)]===_0x3393e3(0x1fd))_0x581f45[_0x3393e3(0x202)]=workflow_1['WorkflowStepType'][_0x3393e3(0x1d0)],_0x581f45[_0x3393e3(0x1d4)]=_0xa32373[_0x3393e3(0x1d4)]||'';else{if(_0x513153[_0x3393e3(0x202)]===_0x3393e3(0x1fb))_0x581f45[_0x3393e3(0x202)]=workflow_1['WorkflowStepType']['DELAY'],_0x581f45['ms']=_0xa32373['ms']||0x0;else return;}}}}}}}_0x1d593f[_0x3393e3(0x1c7)](_0x581f45);}),{'_id':sanitize(_0x4cc052),'tenant_id':_0x23a161,'project_id':_0x24893e,'name':_0x2a3b3b[_0x4dce3d(0x20c)],'trigger':_0x3223e9,'steps':_0x1d593f,'status':_0x4dce3d(0x1d3),'vars':_0x1f39d1};}}exports[_0x693e58(0x1c5)]=WorkflowTransformer;function _0x14f1(){const _0x531d01=['zgf0yq','y29UBMvJDg9Yx2rI','BwfUDwfS','zNvUy3rPB25tBhvN','lI4VDhLWzxmVD29YA2zSB3C','BMfTzq','CMvWBgfJzq','zM9YrwfJAa','Dg9mB3DLCKnHC2u','yM9KEq','CMvZCg9UzgvY','D2vIAg9VA01LDgHVza','y29UzgL0Aw9UrxHWCG','y29UBMvJDg9Yx2LK','x19LC01VzhvSzq','C2nOzwr1Bgu','v29YA2zSB3DuCMLNz2vYvhLWzq','z2v0','y3jVBG','zNvUy3rPB25jza','v29YA2zSB3DuCMfUC2zVCM1LCG','BM9Kzxm','ChvZAa','C291CMnLx2nVBM5Ly3rVCL92zxjZAw9U','BwfWCgLUzW','C291CMnLx2nVBM5Ly3rVCL9Pza','zNvUy3rPB24','mJG1ExzRCKLH','vKfmsurbve9s','AxnwywXPzgf0B3jby3rPB24','tufovufm','te9h','DgHLBG','B3bLCMf0Aw9UCW','ywn0AxzL','BwvZC2fNzq','y29UBMvJDg9YvMvYC2LVBG','DMfSAwrHDgLVBKDYB3vWCW','zw5KCg9PBNrjza','nde2mdy1EwnIzwTg','zMLUza','D2vIAg9VAW','CMvZCg9UzgvYvhLWzq','mte1ngDLtfDRva','yxjNCW','ywn0Aw9U','sK9c','mZiWnMjbr3vgqq','y29UBMvJDg9Yswq','Bw9Kzq','y3vZDg9T','D2vIAg9VA1bHDgG','y29UzgL0Aw9U','AgfZ','zwXZzq','C291CMnLq29UBMvJDg9YvMvYC2LVBG','y29UzMLN','zw5KCg9PBNroyw1L','C2v0','CgfYyw1Z','nJC2mKDRz29iqq','DhjHBNnMB3jT','zNvUy3rPB25FC2X1zW','y29UBMvJDg9Yx2fWAq','y29UBMvJDg9Yx3zLCNnPB24','v29YA2zSB3DtDgvWvhLWzq','yxbPx2nHBgW','rLvoq1rjt04','DgLTzxPVBMu','zwrNzxm','nJi3ndiYneTIuNnVqq','DhjPz2DLCLr5Cgu','mJuYndmYmgH0A0jira','zxzLBNq','zgvSyxK','mtG5mtiZB2fZA1Hm','Bg9N','y29UBMvJDg9Yq29UzMLN','u0nirurvteu','DgfYz2v0','AMv4Ba','DhLWzq','Cgf0AfbHCMfTCW','qvvusevoveLdqvrjt04','tM8GDhjPz2DLCIbUB2rLigzVDw5K','mtm1mJy0tgflCLjh'];_0x14f1=function(){return _0x531d01;};return _0x14f1();}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkflowTransformer = void 0;
|
|
4
|
+
const workflow_1 = require("../types/workflow");
|
|
5
|
+
function sanitize(id) {
|
|
6
|
+
return id.replace(/[.\-\s]/g, "_");
|
|
7
|
+
}
|
|
8
|
+
function buildDependencyGraph(edges) {
|
|
9
|
+
const graph = new Map();
|
|
10
|
+
edges.forEach((e) => {
|
|
11
|
+
if (!graph.has(e.target))
|
|
12
|
+
graph.set(e.target, []);
|
|
13
|
+
graph.get(e.target).push(e.source);
|
|
14
|
+
});
|
|
15
|
+
return graph;
|
|
16
|
+
}
|
|
17
|
+
function topologicalSort(nodes, graph, triggerId) {
|
|
18
|
+
const result = [];
|
|
19
|
+
const visited = new Set();
|
|
20
|
+
const visit = (id) => {
|
|
21
|
+
if (id === triggerId || visited.has(id))
|
|
22
|
+
return;
|
|
23
|
+
visited.add(id);
|
|
24
|
+
(graph.get(id) || []).forEach(visit);
|
|
25
|
+
result.push(id);
|
|
26
|
+
};
|
|
27
|
+
nodes.forEach((n) => visit(n.id));
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
class WorkflowTransformer {
|
|
31
|
+
static transform(dataItem, workflowId, tenantId, vars, projectId) {
|
|
32
|
+
const triggerNode = dataItem.nodes.find((n) => n.type === "custom" && n.data.triggerType);
|
|
33
|
+
if (!triggerNode)
|
|
34
|
+
throw new Error("No trigger node found");
|
|
35
|
+
const triggerData = triggerNode.data;
|
|
36
|
+
const triggerType = (triggerData.triggerType || "manual").toLowerCase();
|
|
37
|
+
let trigger = { type: workflow_1.WorkflowTriggerType.MANUAL };
|
|
38
|
+
if (triggerType === "http" || triggerType === "webhook") {
|
|
39
|
+
trigger = {
|
|
40
|
+
type: workflow_1.WorkflowTriggerType.HTTP,
|
|
41
|
+
webhook_url: triggerData.webhookPath || triggerData.config?.webhookPath || "",
|
|
42
|
+
};
|
|
43
|
+
trigger.webhookMethod = triggerData.webhookMethod || triggerData.config?.webhookMethod || "POST";
|
|
44
|
+
}
|
|
45
|
+
else if (triggerType === "job") {
|
|
46
|
+
trigger = {
|
|
47
|
+
type: workflow_1.WorkflowTriggerType.JOB,
|
|
48
|
+
cron: triggerData.cron || triggerData.config?.cron || "* * * * *",
|
|
49
|
+
timezone: triggerData.timezone || triggerData.config?.timezone,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
else if (triggerType === "schedule") {
|
|
53
|
+
trigger = {
|
|
54
|
+
type: workflow_1.WorkflowTriggerType.SCHEDULE,
|
|
55
|
+
cron: triggerData.cron || triggerData.config?.cron,
|
|
56
|
+
timezone: triggerData.timezone || triggerData.config?.timezone,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
else if (triggerType === "event") {
|
|
60
|
+
const cfg = triggerData.config || {};
|
|
61
|
+
trigger = {
|
|
62
|
+
type: workflow_1.WorkflowTriggerType.EVENT,
|
|
63
|
+
event: triggerData.event || cfg.event,
|
|
64
|
+
source_connector_id: triggerData.source_connector_id || triggerData.sourceConnectorId || cfg.source_connector_id,
|
|
65
|
+
source_connector_version: triggerData.source_connector_version ||
|
|
66
|
+
triggerData.sourceConnectorVersion ||
|
|
67
|
+
cfg.source_connector_version,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const graph = buildDependencyGraph(dataItem.edges);
|
|
71
|
+
const order = topologicalSort(dataItem.nodes, graph, triggerNode.id);
|
|
72
|
+
const steps = [];
|
|
73
|
+
const nodeIdToStepId = new Map();
|
|
74
|
+
order.forEach((nodeId) => {
|
|
75
|
+
const node = dataItem.nodes.find((n) => n.id === nodeId);
|
|
76
|
+
if (!node)
|
|
77
|
+
return;
|
|
78
|
+
const deps = graph.get(node.id) || [];
|
|
79
|
+
const inputFrom = deps.find((d) => d !== triggerNode.id);
|
|
80
|
+
const stepId = sanitize(node.id);
|
|
81
|
+
nodeIdToStepId.set(node.id, stepId);
|
|
82
|
+
const data = node.data;
|
|
83
|
+
const baseStep = { id: stepId };
|
|
84
|
+
if (inputFrom)
|
|
85
|
+
baseStep.input_from = nodeIdToStepId.get(inputFrom) || sanitize(inputFrom);
|
|
86
|
+
const cfg = data.connectorConfig || {};
|
|
87
|
+
const addThenElse = (step) => {
|
|
88
|
+
if (cfg.then)
|
|
89
|
+
step.then = sanitize(cfg.then);
|
|
90
|
+
if (cfg.else)
|
|
91
|
+
step.else = sanitize(cfg.else);
|
|
92
|
+
};
|
|
93
|
+
if (node.type === "connector_api" || node.type === "api_call") {
|
|
94
|
+
if (data.responderType) {
|
|
95
|
+
baseStep.type = workflow_1.WorkflowStepType.RESPONDER;
|
|
96
|
+
baseStep.responder = data.responderType;
|
|
97
|
+
baseStep.config = cfg;
|
|
98
|
+
}
|
|
99
|
+
else if (data.isValidatorAction) {
|
|
100
|
+
baseStep.type = workflow_1.WorkflowStepType.VALIDATOR;
|
|
101
|
+
baseStep.validationGroups = data.validationGroups || [];
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
baseStep.type = workflow_1.WorkflowStepType.API_CALL;
|
|
105
|
+
baseStep.connector_id = data.connectorId;
|
|
106
|
+
baseStep.action = data.action || data.endpointName || data.endpointId;
|
|
107
|
+
baseStep.params = cfg.params || {};
|
|
108
|
+
baseStep.pathParams = cfg.pathParams || cfg.params || {};
|
|
109
|
+
baseStep.body = cfg.body || {};
|
|
110
|
+
const cv = data.connector_version ||
|
|
111
|
+
data.connectorVersion ||
|
|
112
|
+
cfg.connector_version ||
|
|
113
|
+
cfg.connectorVersion;
|
|
114
|
+
if (cv)
|
|
115
|
+
baseStep.connector_version = String(cv);
|
|
116
|
+
addThenElse(baseStep);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else if (node.type === "connector_db") {
|
|
120
|
+
baseStep.type = workflow_1.WorkflowStepType.DB;
|
|
121
|
+
baseStep.connector_id = data.connectorId;
|
|
122
|
+
baseStep.action = data.action || data.endpointId;
|
|
123
|
+
baseStep.body = cfg.body || cfg;
|
|
124
|
+
const cvDb = data.connector_version ||
|
|
125
|
+
data.connectorVersion ||
|
|
126
|
+
cfg.connector_version ||
|
|
127
|
+
cfg.connectorVersion;
|
|
128
|
+
if (cvDb)
|
|
129
|
+
baseStep.connector_version = String(cvDb);
|
|
130
|
+
addThenElse(baseStep);
|
|
131
|
+
}
|
|
132
|
+
else if (node.type === "transform") {
|
|
133
|
+
baseStep.type = workflow_1.WorkflowStepType.TRANSFORM;
|
|
134
|
+
baseStep.mapping = data.mapping;
|
|
135
|
+
baseStep.operations = data.operations;
|
|
136
|
+
}
|
|
137
|
+
else if (node.type === "condition") {
|
|
138
|
+
baseStep.type = workflow_1.WorkflowStepType.CONDITION;
|
|
139
|
+
baseStep.mode = data.mode || "jexl";
|
|
140
|
+
baseStep.if = data.conditionExpr || data.if;
|
|
141
|
+
baseStep.then = data.then ? sanitize(data.then) : undefined;
|
|
142
|
+
baseStep.else = data.else ? sanitize(data.else) : undefined;
|
|
143
|
+
}
|
|
144
|
+
else if (node.type === "authentication") {
|
|
145
|
+
baseStep.type = workflow_1.WorkflowStepType.AUTHENTICATION;
|
|
146
|
+
baseStep.connector_id = data.connectorId;
|
|
147
|
+
baseStep.action = data.action;
|
|
148
|
+
baseStep.body = cfg.body || {};
|
|
149
|
+
const cvAuth = data.connector_version ||
|
|
150
|
+
data.connectorVersion ||
|
|
151
|
+
cfg.connector_version ||
|
|
152
|
+
cfg.connectorVersion;
|
|
153
|
+
if (cvAuth)
|
|
154
|
+
baseStep.connector_version = String(cvAuth);
|
|
155
|
+
addThenElse(baseStep);
|
|
156
|
+
}
|
|
157
|
+
else if (node.type === "function") {
|
|
158
|
+
baseStep.type = workflow_1.WorkflowStepType.FUNCTION;
|
|
159
|
+
baseStep.function_id = data.functionId || data.functionSlug;
|
|
160
|
+
baseStep.function_slug = data.functionSlug || data.functionId;
|
|
161
|
+
baseStep.args = cfg.args || {};
|
|
162
|
+
addThenElse(baseStep);
|
|
163
|
+
}
|
|
164
|
+
else if (node.type === "log") {
|
|
165
|
+
baseStep.type = workflow_1.WorkflowStepType.LOG;
|
|
166
|
+
baseStep.message = data.message || "";
|
|
167
|
+
}
|
|
168
|
+
else if (node.type === "delay") {
|
|
169
|
+
baseStep.type = workflow_1.WorkflowStepType.DELAY;
|
|
170
|
+
baseStep.ms = data.ms || 0;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
steps.push(baseStep);
|
|
176
|
+
});
|
|
177
|
+
return {
|
|
178
|
+
_id: sanitize(workflowId),
|
|
179
|
+
tenant_id: tenantId,
|
|
180
|
+
project_id: projectId,
|
|
181
|
+
name: dataItem.name,
|
|
182
|
+
trigger,
|
|
183
|
+
steps,
|
|
184
|
+
status: "active",
|
|
185
|
+
vars,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
exports.WorkflowTransformer = WorkflowTransformer;
|
|
@@ -4,6 +4,8 @@ export type AuthAppClientConfig = {
|
|
|
4
4
|
appApiKey?: string;
|
|
5
5
|
appSecret?: string;
|
|
6
6
|
debug?: boolean;
|
|
7
|
+
/** Pin project env bag for connector auth templates. Omit to follow the project switch. */
|
|
8
|
+
environment?: "dev" | "prod" | "development" | "production";
|
|
7
9
|
};
|
|
8
10
|
export type AuthMfaStatusResponse = {
|
|
9
11
|
ok: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-app.api.d.ts","sourceRoot":"","sources":["../../src/types/auth-app.api.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-app.api.d.ts","sourceRoot":"","sources":["../../src/types/auth-app.api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|