@saltcorn/data 0.6.3-beta.2 → 0.6.4-beta.2
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/index.d.ts +145 -128
- package/dist/base-plugin/index.d.ts.map +1 -1
- package/dist/base-plugin/types.d.ts +105 -85
- package/dist/base-plugin/types.d.ts.map +1 -1
- package/dist/base-plugin/types.js +40 -11
- package/dist/base-plugin/types.js.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.d.ts +3 -3
- package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.js +56 -6
- package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
- package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/filter.js +13 -0
- package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
- package/dist/base-plugin/viewtemplates/list.d.ts +1 -1
- package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/list.js +64 -1
- package/dist/base-plugin/viewtemplates/list.js.map +1 -1
- package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/show.js +11 -8
- package/dist/base-plugin/viewtemplates/show.js.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +1 -0
- package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.js +27 -14
- package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +11 -3
- package/dist/contracts.js.map +1 -1
- package/dist/db/connect.d.ts.map +1 -1
- package/dist/db/connect.js +9 -2
- package/dist/db/connect.js.map +1 -1
- package/dist/db/reset_schema.d.ts.map +1 -1
- package/dist/db/reset_schema.js +21 -19
- package/dist/db/reset_schema.js.map +1 -1
- package/dist/db/state.d.ts +9 -10
- package/dist/db/state.d.ts.map +1 -1
- package/dist/db/state.js +14 -29
- package/dist/db/state.js.map +1 -1
- package/dist/models/backup.d.ts +1 -1
- package/dist/models/backup.d.ts.map +1 -1
- package/dist/models/backup.js +2 -0
- package/dist/models/backup.js.map +1 -1
- package/dist/models/config.d.ts +39 -179
- package/dist/models/config.d.ts.map +1 -1
- package/dist/models/config.js +79 -52
- package/dist/models/config.js.map +1 -1
- package/dist/models/crash.d.ts +40 -47
- package/dist/models/crash.d.ts.map +1 -1
- package/dist/models/crash.js +40 -39
- package/dist/models/crash.js.map +1 -1
- package/dist/models/discovery.d.ts +17 -25
- package/dist/models/discovery.d.ts.map +1 -1
- package/dist/models/discovery.js +38 -26
- package/dist/models/discovery.js.map +1 -1
- package/dist/models/email.d.ts +11 -13
- package/dist/models/email.d.ts.map +1 -1
- package/dist/models/email.js +19 -15
- package/dist/models/email.js.map +1 -1
- package/dist/models/eventlog.d.ts +1 -1
- package/dist/models/eventlog.d.ts.map +1 -1
- package/dist/models/eventlog.js.map +1 -1
- package/dist/models/expression.d.ts +39 -31
- package/dist/models/expression.d.ts.map +1 -1
- package/dist/models/expression.js +44 -29
- package/dist/models/expression.js.map +1 -1
- package/dist/models/field.d.ts +12 -47
- package/dist/models/field.d.ts.map +1 -1
- package/dist/models/field.js +3 -3
- package/dist/models/field.js.map +1 -1
- package/dist/models/fieldrepeat.d.ts +3 -0
- package/dist/models/fieldrepeat.d.ts.map +1 -1
- package/dist/models/fieldrepeat.js +2 -0
- package/dist/models/fieldrepeat.js.map +1 -1
- package/dist/models/file.d.ts +56 -58
- package/dist/models/file.d.ts.map +1 -1
- package/dist/models/file.js +25 -52
- package/dist/models/file.js.map +1 -1
- package/dist/models/index.d.ts +39 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/layout.d.ts +16 -31
- package/dist/models/layout.d.ts.map +1 -1
- package/dist/models/layout.js +2 -4
- package/dist/models/layout.js.map +1 -1
- package/dist/models/library.d.ts +2 -10
- package/dist/models/library.d.ts.map +1 -1
- package/dist/models/library.js.map +1 -1
- package/dist/models/pack.d.ts +40 -87
- package/dist/models/pack.d.ts.map +1 -1
- package/dist/models/pack.js +118 -89
- package/dist/models/pack.js.map +1 -1
- package/dist/models/page.d.ts +22 -47
- package/dist/models/page.d.ts.map +1 -1
- package/dist/models/page.js +19 -41
- package/dist/models/page.js.map +1 -1
- package/dist/models/plugin.d.ts +41 -65
- package/dist/models/plugin.d.ts.map +1 -1
- package/dist/models/plugin.js +19 -41
- package/dist/models/plugin.js.map +1 -1
- package/dist/models/random.d.ts +18 -21
- package/dist/models/random.d.ts.map +1 -1
- package/dist/models/random.js +31 -29
- package/dist/models/random.js.map +1 -1
- package/dist/models/role.d.ts +3 -9
- package/dist/models/role.d.ts.map +1 -1
- package/dist/models/role.js.map +1 -1
- package/dist/models/scheduler.d.ts +2 -8
- package/dist/models/scheduler.d.ts.map +1 -1
- package/dist/models/scheduler.js +18 -16
- package/dist/models/scheduler.js.map +1 -1
- package/dist/models/table.d.ts +12 -23
- package/dist/models/table.d.ts.map +1 -1
- package/dist/models/table.js +46 -23
- package/dist/models/table.js.map +1 -1
- package/dist/models/table_constraints.d.ts +44 -39
- package/dist/models/table_constraints.d.ts.map +1 -1
- package/dist/models/table_constraints.js +17 -33
- package/dist/models/table_constraints.js.map +1 -1
- package/dist/models/tenant.d.ts +16 -60
- package/dist/models/tenant.d.ts.map +1 -1
- package/dist/models/tenant.js +52 -30
- package/dist/models/tenant.js.map +1 -1
- package/dist/models/trigger.d.ts +2 -17
- package/dist/models/trigger.d.ts.map +1 -1
- package/dist/models/trigger.js +2 -2
- package/dist/models/trigger.js.map +1 -1
- package/dist/models/user.d.ts +110 -142
- package/dist/models/user.d.ts.map +1 -1
- package/dist/models/user.js +51 -71
- package/dist/models/user.js.map +1 -1
- package/dist/models/view.d.ts +7 -21
- package/dist/models/view.d.ts.map +1 -1
- package/dist/models/view.js +1 -1
- package/dist/models/view.js.map +1 -1
- package/dist/models/workflow.d.ts +4 -4
- package/dist/models/workflow.d.ts.map +1 -1
- package/dist/models/workflow.js.map +1 -1
- package/dist/plugin-helper.d.ts.map +1 -1
- package/dist/plugin-helper.js +58 -26
- package/dist/plugin-helper.js.map +1 -1
- package/dist/tests/actions.test.d.ts.map +1 -1
- package/dist/tests/actions.test.js +102 -82
- package/dist/tests/actions.test.js.map +1 -1
- package/dist/tests/assertions.d.ts +13 -0
- package/dist/tests/assertions.d.ts.map +1 -0
- package/dist/tests/assertions.js +35 -0
- package/dist/tests/assertions.js.map +1 -0
- package/dist/tests/auxtest.test.d.ts.map +1 -1
- package/dist/tests/auxtest.test.js +33 -29
- package/dist/tests/auxtest.test.js.map +1 -1
- package/dist/tests/backup.test.d.ts.map +1 -1
- package/dist/tests/backup.test.js +62 -49
- package/dist/tests/backup.test.js.map +1 -1
- package/dist/tests/calc.test.d.ts.map +1 -1
- package/dist/tests/calc.test.js +106 -88
- package/dist/tests/calc.test.js.map +1 -1
- package/dist/tests/config.test.d.ts.map +1 -1
- package/dist/tests/config.test.js +39 -36
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/discover.test.d.ts.map +1 -1
- package/dist/tests/discover.test.js +23 -17
- package/dist/tests/discover.test.js.map +1 -1
- package/dist/tests/exact_views.test.d.ts.map +1 -1
- package/dist/tests/exact_views.test.js +66 -25
- package/dist/tests/exact_views.test.js.map +1 -1
- package/dist/tests/field.test.d.ts.map +1 -1
- package/dist/tests/field.test.js +104 -93
- package/dist/tests/field.test.js.map +1 -1
- package/dist/tests/form.test.d.ts.map +1 -1
- package/dist/tests/form.test.js +71 -63
- package/dist/tests/form.test.js.map +1 -1
- package/dist/tests/mocks.d.ts +101 -105
- package/dist/tests/mocks.d.ts.map +1 -1
- package/dist/tests/mocks.js +19 -14
- package/dist/tests/mocks.js.map +1 -1
- package/dist/tests/models.test.d.ts.map +1 -1
- package/dist/tests/models.test.js +95 -80
- package/dist/tests/models.test.js.map +1 -1
- package/dist/tests/pack.test.d.ts.map +1 -1
- package/dist/tests/pack.test.js +54 -47
- package/dist/tests/pack.test.js.map +1 -1
- package/dist/tests/plugin.test.d.ts.map +1 -1
- package/dist/tests/plugin.test.js +31 -24
- package/dist/tests/plugin.test.js.map +1 -1
- package/dist/tests/random.test.d.ts.map +1 -1
- package/dist/tests/random.test.js +61 -50
- package/dist/tests/random.test.js.map +1 -1
- package/dist/tests/table.test.d.ts.map +1 -1
- package/dist/tests/table.test.js +557 -436
- package/dist/tests/table.test.js.map +1 -1
- package/dist/tests/tenant.test.d.ts.map +1 -1
- package/dist/tests/tenant.test.js +30 -23
- package/dist/tests/tenant.test.js.map +1 -1
- package/dist/tests/user.test.d.ts.map +1 -1
- package/dist/tests/user.test.js +128 -100
- package/dist/tests/user.test.js.map +1 -1
- package/dist/tests/view.test.d.ts.map +1 -1
- package/dist/tests/view.test.js +109 -85
- package/dist/tests/view.test.js.map +1 -1
- package/dist/tests/workflow.test.d.ts.map +1 -1
- package/dist/tests/workflow.test.js +40 -29
- package/dist/tests/workflow.test.js.map +1 -1
- package/dist/tsconfig.ref.tsbuildinfo +1 -1
- package/dist/utils.d.ts +29 -20
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +20 -5
- package/dist/utils.js.map +1 -1
- package/package.json +21 -11
- package/dist/coverage/lcov-report/block-navigation.d.ts +0 -2
- package/dist/coverage/lcov-report/block-navigation.d.ts.map +0 -1
- package/dist/coverage/lcov-report/block-navigation.js +0 -66
- package/dist/coverage/lcov-report/block-navigation.js.map +0 -1
- package/dist/coverage/lcov-report/prettify.d.ts +0 -1
- package/dist/coverage/lcov-report/prettify.d.ts.map +0 -1
- package/dist/coverage/lcov-report/prettify.js +0 -478
- package/dist/coverage/lcov-report/prettify.js.map +0 -1
- package/dist/coverage/lcov-report/sorter.d.ts +0 -2
- package/dist/coverage/lcov-report/sorter.d.ts.map +0 -1
- package/dist/coverage/lcov-report/sorter.js +0 -141
- package/dist/coverage/lcov-report/sorter.js.map +0 -1
package/dist/models/tenant.d.ts
CHANGED
|
@@ -1,61 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* - reset db schema (create required )
|
|
18
|
-
* - change current base_url
|
|
19
|
-
*
|
|
20
|
-
* Arguments:
|
|
21
|
-
* subdomain - tenant name (subdomain)
|
|
22
|
-
* newurl - base url of tenant
|
|
23
|
-
* email - email of creator
|
|
24
|
-
* description - description of tenant
|
|
25
|
-
* @function
|
|
26
|
-
* @param {string} subdomain
|
|
27
|
-
* @param {string} [newurl]
|
|
28
|
-
* @param {string} [email]
|
|
29
|
-
* @param {string} [description]
|
|
30
|
-
* @returns {Promise<void>}
|
|
31
|
-
*/
|
|
32
|
-
export const createTenant: any;
|
|
33
|
-
/**
|
|
34
|
-
* Sanitize Domain (Normalize domain name).
|
|
35
|
-
* - force to lower case
|
|
36
|
-
* - remove . in name
|
|
37
|
-
* @function
|
|
38
|
-
* @param {string} s
|
|
39
|
-
* @returns {string}
|
|
40
|
-
*/
|
|
41
|
-
export const domain_sanitize: any;
|
|
42
|
-
/**
|
|
43
|
-
* Delete Tenant
|
|
44
|
-
* Note! This is deleting all tenant data in database!
|
|
45
|
-
* @function
|
|
46
|
-
* @param {string} sub
|
|
47
|
-
* @returns {Promise<void>}
|
|
48
|
-
*/
|
|
49
|
-
export const deleteTenant: any;
|
|
50
|
-
/**
|
|
51
|
-
* Call fuction f for each Tenant
|
|
52
|
-
* @param f - called function
|
|
53
|
-
* @returns {Promise<void>} no result
|
|
54
|
-
*/
|
|
55
|
-
export function eachTenant(f: any): Promise<void>;
|
|
56
|
-
export function copy_tenant_template({ tenant_template, target, loadAndSaveNewPlugin, }: {
|
|
57
|
-
tenant_template: any;
|
|
58
|
-
target: any;
|
|
59
|
-
loadAndSaveNewPlugin: any;
|
|
60
|
-
}): Promise<void>;
|
|
1
|
+
import type { Plugin } from "@saltcorn/types/base_types";
|
|
2
|
+
import type { Row } from "@saltcorn/db-common/internal";
|
|
3
|
+
declare const _default: {
|
|
4
|
+
getAllTenants: () => Promise<string[]>;
|
|
5
|
+
getAllTenantRows: () => Promise<Row[]>;
|
|
6
|
+
createTenant: (subdomain: string, newurl?: string | undefined, email?: string | undefined, description?: string | undefined) => Promise<void>;
|
|
7
|
+
domain_sanitize: (s: string) => string;
|
|
8
|
+
deleteTenant: (sub: string) => Promise<void>;
|
|
9
|
+
eachTenant: (f: () => Promise<void>) => Promise<void>;
|
|
10
|
+
copy_tenant_template: ({ tenant_template, target, loadAndSaveNewPlugin, }: {
|
|
11
|
+
tenant_template: string;
|
|
12
|
+
target: string;
|
|
13
|
+
loadAndSaveNewPlugin: (plugin: Plugin) => void;
|
|
14
|
+
}) => Promise<void>;
|
|
15
|
+
};
|
|
16
|
+
export = _default;
|
|
61
17
|
//# sourceMappingURL=tenant.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.d.ts","sourceRoot":"","sources":["../../models/tenant.
|
|
1
|
+
{"version":3,"file":"tenant.d.ts","sourceRoot":"","sources":["../../models/tenant.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;;;;;;;;;;;;;;AAoIxD,kBAQE"}
|
package/dist/models/tenant.js
CHANGED
|
@@ -1,33 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
2
24
|
/**
|
|
3
25
|
* Tenant Management Data Layer Access
|
|
4
26
|
* @category saltcorn-data
|
|
5
27
|
* @module models/tenant
|
|
6
28
|
* @subcategory models
|
|
7
29
|
*/
|
|
8
|
-
const
|
|
30
|
+
const db_1 = __importDefault(require("../db"));
|
|
9
31
|
const reset = require("../db/reset_schema");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const { setConfig } =
|
|
13
|
-
const
|
|
32
|
+
const internal_1 = require("@saltcorn/db-common/internal");
|
|
33
|
+
const config_1 = __importDefault(require("./config"));
|
|
34
|
+
const { setConfig } = config_1.default;
|
|
35
|
+
const promises_1 = require("fs/promises");
|
|
14
36
|
/**
|
|
15
37
|
* List all Tenants
|
|
16
38
|
* @function
|
|
17
39
|
* @returns {Promise<string[]>}
|
|
18
40
|
*/
|
|
19
|
-
const getAllTenants =
|
|
20
|
-
const tens = await
|
|
41
|
+
const getAllTenants = async () => {
|
|
42
|
+
const tens = await db_1.default.select("_sc_tenants");
|
|
21
43
|
return tens.map(({ subdomain }) => subdomain);
|
|
22
|
-
}
|
|
44
|
+
};
|
|
23
45
|
/**
|
|
24
46
|
* List all Tenants
|
|
25
47
|
* @function
|
|
26
48
|
* @returns {Promise<string[]>}
|
|
27
49
|
*/
|
|
28
|
-
const getAllTenantRows =
|
|
29
|
-
return await
|
|
30
|
-
}
|
|
50
|
+
const getAllTenantRows = async () => {
|
|
51
|
+
return await db_1.default.select("_sc_tenants");
|
|
52
|
+
};
|
|
31
53
|
/**
|
|
32
54
|
* Create Tenant and switch to It:
|
|
33
55
|
* - normalize domain name
|
|
@@ -47,7 +69,7 @@ const getAllTenantRows = contract(is.fun([], is.promise(is.array(is.obj({})))),
|
|
|
47
69
|
* @param {string} [description]
|
|
48
70
|
* @returns {Promise<void>}
|
|
49
71
|
*/
|
|
50
|
-
const createTenant =
|
|
72
|
+
const createTenant =
|
|
51
73
|
// TODO how to set names for arguments
|
|
52
74
|
async (subdomain, newurl, email, description) => {
|
|
53
75
|
// normalize domain name
|
|
@@ -57,30 +79,30 @@ async (subdomain, newurl, email, description) => {
|
|
|
57
79
|
// add description
|
|
58
80
|
const saneDescription = description !== "undefined" ? description : null;
|
|
59
81
|
// add info about tenant into main site
|
|
60
|
-
const id = await
|
|
82
|
+
const id = await db_1.default.insert("_sc_tenants", { subdomain: saneDomain, email: saneEmail, description: saneDescription }, { noid: true });
|
|
61
83
|
//create schema
|
|
62
|
-
await
|
|
84
|
+
await db_1.default.query(`CREATE SCHEMA "${saneDomain}";`);
|
|
63
85
|
// set continuation storage
|
|
64
86
|
//db.tenantNamespace.set("tenant", saneDomain);
|
|
65
|
-
await
|
|
87
|
+
await db_1.default.runWithTenant(saneDomain, async () => {
|
|
66
88
|
//reset schema
|
|
67
89
|
await reset(true, saneDomain);
|
|
68
90
|
if (newurl)
|
|
69
91
|
await setConfig("base_url", newurl);
|
|
70
92
|
});
|
|
71
|
-
}
|
|
93
|
+
};
|
|
72
94
|
const copy_tenant_template = async ({ tenant_template, target, loadAndSaveNewPlugin, }) => {
|
|
73
|
-
const { create_backup, restore } = require("./backup");
|
|
95
|
+
const { create_backup, restore } = await Promise.resolve().then(() => __importStar(require("./backup")));
|
|
74
96
|
// TODO use a hygenic name for backup file
|
|
75
|
-
const backupFile = await
|
|
76
|
-
await
|
|
97
|
+
const backupFile = await db_1.default.runWithTenant(tenant_template, create_backup);
|
|
98
|
+
await db_1.default.runWithTenant(target, async () => {
|
|
77
99
|
await restore(backupFile, loadAndSaveNewPlugin, true);
|
|
78
|
-
await
|
|
79
|
-
await
|
|
80
|
-
await
|
|
100
|
+
await db_1.default.updateWhere("_sc_files", { user_id: null }, {});
|
|
101
|
+
await db_1.default.deleteWhere("users", {});
|
|
102
|
+
await db_1.default.reset_sequence("users");
|
|
81
103
|
//
|
|
82
104
|
});
|
|
83
|
-
await
|
|
105
|
+
await (0, promises_1.unlink)(backupFile);
|
|
84
106
|
};
|
|
85
107
|
/**
|
|
86
108
|
* Delete Tenant
|
|
@@ -89,13 +111,13 @@ const copy_tenant_template = async ({ tenant_template, target, loadAndSaveNewPlu
|
|
|
89
111
|
* @param {string} sub
|
|
90
112
|
* @returns {Promise<void>}
|
|
91
113
|
*/
|
|
92
|
-
const deleteTenant =
|
|
114
|
+
const deleteTenant = async (sub) => {
|
|
93
115
|
const subdomain = domain_sanitize(sub);
|
|
94
116
|
// drop tenant db schema
|
|
95
|
-
await
|
|
117
|
+
await db_1.default.query(`drop schema if exists "${subdomain}" CASCADE `);
|
|
96
118
|
// delete information about tenant from main site
|
|
97
|
-
await
|
|
98
|
-
}
|
|
119
|
+
await db_1.default.deleteWhere("_sc_tenants", { subdomain });
|
|
120
|
+
};
|
|
99
121
|
/**
|
|
100
122
|
* Sanitize Domain (Normalize domain name).
|
|
101
123
|
* - force to lower case
|
|
@@ -104,7 +126,7 @@ const deleteTenant = contract(is.fun(is.str, is.promise(is.undefined)), async (s
|
|
|
104
126
|
* @param {string} s
|
|
105
127
|
* @returns {string}
|
|
106
128
|
*/
|
|
107
|
-
const domain_sanitize =
|
|
129
|
+
const domain_sanitize = (s) => (0, internal_1.sqlsanitize)(s.replace(".", "").toLowerCase());
|
|
108
130
|
/**
|
|
109
131
|
* Call fuction f for each Tenant
|
|
110
132
|
* @param f - called function
|
|
@@ -112,10 +134,10 @@ const domain_sanitize = contract(is.fun(is.str, is.str), (s) => sqlsanitize(s.re
|
|
|
112
134
|
*/
|
|
113
135
|
const eachTenant = async (f) => {
|
|
114
136
|
await f();
|
|
115
|
-
if (
|
|
137
|
+
if (db_1.default.is_it_multi_tenant()) {
|
|
116
138
|
const tenantList = await getAllTenants();
|
|
117
139
|
for (const domain of tenantList)
|
|
118
|
-
await
|
|
140
|
+
await db_1.default.runWithTenant(domain, f);
|
|
119
141
|
}
|
|
120
142
|
};
|
|
121
143
|
module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../models/tenant.
|
|
1
|
+
{"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../models/tenant.ts"],"names":[],"mappings":"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"}
|
package/dist/models/trigger.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import Table from "./table";
|
|
8
8
|
import type { Where, SelectOptions, Row } from "@saltcorn/db-common/internal";
|
|
9
|
+
import type { TriggerCfg } from "@saltcorn/types/model-abstracts/abstract_trigger";
|
|
9
10
|
/**
|
|
10
11
|
* Trigger class
|
|
11
12
|
* @category saltcorn-data
|
|
@@ -81,7 +82,7 @@ declare class Trigger {
|
|
|
81
82
|
* @param {object} [userPW = {}]
|
|
82
83
|
* @param {*} payload
|
|
83
84
|
*/
|
|
84
|
-
static emitEvent(eventType: string, channel
|
|
85
|
+
static emitEvent(eventType: string, channel?: string | null, userPW?: {}, payload?: any): void;
|
|
85
86
|
/**
|
|
86
87
|
* Run table triggers
|
|
87
88
|
* @param when_trigger
|
|
@@ -109,21 +110,5 @@ declare class Trigger {
|
|
|
109
110
|
*/
|
|
110
111
|
static get when_options(): string[];
|
|
111
112
|
}
|
|
112
|
-
declare namespace Trigger {
|
|
113
|
-
type TriggerCfg = {
|
|
114
|
-
name?: string;
|
|
115
|
-
action: string;
|
|
116
|
-
description?: string;
|
|
117
|
-
table_id?: number | null;
|
|
118
|
-
table_name?: string;
|
|
119
|
-
table: Table;
|
|
120
|
-
when_trigger: string;
|
|
121
|
-
channel?: string;
|
|
122
|
-
id?: number | null;
|
|
123
|
-
configuration: any;
|
|
124
|
-
min_role: number;
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
declare type TriggerCfg = Trigger.TriggerCfg;
|
|
128
113
|
export = Trigger;
|
|
129
114
|
//# sourceMappingURL=trigger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../models/trigger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../models/trigger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAInF;;;GAGG;AACH,cAAM,OAAO;IACX,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,GAAG,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;IAE5B;;;OAGG;gBACS,CAAC,EAAE,UAAU;IAoBzB;;;OAGG;IACH,IAAI,MAAM,IAAI,GAAG,CAiBhB;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,EAAE;IAKpC;;;;;OAKG;WACU,MAAM,CACjB,KAAK,EAAE,KAAK,EACZ,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;IAKxD;;;;OAIG;WACU,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAcpD;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;;;;;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;IAsCP;;;;;;OAMG;WACU,gBAAgB,CAC3B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,IAAI,CAAC;IAchB;;;;OAIG;IACG,aAAa,CAAC,OAAO,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAanD;;;;;OAKG;WACU,gBAAgB,CAC3B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,OAAO,EAAE,CAAC;IAuBrB;;;OAGG;IACH,MAAM,KAAK,YAAY,IAAI,MAAM,EAAE,CAoBlC;CACF;AAGD,SAAS,OAAO,CAAC"}
|
package/dist/models/trigger.js
CHANGED
|
@@ -143,13 +143,13 @@ class Trigger {
|
|
|
143
143
|
* @param {object} [userPW = {}]
|
|
144
144
|
* @param {*} payload
|
|
145
145
|
*/
|
|
146
|
-
static emitEvent(eventType, channel, userPW = {}, payload) {
|
|
146
|
+
static emitEvent(eventType, channel = null, userPW = {}, payload) {
|
|
147
147
|
setTimeout(async () => {
|
|
148
148
|
const { password, ...user } = userPW || {};
|
|
149
149
|
const { getState } = require("../db/state");
|
|
150
150
|
const findArgs = { when_trigger: eventType };
|
|
151
151
|
let table;
|
|
152
|
-
if (["Insert", "Update", "Delete"].includes(channel)) {
|
|
152
|
+
if (channel && ["Insert", "Update", "Delete"].includes(channel)) {
|
|
153
153
|
const Table = require("./table");
|
|
154
154
|
table = await Table.findOne({ name: channel });
|
|
155
155
|
findArgs.table_id = table.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../models/trigger.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,4BAA6B;AAC7B,0DAAkC;
|
|
1
|
+
{"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../models/trigger.ts"],"names":[],"mappings":"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"}
|