@saltcorn/data 0.7.1 → 0.7.2-beta.3

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 (246) hide show
  1. package/dist/app-locales/en.json +6 -0
  2. package/dist/app-locales/public/da.json +3 -0
  3. package/dist/app-locales/public/tlh.json +3 -0
  4. package/dist/base-plugin/actions.d.ts.map +1 -1
  5. package/dist/base-plugin/actions.js +4 -1
  6. package/dist/base-plugin/actions.js.map +1 -1
  7. package/dist/base-plugin/fieldviews.d.ts +24 -0
  8. package/dist/base-plugin/fieldviews.d.ts.map +1 -1
  9. package/dist/base-plugin/fieldviews.js +57 -5
  10. package/dist/base-plugin/fieldviews.js.map +1 -1
  11. package/dist/base-plugin/index.d.ts +230 -13
  12. package/dist/base-plugin/index.d.ts.map +1 -1
  13. package/dist/base-plugin/types.d.ts +114 -73
  14. package/dist/base-plugin/types.d.ts.map +1 -1
  15. package/dist/base-plugin/types.js +141 -37
  16. package/dist/base-plugin/types.js.map +1 -1
  17. package/dist/base-plugin/viewtemplates/edit.d.ts +47 -3
  18. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  19. package/dist/base-plugin/viewtemplates/edit.js +204 -85
  20. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  21. package/dist/base-plugin/viewtemplates/feed.d.ts +14 -1
  22. package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
  23. package/dist/base-plugin/viewtemplates/feed.js +20 -8
  24. package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
  25. package/dist/base-plugin/viewtemplates/filter.d.ts +17 -1
  26. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  27. package/dist/base-plugin/viewtemplates/filter.js +64 -45
  28. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  29. package/dist/base-plugin/viewtemplates/list.d.ts +20 -1
  30. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  31. package/dist/base-plugin/viewtemplates/list.js +59 -40
  32. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  33. package/dist/base-plugin/viewtemplates/listshowlist.d.ts +14 -1
  34. package/dist/base-plugin/viewtemplates/listshowlist.d.ts.map +1 -1
  35. package/dist/base-plugin/viewtemplates/listshowlist.js +15 -4
  36. package/dist/base-plugin/viewtemplates/listshowlist.js.map +1 -1
  37. package/dist/base-plugin/viewtemplates/room.d.ts +41 -1
  38. package/dist/base-plugin/viewtemplates/room.d.ts.map +1 -1
  39. package/dist/base-plugin/viewtemplates/room.js +107 -80
  40. package/dist/base-plugin/viewtemplates/room.js.map +1 -1
  41. package/dist/base-plugin/viewtemplates/show.d.ts +37 -4
  42. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  43. package/dist/base-plugin/viewtemplates/show.js +112 -75
  44. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  45. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +26 -7
  46. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  47. package/dist/base-plugin/viewtemplates/viewable_fields.js +60 -48
  48. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  49. package/dist/coverage/coverage-final.json +46 -0
  50. package/dist/coverage/lcov-report/block-navigation.d.ts +2 -0
  51. package/dist/coverage/lcov-report/block-navigation.d.ts.map +1 -0
  52. package/dist/coverage/lcov-report/block-navigation.js +71 -0
  53. package/dist/coverage/lcov-report/block-navigation.js.map +1 -0
  54. package/dist/coverage/lcov-report/prettify.d.ts +1 -0
  55. package/dist/coverage/lcov-report/prettify.d.ts.map +1 -0
  56. package/dist/coverage/lcov-report/prettify.js +478 -0
  57. package/dist/coverage/lcov-report/prettify.js.map +1 -0
  58. package/dist/coverage/lcov-report/sorter.d.ts +2 -0
  59. package/dist/coverage/lcov-report/sorter.d.ts.map +1 -0
  60. package/dist/coverage/lcov-report/sorter.js +164 -0
  61. package/dist/coverage/lcov-report/sorter.js.map +1 -0
  62. package/dist/db/connect.d.ts.map +1 -1
  63. package/dist/db/connect.js +8 -1
  64. package/dist/db/connect.js.map +1 -1
  65. package/dist/db/connect_mobile.d.ts +9 -0
  66. package/dist/db/connect_mobile.d.ts.map +1 -0
  67. package/dist/db/connect_mobile.js +15 -0
  68. package/dist/db/connect_mobile.js.map +1 -0
  69. package/dist/db/fixtures.d.ts.map +1 -1
  70. package/dist/db/fixtures.js +2 -1
  71. package/dist/db/fixtures.js.map +1 -1
  72. package/dist/db/index.d.ts.map +1 -1
  73. package/dist/db/index.js +16 -2
  74. package/dist/db/index.js.map +1 -1
  75. package/dist/db/state.d.ts +207 -52
  76. package/dist/db/state.d.ts.map +1 -1
  77. package/dist/db/state.js +87 -84
  78. package/dist/db/state.js.map +1 -1
  79. package/dist/index.d.ts +8 -0
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +27 -2
  82. package/dist/index.js.map +1 -1
  83. package/dist/migrate.d.ts.map +1 -1
  84. package/dist/migrate.js +54 -40
  85. package/dist/migrate.js.map +1 -1
  86. package/dist/mobile-mocks/db/postgres.d.ts +1 -0
  87. package/dist/mobile-mocks/db/postgres.d.ts.map +1 -0
  88. package/dist/mobile-mocks/db/postgres.js +2 -0
  89. package/dist/mobile-mocks/db/postgres.js.map +1 -0
  90. package/dist/mobile-mocks/db/sqlite.d.ts +1 -0
  91. package/dist/mobile-mocks/db/sqlite.d.ts.map +1 -0
  92. package/dist/mobile-mocks/db/sqlite.js +2 -0
  93. package/dist/mobile-mocks/db/sqlite.js.map +1 -0
  94. package/dist/mobile-mocks/models/email.d.ts +1 -0
  95. package/dist/mobile-mocks/models/email.d.ts.map +1 -0
  96. package/dist/mobile-mocks/models/email.js +2 -0
  97. package/dist/mobile-mocks/models/email.js.map +1 -0
  98. package/dist/mobile-mocks/node/async_hooks.d.ts +4 -0
  99. package/dist/mobile-mocks/node/async_hooks.d.ts.map +1 -0
  100. package/dist/mobile-mocks/node/async_hooks.js +8 -0
  101. package/dist/mobile-mocks/node/async_hooks.js.map +1 -0
  102. package/dist/mobile-mocks/node/child_process.d.ts +3 -0
  103. package/dist/mobile-mocks/node/child_process.d.ts.map +1 -0
  104. package/dist/mobile-mocks/node/child_process.js +6 -0
  105. package/dist/mobile-mocks/node/child_process.js.map +1 -0
  106. package/dist/mobile-mocks/node/fs/promises.d.ts +6 -0
  107. package/dist/mobile-mocks/node/fs/promises.d.ts.map +1 -0
  108. package/dist/mobile-mocks/node/fs/promises.js +16 -0
  109. package/dist/mobile-mocks/node/fs/promises.js.map +1 -0
  110. package/dist/mobile-mocks/node/fs.d.ts +4 -0
  111. package/dist/mobile-mocks/node/fs.d.ts.map +1 -0
  112. package/dist/mobile-mocks/node/fs.js +15 -0
  113. package/dist/mobile-mocks/node/fs.js.map +1 -0
  114. package/dist/mobile-mocks/node/latest-version.d.ts +2 -0
  115. package/dist/mobile-mocks/node/latest-version.d.ts.map +1 -0
  116. package/dist/mobile-mocks/node/latest-version.js +7 -0
  117. package/dist/mobile-mocks/node/latest-version.js.map +1 -0
  118. package/dist/mobile-mocks/node/v8.d.ts +3 -0
  119. package/dist/mobile-mocks/node/v8.d.ts.map +1 -0
  120. package/dist/mobile-mocks/node/v8.js +8 -0
  121. package/dist/mobile-mocks/node/v8.js.map +1 -0
  122. package/dist/mobile-mocks/npm/env-paths.d.ts +6 -0
  123. package/dist/mobile-mocks/npm/env-paths.d.ts.map +1 -0
  124. package/dist/mobile-mocks/npm/env-paths.js +9 -0
  125. package/dist/mobile-mocks/npm/env-paths.js.map +1 -0
  126. package/dist/mobile-mocks/saltcorn/plugin-testing.d.ts +1 -0
  127. package/dist/mobile-mocks/saltcorn/plugin-testing.d.ts.map +1 -0
  128. package/dist/mobile-mocks/saltcorn/plugin-testing.js +2 -0
  129. package/dist/mobile-mocks/saltcorn/plugin-testing.js.map +1 -0
  130. package/dist/models/config.d.ts +9 -10
  131. package/dist/models/config.d.ts.map +1 -1
  132. package/dist/models/config.js +8 -7
  133. package/dist/models/config.js.map +1 -1
  134. package/dist/models/discovery.d.ts.map +1 -1
  135. package/dist/models/discovery.js +5 -1
  136. package/dist/models/discovery.js.map +1 -1
  137. package/dist/models/field.d.ts +5 -4
  138. package/dist/models/field.d.ts.map +1 -1
  139. package/dist/models/field.js +22 -19
  140. package/dist/models/field.js.map +1 -1
  141. package/dist/models/fieldrepeat.d.ts +5 -0
  142. package/dist/models/fieldrepeat.d.ts.map +1 -1
  143. package/dist/models/fieldrepeat.js +2 -0
  144. package/dist/models/fieldrepeat.js.map +1 -1
  145. package/dist/models/form.d.ts +2 -0
  146. package/dist/models/form.d.ts.map +1 -1
  147. package/dist/models/form.js +1 -0
  148. package/dist/models/form.js.map +1 -1
  149. package/dist/models/index.d.ts +2 -13
  150. package/dist/models/index.d.ts.map +1 -1
  151. package/dist/models/layout.d.ts.map +1 -1
  152. package/dist/models/layout.js +12 -2
  153. package/dist/models/layout.js.map +1 -1
  154. package/dist/models/page.d.ts +1 -1
  155. package/dist/models/page.d.ts.map +1 -1
  156. package/dist/models/page.js +10 -9
  157. package/dist/models/page.js.map +1 -1
  158. package/dist/models/scheduler.d.ts.map +1 -1
  159. package/dist/models/scheduler.js +3 -1
  160. package/dist/models/scheduler.js.map +1 -1
  161. package/dist/models/table.d.ts +2 -1
  162. package/dist/models/table.d.ts.map +1 -1
  163. package/dist/models/table.js +21 -10
  164. package/dist/models/table.js.map +1 -1
  165. package/dist/models/trigger.d.ts +3 -3
  166. package/dist/models/trigger.d.ts.map +1 -1
  167. package/dist/models/trigger.js +4 -5
  168. package/dist/models/trigger.js.map +1 -1
  169. package/dist/models/user.d.ts +1 -1
  170. package/dist/models/user.d.ts.map +1 -1
  171. package/dist/models/user.js +7 -15
  172. package/dist/models/user.js.map +1 -1
  173. package/dist/models/view.d.ts +16 -12
  174. package/dist/models/view.d.ts.map +1 -1
  175. package/dist/models/view.js +63 -15
  176. package/dist/models/view.js.map +1 -1
  177. package/dist/models/workflow.d.ts +1 -0
  178. package/dist/models/workflow.d.ts.map +1 -1
  179. package/dist/models/workflow.js +58 -2
  180. package/dist/models/workflow.js.map +1 -1
  181. package/dist/package.json +127 -0
  182. package/dist/plugin-helper.d.ts +17 -13
  183. package/dist/plugin-helper.d.ts.map +1 -1
  184. package/dist/plugin-helper.js +89 -61
  185. package/dist/plugin-helper.js.map +1 -1
  186. package/dist/tests/actions.test.js +30 -5
  187. package/dist/tests/actions.test.js.map +1 -1
  188. package/dist/tests/db.test.d.ts +2 -0
  189. package/dist/tests/db.test.d.ts.map +1 -0
  190. package/dist/tests/db.test.js +32 -0
  191. package/dist/tests/db.test.js.map +1 -0
  192. package/dist/tests/exact_views.test.js +274 -19
  193. package/dist/tests/exact_views.test.js.map +1 -1
  194. package/dist/tests/models.test.js +46 -1
  195. package/dist/tests/models.test.js.map +1 -1
  196. package/dist/tests/remote_query_helper.d.ts +341 -0
  197. package/dist/tests/remote_query_helper.d.ts.map +1 -0
  198. package/dist/tests/remote_query_helper.js +446 -0
  199. package/dist/tests/remote_query_helper.js.map +1 -0
  200. package/dist/tests/state.test.d.ts +2 -0
  201. package/dist/tests/state.test.d.ts.map +1 -0
  202. package/dist/tests/state.test.js +78 -0
  203. package/dist/tests/state.test.js.map +1 -0
  204. package/dist/tests/view.test.js +29 -0
  205. package/dist/tests/view.test.js.map +1 -1
  206. package/dist/tsconfig.json +24 -0
  207. package/dist/tsconfig.ref.json +9 -0
  208. package/dist/tsconfig.ref.tsbuildinfo +1 -1
  209. package/dist/utils.d.ts +3 -1
  210. package/dist/utils.d.ts.map +1 -1
  211. package/dist/utils.js +14 -23
  212. package/dist/utils.js.map +1 -1
  213. package/dist/webpack.config.d.ts +57 -0
  214. package/dist/webpack.config.d.ts.map +1 -0
  215. package/dist/webpack.config.js +75 -0
  216. package/dist/webpack.config.js.map +1 -0
  217. package/package.json +38 -13
  218. package/CHANGELOG.md +0 -8
  219. package/dist/models/backup.d.ts +0 -9
  220. package/dist/models/backup.d.ts.map +0 -1
  221. package/dist/models/backup.js +0 -278
  222. package/dist/models/backup.js.map +0 -1
  223. package/dist/models/pack.d.ts +0 -42
  224. package/dist/models/pack.d.ts.map +0 -1
  225. package/dist/models/pack.js +0 -419
  226. package/dist/models/pack.js.map +0 -1
  227. package/dist/models/tenant.d.ts +0 -17
  228. package/dist/models/tenant.d.ts.map +0 -1
  229. package/dist/models/tenant.js +0 -152
  230. package/dist/models/tenant.js.map +0 -1
  231. package/dist/tests/backup.test.d.ts +0 -2
  232. package/dist/tests/backup.test.d.ts.map +0 -1
  233. package/dist/tests/backup.test.js +0 -101
  234. package/dist/tests/backup.test.js.map +0 -1
  235. package/dist/tests/pack.test.d.ts +0 -2
  236. package/dist/tests/pack.test.d.ts.map +0 -1
  237. package/dist/tests/pack.test.js +0 -338
  238. package/dist/tests/pack.test.js.map +0 -1
  239. package/dist/tests/random.test.d.ts +0 -2
  240. package/dist/tests/random.test.d.ts.map +0 -1
  241. package/dist/tests/random.test.js +0 -149
  242. package/dist/tests/random.test.js.map +0 -1
  243. package/dist/tests/tenant.test.d.ts +0 -2
  244. package/dist/tests/tenant.test.d.ts.map +0 -1
  245. package/dist/tests/tenant.test.js +0 -52
  246. package/dist/tests/tenant.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../models/workflow.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,+DAA8D;AAM9D,+CAAuB;AAIvB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC5C,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,QAAQ;IAMZ;;;OAGG;IACH,YAAY,CAAc;QACxB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,IAAU,EAAE,GAAS;QAC7B,IAAI,GAAG;YAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;SACpC;QACD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACtE,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAEpC,IAAI,IAAI,CAAC,MAAM;oBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,WAAW;oBACnB,IAAI,CAAC,WAAW;wBACd,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;4BAC9B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;4BACjB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;gBAErC,OAAO;oBACL,UAAU,EAAE,IAAI;oBAChB,OAAO;oBACP,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,WAAW,EAAE,MAAM,GAAG,CAAC;oBACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;iBAChC,CAAC;aACH;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY;gBAC7B,CAAC,CAAC;oBACE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;wBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;wBACrC,GAAG,MAAM,CAAC,OAAO;qBAClB;iBACF;gBACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAEnB,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SAC3D;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACvB,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnD,+DAA+D;aAChE,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY;gBAC7B,CAAC,CAAC;oBACE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;wBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;wBACrC,GAAG,MAAM;qBACV;iBACF;gBACH,CAAC,CAAC,MAAM,CAAC;YACX,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SAC3D;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,OAAY,EAAE,MAAc;QACxC,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC/B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACnC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEvD,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SACtD;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAElD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAErE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAU,EAAE,EAAE;gBACjC,MAAM,QAAQ,GACZ,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY;oBACnC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAC1D,GAAG,CAAC,IAAI,CACT;oBACH,CAAC,CAAC,IAAI,CAAC,YAAY;wBACnB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;wBAC9C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxB,IACE,OAAO,QAAQ,KAAK,WAAW;oBAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,WAAW,EAC5C;oBACA,MAAM,KAAK,GACT,IAAA,6BAAc,EAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;wBACvC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACzB,CAAC,CAAC,QAAQ,CAAC;oBACf,IAAI,GAAG,CAAC,YAAY,EAAE;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;qBACxD;;wBAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;iBACtC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,WAAW;gBACnB,IAAI,CAAC,WAAW;oBACd,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;wBAC9B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;wBACjB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;YACrC,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,WAAW,EAAE,MAAM,GAAG,CAAC;gBACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;aAChC,CAAC;SACH;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACvB,MAAM,OAAO,GAAG;gBACd,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5C,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK;aACxB,CAAC;YACF,OAAO;gBACL,aAAa,EAAE;oBACb,OAAO;oBACP,OAAO;oBACP,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,WAAW,EAAE,YAAE,CAAC,UAAU,CAAC,WAAW;iBACvC;gBACD,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,WAAW,EAAE,MAAM,GAAG,CAAC;gBACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;aAChC,CAAC;SACH;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAS,EAAE,MAAc;QAC7B,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,MACnD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAC1D,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;IAC1B,CAAC;CACF;AAWD,iBAAS,QAAQ,CAAC"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../models/workflow.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,+DAA8D;AAM9D,+CAAuB;AAKvB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC5C,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,QAAQ;IAMZ;;;OAGG;IACH,YAAY,CAAc;QACxB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,IAAU,EAAE,GAAS;QACxC,IAAI,GAAG;YAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;SACpC;QACD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACtE,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAEpC,IAAI,IAAI,CAAC,MAAM;oBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,WAAW;oBACnB,IAAI,CAAC,WAAW;wBACd,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;4BAC9B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,UAAU;4BAChC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;gBAErC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;aAC3C;YACD,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,WAAW,EAAE,MAAM,GAAG,CAAC;gBACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC;SACH;IACH,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,IAAU,EAAE,GAAS;QAC7B,IAAI,GAAG;YAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;SACpC;QACD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACtE,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE;YACjB,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAEpC,IAAI,IAAI,CAAC,MAAM;oBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,WAAW;oBACnB,IAAI,CAAC,WAAW;wBACd,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;4BAC9B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,UAAU;4BAChC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;gBAErC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAE1C,OAAO;oBACL,UAAU,EAAE,IAAI;oBAChB,OAAO;oBACP,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,WAAW,EAAE,MAAM,GAAG,CAAC;oBACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;iBAChC,CAAC;aACH;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY;gBAC7B,CAAC,CAAC;oBACE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;wBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;wBACrC,GAAG,MAAM,CAAC,OAAO;qBAClB;iBACF;gBACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAEnB,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SAC3D;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACvB,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnD,+DAA+D;aAChE,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY;gBAC7B,CAAC,CAAC;oBACE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;wBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;wBACrC,GAAG,MAAM;qBACV;iBACF;gBACH,CAAC,CAAC,MAAM,CAAC;YACX,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SAC3D;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,OAAY,EAAE,MAAc;QACxC,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC/B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACnC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEvD,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;SACtD;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAElD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAErE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAU,EAAE,EAAE;gBACjC,MAAM,QAAQ,GACZ,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY;oBACnC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAC1D,GAAG,CAAC,IAAI,CACT;oBACH,CAAC,CAAC,IAAI,CAAC,YAAY;wBACnB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;wBAC9C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxB,IACE,OAAO,QAAQ,KAAK,WAAW;oBAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,WAAW,EAC5C;oBACA,MAAM,KAAK,GACT,IAAA,6BAAc,EAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;wBACvC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACzB,CAAC,CAAC,QAAQ,CAAC;oBACf,IAAI,GAAG,CAAC,YAAY,EAAE;wBACpB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;qBACxD;;wBAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;iBACtC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,WAAW;gBACnB,IAAI,CAAC,WAAW;oBACd,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;wBAC9B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,UAAU;wBAChC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;YAErC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1C,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,WAAW,EAAE,MAAM,GAAG,CAAC;gBACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;aAChC,CAAC;SACH;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACvB,MAAM,OAAO,GAAG;gBACd,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5C,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK;aACxB,CAAC;YACF,OAAO;gBACL,aAAa,EAAE;oBACb,OAAO;oBACP,OAAO;oBACP,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,WAAW,EAAE,YAAE,CAAC,UAAU,CAAC,WAAW;iBACvC;gBACD,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,WAAW,EAAE,MAAM,GAAG,CAAC;gBACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;aAChC,CAAC;SACH;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAS,EAAE,MAAc;QAC7B,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,MACnD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAC1D,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;IAC1B,CAAC;CACF;AAED,SAAS,oBAAoB,CAC3B,IAAU,EACV,IAAsB,EACtB,OAAY;IAEZ,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,2CAA2C;QAC3C,IAAI,CAAC,iBAAiB,GAAG;YACvB,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;YACjC;gBACE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;gBACtB,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,yBAAyB;gBAChC,OAAO,EAAE,+CAA+C,OAAO,CAAC,QAAQ,IAAI;aAC7E;SACF,CAAC;KACH;AACH,CAAC;AAUD,iBAAS,QAAQ,CAAC"}
@@ -0,0 +1,127 @@
1
+ {
2
+ "name": "@saltcorn/data",
3
+ "version": "0.7.2-beta.2",
4
+ "description": "Data models for Saltcorn, open-source no-code platform",
5
+ "homepage": "https://saltcorn.com",
6
+ "scripts": {
7
+ "test": "jest tests --runInBand",
8
+ "remote-queries-test": "REMOTE_QUERIES=true jest tests/exact_views.test.ts",
9
+ "tsc": "echo \"Error: no TypeScript support yet\"",
10
+ "clean": "echo \"Error: no TypeScript support yet\"",
11
+ "build": "webpack --mode development"
12
+ },
13
+ "author": "Tom Nielsen",
14
+ "license": "MIT",
15
+ "main": "dist/index.js",
16
+ "exports": {
17
+ ".": "./dist/index.js",
18
+ "./*": "./dist/*.js",
19
+ "./base-plugin/*": "./dist/base-plugin/*.js",
20
+ "./base-plugin": "./dist/base-plugin/index.js",
21
+ "./base-plugin/viewtemplate/*": "./dist/base-plugin/viewtemplate/*.js",
22
+ "./db/": "./dist/db/index.js",
23
+ "./db": "./dist/db/index.js",
24
+ "./db/*": "./dist/db/*.js",
25
+ "./models/*": "./dist/models/*.js"
26
+ },
27
+ "typesVersions": {
28
+ "*": {
29
+ "*": [
30
+ "dist/*",
31
+ "dist/db/*"
32
+ ]
33
+ }
34
+ },
35
+ "files": [
36
+ "dist/**/*"
37
+ ],
38
+ "optionalDependencies": {
39
+ "@saltcorn/postgres": "0.7.2-beta.2",
40
+ "@saltcorn/sqlite": "0.7.2-beta.2"
41
+ },
42
+ "dependencies": {
43
+ "@saltcorn/types": "0.7.2-beta.2",
44
+ "@saltcorn/markup": "0.7.2-beta.2",
45
+ "@saltcorn/db-common": "0.7.2-beta.2",
46
+ "@saltcorn/sqlite-mobile": "0.7.2-beta.0",
47
+ "acorn": "^8.0.3",
48
+ "astring": "^1.4.3",
49
+ "axios": "^0.26.1",
50
+ "bcryptjs": "^2.4.3",
51
+ "blockly": "^6.20210701.0",
52
+ "contractis": "^0.1.0",
53
+ "csvtojson": "^2.0.10",
54
+ "dateformat": "^3.0.3",
55
+ "dumb-passwords": "^0.2.1",
56
+ "email-validator": "^2.0.4",
57
+ "env-paths": "^2.2.0",
58
+ "estraverse": "^5.2.0",
59
+ "i18n": "^0.14.0",
60
+ "latest-version": "^5.1.0",
61
+ "moment": "^2.27.0",
62
+ "moment-timezone": "^0.5.33",
63
+ "node-fetch": "2.6.2",
64
+ "pluralize": "^8.0.0",
65
+ "tmp-promise": "^3.0.2",
66
+ "uuid": "^8.2.0",
67
+ "vm-browserify": "^1.1.2",
68
+ "buffer": "6.0.3",
69
+ "url": "0.11.0",
70
+ "util": "0.12.4",
71
+ "os-browserify": "0.3.0",
72
+ "path-browserify": "1.0.1",
73
+ "stream-browserify": "3.0.0",
74
+ "stream-http": "3.2.0",
75
+ "cordova-sqlite-storage": "^6.0.0",
76
+ "crypto-browserify": "3.12.0",
77
+ "https-browserify": "1.0.0",
78
+ "browserify-zlib": "0.2.0",
79
+ "nodemailer": "^6.4.17",
80
+ "mjml": "4.12.0"
81
+ },
82
+ "repository": "github:saltcorn/saltcorn",
83
+ "devDependencies": {
84
+ "@types/i18n": "^0.13.2",
85
+ "@types/bcryptjs": "^2.4.2",
86
+ "@types/csvtojson": "^2.0.0",
87
+ "@types/dateformat": "^5.0.0",
88
+ "@types/dumb-passwords": "^0.2.1",
89
+ "@types/estraverse": "^5.1.1",
90
+ "@types/jest": "^27.0.3",
91
+ "@types/jsonwebtoken": "^8.5.1",
92
+ "@types/mjml": "4.7.0",
93
+ "@types/node": "^16.11.12",
94
+ "@types/node-fetch": "2.5.12",
95
+ "@types/nodemailer": "^6.4.4",
96
+ "@types/uuid": "^8.3.3",
97
+ "chaos-guinea-pig": "^0.1.0",
98
+ "jest": "^27.1.0",
99
+ "jsonwebtoken": "^8.5.1",
100
+ "ts-jest": "^27.1.0",
101
+ "typescript": "^4.4.4",
102
+ "webpack": "5.68.0",
103
+ "webpack-cli": "4.9.2"
104
+ },
105
+ "jest": {
106
+ "preset": "ts-jest",
107
+ "testEnvironment": "node",
108
+ "modulePathIgnorePatterns": [
109
+ ".*\\.js$"
110
+ ],
111
+ "coveragePathIgnorePatterns": [
112
+ "/migrations/",
113
+ "/tests/"
114
+ ],
115
+ "moduleNameMapper": {
116
+ "@saltcorn/sqlite/(.*)": "@saltcorn/sqlite/dist/$1",
117
+ "@saltcorn/db-common/(.*)": "@saltcorn/db-common/dist/$1",
118
+ "@saltcorn/data/(.*)": "@saltcorn/data/dist/$1",
119
+ "@saltcorn/types/(.*)": "@saltcorn/types/dist/$1",
120
+ "@saltcorn/markup$": "@saltcorn/markup/dist",
121
+ "@saltcorn/markup/(.*)": "@saltcorn/markup/dist/$1"
122
+ }
123
+ },
124
+ "publishConfig": {
125
+ "access": "public"
126
+ }
127
+ }
@@ -5,7 +5,7 @@
5
5
  * @param {object} req
6
6
  * @returns {Promise<object[]>}
7
7
  */
8
- export const field_picker_fields: any;
8
+ export function field_picker_fields({ table, viewname, req }: Table | object): Promise<object[]>;
9
9
  /**
10
10
  * picked_fields_to_query Contract
11
11
  * @function
@@ -14,7 +14,7 @@ export const field_picker_fields: any;
14
14
  * @throws {InvalidConfiguration}
15
15
  * @returns {object}
16
16
  */
17
- export const picked_fields_to_query: any;
17
+ export function picked_fields_to_query(columns: object[], fields: Field[], layout: any): object;
18
18
  /**
19
19
  * get_child_views Contract
20
20
  * @function
@@ -22,7 +22,7 @@ export const picked_fields_to_query: any;
22
22
  * @param {string} viewname
23
23
  * @returns {Promise<object[]>}
24
24
  */
25
- export const get_child_views: any;
25
+ export function get_child_views(table: Table | object, viewname: string, nrecurse?: number): Promise<object[]>;
26
26
  /**
27
27
  * get_parent_views Contract
28
28
  * @function
@@ -30,7 +30,7 @@ export const get_child_views: any;
30
30
  * @param {string} viewname
31
31
  * @returns {Promise<object[]>}
32
32
  */
33
- export const get_parent_views: any;
33
+ export function get_parent_views(table: Table | object, viewname: string): Promise<object[]>;
34
34
  /**
35
35
  * @function
36
36
  * @param {object} opts
@@ -39,7 +39,11 @@ export const get_parent_views: any;
39
39
  * @param {boolean} [opts.approximate = true]
40
40
  * @returns {object}
41
41
  */
42
- export const stateFieldsToWhere: any;
42
+ export function stateFieldsToWhere({ fields, state, approximate }: {
43
+ fields: Field[];
44
+ state: object;
45
+ approximate?: boolean | undefined;
46
+ }): object;
43
47
  /**
44
48
  * @function
45
49
  * @param {object}
@@ -47,21 +51,21 @@ export const stateFieldsToWhere: any;
47
51
  * @param {string} - missing in contract
48
52
  * @returns {object}
49
53
  */
50
- export const stateFieldsToQuery: any;
54
+ export function stateFieldsToQuery({ state, fields, prefix }: object): object;
51
55
  /**
52
56
  * initial_config_all_fields Contract
53
57
  * @function
54
58
  * @param {boolean}
55
59
  * @returns {function}
56
60
  */
57
- export const initial_config_all_fields: any;
61
+ export function initial_config_all_fields(isEdit: any): Function;
58
62
  /**
59
63
  * @function
60
64
  * @param {Field[]} fields
61
65
  * @param {boolean}
62
66
  * @returns {object}
63
67
  */
64
- export const calcfldViewOptions: any;
68
+ export function calcfldViewOptions(fields: Field[], mode: any): object;
65
69
  /**
66
70
  * @function
67
71
  * @param {Table|object} table
@@ -69,8 +73,7 @@ export const calcfldViewOptions: any;
69
73
  * @param {boolean}
70
74
  * @returns {Promise<object[]>}
71
75
  */
72
- export const get_link_view_opts: any;
73
- import { is_column } from "./contracts";
76
+ export function get_link_view_opts(table: Table | object, viewname: string): Promise<object[]>;
74
77
  /**
75
78
  *
76
79
  * @param {object} state
@@ -90,7 +93,7 @@ export function readStateStrict(state: object, fields: object[]): boolean | any;
90
93
  * @param {object} [state]
91
94
  * @returns {string}
92
95
  */
93
- export const stateToQueryString: any;
96
+ export function stateToQueryString(state?: object | undefined): string;
94
97
  /**
95
98
  *
96
99
  * @param {string} url
@@ -119,7 +122,7 @@ export function getActionConfigFields(action: object, table: object): Promise<ob
119
122
  * @param {boolean}
120
123
  * @returns {Promise<object>}
121
124
  */
122
- export const calcfldViewConfig: any;
125
+ export function calcfldViewConfig(fields: Field[], isEdit: any, nrecurse?: number): Promise<object>;
123
126
  /**
124
127
  *
125
128
  * @param {string} x
@@ -141,5 +144,6 @@ export function run_action_column({ col, req, ...rest }: object): Promise<any>;
141
144
  * @returns {object}
142
145
  */
143
146
  export function json_list_to_external_table(get_json_list: Function, fields0: object[]): object;
144
- export { is_column };
147
+ import Table = require("./models/table");
148
+ import Field = require("./models/field");
145
149
  //# sourceMappingURL=plugin-helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-helper.d.ts","sourceRoot":"","sources":["../plugin-helper.js"],"names":[],"mappings":"AA6VA;;;;;;GAMG;AACH,sCAqbE;AA0IF;;;;;;;GAOG;AACH,yCAqJE;AArSF;;;;;;GAMG;AACH,kCA6CE;AAEF;;;;;;GAMG;AACH,mCAiCE;AAyPF;;;;;;;GAOG;AACH,qCAsEE;AA9HF;;;;;;GAMG;AACH,qCA2BE;AA8FF;;;;;GAKG;AACH,4CA6GE;AAjsCF;;;;;GAKG;AACH,qCA4FE;AA8CF;;;;;;GAMG;AACH,qCAqEE;;AAi/BF;;;;;GAKG;AACH,iCAJW,MAAM,UACN,MAAM,EAAE,aACN,MAAM,CAwBlB;AAED;;;;;GAKG;AACH,uCAJW,MAAM,UACN,MAAM,EAAE,GACN,OAAO,MAAE,CA4BrB;AAnyCD;;;;GAIG;AACH,qCAiBE;AA1FF;;;;;;;;;;;;;GAaG;AACH,4CAXW,MAAM,4SASJ,UAAQ,CAsDpB;AAwPD;;;;;GAKG;AACH,8CAJW,MAAM,SACN,MAAM,GACJ,QAAQ,MAAM,EAAE,CAAC,CAKC;AAnI/B;;;;;GAKG;AACH,oCAoCE;AAqjCF;;;;GAIG;AACH,kCAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CAK5B;AA0ID;;;;;;GAMG;AACH,yDALW,MAAM,GAGJ,YAAU,CAiBtB;AA/FD;;;;;GAKG;AACH,8EAHW,MAAM,EAAE,GACN,MAAM,CAmElB"}
1
+ {"version":3,"file":"plugin-helper.d.ts","sourceRoot":"","sources":["../plugin-helper.js"],"names":[],"mappings":"AA+TA;;;;;;GAMG;AACH,8DALW,KAAK,GAAC,MAAM,GAGV,QAAQ,MAAM,EAAE,CAAC,CAib7B;AA8FD;;;;;;;GAOG;AACH,gDALW,MAAM,EAAE,UACR,KAAK,EAAE,gBAEL,MAAM,CA8IlB;AAhPD;;;;;;GAMG;AACH,uCAJW,KAAK,GAAC,MAAM,YACZ,MAAM,sBACJ,QAAQ,MAAM,EAAE,CAAC,CAiC7B;AAED;;;;;;GAMG;AACH,wCAJW,KAAK,GAAC,MAAM,YACZ,MAAM,GACJ,QAAQ,MAAM,EAAE,CAAC,CAoB7B;AA6ND;;;;;;;GAOG;AACH;IALyB,MAAM,EAApB,KAAK,EAAE;IACM,KAAK,EAAlB,MAAM;IACS,WAAW;IACxB,MAAM,CA0HlB;AA5KD;;;;;;GAMG;AACH,8DALW,MAAM,GAGJ,MAAM,CAyBlB;AAgJD;;;;;GAKG;AACH,iEAqGG;AAzpCH;;;;;GAKG;AACH,2CAJW,KAAK,EAAE,cAEL,MAAM,CAuFlB;AAwCD;;;;;;GAMG;AACH,0CALW,KAAK,GAAC,MAAM,YACZ,MAAM,GAEJ,QAAQ,MAAM,EAAE,CAAC,CAiE7B;AA49BD;;;;;GAKG;AACH,iCAJW,MAAM,UACN,MAAM,EAAE,aACN,MAAM,CAwBlB;AAED;;;;;GAKG;AACH,uCAJW,MAAM,UACN,MAAM,EAAE,GACN,OAAO,MAAE,CA4BrB;AAtvCD;;;;GAIG;AACH,gEAFa,MAAM,CAclB;AArFD;;;;;;;;;;;;;GAaG;AACH,4CAXW,MAAM,4SASJ,UAAQ,CAsDpB;AAgOD;;;;;GAKG;AACH,8CAJW,MAAM,SACN,MAAM,GACJ,QAAQ,MAAM,EAAE,CAAC,CAKC;AAvH/B;;;;;GAKG;AACH,0CAJW,KAAK,EAAE,mCAEL,QAAQ,MAAM,CAAC,CAgC3B;AA0hCD;;;;GAIG;AACH,kCAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CAK5B;AA0ID;;;;;;GAMG;AACH,yDALW,MAAM,GAGJ,YAAU,CAiBtB;AA/FD;;;;;GAKG;AACH,8EAHW,MAAM,EAAE,GACN,MAAM,CAmElB"}
@@ -10,13 +10,12 @@ const Table = require("./models/table");
10
10
  const Trigger = require("./models/trigger");
11
11
  const { getState } = require("./db/state");
12
12
  const db = require("./db");
13
- const { contract, is } = require("contractis");
14
- const { fieldlike, is_table_query, is_column, is_tablely, } = require("./contracts");
15
13
  const { link } = require("@saltcorn/markup");
16
14
  const { button, a, label, text, i } = require("@saltcorn/markup/tags");
17
15
  const { applyAsync, InvalidConfiguration } = require("./utils");
18
16
  const { jsexprToWhere, freeVariables } = require("./models/expression");
19
17
  const { traverse } = require("./models/layout");
18
+ const { isNode } = require("./utils");
20
19
  /**
21
20
  *
22
21
  * @param {string} url
@@ -52,7 +51,7 @@ const link_view = (url0, label, popup, link_style = "", link_size = "", link_ico
52
51
  extraClass,
53
52
  ],
54
53
  type: "button",
55
- onClick: `ajax_modal('${url}')`,
54
+ onClick: isNode() ? `ajax_modal('${url}')` : `mobile_modal('${url}')`,
56
55
  style,
57
56
  }, link_icon ? i({ class: link_icon }) + "&nbsp;" : "", label);
58
57
  }
@@ -68,24 +67,22 @@ const link_view = (url0, label, popup, link_style = "", link_size = "", link_ico
68
67
  * @param {object} [state]
69
68
  * @returns {string}
70
69
  */
71
- const stateToQueryString = contract(is.fun(is.maybe(is.obj()), is.str), (state) => {
70
+ const stateToQueryString = (state) => {
72
71
  if (!state || Object.keys(state).length === 0)
73
72
  return "";
74
73
  return ("?" +
75
74
  Object.entries(state)
76
- .map(([k, v]) => k === "id"
77
- ? null
78
- : `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
75
+ .map(([k, v]) => k === "id" ? null : `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
79
76
  .filter((s) => !!s)
80
77
  .join("&"));
81
- });
78
+ };
82
79
  /**
83
80
  * @function
84
81
  * @param {Field[]} fields
85
82
  * @param {boolean}
86
83
  * @returns {object}
87
84
  */
88
- const calcfldViewOptions = contract(is.fun([is.array(is.class("Field")), is.str], is.obj({ field_view_options: is.objVals(is.array(is.str)) })), (fields, mode) => {
85
+ const calcfldViewOptions = (fields, mode) => {
89
86
  const isEdit = mode === "edit";
90
87
  const isFilter = mode === "filter";
91
88
  let fvs = {};
@@ -170,14 +167,14 @@ const calcfldViewOptions = contract(is.fun([is.array(is.class("Field")), is.str]
170
167
  }
171
168
  });
172
169
  return { field_view_options: fvs, handlesTextStyle, blockDisplay };
173
- });
170
+ };
174
171
  /**
175
172
  * @function
176
173
  * @param {Field[]} fields
177
174
  * @param {boolean}
178
175
  * @returns {Promise<object>}
179
176
  */
180
- const calcfldViewConfig = contract(is.fun([is.array(is.class("Field")), is.bool], is.promise(is.obj())), async (fields, isEdit, nrecurse = 2) => {
177
+ const calcfldViewConfig = async (fields, isEdit, nrecurse = 2) => {
181
178
  const fieldViewConfigForms = {};
182
179
  for (const f of fields) {
183
180
  f.fill_table();
@@ -202,7 +199,7 @@ const calcfldViewConfig = contract(is.fun([is.array(is.class("Field")), is.bool]
202
199
  }
203
200
  }
204
201
  return fieldViewConfigForms;
205
- });
202
+ };
206
203
  /**
207
204
  * @function
208
205
  * @param {Table|object} table
@@ -210,7 +207,7 @@ const calcfldViewConfig = contract(is.fun([is.array(is.class("Field")), is.bool]
210
207
  * @param {boolean}
211
208
  * @returns {Promise<object[]>}
212
209
  */
213
- const get_link_view_opts = contract(is.fun([is_tablely, is.str], is.promise(is.array(is.obj({ label: is.str, name: is.str })))), async (table, viewname) => {
210
+ const get_link_view_opts = async (table, viewname) => {
214
211
  const own_link_views = await View.find_possible_links_to_table(table);
215
212
  const link_view_opts = own_link_views
216
213
  .filter((v) => v.name !== viewname)
@@ -227,7 +224,7 @@ const get_link_view_opts = contract(is.fun([is_tablely, is.str], is.promise(is.a
227
224
  for (const view of views) {
228
225
  if (through && throughTable) {
229
226
  link_view_opts_push({
230
- name: `ChildList:${view.name}.${related_table.name}.${relation.name}.${throughTable.name}.${through.name}`,
227
+ name: `ChildList:${view.name}.${throughTable.name}.${through.name}.${related_table.name}.${relation.name}`,
231
228
  label: `${view.name} [${view.viewtemplate} ${related_table.name}.${relation.name}.${through.name}]`,
232
229
  });
233
230
  }
@@ -265,7 +262,7 @@ const get_link_view_opts = contract(is.fun([is_tablely, is.str], is.promise(is.a
265
262
  });
266
263
  });
267
264
  return link_view_opts;
268
- });
265
+ };
269
266
  /**
270
267
  * Get Action configuration fields
271
268
  * @param {object} action
@@ -282,7 +279,7 @@ const getActionConfigFields = async (action, table) => typeof action.configField
282
279
  * @param {object} req
283
280
  * @returns {Promise<object[]>}
284
281
  */
285
- const field_picker_fields = contract(is.fun(is.obj({ table: is_tablely, viewname: is.str }), is.promise(is.array(fieldlike))), async ({ table, viewname, req }) => {
282
+ const field_picker_fields = async ({ table, viewname, req }) => {
286
283
  const __ = (...s) => (req ? req.__(...s) : s.join(""));
287
284
  const fields = await table.getFields();
288
285
  for (const field of fields) {
@@ -701,7 +698,7 @@ const field_picker_fields = contract(is.fun(is.obj({ table: is_tablely, viewname
701
698
  },
702
699
  },
703
700
  ];
704
- });
701
+ };
705
702
  /**
706
703
  * get_child_views Contract
707
704
  * @function
@@ -709,11 +706,7 @@ const field_picker_fields = contract(is.fun(is.obj({ table: is_tablely, viewname
709
706
  * @param {string} viewname
710
707
  * @returns {Promise<object[]>}
711
708
  */
712
- const get_child_views = contract(is.fun([is_tablely, is.maybe(is.str)], is.promise(is.array(is.obj({
713
- relation: is.class("Field"),
714
- related_table: is.class("Table"),
715
- views: is.array(is.class("View")),
716
- })))), async (table, viewname, nrecurse = 2) => {
709
+ const get_child_views = async (table, viewname, nrecurse = 2) => {
717
710
  const rels = await Field.find({ reftable_name: table.name });
718
711
  const possibleThroughTables = new Set();
719
712
  var child_views = [];
@@ -740,7 +733,7 @@ const get_child_views = contract(is.fun([is_tablely, is.maybe(is.str)], is.promi
740
733
  });
741
734
  }
742
735
  return child_views;
743
- });
736
+ };
744
737
  /**
745
738
  * get_parent_views Contract
746
739
  * @function
@@ -748,35 +741,26 @@ const get_child_views = contract(is.fun([is_tablely, is.maybe(is.str)], is.promi
748
741
  * @param {string} viewname
749
742
  * @returns {Promise<object[]>}
750
743
  */
751
- const get_parent_views = contract(is.fun([is_tablely, is.str], is.promise(is.array(is.obj({
752
- relation: is.class("Field"),
753
- related_table: is.class("Table"),
754
- views: is.array(is.class("View")),
755
- })))), async (table, viewname) => {
744
+ const get_parent_views = async (table, viewname) => {
756
745
  var parent_views = [];
757
746
  const parentrels = (await table.getFields()).filter((f) => f.is_fkey && f.type !== "File");
758
747
  for (const relation of parentrels) {
759
748
  const related_table = await Table.findOne({
760
749
  name: relation.reftable_name,
761
750
  });
762
- const views = await View.find_table_views_where(related_table, ({ state_fields, viewrow }) => viewrow.name !== viewname &&
763
- state_fields.some((sf) => sf.name === "id"));
751
+ const views = await View.find_table_views_where(related_table, ({ state_fields, viewrow }) => viewrow.name !== viewname && state_fields.some((sf) => sf.name === "id"));
764
752
  parent_views.push({ relation, related_table, views });
765
753
  }
766
754
  return parent_views;
767
- });
755
+ };
768
756
  /**
769
757
  * get_onetoone_views Contract
770
758
  * @function
771
- * @param {Table|is_tablely} table
759
+ * @param {Table} table
772
760
  * @param {string} viewname
773
761
  * @returns {Promise<object[]>}
774
762
  */
775
- const get_onetoone_views = contract(is.fun([is_tablely, is.str], is.promise(is.array(is.obj({
776
- relation: is.class("Field"),
777
- related_table: is.class("Table"),
778
- views: is.array(is.class("View")),
779
- })))), async (table, viewname) => {
763
+ const get_onetoone_views = async (table, viewname) => {
780
764
  const rels = await Field.find({
781
765
  reftable_name: table.name,
782
766
  is_unique: true,
@@ -784,12 +768,11 @@ const get_onetoone_views = contract(is.fun([is_tablely, is.str], is.promise(is.a
784
768
  var child_views = [];
785
769
  for (const relation of rels) {
786
770
  const related_table = await Table.findOne({ id: relation.table_id });
787
- const views = await View.find_table_views_where(related_table.id, ({ state_fields, viewrow }) => viewrow.name !== viewname &&
788
- state_fields.some((sf) => sf.name === "id"));
771
+ const views = await View.find_table_views_where(related_table.id, ({ state_fields, viewrow }) => viewrow.name !== viewname && state_fields.some((sf) => sf.name === "id"));
789
772
  child_views.push({ relation, related_table, views });
790
773
  }
791
774
  return child_views;
792
- });
775
+ };
793
776
  /**
794
777
  * picked_fields_to_query Contract
795
778
  * @function
@@ -798,7 +781,7 @@ const get_onetoone_views = contract(is.fun([is_tablely, is.str], is.promise(is.a
798
781
  * @throws {InvalidConfiguration}
799
782
  * @returns {object}
800
783
  */
801
- const picked_fields_to_query = contract(is.fun([is.array(is_column), is.array(is.class("Field"))], is_table_query), (columns, fields, layout) => {
784
+ const picked_fields_to_query = (columns, fields, layout) => {
802
785
  var joinFields = {};
803
786
  var aggregations = {};
804
787
  let freeVars = new Set(); // for join fields
@@ -848,10 +831,7 @@ const picked_fields_to_query = contract(is.fun([is.array(is_column), is.array(is
848
831
  }
849
832
  else if (column.type === "ViewLink") {
850
833
  if (column.view_label_formula)
851
- freeVars = new Set([
852
- ...freeVars,
853
- ...freeVariables(column.view_label),
854
- ]);
834
+ freeVars = new Set([...freeVars, ...freeVariables(column.view_label)]);
855
835
  if (column.extra_state_fml)
856
836
  freeVars = new Set([
857
837
  ...freeVars,
@@ -897,10 +877,7 @@ const picked_fields_to_query = contract(is.fun([is.array(is_column), is.array(is
897
877
  freeVars = new Set([...freeVars, ...freeVariables(column.link_url)]);
898
878
  }
899
879
  else if (column.type === "Action" && column.action_label_formula) {
900
- freeVars = new Set([
901
- ...freeVars,
902
- ...freeVariables(column.action_label),
903
- ]);
880
+ freeVars = new Set([...freeVars, ...freeVariables(column.action_label)]);
904
881
  }
905
882
  });
906
883
  if (layout) {
@@ -947,7 +924,7 @@ const picked_fields_to_query = contract(is.fun([is.array(is_column), is.array(is
947
924
  }
948
925
  });
949
926
  return { joinFields, aggregations };
950
- });
927
+ };
951
928
  /**
952
929
  * @function
953
930
  * @param {object}
@@ -955,7 +932,7 @@ const picked_fields_to_query = contract(is.fun([is.array(is_column), is.array(is
955
932
  * @param {string} - missing in contract
956
933
  * @returns {object}
957
934
  */
958
- const stateFieldsToQuery = contract(is.fun(is.obj(), is.obj()), ({ state, fields, prefix = "" }) => {
935
+ const stateFieldsToQuery = ({ state, fields, prefix = "" }) => {
959
936
  let q = {};
960
937
  const stateKeys = Object.keys(state);
961
938
  if (state._sortby) {
@@ -980,7 +957,7 @@ const stateFieldsToQuery = contract(is.fun(is.obj(), is.obj()), ({ state, fields
980
957
  q.orderBy = { distance: { lat, long, latField, longField } };
981
958
  }
982
959
  return q;
983
- });
960
+ };
984
961
  /**
985
962
  *
986
963
  * @param {object} container
@@ -1002,14 +979,15 @@ const addOrCreateList = (container, key, x) => {
1002
979
  * @param {boolean} [opts.approximate = true]
1003
980
  * @returns {object}
1004
981
  */
1005
- const stateFieldsToWhere = contract(is.fun(is.obj({
1006
- fields: is.array(is.class("Field")),
1007
- approximate: is.maybe(is.bool),
1008
- }), is.obj()), ({ fields, state, approximate = true }) => {
982
+ const stateFieldsToWhere = ({ fields, state, approximate = true }) => {
1009
983
  var qstate = {};
1010
984
  Object.entries(state).forEach(([k, v]) => {
1011
985
  if (k === "_fts") {
1012
- qstate[k] = { searchTerm: v.replace(/\0/g, ""), fields };
986
+ qstate[k] = {
987
+ searchTerm: v.replace(/\0/g, ""),
988
+ fields,
989
+ schema: db.getTenantSchema(),
990
+ };
1013
991
  return;
1014
992
  }
1015
993
  const field = fields.find((fld) => fld.name == k);
@@ -1049,12 +1027,47 @@ const stateFieldsToWhere = contract(is.fun(is.obj({
1049
1027
  else if (field && field.type.name === "Bool" && state[k] === "?") {
1050
1028
  // omit
1051
1029
  }
1030
+ else if (typeof v === "object" &&
1031
+ Object.keys(v).length === 1 &&
1032
+ field?.type?.name === "JSON") {
1033
+ qstate[k] = [
1034
+ ...(qstate[k] ? [qstate[k]] : []),
1035
+ {
1036
+ // where jFieldNm in (select id from jtnm where lblField=v)
1037
+ json: [Object.keys(v)[0], Object.values(v)[0]],
1038
+ },
1039
+ ];
1040
+ }
1052
1041
  else if (field && field.type && field.type.read)
1053
1042
  qstate[k] = Array.isArray(v)
1054
1043
  ? { or: v.map(field.type.read) }
1055
1044
  : field.type.read(v);
1056
1045
  else if (field)
1057
1046
  qstate[k] = v;
1047
+ else if (k.includes("->")) {
1048
+ // jFieldNm.jtnm->lblField
1049
+ // where jFieldNm in (select id from jtnm where lblField=v)
1050
+ const [jFieldNm, krest] = k.split(".");
1051
+ const [jtNm, lblField] = krest.split("->");
1052
+ let where = { [db.sqlsanitize(lblField)]: v };
1053
+ const jTable = Table.findOne({ name: jtNm });
1054
+ const lblFld = (jTable.fields || []).find((f) => f.name === lblField);
1055
+ if (lblFld &&
1056
+ lblFld.type?.name === "String" &&
1057
+ !lblFld.attributes?.options)
1058
+ where = { [db.sqlsanitize(lblField)]: { ilike: v } };
1059
+ qstate[jFieldNm] = [
1060
+ ...(qstate[jFieldNm] ? [qstate[jFieldNm]] : []),
1061
+ {
1062
+ // where jFieldNm in (select id from jtnm where lblField=v)
1063
+ inSelect: {
1064
+ table: `${db.getTenantSchemaPrefix()}"${db.sqlsanitize(jtNm)}"`,
1065
+ field: "id",
1066
+ where,
1067
+ },
1068
+ },
1069
+ ];
1070
+ }
1058
1071
  else if (k.includes(".")) {
1059
1072
  const kpath = k.split(".");
1060
1073
  if (kpath.length === 3) {
@@ -1071,17 +1084,33 @@ const stateFieldsToWhere = contract(is.fun(is.obj({
1071
1084
  },
1072
1085
  ];
1073
1086
  }
1087
+ else if (kpath.length === 4) {
1088
+ const [jtNm, jFieldNm, tblName, lblField] = kpath;
1089
+ qstate.id = [
1090
+ ...(qstate.id ? [qstate.id] : []),
1091
+ {
1092
+ // where id in (select jFieldNm from jtnm where lblField=v)
1093
+ inSelect: {
1094
+ table: `${db.getTenantSchemaPrefix()}"${db.sqlsanitize(jtNm)}"`,
1095
+ field: db.sqlsanitize(jFieldNm),
1096
+ valField: "id",
1097
+ through: `${db.getTenantSchemaPrefix()}"${db.sqlsanitize(tblName)}"`,
1098
+ where: { [db.sqlsanitize(lblField)]: v },
1099
+ },
1100
+ },
1101
+ ];
1102
+ }
1074
1103
  }
1075
1104
  });
1076
1105
  return qstate;
1077
- });
1106
+ };
1078
1107
  /**
1079
1108
  * initial_config_all_fields Contract
1080
1109
  * @function
1081
1110
  * @param {boolean}
1082
1111
  * @returns {function}
1083
1112
  */
1084
- const initial_config_all_fields = contract(is.fun(is.bool, is.fun(is.obj({ table_id: is.posint }), is.promise(is.obj({ columns: is.array(is.obj()), layout: is.obj() })))), (isEdit) => async ({ table_id, exttable_name }) => {
1113
+ const initial_config_all_fields = (isEdit) => async ({ table_id, exttable_name }) => {
1085
1114
  const table = await Table.findOne(table_id ? { id: table_id } : { name: exttable_name });
1086
1115
  const fields = (await table.getFields()).filter((f) => !f.primary_key && (!isEdit || !f.calculated));
1087
1116
  var cfg = { columns: [] };
@@ -1173,7 +1202,7 @@ const initial_config_all_fields = contract(is.fun(is.bool, is.fun(is.obj({ table
1173
1202
  });
1174
1203
  cfg.layout = { above: aboves };
1175
1204
  return cfg;
1176
- });
1205
+ };
1177
1206
  /**
1178
1207
  *
1179
1208
  * @param {string} x
@@ -1348,7 +1377,6 @@ module.exports = {
1348
1377
  initial_config_all_fields,
1349
1378
  calcfldViewOptions,
1350
1379
  get_link_view_opts,
1351
- is_column,
1352
1380
  readState,
1353
1381
  readStateStrict,
1354
1382
  stateToQueryString,