@saltcorn/data 1.1.0-beta.9 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base-plugin/actions.d.ts +102 -9
- package/dist/base-plugin/actions.d.ts.map +1 -1
- package/dist/base-plugin/actions.js +183 -29
- package/dist/base-plugin/actions.js.map +1 -1
- package/dist/base-plugin/fieldviews.d.ts +0 -1
- package/dist/base-plugin/fieldviews.d.ts.map +1 -1
- package/dist/base-plugin/index.d.ts +169 -123
- package/dist/base-plugin/index.d.ts.map +1 -1
- package/dist/base-plugin/index.js +11 -1
- package/dist/base-plugin/index.js.map +1 -1
- package/dist/base-plugin/types.d.ts.map +1 -1
- package/dist/base-plugin/types.js +17 -9
- package/dist/base-plugin/types.js.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.d.ts +7 -13
- package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.js +90 -12
- package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
- package/dist/base-plugin/viewtemplates/feed.d.ts +0 -8
- package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/filter.d.ts +0 -8
- package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/list.d.ts +0 -10
- package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/room.d.ts +0 -2
- package/dist/base-plugin/viewtemplates/room.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/room.js +7 -2
- package/dist/base-plugin/viewtemplates/room.js.map +1 -1
- package/dist/base-plugin/viewtemplates/show.d.ts +0 -9
- package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/show.js +2 -2
- package/dist/base-plugin/viewtemplates/show.js.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.js +8 -5
- package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
- package/dist/base-plugin/viewtemplates/workflow-room.d.ts +59 -0
- package/dist/base-plugin/viewtemplates/workflow-room.d.ts.map +1 -0
- package/dist/base-plugin/viewtemplates/workflow-room.js +250 -0
- package/dist/base-plugin/viewtemplates/workflow-room.js.map +1 -0
- package/dist/db/index.js +1 -1
- package/dist/db/index.js.map +1 -1
- package/dist/db/state.d.ts +16 -0
- package/dist/db/state.d.ts.map +1 -1
- package/dist/db/state.js +55 -3
- package/dist/db/state.js.map +1 -1
- package/dist/diagram/cy_raster.d.ts +1 -1
- package/dist/diagram/cy_raster.d.ts.map +1 -1
- package/dist/diagram/node_extract_utils.d.ts +2 -2
- package/dist/diagram/node_extract_utils.d.ts.map +1 -1
- package/dist/diagram/nodes/node.d.ts +1 -1
- package/dist/diagram/nodes/node.d.ts.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 +2 -4
- package/dist/models/config.d.ts.map +1 -1
- package/dist/models/config.js +44 -34
- package/dist/models/config.js.map +1 -1
- package/dist/models/crash.d.ts +1 -1
- package/dist/models/crash.d.ts.map +1 -1
- package/dist/models/email.d.ts +1 -1
- package/dist/models/eventlog.d.ts +1 -1
- package/dist/models/eventlog.d.ts.map +1 -1
- package/dist/models/expression.d.ts.map +1 -1
- package/dist/models/expression.js +16 -2
- package/dist/models/expression.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/fieldrepeat.d.ts +1 -1
- package/dist/models/fieldrepeat.d.ts.map +1 -1
- package/dist/models/file.d.ts +7 -3
- package/dist/models/file.d.ts.map +1 -1
- package/dist/models/file.js +3 -3
- package/dist/models/file.js.map +1 -1
- package/dist/models/form.d.ts +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/index.d.ts +2 -2
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +1 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/layout.d.ts +1 -1
- package/dist/models/layout.d.ts.map +1 -1
- package/dist/models/model_instance.d.ts +1 -0
- package/dist/models/model_instance.d.ts.map +1 -1
- package/dist/models/notification.d.ts +1 -1
- package/dist/models/notification.d.ts.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/page_group.d.ts +1 -1
- package/dist/models/page_group.d.ts.map +1 -1
- package/dist/models/page_group.js +7 -1
- package/dist/models/page_group.js.map +1 -1
- package/dist/models/page_group_member.d.ts +1 -1
- package/dist/models/page_group_member.d.ts.map +1 -1
- package/dist/models/plugin.d.ts.map +1 -1
- package/dist/models/plugin.js +5 -3
- package/dist/models/plugin.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 +4 -3
- package/dist/models/table.d.ts.map +1 -1
- package/dist/models/table.js +34 -3
- package/dist/models/table.js.map +1 -1
- package/dist/models/table_constraints.d.ts +2 -2
- package/dist/models/table_constraints.d.ts.map +1 -1
- package/dist/models/tag.d.ts +1 -1
- package/dist/models/tag.d.ts.map +1 -1
- package/dist/models/tag_entry.d.ts +1 -1
- package/dist/models/tag_entry.d.ts.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/user.d.ts +1 -1
- package/dist/models/user.d.ts.map +1 -1
- package/dist/models/view.d.ts +1 -1
- package/dist/models/view.d.ts.map +1 -1
- package/dist/models/view.js +3 -3
- package/dist/models/workflow.d.ts +1 -1
- package/dist/models/workflow.d.ts.map +1 -1
- package/dist/models/workflow_run.d.ts +78 -0
- package/dist/models/workflow_run.d.ts.map +1 -0
- package/dist/models/workflow_run.js +433 -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 +1 -0
- package/dist/plugin-helper.d.ts.map +1 -1
- package/dist/plugin-helper.js +8 -9
- package/dist/plugin-helper.js.map +1 -1
- package/dist/tests/actions.test.js.map +1 -1
- package/dist/tests/auxtest.test.js +6 -3
- package/dist/tests/auxtest.test.js.map +1 -1
- package/dist/tests/config.test.js +2 -2
- package/dist/tests/config.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/mocks.d.ts +1 -1
- package/dist/tests/mocks.js +1 -1
- package/dist/tests/mocks.js.map +1 -1
- package/dist/tests/workflow.test.js +9 -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 +9 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +32 -6
- package/dist/utils.js.map +1 -1
- package/package.json +11 -9
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {object} req
|
|
4
|
+
* @returns {Workflow}
|
|
5
|
+
*/
|
|
6
|
+
export function configuration_workflow(req: object): Workflow;
|
|
7
|
+
export function run(table_id: any, viewname: any, { workflow, prev_runs }: {
|
|
8
|
+
workflow: any;
|
|
9
|
+
prev_runs: any;
|
|
10
|
+
}, state: any, { req, res, isPreview }: {
|
|
11
|
+
req: any;
|
|
12
|
+
res: any;
|
|
13
|
+
isPreview: any;
|
|
14
|
+
}, { getRowQuery, updateQuery, optionsQuery }: {
|
|
15
|
+
getRowQuery: any;
|
|
16
|
+
updateQuery: any;
|
|
17
|
+
optionsQuery: any;
|
|
18
|
+
}): Promise<any>;
|
|
19
|
+
export function get_state_fields(): never[];
|
|
20
|
+
declare function submit_form(table_id: any, viewname: any, { workflow }: {
|
|
21
|
+
workflow: any;
|
|
22
|
+
}, body: any, { req }: {
|
|
23
|
+
req: any;
|
|
24
|
+
}): Promise<{
|
|
25
|
+
json: {
|
|
26
|
+
success: string;
|
|
27
|
+
eval_js: string;
|
|
28
|
+
};
|
|
29
|
+
}>;
|
|
30
|
+
import Workflow = require("../../models/workflow");
|
|
31
|
+
export declare const name: string;
|
|
32
|
+
export declare const description: string;
|
|
33
|
+
export declare const tableless: boolean;
|
|
34
|
+
export declare const display_state_form: boolean;
|
|
35
|
+
export declare namespace routes {
|
|
36
|
+
export { submit_form };
|
|
37
|
+
}
|
|
38
|
+
export declare const noAutoTest: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* @param {object} opts
|
|
41
|
+
* @param {object} opts.participant_field
|
|
42
|
+
* @param {string} room_id
|
|
43
|
+
* @param {object} user
|
|
44
|
+
* @returns {Promise<object>}
|
|
45
|
+
*/
|
|
46
|
+
/** @returns {object[]} */
|
|
47
|
+
export declare function getStringsForI18n(): object[];
|
|
48
|
+
export declare function queries({ table_id, viewname, configuration: { columns, default_state }, req, }: {
|
|
49
|
+
table_id: any;
|
|
50
|
+
viewname: any;
|
|
51
|
+
configuration: {
|
|
52
|
+
columns: any;
|
|
53
|
+
default_state: any;
|
|
54
|
+
};
|
|
55
|
+
req: any;
|
|
56
|
+
}): {};
|
|
57
|
+
export declare function connectedObjects(configuration: any): Promise<import("@saltcorn/types/base_types").ConnectedObjects>;
|
|
58
|
+
export {};
|
|
59
|
+
//# sourceMappingURL=workflow-room.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-room.d.ts","sourceRoot":"","sources":["../../../base-plugin/viewtemplates/workflow-room.js"],"names":[],"mappings":"AA6CA;;;;GAIG;AACH,4CAHW,MAAM,GACJ,QAAQ,CA4BjB;AAkGJ;;;;;;;;;;;iBAmEC;AAnKD,4CAAiC;AAqKjC;;;;;;;;;GAyBC;;2BAgBY,MAAM;kCAEN,MAAM;;yCAMN,OAAO;;;;iCAGP,OAAO;AAElB;;;;;;GAMG;AAEH,0BAA0B;AAC1B,sDAEC;AACQ;;;;;;;;OAKC;AACQ,6HAEjB"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @category saltcorn-data
|
|
4
|
+
* @module base-plugin/viewtemplates/room
|
|
5
|
+
* @subcategory base-plugin
|
|
6
|
+
*/
|
|
7
|
+
const Field = require("../../models/field");
|
|
8
|
+
const Table = require("../../models/table");
|
|
9
|
+
const Form = require("../../models/form");
|
|
10
|
+
const View = require("../../models/view");
|
|
11
|
+
const Trigger = require("../../models/trigger");
|
|
12
|
+
const Workflow = require("../../models/workflow");
|
|
13
|
+
const WorkflowRun = require("../../models/workflow_run");
|
|
14
|
+
const WorkflowStep = require("../../models/workflow_step");
|
|
15
|
+
const { text, div, a, h4, hr, button, form, input, pre, i, script, domReady, } = require("@saltcorn/markup/tags");
|
|
16
|
+
const { pagination } = require("@saltcorn/markup/helpers");
|
|
17
|
+
const { renderForm, tabs, link } = require("@saltcorn/markup");
|
|
18
|
+
const { mkTable } = require("@saltcorn/markup");
|
|
19
|
+
const { link_view, stateToQueryString, stateFieldsToWhere, stateFieldsToQuery, readState, } = require("../../plugin-helper");
|
|
20
|
+
const { InvalidConfiguration } = require("../../utils");
|
|
21
|
+
const { getState } = require("../../db/state");
|
|
22
|
+
const db = require("../../db");
|
|
23
|
+
const { getForm, fill_presets } = require("./viewable_fields");
|
|
24
|
+
const { extractFromLayout } = require("../../diagram/node_extract_utils");
|
|
25
|
+
const WorkflowTrace = require("../../models/workflow_trace");
|
|
26
|
+
const { localeDateTime } = require("@saltcorn/markup/index");
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @param {object} req
|
|
30
|
+
* @returns {Workflow}
|
|
31
|
+
*/
|
|
32
|
+
const configuration_workflow = (req) => new Workflow({
|
|
33
|
+
steps: [
|
|
34
|
+
{
|
|
35
|
+
name: req.__("Workflow"),
|
|
36
|
+
form: async (context) => {
|
|
37
|
+
const wfs = await Trigger.find({ action: "Workflow" });
|
|
38
|
+
return new Form({
|
|
39
|
+
fields: [
|
|
40
|
+
{
|
|
41
|
+
name: "workflow",
|
|
42
|
+
label: "Workflow",
|
|
43
|
+
type: "String",
|
|
44
|
+
required: true,
|
|
45
|
+
attributes: { options: wfs.map((wf) => wf.name) },
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: "prev_runs",
|
|
49
|
+
label: "Show previous runs",
|
|
50
|
+
type: "Bool",
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
});
|
|
58
|
+
const get_state_fields = () => [];
|
|
59
|
+
const getHtmlFromTraces = async ({ run, req, viewname, traces }) => {
|
|
60
|
+
let items = [];
|
|
61
|
+
for (let ix = 0; ix < traces.length - 1; ix++) {
|
|
62
|
+
const trace = traces[ix];
|
|
63
|
+
const fakeRun = new WorkflowRun(run);
|
|
64
|
+
fakeRun.wait_info = trace.wait_info;
|
|
65
|
+
fakeRun.context = trace.context;
|
|
66
|
+
if (trace.status === "Waiting" && trace.wait_info.form) {
|
|
67
|
+
fakeRun.context = traces[ix + 1] ? traces[ix + 1].context : run.context;
|
|
68
|
+
}
|
|
69
|
+
fakeRun.current_step = trace.step_name_run;
|
|
70
|
+
fakeRun.status = trace.status;
|
|
71
|
+
fakeRun.error = trace.error;
|
|
72
|
+
const myItems = await getHtmlFromRun({
|
|
73
|
+
req,
|
|
74
|
+
viewname,
|
|
75
|
+
run: fakeRun,
|
|
76
|
+
noInteract: true,
|
|
77
|
+
});
|
|
78
|
+
items.push(...myItems);
|
|
79
|
+
}
|
|
80
|
+
return items;
|
|
81
|
+
};
|
|
82
|
+
const getHtmlFromRun = async ({ run, req, viewname, noInteract }) => {
|
|
83
|
+
let items = [];
|
|
84
|
+
const checkContext = async (key, alertType) => {
|
|
85
|
+
if (run.context[key]) {
|
|
86
|
+
items.push(div({ class: `alert alert-${alertType}`, role: "alert" }, run.context[key]));
|
|
87
|
+
if (!noInteract) {
|
|
88
|
+
delete run.context[key];
|
|
89
|
+
await run.update({ context: run.context });
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
await checkContext("notify", "info");
|
|
94
|
+
await checkContext("notify_success", "success");
|
|
95
|
+
await checkContext("error", "danger");
|
|
96
|
+
// waiting look for form or output
|
|
97
|
+
if (run.wait_info?.output) {
|
|
98
|
+
items.push(div(run.wait_info.output));
|
|
99
|
+
if (!noInteract)
|
|
100
|
+
items.push(script(domReady(`ajax_post_json("/view/${viewname}/submit_form", {run_id: ${run.id}});`)));
|
|
101
|
+
}
|
|
102
|
+
if (run.wait_info?.form) {
|
|
103
|
+
const step = await WorkflowStep.findOne({
|
|
104
|
+
trigger_id: run.trigger_id,
|
|
105
|
+
name: run.current_step,
|
|
106
|
+
});
|
|
107
|
+
const form = await getWorkflowStepUserForm({ step, run, viewname, req });
|
|
108
|
+
if (noInteract) {
|
|
109
|
+
form.noSubmitButton = true;
|
|
110
|
+
form.fields = form.fields.map((f) => {
|
|
111
|
+
const nf = new Field(f);
|
|
112
|
+
nf.disabled = true;
|
|
113
|
+
form.values[f.name] = run.context[f.name];
|
|
114
|
+
return nf;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
items.push(renderForm(form, req.csrfToken()));
|
|
118
|
+
}
|
|
119
|
+
return items;
|
|
120
|
+
};
|
|
121
|
+
const getWorkflowStepUserForm = async ({ step, run, viewname, req }) => {
|
|
122
|
+
const fields = await run.userFormFields(step);
|
|
123
|
+
const form = new Form({
|
|
124
|
+
action: `/view/${viewname}/submit_form`,
|
|
125
|
+
xhrSubmit: true,
|
|
126
|
+
onSubmit: `$(this).closest('form').find('button').hide();setTimeout(()=>$(this).closest('form').find('input,select,textarea').prop('disabled', true),100);`,
|
|
127
|
+
submitLabel: run.wait_info.output ? req.__("OK") : req.__("Submit"),
|
|
128
|
+
blurb: run.wait_info.output || step.configuration?.form_header || "",
|
|
129
|
+
formStyle: "vert",
|
|
130
|
+
fields,
|
|
131
|
+
});
|
|
132
|
+
form.hidden("run_id");
|
|
133
|
+
form.values.run_id = run.id;
|
|
134
|
+
return form;
|
|
135
|
+
};
|
|
136
|
+
const run = async (table_id, viewname, { workflow, prev_runs }, state, { req, res, isPreview }, { getRowQuery, updateQuery, optionsQuery }) => {
|
|
137
|
+
const trigger = await Trigger.findOne({ name: workflow });
|
|
138
|
+
let run;
|
|
139
|
+
let prevItems = [];
|
|
140
|
+
if (state.id || isPreview) {
|
|
141
|
+
run = isPreview
|
|
142
|
+
? await WorkflowRun.findOne({ trigger_id: trigger.id }, { limit: 1, orderBy: "id", orderDesc: true })
|
|
143
|
+
: await WorkflowRun.findOne({ id: state.id });
|
|
144
|
+
if (run) {
|
|
145
|
+
if (run.started_by != req.user?.id && req.user?.role_id != 1)
|
|
146
|
+
return "Not authorized";
|
|
147
|
+
if (trigger.configuration.save_traces) {
|
|
148
|
+
const traces = await WorkflowTrace.find({ run_id: run.id }, { orderBy: "step_started_at" });
|
|
149
|
+
prevItems = await getHtmlFromTraces({ run, req, viewname, traces });
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
else if (!isPreview)
|
|
153
|
+
return "Run not found";
|
|
154
|
+
}
|
|
155
|
+
else
|
|
156
|
+
run = await WorkflowRun.create({
|
|
157
|
+
trigger_id: trigger.id,
|
|
158
|
+
context: {},
|
|
159
|
+
started_by: req.user?.id,
|
|
160
|
+
});
|
|
161
|
+
await run.run({
|
|
162
|
+
user: req.user,
|
|
163
|
+
interactive: true,
|
|
164
|
+
trace: trigger.configuration?.save_traces,
|
|
165
|
+
});
|
|
166
|
+
const items = await getHtmlFromRun({ run, req, viewname });
|
|
167
|
+
//look for error status
|
|
168
|
+
if (prev_runs) {
|
|
169
|
+
const locale = req.getLocale();
|
|
170
|
+
const runs = await WorkflowRun.find({ trigger_id: trigger.id }, { limit: 10, orderBy: "status_updated_at", orderDesc: true });
|
|
171
|
+
return div({ class: "row" }, div({ class: "col-2 col-md-3 col-sm-4" }, req.__("Previous runs"), runs.map((run) => a({
|
|
172
|
+
href: `/view/${viewname}?id=${run.id}`,
|
|
173
|
+
class: "text-nowrap d-block",
|
|
174
|
+
}, localeDateTime(run.status_updated_at, {}, locale)))), div({ class: "col-10 col-md-9 col-sm-8", id: `wfroom-${run.id}` }, prevItems, items));
|
|
175
|
+
}
|
|
176
|
+
return div({ id: `wfroom-${run.id}` }, prevItems, items);
|
|
177
|
+
};
|
|
178
|
+
const submit_form = async (table_id, viewname, { workflow }, body, { req }) => {
|
|
179
|
+
const run = await WorkflowRun.findOne({ id: body.run_id });
|
|
180
|
+
const trigger = await Trigger.findOne({ id: run.trigger_id });
|
|
181
|
+
const step = await WorkflowStep.findOne({
|
|
182
|
+
trigger_id: trigger.id,
|
|
183
|
+
name: run.current_step,
|
|
184
|
+
});
|
|
185
|
+
const form = await getWorkflowStepUserForm({ step, run, viewname, req });
|
|
186
|
+
form.validate(req.body);
|
|
187
|
+
await run.provide_form_input(form.values);
|
|
188
|
+
await run.run({
|
|
189
|
+
user: req.user,
|
|
190
|
+
interactive: true,
|
|
191
|
+
trace: trigger.configuration?.save_traces,
|
|
192
|
+
});
|
|
193
|
+
const items = await getHtmlFromRun({ run, req, viewname });
|
|
194
|
+
return {
|
|
195
|
+
json: {
|
|
196
|
+
success: "ok",
|
|
197
|
+
eval_js: `$('#wfroom-${run.id}').append(${JSON.stringify(items.join(""))})`,
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* @param {*} table_id
|
|
203
|
+
* @param {string} viewname
|
|
204
|
+
* @param {object} opts
|
|
205
|
+
* @param {*} opts.participant_field
|
|
206
|
+
* @param {string} opts.msg_relation,
|
|
207
|
+
* @param {string} opts.msgsender_field,
|
|
208
|
+
* @param {string} opts.msgview,
|
|
209
|
+
* @param {*} opts.msgform,
|
|
210
|
+
* @param {*} opts.participant_maxread_field,
|
|
211
|
+
* @returns {object[]}
|
|
212
|
+
*/
|
|
213
|
+
module.exports = {
|
|
214
|
+
/** @type {string} */
|
|
215
|
+
name: "WorkflowRoom",
|
|
216
|
+
/** @type {string} */
|
|
217
|
+
description: "Chatbot interface for workflows",
|
|
218
|
+
configuration_workflow,
|
|
219
|
+
run,
|
|
220
|
+
tableless: true,
|
|
221
|
+
get_state_fields,
|
|
222
|
+
/** @type {boolean} */
|
|
223
|
+
display_state_form: false,
|
|
224
|
+
routes: { submit_form },
|
|
225
|
+
/** @type {boolean} */
|
|
226
|
+
noAutoTest: true,
|
|
227
|
+
/**
|
|
228
|
+
* @param {object} opts
|
|
229
|
+
* @param {object} opts.participant_field
|
|
230
|
+
* @param {string} room_id
|
|
231
|
+
* @param {object} user
|
|
232
|
+
* @returns {Promise<object>}
|
|
233
|
+
*/
|
|
234
|
+
/** @returns {object[]} */
|
|
235
|
+
getStringsForI18n() {
|
|
236
|
+
return [];
|
|
237
|
+
},
|
|
238
|
+
queries: ({ table_id, viewname, configuration: { columns, default_state }, req, }) => ({}),
|
|
239
|
+
connectedObjects: async (configuration) => {
|
|
240
|
+
return extractFromLayout(configuration.layout);
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
/*todo:
|
|
244
|
+
|
|
245
|
+
-show a previous run
|
|
246
|
+
-previous runs list
|
|
247
|
+
-styling
|
|
248
|
+
|
|
249
|
+
*/
|
|
250
|
+
//# sourceMappingURL=workflow-room.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-room.js","sourceRoot":"","sources":["../../../base-plugin/viewtemplates/workflow-room.js"],"names":[],"mappings":"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"}
|
package/dist/db/index.js
CHANGED
|
@@ -22,7 +22,7 @@ const is_node = isNode();
|
|
|
22
22
|
const initDbModule = () => {
|
|
23
23
|
let dbmodule = null;
|
|
24
24
|
if (!isNode()) {
|
|
25
|
-
dbmodule = require("@saltcorn/sqlite-mobile/
|
|
25
|
+
dbmodule = require("@saltcorn/sqlite-mobile/sqlite_capacitor");
|
|
26
26
|
dbmodule.setConnectionObject(connectObj);
|
|
27
27
|
}
|
|
28
28
|
else if (isSQLite) {
|
package/dist/db/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../db/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAKH,2DAA2E;AAE3E,qDAA6B;AAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,eAAK,CAAC;AACzB,qDAA8E;AAC9E,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAE7D,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAExC,kBAAkB;AAClB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAA,iCAAsB,GAAE,CAAC;AAE5E,sBAAsB;AACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAEvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAEzB,MAAM,YAAY,GAAG,GAAQ,EAAE;IAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,MAAM,EAAE,EAAE;QACb,QAAQ,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../db/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAKH,2DAA2E;AAE3E,qDAA6B;AAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,eAAK,CAAC;AACzB,qDAA8E;AAC9E,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAE7D,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAExC,kBAAkB;AAClB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAA,iCAAsB,GAAE,CAAC;AAE5E,sBAAsB;AACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAEvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;AAEzB,MAAM,YAAY,GAAG,GAAQ,EAAE;IAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,MAAM,EAAE,EAAE;QACb,QAAQ,GAAG,OAAO,CAAC,0CAA0C,CAAC,CAAC;QAC/D,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;KAC1C;SAAM,IAAI,QAAQ,EAAE;QACnB,QAAQ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACjC;SAAM;QACL,QAAQ,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC,gBAAgB,CAAC,CAAC;KACrE;IACD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7D,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;AAEhC,wBAAwB;AACxB,6DAA8D;AAC9D,MAAM,MAAM,GACV,aAAa,CAAC,UAAU,CAAC,CAAC;AAC5B,IAAI,CAAC,MAAM;IAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,qBAAqB,GAAG,GAAW,EAAE,CACzC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC;AAEnD,MAAM,SAAS,GAAQ;IACrB,GAAG,MAAM;IACT,WAAW,EAAX,sBAAW;IACX,UAAU;IACV,QAAQ;IACR,OAAO;IACP,GAAG,QAAQ;IACX,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAA,kBAAO,EAAC,CAAC,EAAE,QAAQ,CAAC;IAC3C,qBAAqB;IACrB,KAAK;CACN,CAAC;AACF,iBAAS,SAAS,CAAC"}
|
package/dist/db/state.d.ts
CHANGED
|
@@ -66,6 +66,7 @@ declare class State {
|
|
|
66
66
|
hasJoinedLogSockets: boolean;
|
|
67
67
|
queriesCache?: Record<string, any>;
|
|
68
68
|
scVersion: string;
|
|
69
|
+
waitingWorkflows?: boolean;
|
|
69
70
|
private oldCodePages;
|
|
70
71
|
/**
|
|
71
72
|
* State constructor
|
|
@@ -81,6 +82,7 @@ declare class State {
|
|
|
81
82
|
*/
|
|
82
83
|
getLayout(user?: User): any;
|
|
83
84
|
getLayoutPlugin(user?: User): Plugin;
|
|
85
|
+
getLightDarkMode(user?: User): "dark" | "light" | "auto";
|
|
84
86
|
/**
|
|
85
87
|
* Get Two factor authentication policy
|
|
86
88
|
* Based on role of user
|
|
@@ -95,6 +97,19 @@ declare class State {
|
|
|
95
97
|
* @param msg
|
|
96
98
|
*/
|
|
97
99
|
log(min_level: number, msg: string): void;
|
|
100
|
+
/**
|
|
101
|
+
* Get all config variables list
|
|
102
|
+
* If variable is not defined that default value is used
|
|
103
|
+
* @function
|
|
104
|
+
* @returns {Promise<object>}
|
|
105
|
+
*/
|
|
106
|
+
getAllConfigOrDefaults(): Promise<ConfigTypes>;
|
|
107
|
+
/**
|
|
108
|
+
* Returns true if key is defined in fixed_configuration for tenant
|
|
109
|
+
* @param {string} key
|
|
110
|
+
* @returns {boolean}
|
|
111
|
+
*/
|
|
112
|
+
isFixedConfig(key: string): boolean;
|
|
98
113
|
/**
|
|
99
114
|
* Refresh State cache for all Saltcorn main objects
|
|
100
115
|
* @param noSignal - Do not signal - refresh to other cluster processes.
|
|
@@ -251,6 +266,7 @@ declare const _default: {
|
|
|
251
266
|
esm_plugins: boolean;
|
|
252
267
|
stringify_json_fields: boolean;
|
|
253
268
|
dynamic_auth_parameters: boolean;
|
|
269
|
+
capacitor: boolean;
|
|
254
270
|
};
|
|
255
271
|
add_tenant: (t: string) => void;
|
|
256
272
|
getAllTenants: () => Record<string, State>;
|
package/dist/db/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../db/state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../db/state.ts"],"names":[],"mappings":"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"}
|
package/dist/db/state.js
CHANGED
|
@@ -43,7 +43,7 @@ const moment_1 = __importDefault(require("moment"));
|
|
|
43
43
|
const _1 = __importDefault(require("."));
|
|
44
44
|
const { migrate } = require("../migrate");
|
|
45
45
|
const config_1 = __importDefault(require("../models/config"));
|
|
46
|
-
const {
|
|
46
|
+
const { getAllConfig, setConfig, deleteConfig, configTypes } = config_1.default;
|
|
47
47
|
const emergency_layout = require("@saltcorn/markup/emergency_layout");
|
|
48
48
|
const utils_1 = __importDefault(require("../utils"));
|
|
49
49
|
const { structuredClone, removeAllWhiteSpace, stringToJSON, sleep, interpolate, isNode, flatEqual, } = utils_1.default;
|
|
@@ -165,6 +165,7 @@ class State {
|
|
|
165
165
|
this.scVersion = require("../package.json").version;
|
|
166
166
|
}
|
|
167
167
|
this.codepage_context = {};
|
|
168
|
+
this.waitingWorkflows = true; //not sure so check
|
|
168
169
|
}
|
|
169
170
|
processSend(v) {
|
|
170
171
|
process_send(v);
|
|
@@ -215,6 +216,24 @@ class State {
|
|
|
215
216
|
const name = layoutvs[layoutvs.length - 1];
|
|
216
217
|
return this.plugins[name];
|
|
217
218
|
}
|
|
219
|
+
// TODO auto is poorly supported
|
|
220
|
+
getLightDarkMode(user) {
|
|
221
|
+
if (user?._attributes?.layout?.config?.mode)
|
|
222
|
+
return user?._attributes?.layout?.config?.mode;
|
|
223
|
+
if (user?.attributes?.layout?.config?.mode)
|
|
224
|
+
return user?.attributes?.layout?.config?.mode;
|
|
225
|
+
if (this.plugin_cfgs) {
|
|
226
|
+
const layout_name = this.getLayoutPlugin(user)?.plugin_name;
|
|
227
|
+
if (user?._attributes?.[layout_name]?.mode)
|
|
228
|
+
return user?._attributes[layout_name]?.mode;
|
|
229
|
+
if (user?.attributes?.[layout_name]?.mode)
|
|
230
|
+
return user?.attributes[layout_name]?.mode;
|
|
231
|
+
const plugin_cfg = this.plugin_cfgs[layout_name];
|
|
232
|
+
if (plugin_cfg?.mode)
|
|
233
|
+
return plugin_cfg.mode;
|
|
234
|
+
}
|
|
235
|
+
return "light";
|
|
236
|
+
}
|
|
218
237
|
/**
|
|
219
238
|
* Get Two factor authentication policy
|
|
220
239
|
* Based on role of user
|
|
@@ -247,6 +266,38 @@ class State {
|
|
|
247
266
|
this.emitLog(ten, min_level, msg);
|
|
248
267
|
}
|
|
249
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Get all config variables list
|
|
271
|
+
* If variable is not defined that default value is used
|
|
272
|
+
* @function
|
|
273
|
+
* @returns {Promise<object>}
|
|
274
|
+
*/
|
|
275
|
+
async getAllConfigOrDefaults() {
|
|
276
|
+
let cfgs = {};
|
|
277
|
+
const cfgInDB = await getAllConfig();
|
|
278
|
+
if (cfgInDB)
|
|
279
|
+
Object.entries(configTypes).forEach(([key, v]) => {
|
|
280
|
+
const value = typeof cfgInDB[key] === "undefined" ? v.default : cfgInDB[key];
|
|
281
|
+
if (!this.isFixedConfig(key))
|
|
282
|
+
cfgs[key] = { value, ...v };
|
|
283
|
+
});
|
|
284
|
+
return cfgs;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Returns true if key is defined in fixed_configuration for tenant
|
|
288
|
+
* @param {string} key
|
|
289
|
+
* @returns {boolean}
|
|
290
|
+
*/
|
|
291
|
+
isFixedConfig(key) {
|
|
292
|
+
return (typeof _1.default.connectObj.fixed_configuration[key] !== "undefined" ||
|
|
293
|
+
(_1.default.getTenantSchema() !== _1.default.connectObj.default_schema &&
|
|
294
|
+
(_1.default.connectObj.inherit_configuration.includes(key) ||
|
|
295
|
+
//TODO why do we need || "" - dont understand
|
|
296
|
+
(singleton.getConfig("tenant_inherit_cfgs", "") || "")
|
|
297
|
+
.split(",")
|
|
298
|
+
.map((k) => k.trim())
|
|
299
|
+
.includes(key))));
|
|
300
|
+
}
|
|
250
301
|
/**
|
|
251
302
|
* Refresh State cache for all Saltcorn main objects
|
|
252
303
|
* @param noSignal - Do not signal - refresh to other cluster processes.
|
|
@@ -268,7 +319,7 @@ class State {
|
|
|
268
319
|
* @returns {Promise<void>}
|
|
269
320
|
*/
|
|
270
321
|
async refresh_config(noSignal) {
|
|
271
|
-
this.configs = await getAllConfigOrDefaults();
|
|
322
|
+
this.configs = await this.getAllConfigOrDefaults();
|
|
272
323
|
this.getConfig("custom_events", []).forEach((cev) => {
|
|
273
324
|
this.eventTypes[cev.name] = cev;
|
|
274
325
|
});
|
|
@@ -958,7 +1009,7 @@ const init_multi_tenant = async (plugin_loader, disableMigrate, tenantList) => {
|
|
|
958
1009
|
set_tenant_base_url(domain, tenants[domain].configs.base_url?.value);
|
|
959
1010
|
}
|
|
960
1011
|
catch (err) {
|
|
961
|
-
console.error(`init_multi_tenant error in domain ${domain}: `, err.
|
|
1012
|
+
console.error(`init_multi_tenant error in domain ${domain}: `, err.stack);
|
|
962
1013
|
}
|
|
963
1014
|
}
|
|
964
1015
|
};
|
|
@@ -1010,6 +1061,7 @@ const features = {
|
|
|
1010
1061
|
esm_plugins: true,
|
|
1011
1062
|
stringify_json_fields: true,
|
|
1012
1063
|
dynamic_auth_parameters: true,
|
|
1064
|
+
capacitor: true,
|
|
1013
1065
|
};
|
|
1014
1066
|
module.exports = {
|
|
1015
1067
|
getState,
|