@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.
Files changed (221) hide show
  1. package/dist/base-plugin/actions.d.ts +2 -0
  2. package/dist/base-plugin/actions.d.ts.map +1 -1
  3. package/dist/base-plugin/actions.js +13 -8
  4. package/dist/base-plugin/actions.js.map +1 -1
  5. package/dist/base-plugin/fieldviews.d.ts +1 -0
  6. package/dist/base-plugin/fieldviews.d.ts.map +1 -1
  7. package/dist/base-plugin/fieldviews.js +5 -2
  8. package/dist/base-plugin/fieldviews.js.map +1 -1
  9. package/dist/base-plugin/index.d.ts +3 -0
  10. package/dist/base-plugin/index.d.ts.map +1 -1
  11. package/dist/base-plugin/types.d.ts.map +1 -1
  12. package/dist/base-plugin/types.js +6 -3
  13. package/dist/base-plugin/types.js.map +1 -1
  14. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  15. package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
  16. package/dist/base-plugin/viewtemplates/feed.js +1 -1
  17. package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
  18. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  19. package/dist/base-plugin/viewtemplates/list.js +13 -1
  20. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  21. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  22. package/dist/db/fixtures.d.ts.map +1 -1
  23. package/dist/db/fixtures.js +14 -1
  24. package/dist/db/fixtures.js.map +1 -1
  25. package/dist/db/state.d.ts +2 -2
  26. package/dist/db/state.d.ts.map +1 -1
  27. package/dist/db/state.js +7 -5
  28. package/dist/db/state.js.map +1 -1
  29. package/dist/migrate.d.ts.map +1 -1
  30. package/dist/migrate.js +3 -1
  31. package/dist/migrate.js.map +1 -1
  32. package/dist/migrations/202604091531.d.ts +2 -0
  33. package/dist/migrations/202604091531.d.ts.map +1 -0
  34. package/dist/migrations/202604091531.js +9 -0
  35. package/dist/migrations/202604091531.js.map +1 -0
  36. package/dist/migrations/202604111200.d.ts +2 -0
  37. package/dist/migrations/202604111200.d.ts.map +1 -0
  38. package/dist/migrations/202604111200.js +15 -0
  39. package/dist/migrations/202604111200.js.map +1 -0
  40. package/dist/migrations/202604141200.d.ts +2 -0
  41. package/dist/migrations/202604141200.d.ts.map +1 -0
  42. package/dist/migrations/202604141200.js +14 -0
  43. package/dist/migrations/202604141200.js.map +1 -0
  44. package/dist/mobile-mocks/npm/npm-registry-fetch.d.ts +3 -0
  45. package/dist/mobile-mocks/npm/npm-registry-fetch.d.ts.map +1 -0
  46. package/dist/mobile-mocks/npm/npm-registry-fetch.js +3 -0
  47. package/dist/mobile-mocks/npm/npm-registry-fetch.js.map +1 -0
  48. package/dist/mobile-mocks/saltcorn/admin-models-tenant.d.ts +1 -0
  49. package/dist/mobile-mocks/saltcorn/admin-models-tenant.d.ts.map +1 -0
  50. package/dist/mobile-mocks/saltcorn/admin-models-tenant.js +2 -0
  51. package/dist/mobile-mocks/saltcorn/admin-models-tenant.js.map +1 -0
  52. package/dist/mobile-mocks/saltcorn/plugins-loader-plugin-installer.d.ts +1 -0
  53. package/dist/mobile-mocks/saltcorn/plugins-loader-plugin-installer.d.ts.map +1 -0
  54. package/dist/mobile-mocks/saltcorn/plugins-loader-plugin-installer.js +2 -0
  55. package/dist/mobile-mocks/saltcorn/plugins-loader-plugin-installer.js.map +1 -0
  56. package/dist/mobile-mocks/saltcorn/plugins-loader-stable-versioning.d.ts +1 -0
  57. package/dist/mobile-mocks/saltcorn/plugins-loader-stable-versioning.d.ts.map +1 -0
  58. package/dist/mobile-mocks/saltcorn/plugins-loader-stable-versioning.js +2 -0
  59. package/dist/mobile-mocks/saltcorn/plugins-loader-stable-versioning.js.map +1 -0
  60. package/dist/models/config.d.ts.map +1 -1
  61. package/dist/models/config.js +6 -0
  62. package/dist/models/config.js.map +1 -1
  63. package/dist/models/expression.d.ts +6 -3
  64. package/dist/models/expression.d.ts.map +1 -1
  65. package/dist/models/expression.js +6 -3
  66. package/dist/models/expression.js.map +1 -1
  67. package/dist/models/page.d.ts +1 -0
  68. package/dist/models/page.d.ts.map +1 -1
  69. package/dist/models/page.js +5 -1
  70. package/dist/models/page.js.map +1 -1
  71. package/dist/models/plugin.d.ts +56 -0
  72. package/dist/models/plugin.d.ts.map +1 -1
  73. package/dist/models/plugin.js +318 -1
  74. package/dist/models/plugin.js.map +1 -1
  75. package/dist/models/table.d.ts +2 -0
  76. package/dist/models/table.d.ts.map +1 -1
  77. package/dist/models/table.js +113 -35
  78. package/dist/models/table.js.map +1 -1
  79. package/dist/models/trigger.d.ts +2 -1
  80. package/dist/models/trigger.d.ts.map +1 -1
  81. package/dist/models/trigger.js +9 -4
  82. package/dist/models/trigger.js.map +1 -1
  83. package/dist/models/user.d.ts.map +1 -1
  84. package/dist/models/user.js +1 -0
  85. package/dist/models/user.js.map +1 -1
  86. package/dist/models/view.d.ts +1 -0
  87. package/dist/models/view.d.ts.map +1 -1
  88. package/dist/models/view.js +16 -12
  89. package/dist/models/view.js.map +1 -1
  90. package/dist/plugin-helper.d.ts +3 -11
  91. package/dist/plugin-helper.d.ts.map +1 -1
  92. package/dist/plugin-helper.js +102 -60
  93. package/dist/plugin-helper.js.map +1 -1
  94. package/dist/tests/remote_query_helper.js +1 -1
  95. package/dist/tests/remote_query_helper.js.map +1 -1
  96. package/package.json +9 -8
  97. package/webpack.config.js +11 -0
  98. package/dist/tests/actions.test.d.ts +0 -2
  99. package/dist/tests/actions.test.d.ts.map +0 -1
  100. package/dist/tests/actions.test.js +0 -936
  101. package/dist/tests/actions.test.js.map +0 -1
  102. package/dist/tests/auth.test.d.ts +0 -2
  103. package/dist/tests/auth.test.d.ts.map +0 -1
  104. package/dist/tests/auth.test.js +0 -824
  105. package/dist/tests/auth.test.js.map +0 -1
  106. package/dist/tests/auxtest.test.d.ts +0 -2
  107. package/dist/tests/auxtest.test.d.ts.map +0 -1
  108. package/dist/tests/auxtest.test.js +0 -562
  109. package/dist/tests/auxtest.test.js.map +0 -1
  110. package/dist/tests/base.test.d.ts +0 -2
  111. package/dist/tests/base.test.d.ts.map +0 -1
  112. package/dist/tests/base.test.js +0 -30
  113. package/dist/tests/base.test.js.map +0 -1
  114. package/dist/tests/calc.test.d.ts +0 -2
  115. package/dist/tests/calc.test.d.ts.map +0 -1
  116. package/dist/tests/calc.test.js +0 -1081
  117. package/dist/tests/calc.test.js.map +0 -1
  118. package/dist/tests/composite_pk.test.d.ts +0 -2
  119. package/dist/tests/composite_pk.test.d.ts.map +0 -1
  120. package/dist/tests/composite_pk.test.js +0 -98
  121. package/dist/tests/composite_pk.test.js.map +0 -1
  122. package/dist/tests/config.test.d.ts +0 -2
  123. package/dist/tests/config.test.d.ts.map +0 -1
  124. package/dist/tests/config.test.js +0 -86
  125. package/dist/tests/config.test.js.map +0 -1
  126. package/dist/tests/db.test.d.ts +0 -2
  127. package/dist/tests/db.test.d.ts.map +0 -1
  128. package/dist/tests/db.test.js +0 -178
  129. package/dist/tests/db.test.js.map +0 -1
  130. package/dist/tests/discover.test.d.ts +0 -2
  131. package/dist/tests/discover.test.d.ts.map +0 -1
  132. package/dist/tests/discover.test.js +0 -245
  133. package/dist/tests/discover.test.js.map +0 -1
  134. package/dist/tests/edit.test.d.ts +0 -2
  135. package/dist/tests/edit.test.d.ts.map +0 -1
  136. package/dist/tests/edit.test.js +0 -1161
  137. package/dist/tests/edit.test.js.map +0 -1
  138. package/dist/tests/email.test.d.ts +0 -2
  139. package/dist/tests/email.test.d.ts.map +0 -1
  140. package/dist/tests/email.test.js +0 -255
  141. package/dist/tests/email.test.js.map +0 -1
  142. package/dist/tests/exact_views.test.d.ts +0 -2
  143. package/dist/tests/exact_views.test.d.ts.map +0 -1
  144. package/dist/tests/exact_views.test.js +0 -1363
  145. package/dist/tests/exact_views.test.js.map +0 -1
  146. package/dist/tests/field.test.d.ts +0 -2
  147. package/dist/tests/field.test.d.ts.map +0 -1
  148. package/dist/tests/field.test.js +0 -588
  149. package/dist/tests/field.test.js.map +0 -1
  150. package/dist/tests/fieldviews.test.d.ts +0 -2
  151. package/dist/tests/fieldviews.test.d.ts.map +0 -1
  152. package/dist/tests/fieldviews.test.js +0 -74
  153. package/dist/tests/fieldviews.test.js.map +0 -1
  154. package/dist/tests/file.test.d.ts +0 -2
  155. package/dist/tests/file.test.d.ts.map +0 -1
  156. package/dist/tests/file.test.js +0 -148
  157. package/dist/tests/file.test.js.map +0 -1
  158. package/dist/tests/filter.test.d.ts +0 -2
  159. package/dist/tests/filter.test.d.ts.map +0 -1
  160. package/dist/tests/filter.test.js +0 -496
  161. package/dist/tests/filter.test.js.map +0 -1
  162. package/dist/tests/form.test.d.ts +0 -2
  163. package/dist/tests/form.test.d.ts.map +0 -1
  164. package/dist/tests/form.test.js +0 -264
  165. package/dist/tests/form.test.js.map +0 -1
  166. package/dist/tests/list.test.d.ts +0 -2
  167. package/dist/tests/list.test.d.ts.map +0 -1
  168. package/dist/tests/list.test.js +0 -1037
  169. package/dist/tests/list.test.js.map +0 -1
  170. package/dist/tests/models.test.d.ts +0 -2
  171. package/dist/tests/models.test.d.ts.map +0 -1
  172. package/dist/tests/models.test.js +0 -417
  173. package/dist/tests/models.test.js.map +0 -1
  174. package/dist/tests/page.test.d.ts +0 -2
  175. package/dist/tests/page.test.d.ts.map +0 -1
  176. package/dist/tests/page.test.js +0 -26
  177. package/dist/tests/page.test.js.map +0 -1
  178. package/dist/tests/page_group.test.d.ts +0 -2
  179. package/dist/tests/page_group.test.d.ts.map +0 -1
  180. package/dist/tests/page_group.test.js +0 -51
  181. package/dist/tests/page_group.test.js.map +0 -1
  182. package/dist/tests/plugin.test.d.ts +0 -2
  183. package/dist/tests/plugin.test.d.ts.map +0 -1
  184. package/dist/tests/plugin.test.js +0 -60
  185. package/dist/tests/plugin.test.js.map +0 -1
  186. package/dist/tests/show.test.d.ts +0 -2
  187. package/dist/tests/show.test.d.ts.map +0 -1
  188. package/dist/tests/show.test.js +0 -561
  189. package/dist/tests/show.test.js.map +0 -1
  190. package/dist/tests/state.test.d.ts +0 -2
  191. package/dist/tests/state.test.d.ts.map +0 -1
  192. package/dist/tests/state.test.js +0 -82
  193. package/dist/tests/state.test.js.map +0 -1
  194. package/dist/tests/table.test.d.ts +0 -2
  195. package/dist/tests/table.test.d.ts.map +0 -1
  196. package/dist/tests/table.test.js +0 -2717
  197. package/dist/tests/table.test.js.map +0 -1
  198. package/dist/tests/table_history.test.d.ts +0 -2
  199. package/dist/tests/table_history.test.d.ts.map +0 -1
  200. package/dist/tests/table_history.test.js +0 -413
  201. package/dist/tests/table_history.test.js.map +0 -1
  202. package/dist/tests/tag.test.d.ts +0 -2
  203. package/dist/tests/tag.test.d.ts.map +0 -1
  204. package/dist/tests/tag.test.js +0 -97
  205. package/dist/tests/tag.test.js.map +0 -1
  206. package/dist/tests/user.test.d.ts +0 -2
  207. package/dist/tests/user.test.d.ts.map +0 -1
  208. package/dist/tests/user.test.js +0 -441
  209. package/dist/tests/user.test.js.map +0 -1
  210. package/dist/tests/view.test.d.ts +0 -2
  211. package/dist/tests/view.test.d.ts.map +0 -1
  212. package/dist/tests/view.test.js +0 -699
  213. package/dist/tests/view.test.js.map +0 -1
  214. package/dist/tests/workflow.test.d.ts +0 -2
  215. package/dist/tests/workflow.test.d.ts.map +0 -1
  216. package/dist/tests/workflow.test.js +0 -303
  217. package/dist/tests/workflow.test.js.map +0 -1
  218. package/dist/tests/workflow_run.test.d.ts +0 -2
  219. package/dist/tests/workflow_run.test.d.ts.map +0 -1
  220. package/dist/tests/workflow_run.test.js +0 -922
  221. package/dist/tests/workflow_run.test.js.map +0 -1
@@ -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":"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"}
1
+ {"version":3,"file":"plugin-helper.d.ts","sourceRoot":"","sources":["../plugin-helper.ts"],"names":[],"mappings":"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"}
@@ -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
- const stateFieldsToWhere = ({ fields, state, approximate = true, table, prefix = "", }) => {
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
- qstate[jFieldNm] = [
2040
- ...(qstate[jFieldNm] ? [qstate[jFieldNm]] : []),
2041
- {
2042
- // where jFieldNm in (select id from jtnm where lblField=v)
2043
- inSelect: {
2044
- table: db_1.default.sqlsanitize(thoughTblNm),
2045
- tenant: db_1.default.isSQLite ? undefined : db_1.default.getTenantSchema(),
2046
- field: db_1.default.sqlsanitize(throughField),
2047
- valField: jtTbl?.pk_name || "id",
2048
- through: db_1.default.sqlsanitize(jtNm),
2049
- where,
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
- qstate[jFieldNm] = [
2067
- ...(qstate[jFieldNm] ? [qstate[jFieldNm]] : []),
2068
- {
2069
- // where jFieldNm in (select id from jtnm where lblField=v)
2070
- inSelect: {
2071
- table: db_1.default.sqlsanitize(jtNm),
2072
- tenant: db_1.default.isSQLite ? undefined : db_1.default.getTenantSchema(),
2073
- field: jTable?.pk_name,
2074
- where,
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
- qstate[pk] = [
2091
- ...(qstate[pk] ? [qstate[pk]] : []),
2092
- {
2093
- // where id in (select jFieldNm from jtnm where lblField=v)
2094
- inSelect: {
2095
- table: db_1.default.sqlsanitize(jtNm),
2096
- tenant: db_1.default.isSQLite ? undefined : db_1.default.getTenantSchema(),
2097
- field: db_1.default.sqlsanitize(jFieldNm),
2098
- where: {
2099
- [db_1.default.sqlsanitize(lblField)]: isString && approximate ? { ilike: v } : v,
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
- qstate[pk] = [
2109
- ...(qstate[pk] ? [qstate[pk]] : []),
2110
- {
2111
- // where id in (select ss1.id from jtNm ss1 join tblName ss2 on ss2.id = ss1.jFieldNm where ss2.lblField=v)
2112
- inSelect: {
2113
- table: db_1.default.sqlsanitize(jtNm),
2114
- tenant: db_1.default.isSQLite ? undefined : db_1.default.getTenantSchema(),
2115
- field: db_1.default.sqlsanitize(jFieldNm),
2116
- valField: table_1.default.findOne(jtNm)?.pk_name || "id",
2117
- through: db_1.default.sqlsanitize(tblName),
2118
- through_pk: table_1.default.findOne(tblName)?.pk_name || "id",
2119
- where: { [db_1.default.sqlsanitize(lblField)]: v },
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
- state.emitDynamicUpdate(db_1.default.getTenantSchema(), reset_msg);
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
- state.emitDynamicUpdate(db_1.default.getTenantSchema(), emitData);
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
  };