@saltcorn/data 1.6.0-beta.4 → 1.6.0-beta.6
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 +2 -0
- package/dist/base-plugin/actions.d.ts.map +1 -1
- package/dist/base-plugin/actions.js +13 -8
- 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/index.d.ts +3 -0
- package/dist/base-plugin/index.d.ts.map +1 -1
- package/dist/base-plugin/types.d.ts.map +1 -1
- package/dist/base-plugin/types.js +6 -3
- 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/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/list.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/list.js +13 -1
- package/dist/base-plugin/viewtemplates/list.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 +14 -1
- package/dist/db/fixtures.js.map +1 -1
- package/dist/db/state.d.ts +2 -2
- package/dist/db/state.d.ts.map +1 -1
- package/dist/db/state.js +7 -5
- 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/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 +6 -0
- package/dist/models/config.js.map +1 -1
- package/dist/models/expression.d.ts +6 -3
- package/dist/models/expression.d.ts.map +1 -1
- package/dist/models/expression.js +6 -3
- package/dist/models/expression.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 +5 -1
- package/dist/models/page.js.map +1 -1
- package/dist/models/plugin.d.ts +56 -0
- package/dist/models/plugin.d.ts.map +1 -1
- package/dist/models/plugin.js +318 -1
- package/dist/models/plugin.js.map +1 -1
- package/dist/models/table.d.ts +2 -0
- package/dist/models/table.d.ts.map +1 -1
- package/dist/models/table.js +113 -35
- package/dist/models/table.js.map +1 -1
- package/dist/models/trigger.d.ts +2 -1
- package/dist/models/trigger.d.ts.map +1 -1
- package/dist/models/trigger.js +9 -4
- package/dist/models/trigger.js.map +1 -1
- package/dist/models/user.d.ts.map +1 -1
- package/dist/models/user.js +1 -0
- 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 +16 -12
- package/dist/models/view.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/tests/remote_query_helper.js +1 -1
- package/dist/tests/remote_query_helper.js.map +1 -1
- package/package.json +9 -8
- package/webpack.config.js +11 -0
- package/dist/tests/actions.test.d.ts +0 -2
- package/dist/tests/actions.test.d.ts.map +0 -1
- package/dist/tests/actions.test.js +0 -936
- package/dist/tests/actions.test.js.map +0 -1
- package/dist/tests/auth.test.d.ts +0 -2
- package/dist/tests/auth.test.d.ts.map +0 -1
- package/dist/tests/auth.test.js +0 -824
- package/dist/tests/auth.test.js.map +0 -1
- package/dist/tests/auxtest.test.d.ts +0 -2
- package/dist/tests/auxtest.test.d.ts.map +0 -1
- package/dist/tests/auxtest.test.js +0 -562
- package/dist/tests/auxtest.test.js.map +0 -1
- package/dist/tests/base.test.d.ts +0 -2
- package/dist/tests/base.test.d.ts.map +0 -1
- package/dist/tests/base.test.js +0 -30
- package/dist/tests/base.test.js.map +0 -1
- package/dist/tests/calc.test.d.ts +0 -2
- package/dist/tests/calc.test.d.ts.map +0 -1
- package/dist/tests/calc.test.js +0 -1081
- package/dist/tests/calc.test.js.map +0 -1
- package/dist/tests/composite_pk.test.d.ts +0 -2
- package/dist/tests/composite_pk.test.d.ts.map +0 -1
- package/dist/tests/composite_pk.test.js +0 -98
- package/dist/tests/composite_pk.test.js.map +0 -1
- package/dist/tests/config.test.d.ts +0 -2
- package/dist/tests/config.test.d.ts.map +0 -1
- package/dist/tests/config.test.js +0 -86
- package/dist/tests/config.test.js.map +0 -1
- package/dist/tests/db.test.d.ts +0 -2
- package/dist/tests/db.test.d.ts.map +0 -1
- package/dist/tests/db.test.js +0 -178
- package/dist/tests/db.test.js.map +0 -1
- package/dist/tests/discover.test.d.ts +0 -2
- package/dist/tests/discover.test.d.ts.map +0 -1
- package/dist/tests/discover.test.js +0 -245
- package/dist/tests/discover.test.js.map +0 -1
- package/dist/tests/edit.test.d.ts +0 -2
- package/dist/tests/edit.test.d.ts.map +0 -1
- package/dist/tests/edit.test.js +0 -1161
- package/dist/tests/edit.test.js.map +0 -1
- package/dist/tests/email.test.d.ts +0 -2
- package/dist/tests/email.test.d.ts.map +0 -1
- package/dist/tests/email.test.js +0 -255
- package/dist/tests/email.test.js.map +0 -1
- package/dist/tests/exact_views.test.d.ts +0 -2
- package/dist/tests/exact_views.test.d.ts.map +0 -1
- package/dist/tests/exact_views.test.js +0 -1363
- package/dist/tests/exact_views.test.js.map +0 -1
- package/dist/tests/field.test.d.ts +0 -2
- package/dist/tests/field.test.d.ts.map +0 -1
- package/dist/tests/field.test.js +0 -588
- package/dist/tests/field.test.js.map +0 -1
- package/dist/tests/fieldviews.test.d.ts +0 -2
- package/dist/tests/fieldviews.test.d.ts.map +0 -1
- package/dist/tests/fieldviews.test.js +0 -74
- package/dist/tests/fieldviews.test.js.map +0 -1
- package/dist/tests/file.test.d.ts +0 -2
- package/dist/tests/file.test.d.ts.map +0 -1
- package/dist/tests/file.test.js +0 -148
- package/dist/tests/file.test.js.map +0 -1
- package/dist/tests/filter.test.d.ts +0 -2
- package/dist/tests/filter.test.d.ts.map +0 -1
- package/dist/tests/filter.test.js +0 -496
- package/dist/tests/filter.test.js.map +0 -1
- package/dist/tests/form.test.d.ts +0 -2
- package/dist/tests/form.test.d.ts.map +0 -1
- package/dist/tests/form.test.js +0 -264
- package/dist/tests/form.test.js.map +0 -1
- package/dist/tests/list.test.d.ts +0 -2
- package/dist/tests/list.test.d.ts.map +0 -1
- package/dist/tests/list.test.js +0 -1037
- package/dist/tests/list.test.js.map +0 -1
- package/dist/tests/models.test.d.ts +0 -2
- package/dist/tests/models.test.d.ts.map +0 -1
- package/dist/tests/models.test.js +0 -417
- package/dist/tests/models.test.js.map +0 -1
- package/dist/tests/page.test.d.ts +0 -2
- package/dist/tests/page.test.d.ts.map +0 -1
- package/dist/tests/page.test.js +0 -26
- package/dist/tests/page.test.js.map +0 -1
- package/dist/tests/page_group.test.d.ts +0 -2
- package/dist/tests/page_group.test.d.ts.map +0 -1
- package/dist/tests/page_group.test.js +0 -51
- package/dist/tests/page_group.test.js.map +0 -1
- package/dist/tests/plugin.test.d.ts +0 -2
- package/dist/tests/plugin.test.d.ts.map +0 -1
- package/dist/tests/plugin.test.js +0 -60
- package/dist/tests/plugin.test.js.map +0 -1
- package/dist/tests/show.test.d.ts +0 -2
- package/dist/tests/show.test.d.ts.map +0 -1
- package/dist/tests/show.test.js +0 -561
- package/dist/tests/show.test.js.map +0 -1
- package/dist/tests/state.test.d.ts +0 -2
- package/dist/tests/state.test.d.ts.map +0 -1
- package/dist/tests/state.test.js +0 -82
- package/dist/tests/state.test.js.map +0 -1
- package/dist/tests/table.test.d.ts +0 -2
- package/dist/tests/table.test.d.ts.map +0 -1
- package/dist/tests/table.test.js +0 -2717
- package/dist/tests/table.test.js.map +0 -1
- package/dist/tests/table_history.test.d.ts +0 -2
- package/dist/tests/table_history.test.d.ts.map +0 -1
- package/dist/tests/table_history.test.js +0 -413
- package/dist/tests/table_history.test.js.map +0 -1
- package/dist/tests/tag.test.d.ts +0 -2
- package/dist/tests/tag.test.d.ts.map +0 -1
- package/dist/tests/tag.test.js +0 -97
- package/dist/tests/tag.test.js.map +0 -1
- package/dist/tests/user.test.d.ts +0 -2
- package/dist/tests/user.test.d.ts.map +0 -1
- package/dist/tests/user.test.js +0 -441
- package/dist/tests/user.test.js.map +0 -1
- package/dist/tests/view.test.d.ts +0 -2
- package/dist/tests/view.test.d.ts.map +0 -1
- package/dist/tests/view.test.js +0 -699
- package/dist/tests/view.test.js.map +0 -1
- package/dist/tests/workflow.test.d.ts +0 -2
- package/dist/tests/workflow.test.d.ts.map +0 -1
- package/dist/tests/workflow.test.js +0 -303
- package/dist/tests/workflow.test.js.map +0 -1
- package/dist/tests/workflow_run.test.d.ts +0 -2
- package/dist/tests/workflow_run.test.d.ts.map +0 -1
- package/dist/tests/workflow_run.test.js +0 -922
- package/dist/tests/workflow_run.test.js.map +0 -1
package/dist/plugin-helper.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ import type { Where } from "@saltcorn/db-common/internal";
|
|
|
12
12
|
import type { GenObj } from "@saltcorn/types/common_types";
|
|
13
13
|
import type { AbstractUser } from "@saltcorn/types/model-abstracts/abstract_user";
|
|
14
14
|
import type { FieldLike } from "@saltcorn/types/base_types";
|
|
15
|
+
import User from "models/user";
|
|
15
16
|
/**
|
|
16
17
|
*
|
|
17
18
|
* @param {string} url0
|
|
@@ -204,22 +205,13 @@ declare const stateFieldsToQuery: ({ state, stateHash, fields, prefix, noSortAnd
|
|
|
204
205
|
prefix?: string;
|
|
205
206
|
noSortAndPaging?: boolean;
|
|
206
207
|
}) => GenObj;
|
|
207
|
-
|
|
208
|
-
* @function
|
|
209
|
-
* @param {object} opts
|
|
210
|
-
* @param {Field[]} opts.fields
|
|
211
|
-
* @param {object} opts.state
|
|
212
|
-
* @param {string} [opts.prefix = ""]
|
|
213
|
-
* @param {boolean} [opts.approximate = true]
|
|
214
|
-
* @param {Table} opts.table
|
|
215
|
-
* @returns {object}
|
|
216
|
-
*/
|
|
217
|
-
declare const stateFieldsToWhere: ({ fields, state, approximate, table, prefix, }: {
|
|
208
|
+
declare const stateFieldsToWhere: ({ fields, state, approximate, table, prefix, user, }: {
|
|
218
209
|
fields: Field[];
|
|
219
210
|
state: GenObj;
|
|
220
211
|
approximate?: boolean;
|
|
221
212
|
table?: Table;
|
|
222
213
|
prefix?: string;
|
|
214
|
+
user?: User;
|
|
223
215
|
}) => Where;
|
|
224
216
|
/**
|
|
225
217
|
* initial_config_all_fields Contract
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-helper.d.ts","sourceRoot":"","sources":["../plugin-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,KAAK,MAAM,gBAAgB,CAAC;AA4BnC,QAAA,MAGE,gCAAgC,gHAIpB,CAAC;AAGf,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAO,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-helper.d.ts","sourceRoot":"","sources":["../plugin-helper.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin-helper.js
CHANGED
|
@@ -1768,7 +1768,7 @@ const queryToString = (query) => {
|
|
|
1768
1768
|
};
|
|
1769
1769
|
return JSON.stringify(relObj);
|
|
1770
1770
|
};
|
|
1771
|
-
const handleRelationPath = (queryObj, qstate, table) => {
|
|
1771
|
+
const handleRelationPath = (queryObj, qstate, table, user) => {
|
|
1772
1772
|
if (queryObj.path.length > 0) {
|
|
1773
1773
|
const levels = [];
|
|
1774
1774
|
let lastTableName = queryObj.sourcetable;
|
|
@@ -1776,6 +1776,9 @@ const handleRelationPath = (queryObj, qstate, table) => {
|
|
|
1776
1776
|
for (const level of queryObj.path) {
|
|
1777
1777
|
if (level.inboundKey) {
|
|
1778
1778
|
const tbl = table_1.default.findOne(level.table);
|
|
1779
|
+
if (typeof user !== "undefined" &&
|
|
1780
|
+
(user?.role_id || 100) > tbl.min_role_read)
|
|
1781
|
+
return;
|
|
1779
1782
|
levels.push({
|
|
1780
1783
|
...level,
|
|
1781
1784
|
pk_name: tbl?.pk_name,
|
|
@@ -1789,6 +1792,9 @@ const handleRelationPath = (queryObj, qstate, table) => {
|
|
|
1789
1792
|
}
|
|
1790
1793
|
else {
|
|
1791
1794
|
const lastTable = table_1.default.findOne({ name: lastTableName });
|
|
1795
|
+
if (typeof user !== "undefined" &&
|
|
1796
|
+
(user?.role_id || 100) > lastTable.min_role_read)
|
|
1797
|
+
return;
|
|
1792
1798
|
const refField = lastTable?.fields?.find((field) => field.name === level.fkey);
|
|
1793
1799
|
levels.push({
|
|
1794
1800
|
table: refField?.reftable_name,
|
|
@@ -1797,6 +1803,9 @@ const handleRelationPath = (queryObj, qstate, table) => {
|
|
|
1797
1803
|
});
|
|
1798
1804
|
lastTableName = refField?.reftable_name;
|
|
1799
1805
|
const finalTable = table_1.default.findOne({ name: lastTableName });
|
|
1806
|
+
if (typeof user !== "undefined" &&
|
|
1807
|
+
(user?.role_id || 100) > lastTable.min_role_read)
|
|
1808
|
+
return;
|
|
1800
1809
|
if (!where)
|
|
1801
1810
|
where = {
|
|
1802
1811
|
[finalTable?.pk_name || "id"]: queryObj.srcId !== "NULL" ? queryObj.srcId : null,
|
|
@@ -1822,7 +1831,24 @@ const handleRelationPath = (queryObj, qstate, table) => {
|
|
|
1822
1831
|
* @param {Table} opts.table
|
|
1823
1832
|
* @returns {object}
|
|
1824
1833
|
*/
|
|
1825
|
-
|
|
1834
|
+
/**
|
|
1835
|
+
* Recursively strip inSelect/inSelectWithLevels from user-provided objects
|
|
1836
|
+
* to prevent subquery injection through passthrough code paths.
|
|
1837
|
+
*/
|
|
1838
|
+
function stripDangerousOperators(obj) {
|
|
1839
|
+
if (typeof obj !== "object" || obj === null)
|
|
1840
|
+
return obj;
|
|
1841
|
+
if (Array.isArray(obj))
|
|
1842
|
+
return obj.map(stripDangerousOperators);
|
|
1843
|
+
const result = {};
|
|
1844
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
1845
|
+
if (k === "inSelect" || k === "inSelectWithLevels")
|
|
1846
|
+
continue;
|
|
1847
|
+
result[k] = stripDangerousOperators(v);
|
|
1848
|
+
}
|
|
1849
|
+
return result;
|
|
1850
|
+
}
|
|
1851
|
+
const stateFieldsToWhere = ({ fields, state, approximate = true, table, prefix = "", user, }) => {
|
|
1826
1852
|
let qstate = {};
|
|
1827
1853
|
const orFields = [];
|
|
1828
1854
|
Object.entries(state || {}).forEach(([k, v]) => {
|
|
@@ -1849,7 +1875,7 @@ const stateFieldsToWhere = ({ fields, state, approximate = true, table, prefix =
|
|
|
1849
1875
|
return;
|
|
1850
1876
|
}
|
|
1851
1877
|
if (k === "or" && typeof v === "object") {
|
|
1852
|
-
qstate.or = v;
|
|
1878
|
+
qstate.or = stripDangerousOperators(v);
|
|
1853
1879
|
return;
|
|
1854
1880
|
}
|
|
1855
1881
|
if (k === "_or_field") {
|
|
@@ -1861,11 +1887,11 @@ const stateFieldsToWhere = ({ fields, state, approximate = true, table, prefix =
|
|
|
1861
1887
|
}
|
|
1862
1888
|
const field = fields.find((fld) => fld.name === k);
|
|
1863
1889
|
if (k === "_relation_path_" || k === "_inbound_relation_path_")
|
|
1864
|
-
handleRelationPath(typeof v === "string" ? stringToQuery(v) : v, qstate, table);
|
|
1890
|
+
handleRelationPath(typeof v === "string" ? stringToQuery(v) : v, qstate, table, user);
|
|
1865
1891
|
else if (k.startsWith(".")) {
|
|
1866
1892
|
const queryObj = parseRelationPath(k);
|
|
1867
1893
|
queryObj.srcId = v;
|
|
1868
|
-
handleRelationPath(queryObj, qstate, table);
|
|
1894
|
+
handleRelationPath(queryObj, qstate, table, user);
|
|
1869
1895
|
}
|
|
1870
1896
|
else if (k.startsWith("_fromdate_")) {
|
|
1871
1897
|
const datefield = db_1.default.sqlsanitize(k.replace("_fromdate_", ""));
|
|
@@ -1947,7 +1973,7 @@ const stateFieldsToWhere = ({ fields, state, approximate = true, table, prefix =
|
|
|
1947
1973
|
if (nfield) {
|
|
1948
1974
|
if (!qstate.not)
|
|
1949
1975
|
qstate.not = {};
|
|
1950
|
-
qstate.not[notfield] = v;
|
|
1976
|
+
qstate.not[notfield] = stripDangerousOperators(v);
|
|
1951
1977
|
}
|
|
1952
1978
|
}
|
|
1953
1979
|
else if (field &&
|
|
@@ -2020,7 +2046,7 @@ const stateFieldsToWhere = ({ fields, state, approximate = true, table, prefix =
|
|
|
2020
2046
|
];
|
|
2021
2047
|
}
|
|
2022
2048
|
else if (typeof v === "object" && field) {
|
|
2023
|
-
qstate[k] = v;
|
|
2049
|
+
qstate[k] = stripDangerousOperators(v);
|
|
2024
2050
|
}
|
|
2025
2051
|
else if (field && field.type && field.type.read)
|
|
2026
2052
|
qstate[k] = Array.isArray(v)
|
|
@@ -2035,21 +2061,25 @@ const stateFieldsToWhere = ({ fields, state, approximate = true, table, prefix =
|
|
|
2035
2061
|
const [thoughTblNm, throughField] = throughPart.split("->");
|
|
2036
2062
|
const [jtNm, lblField] = finalPart.split("->");
|
|
2037
2063
|
const jtTbl = table_1.default.findOne(jtNm);
|
|
2064
|
+
const throughTable = table_1.default.findOne(thoughTblNm);
|
|
2038
2065
|
let where = { [db_1.default.sqlsanitize(lblField)]: v };
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2066
|
+
if (typeof user === "undefined" ||
|
|
2067
|
+
((user?.role_id || 100) <= jtTbl.min_role_read &&
|
|
2068
|
+
(user?.role_id || 100) <= throughTable.min_role_read))
|
|
2069
|
+
qstate[jFieldNm] = [
|
|
2070
|
+
...(qstate[jFieldNm] ? [qstate[jFieldNm]] : []),
|
|
2071
|
+
{
|
|
2072
|
+
// where jFieldNm in (select id from jtnm where lblField=v)
|
|
2073
|
+
inSelect: {
|
|
2074
|
+
table: db_1.default.sqlsanitize(thoughTblNm),
|
|
2075
|
+
tenant: db_1.default.isSQLite ? undefined : db_1.default.getTenantSchema(),
|
|
2076
|
+
field: db_1.default.sqlsanitize(throughField),
|
|
2077
|
+
valField: jtTbl?.pk_name || "id",
|
|
2078
|
+
through: db_1.default.sqlsanitize(jtNm),
|
|
2079
|
+
where,
|
|
2080
|
+
},
|
|
2050
2081
|
},
|
|
2051
|
-
|
|
2052
|
-
];
|
|
2082
|
+
];
|
|
2053
2083
|
}
|
|
2054
2084
|
else if (k.includes("->")) {
|
|
2055
2085
|
// jFieldNm.jtnm->lblField
|
|
@@ -2063,23 +2093,26 @@ const stateFieldsToWhere = ({ fields, state, approximate = true, table, prefix =
|
|
|
2063
2093
|
lblFld.type?.name === "String" &&
|
|
2064
2094
|
!lblFld.attributes?.options)
|
|
2065
2095
|
where = { [db_1.default.sqlsanitize(lblField)]: { ilike: v } };
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2096
|
+
if (typeof user === "undefined" ||
|
|
2097
|
+
(user?.role_id || 100) <= jTable.min_role_read)
|
|
2098
|
+
qstate[jFieldNm] = [
|
|
2099
|
+
...(qstate[jFieldNm] ? [qstate[jFieldNm]] : []),
|
|
2100
|
+
{
|
|
2101
|
+
// where jFieldNm in (select id from jtnm where lblField=v)
|
|
2102
|
+
inSelect: {
|
|
2103
|
+
table: db_1.default.sqlsanitize(jtNm),
|
|
2104
|
+
tenant: db_1.default.isSQLite ? undefined : db_1.default.getTenantSchema(),
|
|
2105
|
+
field: jTable?.pk_name,
|
|
2106
|
+
where,
|
|
2107
|
+
},
|
|
2075
2108
|
},
|
|
2076
|
-
|
|
2077
|
-
];
|
|
2109
|
+
];
|
|
2078
2110
|
}
|
|
2079
2111
|
else if (k.includes(".")) {
|
|
2080
2112
|
const kpath = k.split(".");
|
|
2081
2113
|
if (kpath.length === 3) {
|
|
2082
2114
|
const [jtNm, jFieldNm, lblField] = kpath;
|
|
2115
|
+
const jTbl = table_1.default.findOne(jtNm);
|
|
2083
2116
|
let isString = false;
|
|
2084
2117
|
const labelField = table_1.default.findOne({ name: jtNm })?.getField?.(lblField);
|
|
2085
2118
|
if (labelField)
|
|
@@ -2087,39 +2120,46 @@ const stateFieldsToWhere = ({ fields, state, approximate = true, table, prefix =
|
|
|
2087
2120
|
labelField.type?.name === "String" &&
|
|
2088
2121
|
!labelField.attributes?.exact_search_only;
|
|
2089
2122
|
const pk = table ? table.pk_name : "id";
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2123
|
+
if (typeof user === "undefined" ||
|
|
2124
|
+
(user?.role_id || 100) <= jTbl.min_role_read)
|
|
2125
|
+
qstate[pk] = [
|
|
2126
|
+
...(qstate[pk] ? [qstate[pk]] : []),
|
|
2127
|
+
{
|
|
2128
|
+
// where id in (select jFieldNm from jtnm where lblField=v)
|
|
2129
|
+
inSelect: {
|
|
2130
|
+
table: db_1.default.sqlsanitize(jtNm),
|
|
2131
|
+
tenant: db_1.default.isSQLite ? undefined : db_1.default.getTenantSchema(),
|
|
2132
|
+
field: db_1.default.sqlsanitize(jFieldNm),
|
|
2133
|
+
where: {
|
|
2134
|
+
[db_1.default.sqlsanitize(lblField)]: isString && approximate ? { ilike: v } : v,
|
|
2135
|
+
},
|
|
2100
2136
|
},
|
|
2101
2137
|
},
|
|
2102
|
-
|
|
2103
|
-
];
|
|
2138
|
+
];
|
|
2104
2139
|
}
|
|
2105
2140
|
else if (kpath.length === 4) {
|
|
2106
2141
|
const [jtNm, jFieldNm, tblName, lblField] = kpath;
|
|
2142
|
+
const jTbl = table_1.default.findOne(jtNm);
|
|
2143
|
+
const thTbl = table_1.default.findOne(tblName);
|
|
2107
2144
|
const pk = table ? table.pk_name : "id";
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2145
|
+
if (typeof user === "undefined" ||
|
|
2146
|
+
((user?.role_id || 100) <= jTbl.min_role_read &&
|
|
2147
|
+
(user?.role_id || 100) <= thTbl.min_role_read))
|
|
2148
|
+
qstate[pk] = [
|
|
2149
|
+
...(qstate[pk] ? [qstate[pk]] : []),
|
|
2150
|
+
{
|
|
2151
|
+
// where id in (select ss1.id from jtNm ss1 join tblName ss2 on ss2.id = ss1.jFieldNm where ss2.lblField=v)
|
|
2152
|
+
inSelect: {
|
|
2153
|
+
table: db_1.default.sqlsanitize(jtNm),
|
|
2154
|
+
tenant: db_1.default.isSQLite ? undefined : db_1.default.getTenantSchema(),
|
|
2155
|
+
field: db_1.default.sqlsanitize(jFieldNm),
|
|
2156
|
+
valField: table_1.default.findOne(jtNm)?.pk_name || "id",
|
|
2157
|
+
through: db_1.default.sqlsanitize(tblName),
|
|
2158
|
+
through_pk: table_1.default.findOne(tblName)?.pk_name || "id",
|
|
2159
|
+
where: { [db_1.default.sqlsanitize(lblField)]: v },
|
|
2160
|
+
},
|
|
2120
2161
|
},
|
|
2121
|
-
|
|
2122
|
-
];
|
|
2162
|
+
];
|
|
2123
2163
|
}
|
|
2124
2164
|
}
|
|
2125
2165
|
});
|
|
@@ -2795,7 +2835,8 @@ const run_action_column = async ({ col, req, ...rest }) => {
|
|
|
2795
2835
|
eval_js: "reset_spinners()",
|
|
2796
2836
|
page_load_tag: req.headers["page-load-tag"],
|
|
2797
2837
|
};
|
|
2798
|
-
|
|
2838
|
+
const userIds = req.user ? undefined : null;
|
|
2839
|
+
state.emitDynamicUpdate(db_1.default.getTenantSchema(), reset_msg, userIds);
|
|
2799
2840
|
};
|
|
2800
2841
|
const successAsyncHandler = (data) => {
|
|
2801
2842
|
const state = getState();
|
|
@@ -2803,7 +2844,8 @@ const run_action_column = async ({ col, req, ...rest }) => {
|
|
|
2803
2844
|
const emitData = { ...data };
|
|
2804
2845
|
if (req.headers["page-load-tag"])
|
|
2805
2846
|
emitData.page_load_tag = req.headers["page-load-tag"];
|
|
2806
|
-
|
|
2847
|
+
const userIds = req.user ? undefined : null;
|
|
2848
|
+
state.emitDynamicUpdate(db_1.default.getTenantSchema(), emitData, userIds);
|
|
2807
2849
|
if (!emitData.resume_workflow &&
|
|
2808
2850
|
!emitData.popup?.startsWith?.("/actions/fill-workflow-form/"))
|
|
2809
2851
|
reset_spinner(state);
|
|
@@ -2815,7 +2857,7 @@ const run_action_column = async ({ col, req, ...rest }) => {
|
|
|
2815
2857
|
state.emitDynamicUpdate(db_1.default.getTenantSchema(), {
|
|
2816
2858
|
error: err.message || err,
|
|
2817
2859
|
page_load_tag: req.headers["page-load-tag"],
|
|
2818
|
-
});
|
|
2860
|
+
}, req.user ? undefined : null);
|
|
2819
2861
|
}
|
|
2820
2862
|
reset_spinner(state);
|
|
2821
2863
|
};
|