@saltcorn/data 1.6.0-beta.1 → 1.6.0-beta.11
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 +191 -62
- package/dist/base-plugin/actions.d.ts.map +1 -1
- package/dist/base-plugin/actions.js +164 -66
- package/dist/base-plugin/actions.js.map +1 -1
- package/dist/base-plugin/fieldviews.d.ts +1 -0
- package/dist/base-plugin/fieldviews.d.ts.map +1 -1
- package/dist/base-plugin/fieldviews.js +5 -2
- package/dist/base-plugin/fieldviews.js.map +1 -1
- package/dist/base-plugin/fileviews.d.ts +6 -0
- package/dist/base-plugin/fileviews.d.ts.map +1 -1
- package/dist/base-plugin/fileviews.js +14 -0
- package/dist/base-plugin/fileviews.js.map +1 -1
- package/dist/base-plugin/index.d.ts +210 -65
- package/dist/base-plugin/index.d.ts.map +1 -1
- package/dist/base-plugin/types.d.ts +19 -9
- package/dist/base-plugin/types.d.ts.map +1 -1
- package/dist/base-plugin/types.js +41 -12
- package/dist/base-plugin/types.js.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.js +12 -11
- package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
- package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/feed.js +1 -1
- package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
- package/dist/base-plugin/viewtemplates/filter.js +2 -2
- package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
- package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/list.js +14 -1
- package/dist/base-plugin/viewtemplates/list.js.map +1 -1
- package/dist/base-plugin/viewtemplates/room.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/room.js +1 -1
- package/dist/base-plugin/viewtemplates/room.js.map +1 -1
- package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
- package/dist/db/fixtures.d.ts.map +1 -1
- package/dist/db/fixtures.js +31 -1
- package/dist/db/fixtures.js.map +1 -1
- package/dist/db/state.d.ts +5 -3
- package/dist/db/state.d.ts.map +1 -1
- package/dist/db/state.js +36 -12
- package/dist/db/state.js.map +1 -1
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +3 -1
- package/dist/migrate.js.map +1 -1
- package/dist/migrations/202604091531.d.ts +2 -0
- package/dist/migrations/202604091531.d.ts.map +1 -0
- package/dist/migrations/202604091531.js +9 -0
- package/dist/migrations/202604091531.js.map +1 -0
- package/dist/migrations/202604111200.d.ts +2 -0
- package/dist/migrations/202604111200.d.ts.map +1 -0
- package/dist/migrations/202604111200.js +15 -0
- package/dist/migrations/202604111200.js.map +1 -0
- package/dist/migrations/202604141200.d.ts +2 -0
- package/dist/migrations/202604141200.d.ts.map +1 -0
- package/dist/migrations/202604141200.js +14 -0
- package/dist/migrations/202604141200.js.map +1 -0
- package/dist/mobile-mocks/node/fs/promises.d.ts +1 -0
- package/dist/mobile-mocks/node/fs/promises.d.ts.map +1 -1
- package/dist/mobile-mocks/node/fs/promises.js +4 -0
- package/dist/mobile-mocks/node/fs/promises.js.map +1 -1
- package/dist/mobile-mocks/node/fs.d.ts +2 -0
- package/dist/mobile-mocks/node/fs.d.ts.map +1 -1
- package/dist/mobile-mocks/node/fs.js +36 -0
- package/dist/mobile-mocks/node/fs.js.map +1 -1
- package/dist/mobile-mocks/npm/npm-registry-fetch.d.ts +3 -0
- package/dist/mobile-mocks/npm/npm-registry-fetch.d.ts.map +1 -0
- package/dist/mobile-mocks/npm/npm-registry-fetch.js +3 -0
- package/dist/mobile-mocks/npm/npm-registry-fetch.js.map +1 -0
- package/dist/mobile-mocks/saltcorn/admin-models-tenant.d.ts +1 -0
- package/dist/mobile-mocks/saltcorn/admin-models-tenant.d.ts.map +1 -0
- package/dist/mobile-mocks/saltcorn/admin-models-tenant.js +2 -0
- package/dist/mobile-mocks/saltcorn/admin-models-tenant.js.map +1 -0
- package/dist/mobile-mocks/saltcorn/plugins-loader-plugin-installer.d.ts +1 -0
- package/dist/mobile-mocks/saltcorn/plugins-loader-plugin-installer.d.ts.map +1 -0
- package/dist/mobile-mocks/saltcorn/plugins-loader-plugin-installer.js +2 -0
- package/dist/mobile-mocks/saltcorn/plugins-loader-plugin-installer.js.map +1 -0
- package/dist/mobile-mocks/saltcorn/plugins-loader-stable-versioning.d.ts +1 -0
- package/dist/mobile-mocks/saltcorn/plugins-loader-stable-versioning.d.ts.map +1 -0
- package/dist/mobile-mocks/saltcorn/plugins-loader-stable-versioning.js +2 -0
- package/dist/mobile-mocks/saltcorn/plugins-loader-stable-versioning.js.map +1 -0
- package/dist/models/config.d.ts.map +1 -1
- package/dist/models/config.js +46 -1
- package/dist/models/config.js.map +1 -1
- package/dist/models/discovery.d.ts +14 -0
- package/dist/models/discovery.d.ts.map +1 -1
- package/dist/models/discovery.js +63 -0
- package/dist/models/discovery.js.map +1 -1
- package/dist/models/expression.d.ts +7 -4
- package/dist/models/expression.d.ts.map +1 -1
- package/dist/models/expression.js +28 -14
- package/dist/models/expression.js.map +1 -1
- package/dist/models/field.d.ts.map +1 -1
- package/dist/models/field.js +39 -9
- package/dist/models/field.js.map +1 -1
- package/dist/models/index.d.ts +12 -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/page.d.ts +1 -0
- package/dist/models/page.d.ts.map +1 -1
- package/dist/models/page.js +36 -20
- package/dist/models/page.js.map +1 -1
- package/dist/models/plugin.d.ts +57 -0
- package/dist/models/plugin.d.ts.map +1 -1
- package/dist/models/plugin.js +322 -1
- package/dist/models/plugin.js.map +1 -1
- package/dist/models/scheduler.d.ts.map +1 -1
- package/dist/models/scheduler.js +15 -5
- package/dist/models/scheduler.js.map +1 -1
- package/dist/models/table.d.ts +3 -1
- package/dist/models/table.d.ts.map +1 -1
- package/dist/models/table.js +148 -44
- package/dist/models/table.js.map +1 -1
- package/dist/models/trigger.d.ts +7 -3
- package/dist/models/trigger.d.ts.map +1 -1
- package/dist/models/trigger.js +63 -20
- package/dist/models/trigger.js.map +1 -1
- package/dist/models/user.d.ts.map +1 -1
- package/dist/models/user.js +2 -1
- package/dist/models/user.js.map +1 -1
- package/dist/models/view.d.ts +1 -0
- package/dist/models/view.d.ts.map +1 -1
- package/dist/models/view.js +74 -14
- package/dist/models/view.js.map +1 -1
- package/dist/models/workflow_run.d.ts.map +1 -1
- package/dist/models/workflow_run.js +3 -2
- package/dist/models/workflow_run.js.map +1 -1
- package/dist/models/workflow_step.d.ts +1 -1
- package/dist/models/workflow_step.d.ts.map +1 -1
- package/dist/models/workflow_step.js +2 -1
- package/dist/models/workflow_step.js.map +1 -1
- package/dist/plugin-helper.d.ts +3 -11
- package/dist/plugin-helper.d.ts.map +1 -1
- package/dist/plugin-helper.js +102 -60
- package/dist/plugin-helper.js.map +1 -1
- package/dist/standard-menu.d.ts.map +1 -1
- package/dist/standard-menu.js +19 -0
- package/dist/standard-menu.js.map +1 -1
- package/dist/tests/remote_query_helper.js +1 -1
- package/dist/tests/remote_query_helper.js.map +1 -1
- package/dist/utils.d.ts +15 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +102 -5
- package/dist/utils.js.map +1 -1
- package/dist/viewable_fields.d.ts +1 -1
- package/dist/viewable_fields.d.ts.map +1 -1
- package/dist/viewable_fields.js +48 -9
- package/dist/viewable_fields.js.map +1 -1
- package/dist/web-mobile-commons.d.ts.map +1 -1
- package/dist/web-mobile-commons.js +2 -1
- package/dist/web-mobile-commons.js.map +1 -1
- package/package.json +12 -9
- package/webpack.config.js +11 -0
package/dist/models/page.js
CHANGED
|
@@ -46,6 +46,7 @@ const view_1 = __importDefault(require("./view"));
|
|
|
46
46
|
const table_1 = __importDefault(require("./table"));
|
|
47
47
|
const file_1 = __importDefault(require("./file"));
|
|
48
48
|
const promises_1 = require("fs/promises");
|
|
49
|
+
const htmlparser2_1 = require("htmlparser2");
|
|
49
50
|
const layout_1 = __importDefault(require("./layout"));
|
|
50
51
|
const { eachView, eachPage, traverse, getStringsForI18n, translateLayout } = layout_1.default;
|
|
51
52
|
const config_1 = __importDefault(require("./config"));
|
|
@@ -81,6 +82,9 @@ class Page {
|
|
|
81
82
|
typeof o.fixed_states === "string"
|
|
82
83
|
? JSON.parse(o.fixed_states)
|
|
83
84
|
: o.fixed_states || {};
|
|
85
|
+
this.updated_at = ["string", "number"].includes(typeof o.updated_at)
|
|
86
|
+
? new Date(o.updated_at)
|
|
87
|
+
: o.updated_at;
|
|
84
88
|
}
|
|
85
89
|
/**
|
|
86
90
|
* Find pages in DB
|
|
@@ -125,7 +129,7 @@ class Page {
|
|
|
125
129
|
* @returns {Promise<void>}
|
|
126
130
|
*/
|
|
127
131
|
static async update(id, row) {
|
|
128
|
-
await db_1.default.update("_sc_pages", row, id);
|
|
132
|
+
await db_1.default.update("_sc_pages", { ...row, updated_at: new Date() }, id);
|
|
129
133
|
if (!db_1.default.getRequestContext()?.client)
|
|
130
134
|
await require("../db/state").getState().refresh_pages(true);
|
|
131
135
|
}
|
|
@@ -142,6 +146,7 @@ class Page {
|
|
|
142
146
|
*/
|
|
143
147
|
static async create(f) {
|
|
144
148
|
const page = new Page(f);
|
|
149
|
+
page.updated_at = new Date();
|
|
145
150
|
const { id, ...rest } = page;
|
|
146
151
|
const fid = await db_1.default.insert("_sc_pages", rest);
|
|
147
152
|
page.id = fid;
|
|
@@ -392,29 +397,40 @@ class Page {
|
|
|
392
397
|
const file = await file_1.default.findOne(this.layout.html_file);
|
|
393
398
|
const html_string = (await file?.get_contents("utf8"));
|
|
394
399
|
if (html_string?.includes("<embed-view")) {
|
|
395
|
-
const
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
if (!aval)
|
|
405
|
-
continue;
|
|
406
|
-
attrs[anm] = aval.replaceAll('"', "");
|
|
407
|
-
}
|
|
408
|
-
const { viewname, ...embedstate } = attrs;
|
|
400
|
+
const doc = (0, htmlparser2_1.parseDocument)(html_string, {
|
|
401
|
+
withStartIndices: true,
|
|
402
|
+
withEndIndices: true,
|
|
403
|
+
xmlMode: true,
|
|
404
|
+
});
|
|
405
|
+
const embedNodes = htmlparser2_1.DomUtils.findAll((el) => el.type === "tag" && el.name === "embed-view", doc.children);
|
|
406
|
+
const replacements = [];
|
|
407
|
+
for (const node of embedNodes) {
|
|
408
|
+
const { viewname, ...embedstate } = node.attribs ?? {};
|
|
409
409
|
const view = view_1.default.findOne({ name: viewname });
|
|
410
410
|
if (!view)
|
|
411
411
|
continue;
|
|
412
|
-
|
|
412
|
+
try {
|
|
413
|
+
const content = await view.run({ ...querystate, ...embedstate }, extraArgs);
|
|
414
|
+
replacements.push({
|
|
415
|
+
start: node.startIndex,
|
|
416
|
+
end: node.endIndex + 1,
|
|
417
|
+
content: content ?? "",
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
catch (e) {
|
|
421
|
+
replacements.push({
|
|
422
|
+
start: node.startIndex,
|
|
423
|
+
end: node.endIndex + 1,
|
|
424
|
+
content: "",
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
replacements.sort((a, b) => b.start - a.start);
|
|
429
|
+
let result = html_string;
|
|
430
|
+
for (const { start, end, content } of replacements) {
|
|
431
|
+
result = result.slice(0, start) + content + result.slice(end);
|
|
413
432
|
}
|
|
414
|
-
|
|
415
|
-
return {
|
|
416
|
-
html_string: html_string.replace(/<embed-view(\s*.*?)>/, replacer),
|
|
417
|
-
};
|
|
433
|
+
return { html_string: result };
|
|
418
434
|
}
|
|
419
435
|
}
|
|
420
436
|
return this.layout;
|
package/dist/models/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../models/page.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,+CAAuB;AACvB,kDAA0B;AAC1B,oDAA4B;AAC5B,kDAA0B;AAC1B,0CAAuC;AACvC,sDAA8B;AAC9B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,GACxE,gBAAM,CAAC;AACT,sDAA8B;AAM9B,2DAAmE;AAQnE,8DAAsC;AACtC,iEAAyC;AACzC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,cAAI,CAAC;AACvC,MAAM,EAAE,eAAe,EAAE,GAAG,oBAAU,CAAC;AAEvC,MAAM,EAAE,gBAAgB,EAAE,GAAG,gBAAM,CAAC;AACpC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACpE,qDAA6B;AAC7B,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAE9E,sEAAkE;AAClE,MAAM,EACJ,oBAAoB,EACpB,SAAS,EACT,eAAe,EACf,KAAK,EACL,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,MAAM,EACN,aAAa,GACd,GAAG,eAAK,CAAC;AAKV;;;GAGG;AACH,MAAM,IAAI;IAUR;;OAEG;IACH,YAAY,CAA4B;QACtC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAE7C,IAAI,CAAC,MAAM;YACT,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjE,IAAI,CAAC,YAAY;YACf,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;gBAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC5B,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,KAAa,EACb,aAA4B,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAE7D,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5C,OAAO,QAAQ,EAAE;iBACd,KAAK,CAAC,GAAG,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,YAAE,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,KAAY;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAC7B,KAAK,CAAC,EAAE;YACN,CAAC,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;YACjC,CAAC,CAAC,KAAK,CAAC,IAAI;gBACV,CAAC,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;gBACpC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CACvB,CAAC;QACF,OAAO,CAAC;YACN,CAAC,CAAC,IAAI,IAAI,CAAC;gBACP,GAAG,CAAC;gBACJ,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;gBACjC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;aAC9C,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,GAAQ;QACtC,MAAM,YAAE,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,YAAE,CAAC,iBAAiB,EAAE,EAAE,MAAM;YACjC,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa;QACxB,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC;IAC1D,CAAC;IAED,iBAAiB;QACf,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAqB;QACvC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,YAAE,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;QACd,IAAI,CAAC,YAAE,CAAC,iBAAiB,EAAE,EAAE,MAAM;YACjC,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,0CAA0C;QAC1C,MAAM,YAAE,CAAC,WAAW,CAAC,wBAAwB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,YAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,MAAM,YAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;YACvC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5C,MAAM,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAE,CAAC,iBAAiB,EAAE,EAAE,MAAM;YACjC,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,OAAO,KAAK;aACT,MAAM,CACL,CAAC,CAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,CACtE;aACA,GAAG,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QACZ,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,SAAS,CACvB,IAAI,CAAC,IAAI,EACT,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,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,UAAe,EAAE,SAAmB;QAC5C,OAAO,CAAC,aAAa,CAAC;aACnB,QAAQ,EAAE;aACV,GAAG,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAE5E,MAAM,QAAQ,CACZ,IAAI,CAAC,MAAM,EACX,KAAK,EAAE,OAAY,EAAE,MAAe,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,MAAM,cAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe;gBACzC,CAAC,CAAC,eAAe,CACb,OAAO,CAAC,eAAe,EACvB;oBACE,GAAG,eAAe,CAAC,UAAU,IAAI,EAAE,CAAC;oBACpC,UAAU,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;iBACxC,EACD,SAAS,CAAC,GAAG,CAAC,IAAI,EAClB,2CAA2C,IAAI,EAAE,IAAI,EAAE,CACxD;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,oBAAoB,CAC5B,QAAQ,IAAI,CAAC,IAAI,yCAAyC;oBACxD,CAAC,OAAO,CAAC,IAAI;wBACX,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,aAAa;wBACpC,CAAC,CAAC,mBAAmB,CAAC,CAC3B,CAAC;YACJ,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,+BAA+B,CAAC;oBACnD,GAAG,UAAU;oBACb,GAAG,WAAW;iBACf,CAAC,CAAC;gBACH,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7C,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;oBACzB,OAAO,CAAC,QAAQ,GAAG,GAAG,CACpB;wBACE,KAAK,EAAE,UAAU;wBACjB,wBAAwB,EAAE,IAAI,CAAC,IAAI;wBACnC,qBAAqB,EAAE,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE;qBACjD,EACD,MAAM;wBACJ,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAC7D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;wBACpD,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,SAAS,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE;qBACpD,CAAC,CAAC;oBACH,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACnC,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,+BAA+B,CAAC;oBACnD,GAAG,UAAU;oBACb,GAAG,WAAW;iBACf,CAAC,CAAC;gBACH,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7C,IAAI,MAAM,EAAE,IAAI,aAAa,EAAE,EAAE,CAAC;oBAChC,OAAO,CAAC,QAAQ,GAAG,GAAG,CACpB;wBACE,KAAK,EAAE,UAAU;wBACjB,wBAAwB,EAAE,IAAI,CAAC,IAAI;wBACnC,qBAAqB,EAAE,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE;wBAChD,qBAAqB,EAAE,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE;qBACjD,EACD,MAAM;wBACJ,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAC7D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;wBACpD,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,SAAS,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE;qBACpD,CAAC,CAAC;oBACH,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACnC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,4BAA4B;gBAC5B,MAAM,KAAK,GAAG,eAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnD,MAAM,KAAK,GACT,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE/D,MAAM,OAAO,GAAG,IAAI,CAAC,+BAA+B,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBACnE,MAAM,EAAE,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAE7C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBACpC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;oBACzB,OAAO,CAAC,QAAQ,GAAG,GAAG,CACpB;wBACE,KAAK,EAAE,UAAU;wBACjB,wBAAwB,EAAE,IAAI,CAAC,IAAI;wBACnC,qBAAqB,EAAE,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE;qBACjD,EACD,MAAM;wBACJ,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAC7D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;wBACpD,MAAM,EAAE,KAAK;wBACb,IAAI,EAAE,SAAS,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE;qBACpD,CAAC,CAAC;oBACH,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC,EACD,UAAU,CACX,CAAC;QACF,MAAM,IAAI,CAAC,8BAA8B,CACvC,IAAI,CAAC,MAAM,EACX,UAAU,EACV,SAAS,CACV,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;YAC1B,KAAK,CAAC,MAAM,CAAC,OAAY;gBACvB,IAAI,OAAO,CAAC,YAAY,KAAK,cAAc,EAAE,CAAC;oBAC5C,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;oBACvB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;oBACnB,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC;wBAC9C,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;wBACjC,MAAM,QAAQ,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,IAAI,GAAG,CAAC;wBACtD,IAAI,OAAO,GAAG,QAAQ;4BAAE,OAAO;oBACjC,CAAC;oBACD,YAAY;oBACZ,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC;wBAC3C,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE;wBACnB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;wBACvC,GAAG,EAAE,SAAS,CAAC,GAAG;wBAClB,GAAG,EAAE,SAAS,CAAC,GAAG;qBACnB,CAAC,CAAC;oBACH,IAAI,YAAY,EAAE,IAAI,IAAI,SAAS,EAAE,GAAG,EAAE,CAAC;wBACzC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;wBAC3C,kBAAkB,GAAG,IAAI,CAAC;wBAC1B,OAAO;oBACT,CAAC;oBACD,IAAI,YAAY;wBACd,OAAO,CAAC,QAAQ,GAAG,MAAM,CACvB,QAAQ,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CACzD,CAAC;oBACJ,OAAO;gBACT,CAAC;gBAED,kCAAkC;gBAClC,MAAM,GAAG,GACP,OAAO,CAAC,WAAW,KAAK,QAAQ;oBAC9B,CAAC,CAAC,cACE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;wBAClB,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,+CACN,EAAE;oBACJ,CAAC,CAAC,cACE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAC9C,WAAW,QAAQ,WAAW,OAAO,CAAC,KAAK,IAAI,CAAC;gBACtD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;gBACvB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;gBAChB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc;wBACxC,CAAC,CAAC,eAAe,CACb,OAAO,CAAC,cAAc,EACtB;4BACE,GAAG,eAAe,CAAC,UAAU,IAAI,EAAE,CAAC;4BACpC,UAAU,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;yBACxC,EACD,SAAS,CAAC,GAAG,CAAC,IAAI,EAClB,0BAA0B,CAC3B;wBACH,CAAC,CAAC,EAAE,CAAC;oBACP,OAAO,CAAC,GAAG;wBACT,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;4BACpC,mBAAmB,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YACD,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;gBACrB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC1B,MAAM,OAAO,GAAG,eAAe,CAC7B,OAAO,CAAC,aAAa,EACrB,eAAe,CAAC,UAAU,CAAC,EAC3B,SAAS,CAAC,GAAG,EAAE,IAAI,CACpB,CAAC;oBACF,IAAI,CAAC,OAAO;wBAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACvB,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;4BAC/B,MAAM,IAAI,GAAG,MAAM,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;4BAChD,IAAI,IAAI,EAAE,CAAC;gCACT,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gCACvD,OAAO,CAAC,aAAa,GAAG,QAAQ,IAAI,CAAC,QAAQ,YAAY,MAAM,EAAE,CAAC;4BACpE,CAAC;;gCACC,MAAM,IAAI,KAAK,CAAC,aAAa,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAC;wBACpE,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;wBAClC,yCAAyC;wBACzC,6CAA6C;wBAC7C,OAAO,CAAC,GAAG,CACT,+BACE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAClC,EAAE,CACH,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QACH,IAAI,kBAAkB;YAAE,OAAO,IAAI,CAAC;QACpC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACxD,IAAI,IAAA,kCAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAW,CAAC;YAEjE,IAAI,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzC,MAAM,YAAY,GAA2B,EAAE,CAAC;gBAEhD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;gBACxE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,KAAK,GAA2B,EAAE,CAAC;oBACzC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC;yBAC3B,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;yBACpB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;wBACnB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACvC,IAAI,CAAC,IAAI;4BAAE,SAAS;wBACpB,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACxC,CAAC;oBACD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;oBAC1C,MAAM,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC9C,IAAI,CAAC,IAAI;wBAAE,SAAS;oBACpB,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CACrC,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE,EAChC,SAAS,CACV,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;gBAEjE,OAAO;oBACL,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,sBAAsB,EAAE,QAAQ,CAAC;iBACnE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,IAAI,IAAA,kCAAqB,EAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;;YAChE,IAAI,CAAC;IACZ,CAAC;IAED,iBAAiB;QACf,OAAO,IAAA,sCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,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,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,8BAA8B,CACzC,MAAc,EACd,UAAe,EACf,SAAmB;QAEnB,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,oBAAoB,CAC5B,QAAQ,IAAI,CAAC,IAAI,yCAAyC;oBACxD,CAAC,OAAO,CAAC,IAAI;wBACX,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,aAAa;wBACpC,CAAC,CAAC,mBAAmB,CAAC,CAC3B,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,IAAI,oBAAoB,CAC5B,QAAQ,IAAI,CAAC,IAAI,mEAAmE,CACrF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC;gBACvD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAC1D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC5C,OAAO,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;oBACrE,KAAK,EAAE,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,SAAS,CAAC,GAAG;oBAClB,IAAI;oBACJ,MAAM,EAAE,EAAE;iBACX,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,iBAAS,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../models/page.ts"],"names":[],"mappings":"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"}
|
package/dist/models/plugin.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ declare class Plugin implements AbstractPlugin {
|
|
|
14
14
|
configuration?: any;
|
|
15
15
|
source: PluginSourceType;
|
|
16
16
|
description?: string;
|
|
17
|
+
contents?: string;
|
|
17
18
|
has_theme?: boolean;
|
|
18
19
|
has_auth?: boolean;
|
|
19
20
|
unsafe?: boolean;
|
|
@@ -85,6 +86,62 @@ declare class Plugin implements AbstractPlugin {
|
|
|
85
86
|
* @returns
|
|
86
87
|
*/
|
|
87
88
|
static is_fixed_plugin(name: string): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Return cached engine constraint metadata for a plugin, fetching from npm if needed
|
|
91
|
+
* @param plugin - plugin whose npm location is queried
|
|
92
|
+
* @param forceFetch - bypass the cache and re-fetch from npm
|
|
93
|
+
* @returns map of `{ version: { engines?: { saltcorn: string } } }`
|
|
94
|
+
*/
|
|
95
|
+
static getEngineInfos(plugin: Plugin, forceFetch?: boolean): Promise<any>;
|
|
96
|
+
/**
|
|
97
|
+
* Check the saltcorn engine property and change the plugin version if necessary
|
|
98
|
+
* @param plugin - plugin to validate; `plugin.version` may be mutated
|
|
99
|
+
* @param forceFetch - bypass the engine-info cache when checking versions
|
|
100
|
+
*/
|
|
101
|
+
static ensurePluginSupport(plugin: Plugin, forceFetch?: boolean): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Load one plugin and register in state (without DB save)
|
|
104
|
+
* @param plugin - plugin to load
|
|
105
|
+
* @param force - remove the install directory and retry on registration failure
|
|
106
|
+
* @param forceFetch - bypass the engine-info cache when resolving versions
|
|
107
|
+
* @param reloadModule - force a fresh module load even if already cached
|
|
108
|
+
* @returns PluginInstaller result (`{ plugin_module, location, … }`)
|
|
109
|
+
*/
|
|
110
|
+
static loadPlugin(plugin: Plugin, force?: boolean, forceFetch?: boolean, reloadModule?: boolean): Promise<any>;
|
|
111
|
+
/**
|
|
112
|
+
* Install plugin without registering in state or saving to database
|
|
113
|
+
* @param plugin - plugin to install
|
|
114
|
+
* @param force - force reinstall even if already present
|
|
115
|
+
* @returns PluginInstaller result (`{ plugin_module, location, version, … }`)
|
|
116
|
+
*/
|
|
117
|
+
static requirePlugin(plugin: Plugin, force?: boolean): Promise<any>;
|
|
118
|
+
/**
|
|
119
|
+
* Load all plugins from the database into state
|
|
120
|
+
* @param force - passed through to {@link loadPlugin} for each plugin
|
|
121
|
+
* @param reloadModule - force fresh module loads for each plugin
|
|
122
|
+
*/
|
|
123
|
+
static loadAllPlugins(force?: boolean, reloadModule?: boolean): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* Load plugin and its dependencies and save into local installation
|
|
126
|
+
* @param plugin - plugin to install
|
|
127
|
+
* @param force - force reinstall; retries after removing the install dir on failure
|
|
128
|
+
* @param noSignalOrDB - skip database upsert and processSend signal (e.g. during restore)
|
|
129
|
+
* @param __ - i18n translation function for user-facing messages
|
|
130
|
+
* @param allowUnsafeOnTenantsWithoutConfigSetting - allow unsafe plugins on tenants without the global config flag
|
|
131
|
+
* @param overwriteDependencies - substitute local paths for dependencies; testing only
|
|
132
|
+
* @returns warning/info messages collected during install, or `undefined` if skipped
|
|
133
|
+
*/
|
|
134
|
+
static loadAndSaveNewPlugin(plugin: Plugin, force?: boolean, noSignalOrDB?: boolean, __?: (str: string, ...args: any[]) => string, allowUnsafeOnTenantsWithoutConfigSetting?: boolean, overwriteDependencies?: Record<string, string>): Promise<string[] | undefined>;
|
|
135
|
+
/**
|
|
136
|
+
* When the database has another plugin version, don't override the pre-installed module
|
|
137
|
+
* @param plugin - plugin whose version may be mutated
|
|
138
|
+
* @param airgapedStore - content of `pre_installed_module_infos` config
|
|
139
|
+
*/
|
|
140
|
+
private static ensureAirgapedVersion;
|
|
141
|
+
/**
|
|
142
|
+
* Copy auth methods with `shareWithTenants: true` from root state into current tenant state
|
|
143
|
+
*/
|
|
144
|
+
private static reloadAuthFromRoot;
|
|
88
145
|
}
|
|
89
146
|
export = Plugin;
|
|
90
147
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../models/plugin.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAgB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,cAAc,EACf,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../models/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/models/plugin.js
CHANGED
|
@@ -15,7 +15,15 @@ const promises_1 = __importDefault(require("fs/promises"));
|
|
|
15
15
|
const fs_1 = require("fs");
|
|
16
16
|
const path_1 = __importDefault(require("path"));
|
|
17
17
|
const utils_1 = __importDefault(require("../utils"));
|
|
18
|
-
const { stringToJSON, isStale, getFetchProxyOptions, pluginsFolderRoot } = utils_1.default;
|
|
18
|
+
const { stringToJSON, isStale, getFetchProxyOptions, pluginsFolderRoot, isRoot, } = utils_1.default;
|
|
19
|
+
const npmFetch = require("npm-registry-fetch");
|
|
20
|
+
let packagejson = null;
|
|
21
|
+
try {
|
|
22
|
+
packagejson = require("../package.json");
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
packagejson = require("../../package.json");
|
|
26
|
+
}
|
|
19
27
|
/**
|
|
20
28
|
* Plugin Class
|
|
21
29
|
* @category saltcorn-data
|
|
@@ -32,6 +40,7 @@ class Plugin {
|
|
|
32
40
|
this.location = o.location;
|
|
33
41
|
this.version = o.version;
|
|
34
42
|
this.description = o.description;
|
|
43
|
+
this.contents = o.contents;
|
|
35
44
|
this.documentation_link = o.documentation_link;
|
|
36
45
|
this.has_theme = o.has_theme;
|
|
37
46
|
this.has_auth = o.has_auth;
|
|
@@ -250,6 +259,318 @@ class Plugin {
|
|
|
250
259
|
static is_fixed_plugin(name) {
|
|
251
260
|
return ["@saltcorn/base-plugin", "@saltcorn/sbadmin2"].includes(name);
|
|
252
261
|
}
|
|
262
|
+
// ── plugin loading / installation ──────────────────────────────────────
|
|
263
|
+
/**
|
|
264
|
+
* Return cached engine constraint metadata for a plugin, fetching from npm if needed
|
|
265
|
+
* @param plugin - plugin whose npm location is queried
|
|
266
|
+
* @param forceFetch - bypass the cache and re-fetch from npm
|
|
267
|
+
* @returns map of `{ version: { engines?: { saltcorn: string } } }`
|
|
268
|
+
*/
|
|
269
|
+
static async getEngineInfos(plugin, forceFetch) {
|
|
270
|
+
const { getRootState, getState } = require("../db/state");
|
|
271
|
+
const cached = getRootState().getConfig("engines_cache", {}) || {};
|
|
272
|
+
const airgap = getState().getConfig("airgap", false);
|
|
273
|
+
if (airgap || (cached[plugin.location] && !forceFetch)) {
|
|
274
|
+
return cached[plugin.location] || {};
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
//TODO do this correctly for local plugins
|
|
278
|
+
if (plugin.source !== "npm")
|
|
279
|
+
return {};
|
|
280
|
+
getState().log(5, `Fetching versions for '${plugin.location}'`);
|
|
281
|
+
const pkgInfo = await npmFetch.json(`https://registry.npmjs.org/${plugin.location}`, getFetchProxyOptions());
|
|
282
|
+
const versions = pkgInfo.versions;
|
|
283
|
+
const newCached = {};
|
|
284
|
+
for (const [k, v] of Object.entries(versions)) {
|
|
285
|
+
newCached[k] = v.engines?.saltcorn
|
|
286
|
+
? { engines: { saltcorn: v.engines.saltcorn } }
|
|
287
|
+
: {};
|
|
288
|
+
}
|
|
289
|
+
cached[plugin.location] = newCached;
|
|
290
|
+
await getRootState().setConfig("engines_cache", { ...cached });
|
|
291
|
+
return newCached;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Check the saltcorn engine property and change the plugin version if necessary
|
|
296
|
+
* @param plugin - plugin to validate; `plugin.version` may be mutated
|
|
297
|
+
* @param forceFetch - bypass the engine-info cache when checking versions
|
|
298
|
+
*/
|
|
299
|
+
static async ensurePluginSupport(plugin, forceFetch) {
|
|
300
|
+
const { getState } = require("../db/state");
|
|
301
|
+
const { supportedVersion, resolveLatest, } = require("@saltcorn/plugins-loader/stable_versioning");
|
|
302
|
+
let versions = await Plugin.getEngineInfos(plugin, forceFetch);
|
|
303
|
+
if (plugin.version &&
|
|
304
|
+
plugin.version !== "latest" &&
|
|
305
|
+
!versions[plugin.version] &&
|
|
306
|
+
!forceFetch) {
|
|
307
|
+
versions = await Plugin.getEngineInfos(plugin, true);
|
|
308
|
+
}
|
|
309
|
+
const supported = supportedVersion(plugin.version || "latest", versions, packagejson.version);
|
|
310
|
+
if (!supported) {
|
|
311
|
+
if (getState().getConfig("airgap", false))
|
|
312
|
+
getState().log(5, `Warning: No supported version for '${plugin.location}' in airgap mode"}`);
|
|
313
|
+
else
|
|
314
|
+
throw new Error(`Unable to find a supported version for '${plugin.location}'`);
|
|
315
|
+
}
|
|
316
|
+
else if (supported !== plugin.version ||
|
|
317
|
+
(plugin.version === "latest" && supported !== resolveLatest(versions)))
|
|
318
|
+
plugin.version = supported;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Load one plugin and register in state (without DB save)
|
|
322
|
+
* @param plugin - plugin to load
|
|
323
|
+
* @param force - remove the install directory and retry on registration failure
|
|
324
|
+
* @param forceFetch - bypass the engine-info cache when resolving versions
|
|
325
|
+
* @param reloadModule - force a fresh module load even if already cached
|
|
326
|
+
* @returns PluginInstaller result (`{ plugin_module, location, … }`)
|
|
327
|
+
*/
|
|
328
|
+
static async loadPlugin(plugin, force, forceFetch, reloadModule = false) {
|
|
329
|
+
const { getState, getRootState } = require("../db/state");
|
|
330
|
+
const PluginInstaller = require("@saltcorn/plugins-loader/plugin_installer");
|
|
331
|
+
if (!isRoot() &&
|
|
332
|
+
!getRootState().getConfig("tenants_install_git", false) &&
|
|
333
|
+
(plugin.source === "git" || plugin.source === "github")) {
|
|
334
|
+
console.error("\nWARNING: Skipping git/github plugin ", plugin.name);
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
if (plugin.source === "npm" && !Plugin.is_fixed_plugin(plugin.location)) {
|
|
338
|
+
try {
|
|
339
|
+
await Plugin.ensurePluginSupport(plugin, forceFetch);
|
|
340
|
+
}
|
|
341
|
+
catch (e) {
|
|
342
|
+
console.log(`Warning: Unable to find a supported version for '${plugin.location}' Continuing with the installed version`);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
const airgap = getState().getConfig("airgap", false);
|
|
346
|
+
if (airgap && !Plugin.is_fixed_plugin(plugin.location))
|
|
347
|
+
Plugin.ensureAirgapedVersion(plugin, getRootState().getConfig("pre_installed_module_infos", []));
|
|
348
|
+
const loader = new PluginInstaller(plugin, {
|
|
349
|
+
scVersion: packagejson.version,
|
|
350
|
+
envVars: { PUPPETEER_SKIP_DOWNLOAD: true },
|
|
351
|
+
reloadModule,
|
|
352
|
+
force,
|
|
353
|
+
});
|
|
354
|
+
const res = await loader.install();
|
|
355
|
+
const configuration = typeof plugin.configuration === "string"
|
|
356
|
+
? JSON.parse(plugin.configuration)
|
|
357
|
+
: plugin.configuration;
|
|
358
|
+
try {
|
|
359
|
+
getState().registerPlugin(res.plugin_module.plugin_name || plugin.name, res.plugin_module, configuration, res.location, res.name);
|
|
360
|
+
}
|
|
361
|
+
catch (error) {
|
|
362
|
+
getState().log(3, `Error loading plugin ${plugin.name}: ${error.message || error}`);
|
|
363
|
+
if (force) {
|
|
364
|
+
await loader.remove();
|
|
365
|
+
await loader.install();
|
|
366
|
+
getState().registerPlugin(res.plugin_module.plugin_name || plugin.name, res.plugin_module, configuration, res.location, res.name);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
if (res.plugin_module.user_config_form)
|
|
370
|
+
await getState().refresh_userlayouts();
|
|
371
|
+
if (res.plugin_module.onLoad) {
|
|
372
|
+
try {
|
|
373
|
+
await res.plugin_module.onLoad(plugin.configuration);
|
|
374
|
+
}
|
|
375
|
+
catch (error) {
|
|
376
|
+
console.error(error);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
if (isRoot() && res.plugin_module.authentication) {
|
|
380
|
+
const { eachTenant } = require("@saltcorn/admin-models/models/tenant");
|
|
381
|
+
await eachTenant(Plugin.reloadAuthFromRoot);
|
|
382
|
+
}
|
|
383
|
+
return res;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Install plugin without registering in state or saving to database
|
|
387
|
+
* @param plugin - plugin to install
|
|
388
|
+
* @param force - force reinstall even if already present
|
|
389
|
+
* @returns PluginInstaller result (`{ plugin_module, location, version, … }`)
|
|
390
|
+
*/
|
|
391
|
+
static async requirePlugin(plugin, force) {
|
|
392
|
+
const { getState, getRootState } = require("../db/state");
|
|
393
|
+
const PluginInstaller = require("@saltcorn/plugins-loader/plugin_installer");
|
|
394
|
+
const airgap = getState().getConfig("airgap", false);
|
|
395
|
+
if (airgap && !Plugin.is_fixed_plugin(plugin.location))
|
|
396
|
+
Plugin.ensureAirgapedVersion(plugin, getRootState().getConfig("pre_installed_module_infos", []));
|
|
397
|
+
const loader = new PluginInstaller(plugin, {
|
|
398
|
+
scVersion: packagejson.version,
|
|
399
|
+
envVars: { PUPPETEER_SKIP_DOWNLOAD: true },
|
|
400
|
+
force: force,
|
|
401
|
+
});
|
|
402
|
+
return await loader.install();
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Load all plugins from the database into state
|
|
406
|
+
* @param force - passed through to {@link loadPlugin} for each plugin
|
|
407
|
+
* @param reloadModule - force fresh module loads for each plugin
|
|
408
|
+
*/
|
|
409
|
+
static async loadAllPlugins(force, reloadModule = false) {
|
|
410
|
+
const { getState } = require("../db/state");
|
|
411
|
+
await getState().refresh(true);
|
|
412
|
+
const plugins = await db_1.default.select("_sc_plugins");
|
|
413
|
+
for (const plugin of plugins) {
|
|
414
|
+
try {
|
|
415
|
+
await Plugin.loadPlugin(plugin, force, undefined, reloadModule);
|
|
416
|
+
}
|
|
417
|
+
catch (e) {
|
|
418
|
+
console.error(e);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
await getState().refresh_userlayouts();
|
|
422
|
+
await getState().refresh(true, true);
|
|
423
|
+
if (!isRoot())
|
|
424
|
+
Plugin.reloadAuthFromRoot();
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* Load plugin and its dependencies and save into local installation
|
|
428
|
+
* @param plugin - plugin to install
|
|
429
|
+
* @param force - force reinstall; retries after removing the install dir on failure
|
|
430
|
+
* @param noSignalOrDB - skip database upsert and processSend signal (e.g. during restore)
|
|
431
|
+
* @param __ - i18n translation function for user-facing messages
|
|
432
|
+
* @param allowUnsafeOnTenantsWithoutConfigSetting - allow unsafe plugins on tenants without the global config flag
|
|
433
|
+
* @param overwriteDependencies - substitute local paths for dependencies; testing only
|
|
434
|
+
* @returns warning/info messages collected during install, or `undefined` if skipped
|
|
435
|
+
*/
|
|
436
|
+
static async loadAndSaveNewPlugin(plugin, force, noSignalOrDB, __ = (str) => str, allowUnsafeOnTenantsWithoutConfigSetting, overwriteDependencies) {
|
|
437
|
+
const { getState, getRootState } = require("../db/state");
|
|
438
|
+
const PluginInstaller = require("@saltcorn/plugins-loader/plugin_installer");
|
|
439
|
+
const tenants_unsafe_plugins = getRootState().getConfig("tenants_unsafe_plugins", false);
|
|
440
|
+
const tenants_install_git = getRootState().getConfig("tenants_install_git", false);
|
|
441
|
+
if (!isRoot() &&
|
|
442
|
+
!tenants_install_git &&
|
|
443
|
+
(plugin.source === "git" || plugin.source === "github")) {
|
|
444
|
+
console.error("\nWARNING: Skipping git/github plugin ", plugin.name);
|
|
445
|
+
return;
|
|
446
|
+
}
|
|
447
|
+
if (!isRoot() && !tenants_unsafe_plugins) {
|
|
448
|
+
if (plugin.source !== "npm") {
|
|
449
|
+
console.error("\nWARNING: Skipping unsafe plugin ", plugin.name);
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
await db_1.default.runWithTenant(db_1.default.connectObj.default_schema, async () => await Plugin.store_plugins_available());
|
|
453
|
+
const instore = getRootState().getConfig("available_plugins", []);
|
|
454
|
+
const safes = instore
|
|
455
|
+
.filter((p) => !p.unsafe)
|
|
456
|
+
.map((p) => p.location);
|
|
457
|
+
if (!safes.includes(plugin.location) &&
|
|
458
|
+
!allowUnsafeOnTenantsWithoutConfigSetting) {
|
|
459
|
+
console.error("\nWARNING: Skipping unsafe plugin ", plugin.name);
|
|
460
|
+
return;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
const airgap = getState().getConfig("airgap", false);
|
|
464
|
+
if (plugin.source === "npm" && !airgap)
|
|
465
|
+
await Plugin.ensurePluginSupport(plugin);
|
|
466
|
+
if (airgap && !Plugin.is_fixed_plugin(plugin.location))
|
|
467
|
+
Plugin.ensureAirgapedVersion(plugin, getRootState().getConfig("pre_installed_module_infos", []));
|
|
468
|
+
const loadMsgs = [];
|
|
469
|
+
const loader = new PluginInstaller(plugin, {
|
|
470
|
+
scVersion: packagejson.version,
|
|
471
|
+
envVars: { PUPPETEER_SKIP_DOWNLOAD: true },
|
|
472
|
+
force: force,
|
|
473
|
+
});
|
|
474
|
+
const { version, plugin_module, location, loadedWithReload, msgs } = await loader.install();
|
|
475
|
+
if (msgs)
|
|
476
|
+
loadMsgs.push(...msgs);
|
|
477
|
+
for (const loc of plugin_module.dependencies || []) {
|
|
478
|
+
const overwrite = (overwriteDependencies || {})[loc];
|
|
479
|
+
if (overwrite) {
|
|
480
|
+
const pckJson = require(path_1.default.join(overwrite, "package.json"));
|
|
481
|
+
await Plugin.loadAndSaveNewPlugin(new Plugin({
|
|
482
|
+
name: pckJson.name,
|
|
483
|
+
location: overwrite,
|
|
484
|
+
source: "local",
|
|
485
|
+
}), true, noSignalOrDB);
|
|
486
|
+
}
|
|
487
|
+
else {
|
|
488
|
+
const existing = await Plugin.findOne({ location: loc });
|
|
489
|
+
if (!existing && loc !== plugin.location) {
|
|
490
|
+
await Plugin.loadAndSaveNewPlugin(new Plugin({
|
|
491
|
+
name: loc.replace("@saltcorn/", ""),
|
|
492
|
+
location: loc,
|
|
493
|
+
source: "npm",
|
|
494
|
+
}), force, noSignalOrDB);
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
let registeredWithReload = false;
|
|
499
|
+
try {
|
|
500
|
+
getState().registerPlugin(plugin_module.plugin_name || plugin.name, plugin_module, plugin.configuration, location, plugin.name);
|
|
501
|
+
}
|
|
502
|
+
catch (error) {
|
|
503
|
+
if (force) {
|
|
504
|
+
getState().log(2, `Error registering plugin ${plugin.name}. Removing and trying again.`);
|
|
505
|
+
await loader.remove();
|
|
506
|
+
await loader.install();
|
|
507
|
+
getState().registerPlugin(plugin_module.plugin_name || plugin.name, plugin_module, plugin.configuration, location, plugin.name);
|
|
508
|
+
registeredWithReload = true;
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
throw error;
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
if (loadedWithReload || registeredWithReload) {
|
|
515
|
+
loadMsgs.push(__("The plugin was corrupted and had to be repaired. We recommend restarting your server.", plugin.name));
|
|
516
|
+
}
|
|
517
|
+
if (plugin_module.onLoad) {
|
|
518
|
+
try {
|
|
519
|
+
await plugin_module.onLoad(plugin.configuration);
|
|
520
|
+
}
|
|
521
|
+
catch (error) {
|
|
522
|
+
console.error(error);
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
if (version)
|
|
526
|
+
plugin.version = version;
|
|
527
|
+
if (isRoot() && plugin_module.authentication) {
|
|
528
|
+
const { eachTenant } = require("@saltcorn/admin-models/models/tenant");
|
|
529
|
+
await eachTenant(Plugin.reloadAuthFromRoot);
|
|
530
|
+
}
|
|
531
|
+
if (!noSignalOrDB) {
|
|
532
|
+
await plugin.upsert();
|
|
533
|
+
getState().processSend({
|
|
534
|
+
installPlugin: plugin,
|
|
535
|
+
tenant: db_1.default.getTenantSchema(),
|
|
536
|
+
force: false,
|
|
537
|
+
});
|
|
538
|
+
}
|
|
539
|
+
return loadMsgs;
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* When the database has another plugin version, don't override the pre-installed module
|
|
543
|
+
* @param plugin - plugin whose version may be mutated
|
|
544
|
+
* @param airgapedStore - content of `pre_installed_module_infos` config
|
|
545
|
+
*/
|
|
546
|
+
static ensureAirgapedVersion(plugin, airgapedStore) {
|
|
547
|
+
const { getState } = require("../db/state");
|
|
548
|
+
const airgapedPlugin = airgapedStore.find((p) => p.location === plugin.location);
|
|
549
|
+
if (!airgapedPlugin) {
|
|
550
|
+
throw new Error(`Plugin ${plugin.name} from location ${plugin.location} not found in local airgapped store`);
|
|
551
|
+
}
|
|
552
|
+
if (airgapedPlugin.version !== plugin.version) {
|
|
553
|
+
getState().log(5, `Overriding plugin ${plugin.name} version ${plugin.version} with airgapped store version ${airgapedPlugin.version}`);
|
|
554
|
+
plugin.version = airgapedPlugin.version;
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Copy auth methods with `shareWithTenants: true` from root state into current tenant state
|
|
559
|
+
*/
|
|
560
|
+
static reloadAuthFromRoot() {
|
|
561
|
+
const { getState, getRootState } = require("../db/state");
|
|
562
|
+
if (isRoot())
|
|
563
|
+
return;
|
|
564
|
+
const rootState = getRootState();
|
|
565
|
+
const tenantState = getState();
|
|
566
|
+
if (!rootState || !tenantState || rootState === tenantState)
|
|
567
|
+
return;
|
|
568
|
+
tenantState.auth_methods = {};
|
|
569
|
+
for (const [k, v] of Object.entries(rootState.auth_methods)) {
|
|
570
|
+
if (v.shareWithTenants)
|
|
571
|
+
tenantState.auth_methods[k] = v;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
253
574
|
}
|
|
254
575
|
module.exports = Plugin;
|
|
255
576
|
//# sourceMappingURL=plugin.js.map
|