@saltcorn/data 1.1.0-beta.13 → 1.1.0-beta.15
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/dist/base-plugin/actions.d.ts +102 -9
- package/dist/base-plugin/actions.d.ts.map +1 -1
- package/dist/base-plugin/actions.js +181 -28
- package/dist/base-plugin/actions.js.map +1 -1
- package/dist/base-plugin/index.d.ts +185 -183
- package/dist/base-plugin/index.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.d.ts +5 -3
- package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.js +50 -7
- package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.js +5 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
- package/dist/db/state.d.ts +1 -0
- package/dist/db/state.d.ts.map +1 -1
- package/dist/db/state.js +7 -0
- package/dist/db/state.js.map +1 -1
- package/dist/migrations/202412051957.d.ts +3 -0
- package/dist/migrations/202412051957.d.ts.map +1 -0
- package/dist/migrations/202412051957.js +48 -0
- package/dist/migrations/202412051957.js.map +1 -0
- package/dist/migrations/202412111526.d.ts +3 -0
- package/dist/migrations/202412111526.d.ts.map +1 -0
- package/dist/migrations/202412111526.js +38 -0
- package/dist/migrations/202412111526.js.map +1 -0
- package/dist/models/config.d.ts.map +1 -1
- package/dist/models/config.js +17 -7
- package/dist/models/config.js.map +1 -1
- package/dist/models/field.d.ts.map +1 -1
- package/dist/models/field.js +22 -4
- package/dist/models/field.js.map +1 -1
- package/dist/models/form.d.ts.map +1 -1
- package/dist/models/form.js +5 -1
- package/dist/models/form.js.map +1 -1
- package/dist/models/page.d.ts.map +1 -1
- package/dist/models/page.js +3 -1
- package/dist/models/page.js.map +1 -1
- package/dist/models/scheduler.d.ts.map +1 -1
- package/dist/models/scheduler.js +4 -0
- package/dist/models/scheduler.js.map +1 -1
- package/dist/models/table.d.ts +1 -0
- package/dist/models/table.d.ts.map +1 -1
- package/dist/models/table.js +33 -2
- package/dist/models/table.js.map +1 -1
- package/dist/models/trigger.d.ts +5 -1
- package/dist/models/trigger.d.ts.map +1 -1
- package/dist/models/trigger.js +38 -7
- package/dist/models/trigger.js.map +1 -1
- package/dist/models/workflow_run.d.ts +77 -0
- package/dist/models/workflow_run.d.ts.map +1 -0
- package/dist/models/workflow_run.js +394 -0
- package/dist/models/workflow_run.js.map +1 -0
- package/dist/models/workflow_step.d.ts +58 -0
- package/dist/models/workflow_step.d.ts.map +1 -0
- package/dist/models/workflow_step.js +144 -0
- package/dist/models/workflow_step.js.map +1 -0
- package/dist/models/workflow_trace.d.ts +57 -0
- package/dist/models/workflow_trace.d.ts.map +1 -0
- package/dist/models/workflow_trace.js +90 -0
- package/dist/models/workflow_trace.js.map +1 -0
- package/dist/plugin-helper.d.ts +0 -1
- package/dist/plugin-helper.d.ts.map +1 -1
- package/dist/plugin-helper.js +3 -2
- package/dist/plugin-helper.js.map +1 -1
- package/dist/tests/actions.test.js.map +1 -1
- package/dist/tests/field.test.js +47 -0
- package/dist/tests/field.test.js.map +1 -1
- package/dist/tests/workflow.test.js +6 -0
- package/dist/tests/workflow.test.js.map +1 -1
- package/dist/tests/workflow_run.test.d.ts +2 -0
- package/dist/tests/workflow_run.test.d.ts.map +1 -0
- package/dist/tests/workflow_run.test.js +109 -0
- package/dist/tests/workflow_run.test.js.map +1 -0
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +9 -1
- package/dist/utils.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../models/trigger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EAChB,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EAAE,aAAa,IAAI,KAAK,EAAE,MAAM,gDAAgD,CAAC;AAQxF,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAI3E;;;GAGG;AACH,cAAM,OAAQ,YAAW,eAAe;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAElD;;;OAGG;gBACS,CAAC,EAAE,UAAU;IAoBzB;;;OAGG;IACH,IAAI,MAAM,IAAI,GAAG,CAiBhB;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,EAAE;IAKrC;;;;;OAKG;WACU,MAAM,CACjB,KAAK,CAAC,EAAE,KAAK,EACb,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,OAAO,EAAE,CAAC;IAKrB;;;OAGG;WACU,oBAAoB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IASvD;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK;IAO3B;;;;;OAKG;WACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxD;;;;OAIG;WACU,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAapD;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,MAAM,KAAK,EACX,OAAO,CAAC,EAAE,GAAG,GACZ,IAAI;
|
|
1
|
+
{"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../models/trigger.ts"],"names":[],"mappings":"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"}
|
package/dist/models/trigger.js
CHANGED
|
@@ -194,7 +194,15 @@ class Trigger {
|
|
|
194
194
|
for (const trigger of triggers) {
|
|
195
195
|
state.log(4, `Trigger run ${trigger.name} ${trigger.action} `);
|
|
196
196
|
try {
|
|
197
|
-
if (trigger.action === "
|
|
197
|
+
if (trigger.action === "Workflow") {
|
|
198
|
+
const wfrun = await require("./workflow_run").create({
|
|
199
|
+
trigger_id: trigger.id,
|
|
200
|
+
context: payload,
|
|
201
|
+
started_by: user?.id || undefined,
|
|
202
|
+
});
|
|
203
|
+
await wfrun.run({ user });
|
|
204
|
+
}
|
|
205
|
+
else if (trigger.action === "Multi-step action") {
|
|
198
206
|
let step_count = 0;
|
|
199
207
|
const MAX_STEPS = 200;
|
|
200
208
|
for (let i = 0; i < trigger.configuration?.steps?.length &&
|
|
@@ -307,7 +315,23 @@ class Trigger {
|
|
|
307
315
|
const table = this.table_id
|
|
308
316
|
? require("./table").findOne({ id: this.table_id })
|
|
309
317
|
: undefined;
|
|
310
|
-
if (this.action === "
|
|
318
|
+
if (this.action === "Workflow") {
|
|
319
|
+
const user = runargs?.user || runargs?.req?.user;
|
|
320
|
+
const wfrun = await require("./workflow_run").create({
|
|
321
|
+
trigger_id: this.id,
|
|
322
|
+
context: runargs?.row || undefined,
|
|
323
|
+
started_by: user?.id,
|
|
324
|
+
});
|
|
325
|
+
const runResult = await wfrun.run({
|
|
326
|
+
user,
|
|
327
|
+
interactive: runargs?.interactive,
|
|
328
|
+
trace: this.configuration?.save_traces,
|
|
329
|
+
});
|
|
330
|
+
if (runResult && typeof runResult === "object")
|
|
331
|
+
runResult.__wf_run_id = wfrun.id;
|
|
332
|
+
return runResult;
|
|
333
|
+
}
|
|
334
|
+
else if (this.action === "Multi-step action") {
|
|
311
335
|
let result = {};
|
|
312
336
|
let step_count = 0;
|
|
313
337
|
let MAX_STEPS = 200;
|
|
@@ -371,7 +395,8 @@ class Trigger {
|
|
|
371
395
|
static setRunFunctions(triggers, table, user) {
|
|
372
396
|
const { getState } = require("../db/state");
|
|
373
397
|
for (const trigger of triggers) {
|
|
374
|
-
if (trigger.action === "Multi-step action"
|
|
398
|
+
if (trigger.action === "Multi-step action" ||
|
|
399
|
+
trigger.action === "Workflow") {
|
|
375
400
|
trigger.run = (row, extraArgs) => trigger.runWithoutRow({
|
|
376
401
|
user,
|
|
377
402
|
table,
|
|
@@ -483,10 +508,12 @@ class Trigger {
|
|
|
483
508
|
return Object.entries(getState().actions).map(([k, v]) => {
|
|
484
509
|
const hasConfig = !!v.configFields;
|
|
485
510
|
const requireRow = !!v.requireRow;
|
|
511
|
+
const disableInWorkflow = !!v.disableInWorkflow;
|
|
486
512
|
return {
|
|
487
513
|
name: k,
|
|
488
514
|
hasConfig,
|
|
489
515
|
requireRow,
|
|
516
|
+
disableInWorkflow,
|
|
490
517
|
namespace: v.namespace,
|
|
491
518
|
};
|
|
492
519
|
});
|
|
@@ -511,12 +538,14 @@ class Trigger {
|
|
|
511
538
|
}
|
|
512
539
|
return triggerActions.sort(comparingCaseInsensitiveValue);
|
|
513
540
|
}
|
|
514
|
-
static action_options({ notRequireRow, tableTriggers, apiNeverTriggers, builtIns, builtInLabel, }) {
|
|
541
|
+
static action_options({ notRequireRow, tableTriggers, apiNeverTriggers, builtIns, builtInLabel, workflow, noMultiStep, forWorkflow, }) {
|
|
515
542
|
const triggerActions = Trigger.trigger_actions({
|
|
516
543
|
tableTriggers,
|
|
517
544
|
apiNeverTriggers,
|
|
518
545
|
});
|
|
519
|
-
const actions =
|
|
546
|
+
const actions = forWorkflow
|
|
547
|
+
? Trigger.abbreviated_actions.filter((a) => !a.disableInWorkflow)
|
|
548
|
+
: Trigger.abbreviated_actions;
|
|
520
549
|
const action_namespaces = [...new Set(actions.map((a) => a.namespace))]
|
|
521
550
|
.filter(Boolean) //Other last
|
|
522
551
|
.sort();
|
|
@@ -532,11 +561,13 @@ class Trigger {
|
|
|
532
561
|
return { optgroup: true, label: builtInLabel, options: builtIns || [] };
|
|
533
562
|
const options = actions
|
|
534
563
|
.filter((a) => (ns === "Other" ? !a.namespace : a.namespace === ns) &&
|
|
535
|
-
(!notRequireRow || !a.requireRow))
|
|
564
|
+
(!notRequireRow || !a.requireRow || forWorkflow))
|
|
536
565
|
.map((t) => t.name)
|
|
537
566
|
.sort();
|
|
538
|
-
if (ns === "Other")
|
|
567
|
+
if (ns === "Other" && !noMultiStep)
|
|
539
568
|
options.push("Multi-step action");
|
|
569
|
+
if (ns === "Other" && workflow)
|
|
570
|
+
options.push("Workflow");
|
|
540
571
|
return { optgroup: true, label: ns, options };
|
|
541
572
|
});
|
|
542
573
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../models/trigger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../models/trigger.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4BAA6B;AAC7B,0DAAkC;AAMlC,iCAAkC;AAElC,MAAM,EACJ,6BAA6B,EAC7B,SAAS,EACT,kBAAkB,EAClB,SAAS,GACV,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAGxB,8DAAsC;AACtC,MAAM,EAAE,eAAe,EAAE,GAAG,oBAAU,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO;IAaX;;;OAGG;IACH,YAAY,CAAa;QACvB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,CAAC,KAAK,EAAE;YACX,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;SAChC;QACD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa;YAChB,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;gBACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC7B,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,IAAI,MAAM;QACR,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5C,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;SACzB;QACD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,UAAU;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,KAAa;QACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,OAAO,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,KAAa,EACb,UAA0B;QAE1B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAe,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,oBAAoB;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QAE1C,MAAM,GAAG,GAAG;WACL,MAAM,4BAA4B,MAAM,sDAAsD,CAAC;QACtG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,KAAY;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,OAAO,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAC7B,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CACjE,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,GAAQ;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,qBAAqB,EAAE,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE;YAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7C,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAa;QAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC5C,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;SAC1B;QACD,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAC3D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,0CAA0C;QAC1C,MAAM,EAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CACd,SAAiB,EACjB,UAAyB,IAAI,EAC7B,MAAM,GAAG,EAAE,EACX,OAAa;QAEb,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAQ,MAAM,IAAI,EAAE,CAAC;YAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,SAAS,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,KAAK,CAAC;YACV,IACE,OAAO;gBACP,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC5D;gBACA,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gBACjC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;aAC9B;iBAAM,IAAI,OAAO;gBAAE,QAAQ,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;YAE7D,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAExC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC/D,IAAI;oBACF,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE;wBACjC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;4BACnD,UAAU,EAAE,OAAO,CAAC,EAAE;4BACtB,OAAO,EAAE,OAAO;4BAChB,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,SAAS;yBAClC,CAAC,CAAC;wBACH,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC3B;yBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,mBAAmB,EAAE;wBACjD,IAAI,UAAU,GAAG,CAAC,CAAC;wBACnB,MAAM,SAAS,GAAG,GAAG,CAAC;wBACtB,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM;4BACxC,UAAU,GAAG,SAAS,EACtB,CAAC,EAAE,EACH;4BACA,UAAU,IAAI,CAAC,CAAC;4BAChB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC7C,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO;gCAC9B,IACE,CAAC,eAAe,CACd,IAAI,CAAC,YAAY,EACjB,OAAO,EACP,IAAI,EACJ,2BAA2B,CAC5B;oCAED,SAAS;4BACb,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;4BACxD,MAAM,OAAO,GACX,UAAU,IAAI,UAAU,CAAC,GAAG;gCAC1B,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC;oCACnB,KAAK;oCACL,OAAO;oCACP,IAAI;oCACJ,aAAa,EAAE,IAAI;oCACnB,GAAG,EAAE,OAAO;oCACZ,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;iCACnB,CAAC;gCACJ,CAAC,CAAC,IAAI,CAAC;4BACX,IAAI,OAAO,EAAE,SAAS;gCAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;4BACnD,IAAI,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE;gCAClC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;oCACrD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gCACjB,CAAC,CAAC,CAAC;6BACJ;yBACF;qBACF;yBAAM;wBACL,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC7C,MAAM;4BACJ,MAAM,CAAC,GAAG;4BACV,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC;gCAChB,KAAK;gCACL,OAAO;gCACP,IAAI;gCACJ,aAAa,EAAE,OAAO,CAAC,aAAa;gCACpC,GAAG,EAAE,OAAO;gCACZ,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;6BACnB,CAAC,CAAC,CAAC;qBACP;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACV,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;wBACd,GAAG,EAAE,GAAG;wBACR,OAAO,EAAE;4BACP,SAAS;4BACT,YAAY,EAAE,OAAO,CAAC,IAAI;4BAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;yBACvB;qBACF,CAAC,CAAC;iBACJ;aACF;YACD,0BAA0B;YAC1B,kBAAQ,CAAC,MAAM,CAAC;gBACd,UAAU,EAAE,SAAS;gBACrB,OAAO;gBACP,OAAO,EAAQ,CAAC,MAAM,IAAI,EAAE,CAAE,CAAC,EAAE,IAAI,IAAI;gBACzC,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO;gBAClE,QAAQ,EAAE,IAAI,IAAI,EAAE;aACrB,CAAC,CAAC;QACL,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,YAAoB,EACpB,KAAY,EACZ,GAAQ,EACR,eAAqB,EACrB,IAAU,EACV,SAAe;QAEf,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACrE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,KAAK,CAAC,GAAG,CACP,CAAC,EACD,eAAe,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,OAAO,YAAY,IAAI,KAAK,CAAC,IAAI,OAAO,GAAG,EAAE,EAAE,EAAE,CAC/F,CAAC;YAEF,IAAI;gBACF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,sCAAsC;gBACtF,IAAI,GAAG,IAAI,eAAe;oBAAE,kBAAkB,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;aACtE;YAAC,OAAO,CAAM,EAAE;gBACf,IAAI,eAAe;oBACjB,eAAe,CAAC,KAAK,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;gBACpE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;oBACd,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;iBACpE,CAAC,CAAC;aACJ;SACF;QACD,0BAA0B;QAC1B,kBAAQ,CAAC,MAAM,CAAC;YACd,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,OAAO,EAAE,IAAI,EAAE,EAAE;YACjB,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,IAAI,IAAI,EAAE;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,UAAe,EAAE;QACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;YACzB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;YAC9B,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;gBACnD,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,SAAS;gBAClC,UAAU,EAAE,IAAI,EAAE,EAAE;aACrB,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;gBAChC,IAAI;gBACJ,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW;aACvC,CAAC,CAAC;YACH,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAC5C,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;SAClB;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,EAAE;YAC9C,IAAI,MAAM,GAAQ,EAAE,CAAC;YACrB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,SAAS,GAAG,GAAG,CAAC;YACpB,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,IAAI,UAAU,GAAG,SAAS,EAC/D,CAAC,EAAE,EACH;gBACA,UAAU,IAAI,CAAC,CAAC;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE,GAAG;oBACnC,IACE,CAAC,eAAe,CACd,IAAI,CAAC,YAAY,EACjB,OAAO,CAAC,GAAG,EACX,SAAS,EACT,2BAA2B,CAC5B;wBAED,SAAS;gBAEb,IAAI,aAAa,GAAG,IAAI,CAAC;gBACzB,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAElD,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;wBACpC,IAAI,EAAE,IAAI,CAAC,gBAAgB;qBAC5B,CAAC,CAAC;oBACH,IAAI,OAAO,EAAE;wBACX,MAAM,GAAG,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC5C,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;qBACvC;iBACF;gBACD,IAAI,CAAC,MAAM;oBACT,MAAM,IAAI,KAAK,CACb,6BAA6B,GAAG,IAAI,CAAC,gBAAgB,CACtD,CAAC;gBACJ,KAAK,CAAC,GAAG,CACP,CAAC,EACD,kBAAkB,CAAC,gBAAgB,UAAU,YAAY,IAAI,CAAC,gBAAgB,EAAE,CACjF,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC;oBAC/B,KAAK;oBACL,GAAG,OAAO;oBACV,aAAa;iBACd,CAAC,CAAC;gBACH,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,yBAAyB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACjE,IAAI,OAAO,EAAE,SAAS,EAAE;oBACtB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;oBAC3B,OAAO,OAAO,CAAC,SAAS,CAAC;iBAC1B;gBACD,IAAI,OAAO,EAAE,mBAAmB;oBAAE,MAAM,GAAG,EAAE,CAAC;gBAC9C,IAAI,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,GAAG,EAAE;oBACvC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;wBACrD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC,CAAC,CAAC;iBACJ;gBACD,IAAI;oBACF,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBACrC;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtB;gBACD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU;oBAAE,MAAM;aAC9C;YACD,OAAO,MAAM,CAAC;SACf;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,CACL,MAAM;YACN,MAAM,CAAC,GAAG;YACV,MAAM,CAAC,GAAG,CAAC;gBACT,KAAK;gBACL,GAAG,OAAO;gBACV,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,QAAwB,EAAE,KAAY,EAAE,IAAU;QACvE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,IACE,OAAO,CAAC,MAAM,KAAK,mBAAmB;gBACtC,OAAO,CAAC,MAAM,KAAK,UAAU,EAC7B;gBACA,OAAO,CAAC,GAAG,GAAG,CAAC,GAAQ,EAAE,SAAe,EAAE,EAAE,CAC1C,OAAO,CAAC,aAAa,CAAC;oBACpB,IAAI;oBACJ,KAAK;oBACL,GAAG;oBACH,GAAG,GAAG;oBACN,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;iBACrB,CAAC,CAAC;aACN;iBAAM;gBACL,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,GAAG,CAAC,GAAQ,EAAE,SAAe,EAAE,EAAE,CAC1C,MAAM;oBACN,MAAM,CAAC,GAAG;oBACV,MAAM,CAAC,GAAG,CAAC;wBACT,KAAK;wBACL,IAAI;wBACJ,aAAa,EAAE,OAAO,CAAC,aAAa;wBACpC,GAAG;wBACH,GAAG,GAAG;wBACN,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;qBACrB,CAAC,CAAC;aACN;SACF;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,YAAoB,EACpB,KAAY,EACZ,IAAU;QAEV,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,QAAQ,EAAE,CAAC,gBAAgB,CAAC,MAAM,CACzD,CAAC,EAAW,EAAE,EAAE,CACd,YAAY,KAAK,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAC9D,CAAC;QACF,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IACD;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,YAAoB,EAAE,KAAY;QACxD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAAG,QAAQ,EAAE,CAAC,gBAAgB,CAAC,MAAM,CACzD,CAAC,EAAW,EAAE,EAAE,CACd,YAAY,KAAK,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAC9D,CAAC;QACF,OAAO,QAAQ,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAY;QACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,gBAAgB,GAAG,QAAQ,EAAE,CAAC,gBAAgB,CAAC,MAAM,CACzD,CAAC,EAAW,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CACzC,CAAC;QACF,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,MAAM,KAAK,YAAY;QACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAE5C,OAAO;YACL,QAAQ;YACR,QAAQ;YACR,UAAU;YACV,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,OAAO;YACP,UAAU;YACV,OAAO;YACP,UAAU;YACV,OAAO;YACP,aAAa;YACb,OAAO;YACP,SAAS;YACT,cAAc;YACd,wBAAwB;YACxB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC;SACtC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QACtC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAClD,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAClC,CAAC;QACF,MAAM,OAAO,GAAG,SAAS,CACvB,MAAM,EACN,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACjC,CAAC;QAEF,MAAM,SAAS,GAAG;YAChB,GAAG,IAAI;YACP,IAAI,EAAE,OAAO;SACd,CAAC;QACF,OAAO,SAAS,CAAC,EAAE,CAAC;QACpB,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,GAAG,GAAG,CAAC,wDAAa,OAAO,GAAC,CAAC,CAAC,OAAO,CAAC;QAC5C,OAAO,MAAM,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,KAAK,mBAAmB;QAC5B,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAE5C,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE;YACtE,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACnC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAClC,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAChD,OAAO;gBACL,IAAI,EAAE,CAAC;gBACP,SAAS;gBACT,UAAU;gBACV,iBAAiB;gBACjB,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,EACrB,aAAa,EACb,gBAAgB,GAIjB;QACC,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,aAAa,EAAE;YACjB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;gBACvB,QAAQ,EAAE,aAAa;aACxB,CAAC,CAAC;YACH,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAc,CAAC,CAAC;SACrD;QACD,IAAI,gBAAgB,EAAE;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;gBACvB,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE;gBAC3C,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YACH,cAAc,GAAG;gBACf,GAAG,cAAc;gBACjB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAc,CAAC;aACtC,CAAC;SACH;QAED,OAAO,cAAc,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,EACpB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,WAAW,GAUZ;QACC,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;YAC7C,aAAa;YACb,gBAAgB;SACjB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,WAAW;YACzB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACjE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAChC,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;aACpE,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY;aAC5B,IAAI,EAAE,CAAC;QACV,IAAI,YAAY;YAAE,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,cAAc,CAAC,MAAM;YAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9D,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YAClC,IAAI,EAAE,KAAK,UAAU;gBACnB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAChE,IAAI,EAAE,KAAK,YAAY;gBACrB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;YAE1E,MAAM,OAAO,GAAG,OAAO;iBACpB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC;gBACpD,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,WAAW,CAAC,CACnD;iBACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,EAAE,CAAC;YACV,IAAI,EAAE,KAAK,OAAO,IAAI,CAAC,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACtE,IAAI,EAAE,KAAK,OAAO,IAAI,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,iBAAS,OAAO,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { Where, SelectOptions, Row } from "@saltcorn/db-common/internal";
|
|
2
|
+
import type { WorkflowRunCfg } from "@saltcorn/types/model-abstracts/abstract_workflow_run";
|
|
3
|
+
import WorkflowStep from "./workflow_step";
|
|
4
|
+
import User from "./user";
|
|
5
|
+
/**
|
|
6
|
+
* WorkflowRun Class
|
|
7
|
+
* @category saltcorn-data
|
|
8
|
+
*/
|
|
9
|
+
declare class WorkflowRun {
|
|
10
|
+
id?: number;
|
|
11
|
+
trigger_id: number;
|
|
12
|
+
context: any;
|
|
13
|
+
wait_info?: any;
|
|
14
|
+
started_at: Date;
|
|
15
|
+
status_updated_at: Date;
|
|
16
|
+
started_by?: number;
|
|
17
|
+
error?: string;
|
|
18
|
+
session_id?: string;
|
|
19
|
+
status: "Pending" | "Running" | "Finished" | "Waiting" | "Error";
|
|
20
|
+
current_step?: string;
|
|
21
|
+
steps?: Array<WorkflowStep>;
|
|
22
|
+
step_start?: Date;
|
|
23
|
+
/**
|
|
24
|
+
* WorkflowRun constructor
|
|
25
|
+
* @param {object} o
|
|
26
|
+
*/
|
|
27
|
+
constructor(o: WorkflowRunCfg | WorkflowRun);
|
|
28
|
+
/**
|
|
29
|
+
* @param {object} lib_in
|
|
30
|
+
*/
|
|
31
|
+
static create(run_in: WorkflowRunCfg): Promise<WorkflowRun>;
|
|
32
|
+
/**
|
|
33
|
+
* @type {...*}
|
|
34
|
+
*/
|
|
35
|
+
get toJson(): any;
|
|
36
|
+
/**
|
|
37
|
+
* @param {*} where
|
|
38
|
+
* @param {*} selectopts
|
|
39
|
+
* @returns {WorkflowRun[]}
|
|
40
|
+
*/
|
|
41
|
+
static find(where: Where, selectopts?: SelectOptions): Promise<WorkflowRun[]>;
|
|
42
|
+
/**
|
|
43
|
+
* @param {*} where
|
|
44
|
+
* @returns {WorkflowRun}
|
|
45
|
+
*/
|
|
46
|
+
static findOne(where: Where): Promise<WorkflowRun>;
|
|
47
|
+
/**
|
|
48
|
+
* @param {*} what
|
|
49
|
+
* @returns {object}
|
|
50
|
+
*/
|
|
51
|
+
/**
|
|
52
|
+
* @returns {Promise<void>}
|
|
53
|
+
*/
|
|
54
|
+
delete(): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* @param {*} row
|
|
57
|
+
* @returns {Promise<void>}
|
|
58
|
+
*/
|
|
59
|
+
update(row: Row): Promise<void>;
|
|
60
|
+
provide_form_input(form_values: any): Promise<void>;
|
|
61
|
+
get_next_step(step: WorkflowStep, user?: User): WorkflowStep | null;
|
|
62
|
+
user_allowed_to_fill_form(user: User): boolean;
|
|
63
|
+
static getResumableWorkflows(): Promise<WorkflowRun[]>;
|
|
64
|
+
static runResumableWorkflows(): Promise<void>;
|
|
65
|
+
createTrace(step_name: string, user?: User): Promise<void>;
|
|
66
|
+
run({ user, interactive, api_call, trace, }: {
|
|
67
|
+
user?: User;
|
|
68
|
+
interactive?: boolean;
|
|
69
|
+
api_call?: boolean;
|
|
70
|
+
trace?: boolean;
|
|
71
|
+
}): Promise<any>;
|
|
72
|
+
popReturnDirectives(): Promise<any>;
|
|
73
|
+
static count(where?: Where): Promise<number>;
|
|
74
|
+
static prune(): Promise<void>;
|
|
75
|
+
}
|
|
76
|
+
export = WorkflowRun;
|
|
77
|
+
//# sourceMappingURL=workflow_run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow_run.d.ts","sourceRoot":"","sources":["../../models/workflow_run.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAE3C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAoB1B;;;GAGG;AACH,cAAM,WAAW;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IACjB,iBAAiB,EAAE,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAE5B,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB;;;OAGG;gBACS,CAAC,EAAE,cAAc,GAAG,WAAW;IAgB3C;;OAEG;WACU,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAOjE;;OAEG;IACH,IAAI,MAAM,IAAI,GAAG,CAGhB;IAED;;;;OAIG;WACU,IAAI,CACf,KAAK,EAAE,KAAK,EACZ,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,WAAW,EAAE,CAAC;IAKzB;;;OAGG;WACU,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;IAKxD;;;OAGG;IACH;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B;;;OAGG;IACG,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/B,kBAAkB,CAAC,WAAW,EAAE,GAAG;IAQzC,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,YAAY,GAAG,IAAI;IAwBnE,yBAAyB,CAAC,IAAI,EAAE,IAAI;WAQvB,qBAAqB;WAmBrB,qBAAqB;IAO5B,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI;IAgB1C,GAAG,CAAC,EACR,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,KAAK,GACN,EAAE;QACD,IAAI,CAAC,EAAE,IAAI,CAAC;QACZ,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;IAwLK,mBAAmB;WAaZ,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;WAIrC,KAAK;CAanB;AAED,SAAS,WAAW,CAAC"}
|
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Workflow Run Database Access Layer
|
|
30
|
+
* @category saltcorn-data
|
|
31
|
+
* @module models/workflow_run
|
|
32
|
+
* @subcategory models
|
|
33
|
+
*/
|
|
34
|
+
const db_1 = __importDefault(require("../db"));
|
|
35
|
+
const workflow_step_1 = __importDefault(require("./workflow_step"));
|
|
36
|
+
const workflow_trace_1 = __importDefault(require("./workflow_trace"));
|
|
37
|
+
const expression_1 = __importDefault(require("./expression"));
|
|
38
|
+
const notification_1 = __importDefault(require("./notification"));
|
|
39
|
+
const utils_1 = __importDefault(require("../utils"));
|
|
40
|
+
const moment_1 = __importDefault(require("moment"));
|
|
41
|
+
const { ensure_final_slash, interpolate } = utils_1.default;
|
|
42
|
+
const { eval_expression } = expression_1.default;
|
|
43
|
+
const { getState } = require("../db/state");
|
|
44
|
+
const allReturnDirectives = [
|
|
45
|
+
"popup",
|
|
46
|
+
"goto",
|
|
47
|
+
"eval_js",
|
|
48
|
+
"download",
|
|
49
|
+
"set_fields",
|
|
50
|
+
"notify",
|
|
51
|
+
"notify_success",
|
|
52
|
+
"error",
|
|
53
|
+
];
|
|
54
|
+
/**
|
|
55
|
+
* WorkflowRun Class
|
|
56
|
+
* @category saltcorn-data
|
|
57
|
+
*/
|
|
58
|
+
class WorkflowRun {
|
|
59
|
+
/**
|
|
60
|
+
* WorkflowRun constructor
|
|
61
|
+
* @param {object} o
|
|
62
|
+
*/
|
|
63
|
+
constructor(o) {
|
|
64
|
+
this.id = o.id;
|
|
65
|
+
this.trigger_id = o.trigger_id;
|
|
66
|
+
this.context =
|
|
67
|
+
typeof o.context === "string" ? JSON.parse(o.context) : o.context || {};
|
|
68
|
+
this.wait_info =
|
|
69
|
+
typeof o.wait_info === "string" ? JSON.parse(o.wait_info) : o.wait_info;
|
|
70
|
+
this.started_at = o.started_at || new Date();
|
|
71
|
+
this.status_updated_at = o.status_updated_at || new Date();
|
|
72
|
+
this.started_by = o.started_by;
|
|
73
|
+
this.session_id = o.session_id;
|
|
74
|
+
this.error = o.error;
|
|
75
|
+
this.status = o.status || "Pending";
|
|
76
|
+
this.current_step = o.current_step;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* @param {object} lib_in
|
|
80
|
+
*/
|
|
81
|
+
static async create(run_in) {
|
|
82
|
+
const run = new WorkflowRun(run_in);
|
|
83
|
+
const id = await db_1.default.insert("_sc_workflow_runs", run.toJson);
|
|
84
|
+
run.id = id;
|
|
85
|
+
return run;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @type {...*}
|
|
89
|
+
*/
|
|
90
|
+
get toJson() {
|
|
91
|
+
const { id, steps, step_start, ...rest } = this;
|
|
92
|
+
return rest;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* @param {*} where
|
|
96
|
+
* @param {*} selectopts
|
|
97
|
+
* @returns {WorkflowRun[]}
|
|
98
|
+
*/
|
|
99
|
+
static async find(where, selectopts) {
|
|
100
|
+
const us = await db_1.default.select("_sc_workflow_runs", where, selectopts);
|
|
101
|
+
return us.map((u) => new WorkflowRun(u));
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* @param {*} where
|
|
105
|
+
* @returns {WorkflowRun}
|
|
106
|
+
*/
|
|
107
|
+
static async findOne(where) {
|
|
108
|
+
const u = await db_1.default.selectMaybeOne("_sc_workflow_runs", where);
|
|
109
|
+
return u ? new WorkflowRun(u) : u;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* @param {*} what
|
|
113
|
+
* @returns {object}
|
|
114
|
+
*/
|
|
115
|
+
/**
|
|
116
|
+
* @returns {Promise<void>}
|
|
117
|
+
*/
|
|
118
|
+
async delete() {
|
|
119
|
+
const schema = db_1.default.getTenantSchemaPrefix();
|
|
120
|
+
await db_1.default.query(`delete FROM ${schema}_sc_workflow_runs WHERE id = $1`, [
|
|
121
|
+
this.id,
|
|
122
|
+
]);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* @param {*} row
|
|
126
|
+
* @returns {Promise<void>}
|
|
127
|
+
*/
|
|
128
|
+
async update(row) {
|
|
129
|
+
const useRow = row.status !== this.status
|
|
130
|
+
? { status_updated_at: new Date(), ...row }
|
|
131
|
+
: row;
|
|
132
|
+
await db_1.default.update("_sc_workflow_runs", useRow, this.id);
|
|
133
|
+
Object.assign(this, useRow);
|
|
134
|
+
}
|
|
135
|
+
async provide_form_input(form_values) {
|
|
136
|
+
//write values
|
|
137
|
+
Object.assign(this.context, form_values);
|
|
138
|
+
this.wait_info.form = false;
|
|
139
|
+
await this.update({ wait_info: this.wait_info, context: this.context });
|
|
140
|
+
}
|
|
141
|
+
get_next_step(step, user) {
|
|
142
|
+
let nextStep;
|
|
143
|
+
if (!step?.next_step) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
else if ((nextStep = this.steps.find((s) => s.name === step.next_step))) {
|
|
147
|
+
return nextStep;
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
// eval next_step
|
|
151
|
+
const next_step_ctx = { ...this.context };
|
|
152
|
+
this.steps.forEach((s) => {
|
|
153
|
+
next_step_ctx[s.name] = s.name;
|
|
154
|
+
});
|
|
155
|
+
const next_step_name = eval_expression(step.next_step, next_step_ctx, user, `next_step in step ${step.name}`);
|
|
156
|
+
return this.steps.find((s) => s.name === next_step_name) || null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
user_allowed_to_fill_form(user) {
|
|
160
|
+
if (this.wait_info.user_id) {
|
|
161
|
+
if (this.wait_info.user_id != user?.id)
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
//get worklows that can be resumed by scheduler
|
|
167
|
+
static async getResumableWorkflows() {
|
|
168
|
+
const state = getState();
|
|
169
|
+
if (!state.waitingWorkflows)
|
|
170
|
+
return [];
|
|
171
|
+
const waiting_runs = await WorkflowRun.find({ status: "Waiting" });
|
|
172
|
+
const until_runs = waiting_runs.filter((r) => !r.wait_info.form);
|
|
173
|
+
if (!until_runs.length) {
|
|
174
|
+
state.waitingWorkflows = false;
|
|
175
|
+
return [];
|
|
176
|
+
}
|
|
177
|
+
const now = new Date();
|
|
178
|
+
return until_runs.filter((r) => !r.wait_info.until_time || new Date(r.wait_info.until_time) < now);
|
|
179
|
+
}
|
|
180
|
+
//call from scheduler
|
|
181
|
+
static async runResumableWorkflows() {
|
|
182
|
+
const runs = await this.getResumableWorkflows();
|
|
183
|
+
for (const run of runs) {
|
|
184
|
+
await run.run({});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
async createTrace(step_name, user) {
|
|
188
|
+
await workflow_trace_1.default.create({
|
|
189
|
+
run_id: this.id,
|
|
190
|
+
context: this.context,
|
|
191
|
+
step_name_run: step_name,
|
|
192
|
+
wait_info: this.wait_info,
|
|
193
|
+
user_id: user?.id,
|
|
194
|
+
error: this.error,
|
|
195
|
+
status: this.status,
|
|
196
|
+
elapsed: this.step_start
|
|
197
|
+
? (new Date().getTime() - this.step_start?.getTime()) / 1000
|
|
198
|
+
: 0,
|
|
199
|
+
step_started_at: this.step_start || new Date(),
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
async run({ user, interactive, api_call, trace, }) {
|
|
203
|
+
if (this.status === "Error" || this.status === "Finished")
|
|
204
|
+
return;
|
|
205
|
+
//get steps
|
|
206
|
+
const steps = await workflow_step_1.default.find({ trigger_id: this.trigger_id });
|
|
207
|
+
this.steps = steps;
|
|
208
|
+
const state = getState();
|
|
209
|
+
if (this.status === "Waiting") {
|
|
210
|
+
//are wait conditions fulfilled?
|
|
211
|
+
//TODO
|
|
212
|
+
let fulfilled = true;
|
|
213
|
+
Object.entries(this.wait_info || {}).forEach(([k, v]) => {
|
|
214
|
+
switch (k) {
|
|
215
|
+
case "until_time":
|
|
216
|
+
if (new Date(v) > new Date())
|
|
217
|
+
fulfilled = false;
|
|
218
|
+
break;
|
|
219
|
+
case "form":
|
|
220
|
+
if (v)
|
|
221
|
+
fulfilled = false;
|
|
222
|
+
default:
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
if (!fulfilled)
|
|
227
|
+
return;
|
|
228
|
+
else {
|
|
229
|
+
const step = steps.find((step) => step.name === this.current_step);
|
|
230
|
+
const nextStep = this.get_next_step(step, user);
|
|
231
|
+
await this.update({
|
|
232
|
+
wait_info: {},
|
|
233
|
+
status: nextStep ? "Running" : "Finished",
|
|
234
|
+
current_step: nextStep?.name,
|
|
235
|
+
});
|
|
236
|
+
if (!nextStep)
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
//find current step
|
|
241
|
+
let step;
|
|
242
|
+
if (this.current_step)
|
|
243
|
+
step = steps.find((step) => step.name === this.current_step);
|
|
244
|
+
else
|
|
245
|
+
step = steps.find((step) => step.initial_step);
|
|
246
|
+
if (step && this.status !== "Running")
|
|
247
|
+
await this.update({ status: "Running" });
|
|
248
|
+
//run in loop
|
|
249
|
+
while (step) {
|
|
250
|
+
if (step.name !== this.current_step)
|
|
251
|
+
await this.update({ current_step: step.name });
|
|
252
|
+
state.log(6, `Workflow run ${this.id} Running step ${step.name}`);
|
|
253
|
+
this.step_start = new Date();
|
|
254
|
+
try {
|
|
255
|
+
if (step.action_name === "UserForm") {
|
|
256
|
+
let user_id;
|
|
257
|
+
if (step.configuration.user_id_expression) {
|
|
258
|
+
user_id = eval_expression(step.configuration.user_id_expression, this.context, user, `User id expression in step ${step.name}`);
|
|
259
|
+
}
|
|
260
|
+
else
|
|
261
|
+
user_id = user?.id;
|
|
262
|
+
if (user_id) {
|
|
263
|
+
//TODO send notification
|
|
264
|
+
const base_url = state.getConfig("base_url", "");
|
|
265
|
+
await notification_1.default.create({
|
|
266
|
+
title: "Your input is required",
|
|
267
|
+
link: `${ensure_final_slash(base_url)}actions/fill-workflow-form/${this.id}`,
|
|
268
|
+
user_id,
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
await this.update({
|
|
272
|
+
status: "Waiting",
|
|
273
|
+
wait_info: { form: true, user_id: user_id },
|
|
274
|
+
});
|
|
275
|
+
if (trace)
|
|
276
|
+
this.createTrace(step.name, user);
|
|
277
|
+
if (interactive &&
|
|
278
|
+
(!step.configuration.user_id_expression || user_id === user?.id)) {
|
|
279
|
+
return { popup: `/actions/fill-workflow-form/${this.id}?resume=1` };
|
|
280
|
+
}
|
|
281
|
+
step = null;
|
|
282
|
+
break;
|
|
283
|
+
}
|
|
284
|
+
if (step.action_name === "Output") {
|
|
285
|
+
const output = interpolate(step.configuration.output_text, this.context, user);
|
|
286
|
+
await this.update({
|
|
287
|
+
status: "Waiting",
|
|
288
|
+
wait_info: { output, user_id: user?.id },
|
|
289
|
+
});
|
|
290
|
+
if (trace)
|
|
291
|
+
this.createTrace(step.name, user);
|
|
292
|
+
if (interactive) {
|
|
293
|
+
return { popup: `/actions/fill-workflow-form/${this.id}?resume=1` };
|
|
294
|
+
}
|
|
295
|
+
step = null;
|
|
296
|
+
break;
|
|
297
|
+
}
|
|
298
|
+
if (step.action_name === "WaitNextTick") {
|
|
299
|
+
await this.update({
|
|
300
|
+
status: "Waiting",
|
|
301
|
+
wait_info: {},
|
|
302
|
+
});
|
|
303
|
+
state.waitingWorkflows = true;
|
|
304
|
+
if (trace)
|
|
305
|
+
this.createTrace(step.name, user);
|
|
306
|
+
break;
|
|
307
|
+
}
|
|
308
|
+
if (step.action_name === "WaitUntil") {
|
|
309
|
+
const resume_at = eval_expression(step.configuration.resume_at, { moment: moment_1.default, ...this.context }, user, `Resume at expression in step ${step.name}`);
|
|
310
|
+
state.waitingWorkflows = true;
|
|
311
|
+
await this.update({
|
|
312
|
+
status: "Waiting",
|
|
313
|
+
wait_info: { until_time: new Date(resume_at).toISOString() },
|
|
314
|
+
});
|
|
315
|
+
if (trace)
|
|
316
|
+
this.createTrace(step.name, user);
|
|
317
|
+
break;
|
|
318
|
+
}
|
|
319
|
+
const result = await step.run(this.context, user);
|
|
320
|
+
const nextUpdate = {};
|
|
321
|
+
if (typeof result === "object" && result !== null) {
|
|
322
|
+
Object.assign(this.context, result);
|
|
323
|
+
nextUpdate.context = this.context;
|
|
324
|
+
}
|
|
325
|
+
if (trace)
|
|
326
|
+
this.createTrace(step.name, user);
|
|
327
|
+
//find next step
|
|
328
|
+
const nextStep = this.get_next_step(step, user);
|
|
329
|
+
if (!nextStep) {
|
|
330
|
+
step = null;
|
|
331
|
+
nextUpdate.status = "Finished";
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
step = nextStep;
|
|
335
|
+
nextUpdate.current_step = step.name;
|
|
336
|
+
}
|
|
337
|
+
await this.update(nextUpdate);
|
|
338
|
+
if (interactive &&
|
|
339
|
+
result &&
|
|
340
|
+
typeof result === "object" &&
|
|
341
|
+
allReturnDirectives.some((k) => typeof result[k] !== "undefined")) {
|
|
342
|
+
const ret = await this.popReturnDirectives();
|
|
343
|
+
ret.resume_workflow = this.id;
|
|
344
|
+
return ret;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
catch (e) {
|
|
348
|
+
console.error("Workflow error", e);
|
|
349
|
+
await this.update({ status: "Error", error: e.message });
|
|
350
|
+
const Trigger = (await Promise.resolve().then(() => __importStar(require("./trigger")))).default;
|
|
351
|
+
Trigger.emitEvent("Error", null, user, {
|
|
352
|
+
workflow_run: this.id,
|
|
353
|
+
message: e.message,
|
|
354
|
+
stack: e.stack,
|
|
355
|
+
step: step?.name,
|
|
356
|
+
run_page: `/actions/run/${this.id}`,
|
|
357
|
+
});
|
|
358
|
+
break;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
return this.context;
|
|
362
|
+
}
|
|
363
|
+
async popReturnDirectives() {
|
|
364
|
+
const retVals = Object.create(null);
|
|
365
|
+
allReturnDirectives.forEach((k) => {
|
|
366
|
+
if (typeof this.context[k] !== "undefined") {
|
|
367
|
+
retVals[k] = this.context[k];
|
|
368
|
+
delete this.context[k];
|
|
369
|
+
}
|
|
370
|
+
});
|
|
371
|
+
if (Object.keys(retVals).length)
|
|
372
|
+
await this.update({ context: this.context });
|
|
373
|
+
return retVals;
|
|
374
|
+
}
|
|
375
|
+
static async count(where) {
|
|
376
|
+
return await db_1.default.count("_sc_workflow_runs", where);
|
|
377
|
+
}
|
|
378
|
+
static async prune() {
|
|
379
|
+
for (const status of ["Error", "Finished", "Running", "Waiting"]) {
|
|
380
|
+
let k = `delete_${status.toLowerCase()}_workflows_days`;
|
|
381
|
+
const days = getState().getConfig(k, false);
|
|
382
|
+
if (!days)
|
|
383
|
+
continue;
|
|
384
|
+
const cutoff = new Date();
|
|
385
|
+
cutoff.setDate(cutoff.getDate() - days);
|
|
386
|
+
await db_1.default.deleteWhere("_sc_workflow_runs", {
|
|
387
|
+
status,
|
|
388
|
+
status_updated_at: { lt: cutoff },
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
module.exports = WorkflowRun;
|
|
394
|
+
//# sourceMappingURL=workflow_run.js.map
|