@antelopejs/dms 0.15.0 → 0.16.0

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 (354) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +36 -26
  3. package/bin/control/base.mjs +9 -4
  4. package/bin/control/browser-client.mjs +24 -5
  5. package/bin/control/browser-wire.mjs +41 -0
  6. package/bin/control/browser-wire.test.mjs +96 -0
  7. package/bin/control/browser.mjs +78 -27
  8. package/bin/control/commands-stack.mjs +58 -8
  9. package/bin/control/commands-verify.mjs +47 -1
  10. package/bin/control/doctor.mjs +49 -4
  11. package/bin/control/failure.mjs +9 -0
  12. package/bin/control/journey.mjs +163 -30
  13. package/bin/control/journey.test.mjs +61 -0
  14. package/bin/control/json.mjs +229 -0
  15. package/bin/control/json.test.mjs +130 -0
  16. package/bin/control/mail.mjs +57 -7
  17. package/bin/control/mail.test.mjs +55 -0
  18. package/bin/control/mongo.mjs +205 -27
  19. package/bin/control/mongo.test.mjs +298 -0
  20. package/bin/control/options.mjs +33 -0
  21. package/bin/control/processes.mjs +24 -2
  22. package/bin/control/renderer.mjs +39 -0
  23. package/bin/control/renderer.test.mjs +324 -0
  24. package/bin/control/run-state.mjs +119 -6
  25. package/bin/control/run-state.test.mjs +171 -0
  26. package/bin/control/session.mjs +31 -14
  27. package/bin/control/stack.mjs +96 -24
  28. package/bin/control/tab.mjs +117 -18
  29. package/bin/control/verify/behaviour.mjs +44 -6
  30. package/bin/control/verify/behaviour.test.mjs +130 -22
  31. package/bin/control/verify/decode.mjs +220 -0
  32. package/bin/control/verify/decode.test.mjs +245 -0
  33. package/bin/control/verify/doors.mjs +1 -1
  34. package/bin/control/verify/doors.test.mjs +40 -0
  35. package/bin/control/verify/emit.mjs +135 -9
  36. package/bin/control/verify/formal.mjs +61 -10
  37. package/bin/control/verify/formal.test.mjs +19 -3
  38. package/bin/control/verify/judgement.mjs +22 -3
  39. package/bin/control/verify/map.mjs +25 -5
  40. package/bin/control/verify/publish.mjs +20 -14
  41. package/bin/control/verify/seeded.mjs +65 -16
  42. package/bin/control/verify/skill.mjs +27 -6
  43. package/bin/control/verify/types.mjs +29 -0
  44. package/bin/control/verify/verdict.mjs +72 -7
  45. package/bin/dms-control.mjs +8 -28
  46. package/checks/api-error-presentation.d.mts +61 -0
  47. package/dist/attachments/access.js +1 -1
  48. package/dist/attachments/access.js.map +1 -1
  49. package/dist/attachments/fields.d.ts +2 -2
  50. package/dist/attachments/fields.js +26 -13
  51. package/dist/attachments/fields.js.map +1 -1
  52. package/dist/attachments/index.d.ts +1 -0
  53. package/dist/attachments/index.js +1 -0
  54. package/dist/attachments/index.js.map +1 -1
  55. package/dist/attachments/read.js.map +1 -1
  56. package/dist/attachments/save.d.ts +1 -1
  57. package/dist/attachments/save.js +49 -17
  58. package/dist/attachments/save.js.map +1 -1
  59. package/dist/attachments/table-view.d.ts +1 -2
  60. package/dist/attachments/table-view.js +23 -13
  61. package/dist/attachments/table-view.js.map +1 -1
  62. package/dist/automation/events.d.ts +10 -10
  63. package/dist/automation/index.js +3 -4
  64. package/dist/automation/index.js.map +1 -1
  65. package/dist/automation/send-notification.d.ts +2 -2
  66. package/dist/automation/send-notification.js +4 -6
  67. package/dist/automation/send-notification.js.map +1 -1
  68. package/dist/config/internal/state.d.ts +7 -0
  69. package/dist/config/internal/state.js +9 -0
  70. package/dist/config/internal/state.js.map +1 -1
  71. package/dist/config/startup-config.d.ts +1 -0
  72. package/dist/config/startup-config.js +11 -0
  73. package/dist/config/startup-config.js.map +1 -1
  74. package/dist/crons/cleanup-user-invites.js.map +1 -1
  75. package/dist/crons/sweep-expired-sessions.js.map +1 -1
  76. package/dist/crons/sweep-stale-exports.js.map +1 -1
  77. package/dist/db/guard-row.d.ts +2 -3
  78. package/dist/db/guard-row.js +1 -2
  79. package/dist/db/guard-row.js.map +1 -1
  80. package/dist/db/index.d.ts +1 -0
  81. package/dist/db/index.js +1 -0
  82. package/dist/db/index.js.map +1 -1
  83. package/dist/db/models/attachments.model.d.ts +7 -5
  84. package/dist/db/models/index.d.ts +1 -0
  85. package/dist/db/models/index.js +1 -0
  86. package/dist/db/models/index.js.map +1 -1
  87. package/dist/db/models/setupToken.model.d.ts +31 -0
  88. package/dist/db/models/setupToken.model.js +62 -0
  89. package/dist/db/models/setupToken.model.js.map +1 -0
  90. package/dist/db/models/signInAttempts.model.d.ts +7 -5
  91. package/dist/db/models/systemState.model.d.ts +7 -5
  92. package/dist/db/models/userEmailChanges.model.d.ts +7 -5
  93. package/dist/db/models/userKnownDevices.model.d.ts +7 -5
  94. package/dist/db/models/userNotificationPreferences.model.d.ts +7 -5
  95. package/dist/db/models/userNotifications.model.d.ts +9 -6
  96. package/dist/db/models/userNotifications.model.js.map +1 -1
  97. package/dist/db/setup-token.d.ts +2 -0
  98. package/dist/db/setup-token.js +28 -0
  99. package/dist/db/setup-token.js.map +1 -0
  100. package/dist/db/tables/index.d.ts +1 -0
  101. package/dist/db/tables/index.js +1 -0
  102. package/dist/db/tables/index.js.map +1 -1
  103. package/dist/db/tables/setupToken.table.d.ts +7 -0
  104. package/dist/db/tables/setupToken.table.js +34 -0
  105. package/dist/db/tables/setupToken.table.js.map +1 -0
  106. package/dist/dev/module-update-notifications.js.map +1 -1
  107. package/dist/hooks/internal/sign-in-monitor.js +6 -6
  108. package/dist/hooks/internal/sign-in-monitor.js.map +1 -1
  109. package/dist/implementations/dms/page/controller.d.ts +2 -2
  110. package/dist/implementations/dms/page/controller.js +3 -1
  111. package/dist/implementations/dms/page/controller.js.map +1 -1
  112. package/dist/implementations/dms/page/dynamic-menu.js +3 -2
  113. package/dist/implementations/dms/page/dynamic-menu.js.map +1 -1
  114. package/dist/implementations/dms/page/notifications.d.ts +6 -2
  115. package/dist/implementations/dms/page/notifications.js +1 -0
  116. package/dist/implementations/dms/page/notifications.js.map +1 -1
  117. package/dist/implementations/dms/page/payloads.js +6 -10
  118. package/dist/implementations/dms/page/payloads.js.map +1 -1
  119. package/dist/implementations/dms/page/preview-pages.js +6 -3
  120. package/dist/implementations/dms/page/preview-pages.js.map +1 -1
  121. package/dist/implementations/dms/page/public-layout.d.ts +2 -0
  122. package/dist/implementations/dms/page/public-layout.js +45 -0
  123. package/dist/implementations/dms/page/public-layout.js.map +1 -0
  124. package/dist/implementations/dms/page/registry.js +10 -4
  125. package/dist/implementations/dms/page/registry.js.map +1 -1
  126. package/dist/implementations/dms/permissions.js +12 -12
  127. package/dist/implementations/dms/permissions.js.map +1 -1
  128. package/dist/implementations/dms-base/bulk-selection.d.ts +3 -4
  129. package/dist/implementations/dms-base/bulk-selection.js +18 -6
  130. package/dist/implementations/dms-base/bulk-selection.js.map +1 -1
  131. package/dist/implementations/dms-base/filter-tokens.js.map +1 -1
  132. package/dist/implementations/dms-base/footer-summary.js +44 -27
  133. package/dist/implementations/dms-base/footer-summary.js.map +1 -1
  134. package/dist/implementations/dms-base/row-rule-operand.d.ts +6 -0
  135. package/dist/implementations/dms-base/row-rule-operand.js +41 -0
  136. package/dist/implementations/dms-base/row-rule-operand.js.map +1 -0
  137. package/dist/implementations/dms-base/search-route.d.ts +9 -13
  138. package/dist/implementations/dms-base/search-route.js +7 -6
  139. package/dist/implementations/dms-base/search-route.js.map +1 -1
  140. package/dist/implementations/dms-base/services.d.ts +1 -0
  141. package/dist/implementations/dms-base/services.js +1 -0
  142. package/dist/implementations/dms-base/services.js.map +1 -1
  143. package/dist/implementations/dms-base/table-view.d.ts +5 -6
  144. package/dist/implementations/dms-base/table-view.js +17 -6
  145. package/dist/implementations/dms-base/table-view.js.map +1 -1
  146. package/dist/implementations/dms-html-render/index.js +16 -6
  147. package/dist/implementations/dms-html-render/index.js.map +1 -1
  148. package/dist/implementations/dms-notifications/delivery-guard.d.ts +3 -2
  149. package/dist/implementations/dms-notifications/delivery-guard.js.map +1 -1
  150. package/dist/implementations/dms-notifications/index.js.map +1 -1
  151. package/dist/index.d.ts +0 -1
  152. package/dist/index.js +6 -2
  153. package/dist/index.js.map +1 -1
  154. package/dist/pages/public/preview/block-types.d.ts +1 -2
  155. package/dist/pages/public/preview/block-types.js.map +1 -1
  156. package/dist/pages/settings/overview/account-summary.js +4 -1
  157. package/dist/pages/settings/overview/account-summary.js.map +1 -1
  158. package/dist/pages/settings/users/account-activity-feed.js +3 -2
  159. package/dist/pages/settings/users/account-activity-feed.js.map +1 -1
  160. package/dist/pages/settings/users/account-credentials.d.ts +1 -1
  161. package/dist/pages/settings/users/account-credentials.js +1 -2
  162. package/dist/pages/settings/users/account-credentials.js.map +1 -1
  163. package/dist/pages/settings/users/account-data-store.d.ts +1 -1
  164. package/dist/pages/settings/users/account-data-store.js +1 -3
  165. package/dist/pages/settings/users/account-data-store.js.map +1 -1
  166. package/dist/pages/settings/users/current-password.js +1 -1
  167. package/dist/pages/settings/users/current-password.js.map +1 -1
  168. package/dist/pages/settings/users/email-change.d.ts +2 -2
  169. package/dist/pages/settings/users/email-change.js +2 -3
  170. package/dist/pages/settings/users/email-change.js.map +1 -1
  171. package/dist/pages/settings/users/invite-extension-routes.d.ts +2 -2
  172. package/dist/pages/settings/users/invite-extension-routes.js +11 -4
  173. package/dist/pages/settings/users/invite-extension-routes.js.map +1 -1
  174. package/dist/pages/settings/users/invites.d.ts +2 -2
  175. package/dist/pages/settings/users/member-invite-batch.d.ts +2 -2
  176. package/dist/pages/settings/users/member-invite-batch.js +7 -3
  177. package/dist/pages/settings/users/member-invite-batch.js.map +1 -1
  178. package/dist/pages/settings/users/member-roles-field.js +1 -4
  179. package/dist/pages/settings/users/member-roles-field.js.map +1 -1
  180. package/dist/pages/settings/users/members.d.ts +2 -3
  181. package/dist/pages/settings/users/members.js.map +1 -1
  182. package/dist/pages/settings/users/notifications.d.ts +2 -3
  183. package/dist/pages/settings/users/notifications.js +2 -1
  184. package/dist/pages/settings/users/notifications.js.map +1 -1
  185. package/dist/pages/settings/users/profile-helpers.d.ts +0 -1
  186. package/dist/pages/settings/users/profile-helpers.js +0 -17
  187. package/dist/pages/settings/users/profile-helpers.js.map +1 -1
  188. package/dist/pages/settings/users/profile.d.ts +3 -4
  189. package/dist/pages/settings/users/profile.js +12 -12
  190. package/dist/pages/settings/users/profile.js.map +1 -1
  191. package/dist/pages/settings/users/region.d.ts +3 -4
  192. package/dist/pages/settings/users/region.js.map +1 -1
  193. package/dist/pages/settings/users/regional-preferences.d.ts +8 -1
  194. package/dist/pages/settings/users/regional-preferences.js +10 -6
  195. package/dist/pages/settings/users/regional-preferences.js.map +1 -1
  196. package/dist/pages/settings/users/role-preview.js +3 -2
  197. package/dist/pages/settings/users/role-preview.js.map +1 -1
  198. package/dist/pages/settings/users/roles.d.ts +4 -5
  199. package/dist/pages/settings/users/roles.js.map +1 -1
  200. package/dist/pages/settings/users/security.d.ts +9 -12
  201. package/dist/pages/settings/users/security.js +11 -9
  202. package/dist/pages/settings/users/security.js.map +1 -1
  203. package/dist/pages/settings/users/two-factor-operations.d.ts +7 -7
  204. package/dist/pages/settings/users/two-factor-operations.js +5 -7
  205. package/dist/pages/settings/users/two-factor-operations.js.map +1 -1
  206. package/dist/realtime/broker.js.map +1 -1
  207. package/dist/realtime/heartbeat.js.map +1 -1
  208. package/dist/realtime/redis-broker.js.map +1 -1
  209. package/dist/realtime/sessions.js.map +1 -1
  210. package/dist/realtime/sse.js +1 -2
  211. package/dist/realtime/sse.js.map +1 -1
  212. package/dist/routes/auth/forgot-password.d.ts +1 -1
  213. package/dist/routes/auth/forgot-password.js +1 -3
  214. package/dist/routes/auth/forgot-password.js.map +1 -1
  215. package/dist/routes/auth/login.d.ts +2 -2
  216. package/dist/routes/auth/login.js +8 -4
  217. package/dist/routes/auth/login.js.map +1 -1
  218. package/dist/routes/auth/logout.d.ts +1 -1
  219. package/dist/routes/auth/logout.js +1 -2
  220. package/dist/routes/auth/logout.js.map +1 -1
  221. package/dist/routes/auth/oauth/providers.js +30 -6
  222. package/dist/routes/auth/oauth/providers.js.map +1 -1
  223. package/dist/routes/auth/oauth/state.js +8 -5
  224. package/dist/routes/auth/oauth/state.js.map +1 -1
  225. package/dist/routes/auth/oauth/token-exchange.js +8 -1
  226. package/dist/routes/auth/oauth/token-exchange.js.map +1 -1
  227. package/dist/routes/auth/password-hash-upgrade.d.ts +2 -0
  228. package/dist/routes/auth/password-hash-upgrade.js +22 -0
  229. package/dist/routes/auth/password-hash-upgrade.js.map +1 -0
  230. package/dist/routes/auth/refresh.d.ts +1 -1
  231. package/dist/routes/auth/refresh.js +1 -2
  232. package/dist/routes/auth/refresh.js.map +1 -1
  233. package/dist/routes/auth/request-2fa-email.d.ts +1 -1
  234. package/dist/routes/auth/request-2fa-email.js +1 -2
  235. package/dist/routes/auth/request-2fa-email.js.map +1 -1
  236. package/dist/routes/auth/reset-password.d.ts +1 -1
  237. package/dist/routes/auth/reset-password.js +1 -3
  238. package/dist/routes/auth/reset-password.js.map +1 -1
  239. package/dist/routes/auth/session-handoff.d.ts +1 -1
  240. package/dist/routes/auth/session-handoff.js +1 -2
  241. package/dist/routes/auth/session-handoff.js.map +1 -1
  242. package/dist/routes/auth/signup.d.ts +1 -1
  243. package/dist/routes/auth/signup.js +1 -2
  244. package/dist/routes/auth/signup.js.map +1 -1
  245. package/dist/routes/auth/switch-tenant.d.ts +2 -3
  246. package/dist/routes/auth/switch-tenant.js +3 -2
  247. package/dist/routes/auth/switch-tenant.js.map +1 -1
  248. package/dist/routes/auth/validate-forgot-password-token.d.ts +1 -1
  249. package/dist/routes/auth/validate-forgot-password-token.js +1 -3
  250. package/dist/routes/auth/validate-forgot-password-token.js.map +1 -1
  251. package/dist/routes/auth/validate-invite-token.d.ts +1 -1
  252. package/dist/routes/auth/validate-invite-token.js +1 -3
  253. package/dist/routes/auth/validate-invite-token.js.map +1 -1
  254. package/dist/routes/auth/verify-2fa.d.ts +1 -1
  255. package/dist/routes/auth/verify-2fa.js +1 -2
  256. package/dist/routes/auth/verify-2fa.js.map +1 -1
  257. package/dist/routes/auth/verify-email.d.ts +1 -1
  258. package/dist/routes/auth/verify-email.js +1 -2
  259. package/dist/routes/auth/verify-email.js.map +1 -1
  260. package/dist/routes/auth.d.ts +14 -15
  261. package/dist/routes/auth.js +15 -13
  262. package/dist/routes/auth.js.map +1 -1
  263. package/dist/routes/authentication.d.ts +2 -0
  264. package/dist/routes/authentication.js +2 -0
  265. package/dist/routes/authentication.js.map +1 -1
  266. package/dist/routes/files.d.ts +1 -2
  267. package/dist/routes/files.js.map +1 -1
  268. package/dist/routes/onboarding.d.ts +4 -3
  269. package/dist/routes/onboarding.js +20 -3
  270. package/dist/routes/onboarding.js.map +1 -1
  271. package/dist/routes/realtime.js +5 -6
  272. package/dist/routes/realtime.js.map +1 -1
  273. package/dist/routes/store.d.ts +6 -7
  274. package/dist/routes/store.js +19 -13
  275. package/dist/routes/store.js.map +1 -1
  276. package/dist/store/catalog.d.ts +13 -5
  277. package/dist/store/catalog.js +19 -9
  278. package/dist/store/catalog.js.map +1 -1
  279. package/dist/store/compatibility.d.ts +1 -0
  280. package/dist/store/compatibility.js +24 -8
  281. package/dist/store/compatibility.js.map +1 -1
  282. package/dist/store/frontend-compatibility.js +15 -3
  283. package/dist/store/frontend-compatibility.js.map +1 -1
  284. package/dist/store/interfaces.js +35 -13
  285. package/dist/store/interfaces.js.map +1 -1
  286. package/dist/store/internal/frontend/frontend-modules.js +7 -3
  287. package/dist/store/internal/frontend/frontend-modules.js.map +1 -1
  288. package/dist/store/internal/frontend/frontend-ready.d.ts +2 -1
  289. package/dist/store/internal/frontend/frontend-ready.js +6 -4
  290. package/dist/store/internal/frontend/frontend-ready.js.map +1 -1
  291. package/dist/store/internal/frontend/manifest.js +6 -7
  292. package/dist/store/internal/frontend/manifest.js.map +1 -1
  293. package/dist/store/operations.js.map +1 -1
  294. package/dist/store/registry.js.map +1 -1
  295. package/dist/store/runtime.d.ts +13 -0
  296. package/dist/store/runtime.js +9 -1
  297. package/dist/store/runtime.js.map +1 -1
  298. package/dist/utils/admin-invite-email.js +3 -1
  299. package/dist/utils/admin-invite-email.js.map +1 -1
  300. package/dist/utils/email-subjects.js +3 -1
  301. package/dist/utils/email-subjects.js.map +1 -1
  302. package/dist/utils/ensure-default-tenant.d.ts +2 -1
  303. package/dist/utils/ensure-default-tenant.js +126 -8
  304. package/dist/utils/ensure-default-tenant.js.map +1 -1
  305. package/dist/utils/export-jobs-run.js.map +1 -1
  306. package/dist/utils/export-jobs.js +3 -9
  307. package/dist/utils/export-jobs.js.map +1 -1
  308. package/dist/utils/index.d.ts +1 -0
  309. package/dist/utils/index.js +1 -0
  310. package/dist/utils/index.js.map +1 -1
  311. package/dist/utils/own-value.d.ts +1 -0
  312. package/dist/utils/own-value.js +7 -0
  313. package/dist/utils/own-value.js.map +1 -0
  314. package/dist/utils/row-action-rule-evaluator.js +31 -35
  315. package/dist/utils/row-action-rule-evaluator.js.map +1 -1
  316. package/dist/utils/sign-in-country.js +4 -2
  317. package/dist/utils/sign-in-country.js.map +1 -1
  318. package/dist/utils/tenant-export-archive.js +9 -14
  319. package/dist/utils/tenant-export-archive.js.map +1 -1
  320. package/dist/utils/user-agent.js +2 -1
  321. package/dist/utils/user-agent.js.map +1 -1
  322. package/dist/validation/auth.schema.d.ts +10 -10
  323. package/dist/validation/onboarding/register-admin.schema.d.ts +5 -0
  324. package/dist/validation/onboarding/register-admin.schema.js +3 -0
  325. package/dist/validation/onboarding/register-admin.schema.js.map +1 -1
  326. package/dist/validation/regional-preferences.schema.d.ts +2 -2
  327. package/dist/validation/role-editor.schema.d.ts +1 -1
  328. package/frontend-vue/build/backend-boundary.ts +49 -18
  329. package/frontend-vue/dms.frontend.ts +8 -12
  330. package/frontend-vue/layers/dms-auth/server/accounts.ts +44 -3
  331. package/frontend-vue/layers/dms-auth/server/actions.ts +17 -4
  332. package/frontend-vue/layers/dms-auth/server/oauth.ts +42 -4
  333. package/frontend-vue/layers/dms-core/app/types/watch.ts +1 -2
  334. package/frontend-vue/layers/dms-core/i18n/locales/core-en-GB.json +1 -0
  335. package/frontend-vue/layers/dms-core/i18n/locales/core-fr-FR.json +1 -0
  336. package/frontend-vue/layers/dms-core/shared/types/app-config.ts +5 -0
  337. package/frontend-vue/layers/dms-layout/app/app.config.ts +1 -0
  338. package/frontend-vue/layers/dms-layout/app/build/components/layout/DashboardSidebar.vue +9 -9
  339. package/frontend-vue/layers/dms-layout/app/components/layout/AppLogo.vue +1 -0
  340. package/frontend-vue/layers/dms-layout/app/composables/page/useInstalledModules.ts +78 -0
  341. package/frontend-vue/layers/dms-layout/app/custom-pages/modules.vue +5 -24
  342. package/frontend-vue/layers/dms-layout/i18n/locales/layout-en-GB.json +2 -1
  343. package/frontend-vue/layers/dms-layout/i18n/locales/layout-fr-FR.json +2 -1
  344. package/frontend-vue/layers/dms-onboarding/app/components/onboarding/steps/register.vue +21 -1
  345. package/frontend-vue/layers/dms-onboarding/app/custom-pages/onboarding.vue +14 -0
  346. package/frontend-vue/layers/dms-onboarding/i18n/locales/onboarding-en-GB.json +2 -0
  347. package/frontend-vue/layers/dms-onboarding/i18n/locales/onboarding-fr-FR.json +2 -0
  348. package/frontend-vue/layers/dms-ui/app/build/composables/form/fieldValueRule.ts +57 -6
  349. package/frontend-vue/layers/dms-ui/app/build/composables/form/registerFormFunctions.ts +7 -9
  350. package/frontend-vue/layers/dms-ui/app/entries/composables/form/registerFormFunctions.ts +1 -0
  351. package/frontend-vue/lazy-plugin.ts +18 -0
  352. package/frontend-vue/package.json +2 -2
  353. package/package.json +19 -13
  354. package/skills/dms-project/SKILL.md +4 -3
@@ -4,12 +4,19 @@ exports.SaveTableViewAttachments = SaveTableViewAttachments;
4
4
  const interface_data_api_1 = require("@antelopejs/interface-data-api");
5
5
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
6
6
  const db_1 = require("../db");
7
+ const own_value_1 = require("../utils/own-value");
7
8
  const guards_1 = require("@antelopejs/interface-dms/base/table-view/internal/guards");
8
9
  const meta_1 = require("@antelopejs/interface-dms/base/table-view/internal/meta");
9
10
  const bindings_1 = require("./bindings");
10
11
  const fields_1 = require("./fields");
11
12
  const registry_1 = require("./registry");
12
13
  const save_1 = require("./save");
14
+ function isFieldHolder(row) {
15
+ return typeof row === "object" && row !== null;
16
+ }
17
+ function isSavedRow(result) {
18
+ return typeof result === "object" && result !== null && "_id" in result;
19
+ }
13
20
  async function loadDocument(controller, fields, id) {
14
21
  const meta = (0, interface_data_api_1.GetDataControllerMeta)(controller);
15
22
  const idField = (0, meta_1.getTableViewMetaFor)(controller).options.rowIdKey || "_id";
@@ -18,16 +25,14 @@ async function loadDocument(controller, fields, id) {
18
25
  return undefined;
19
26
  const stored = (0, interface_database_decorators_1.fromPlainData)(row, meta.tableClass);
20
27
  (0, interface_database_decorators_1.unlock)(stored, interface_database_decorators_1.LocalizationModifier, undefined, "*");
28
+ if (!isFieldHolder(stored)) {
29
+ throw new TypeError(`A stored ${meta.tableName} row is not an object`);
30
+ }
21
31
  return Object.fromEntries([idField, ...fields.map((field) => field.key)].map((key) => [
22
32
  key,
23
33
  stored[meta.fields[key]?.dbName || key],
24
34
  ]));
25
35
  }
26
- function retainedFiles(fields, before) {
27
- return Object.fromEntries(fields
28
- .filter((field) => (0, fields_1.collectAttachments)([field], before).length > 0)
29
- .map((field) => [field.key, before[field.key]]));
30
- }
31
36
  async function SaveTableViewAttachments(request) {
32
37
  const { controller, route, context, params, args, mode, componentIds } = request;
33
38
  const fields = (0, bindings_1.tableAttachmentFields)((0, meta_1.getTableViewMetaFor)(controller), (0, meta_1.getControllerLocation)(controller));
@@ -44,28 +49,33 @@ async function SaveTableViewAttachments(request) {
44
49
  fields,
45
50
  before,
46
51
  submitted: {
47
- ...retainedFiles(fields, before),
52
+ ...Object.fromEntries(fields
53
+ .filter((field) => (0, fields_1.collectAttachments)([field], before).length > 0)
54
+ .map((field) => [field.key, (0, own_value_1.ownValue)(before, field.key)])),
48
55
  ...(0, guards_1.parseGuardBody)(args[0]),
49
56
  },
50
57
  }, async (promoted) => {
51
58
  const result = await route.func.call(controller, context, params, promoted, ...args.slice(1));
52
- const id = documentId || result?._id;
59
+ const id = documentId || (isSavedRow(result) ? result._id : undefined);
53
60
  if (typeof id !== "string" || !id)
54
61
  (0, registry_1.denyAttachment)();
55
62
  const document = await loadDocument(controller, fields, id);
56
63
  if (!document)
57
64
  (0, registry_1.denyAttachment)();
58
- return { id, document, result };
65
+ return { id, document, result: undefined };
59
66
  });
60
67
  }
61
68
  async function deleteDocuments(request) {
62
69
  const { controller, route, context, params, args, fields, componentIds } = request;
63
70
  const ids = params.id;
64
71
  const rows = await Promise.all((Array.isArray(ids) ? ids : [ids]).map((id) => loadDocument(controller, fields, String(id))));
65
- const before = Object.fromEntries(fields.map((field) => [field.key, rows.map((row) => row?.[field.key])]));
66
- return (0, save_1.SaveComponentFiles)({ context, componentIds, fields, before, submitted: {} }, async () => ({
67
- result: await route.func.call(controller, context, params, ...args),
68
- document: {},
69
- }));
72
+ const before = Object.fromEntries(fields.map((field) => [
73
+ field.key,
74
+ rows.map((row) => (row ? (0, own_value_1.ownValue)(row, field.key) : undefined)),
75
+ ]));
76
+ return (0, save_1.SaveComponentFiles)({ context, componentIds, fields, before, submitted: {} }, async () => {
77
+ await route.func.call(controller, context, params, ...args);
78
+ return { result: undefined, document: {} };
79
+ });
70
80
  }
71
81
  //# sourceMappingURL=table-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-view.js","sourceRoot":"","sources":["../../src/attachments/table-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-view.js","sourceRoot":"","sources":["../../src/attachments/table-view.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  import type { TriggerType } from "@antelopejs/interface-dms-automation";
2
- export interface MemberAddedEvent {
2
+ export type MemberAddedEvent = {
3
3
  tenantId: string;
4
4
  userId: string;
5
5
  isTenantOwner: boolean;
6
6
  deliveryId?: string;
7
7
  at: string;
8
- }
9
- export interface MemberRemovedEvent {
8
+ };
9
+ export type MemberRemovedEvent = {
10
10
  tenantId: string;
11
11
  userIds: string[];
12
12
  at: string;
13
- }
14
- export interface InviteCreatedEvent {
13
+ };
14
+ export type InviteCreatedEvent = {
15
15
  tenantId: string;
16
16
  inviteId: string;
17
17
  email: string;
@@ -19,21 +19,21 @@ export interface InviteCreatedEvent {
19
19
  roleIds: string[];
20
20
  deliveryId?: string;
21
21
  at: string;
22
- }
23
- export interface UserRegisteredEvent {
22
+ };
23
+ export type UserRegisteredEvent = {
24
24
  tenantId: string;
25
25
  userId: string;
26
26
  email: string;
27
27
  name: string;
28
28
  at: string;
29
- }
30
- export interface RecordMutationEvent {
29
+ };
30
+ export type RecordMutationEvent = {
31
31
  location: string;
32
32
  ids: string[];
33
33
  actorId?: string;
34
34
  actorName?: string;
35
35
  at: string;
36
- }
36
+ };
37
37
  interface AutomationEventPayloads {
38
38
  "dms.member-added": MemberAddedEvent;
39
39
  "dms.member-removed": MemberRemovedEvent;
@@ -47,9 +47,8 @@ const AUTOMATION_INTERFACE_PACKAGE = "@antelopejs/interface-dms-automation";
47
47
  let automationInterfacePromise;
48
48
  const automationLifecycle = new registration_lifecycle_1.AutomationRegistrationLifecycle();
49
49
  function isMissingAutomationInterface(error) {
50
- const moduleError = error;
51
- const firstLine = moduleError?.message?.split("\n", 1)[0] ?? "";
52
- return (["MODULE_NOT_FOUND", "ERR_MODULE_NOT_FOUND"].includes(moduleError?.code ?? "") &&
50
+ const firstLine = error.message.split("\n", 1)[0] ?? "";
51
+ return (["MODULE_NOT_FOUND", "ERR_MODULE_NOT_FOUND"].includes(error.code ?? "") &&
53
52
  (firstLine === `Cannot find module '${AUTOMATION_INTERFACE_PACKAGE}'` ||
54
53
  firstLine.startsWith(`Cannot find package '${AUTOMATION_INTERFACE_PACKAGE}' imported from `)));
55
54
  }
@@ -58,7 +57,7 @@ async function loadAutomationInterface() {
58
57
  return await Promise.resolve().then(() => __importStar(require("@antelopejs/interface-dms-automation")));
59
58
  }
60
59
  catch (error) {
61
- if (isMissingAutomationInterface(error))
60
+ if (error instanceof Error && isMissingAutomationInterface(error))
62
61
  return undefined;
63
62
  throw error;
64
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/automation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/automation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,0DAkBC;AAED,8DAaC;AAvFD,uCAAoC;AACpC,qEAA2E;AAC3E,uCAGmB;AACnB,yCAAsC;AAEtC,2CAAyB;AAEzB,MAAM,4BAA4B,GAAG,sCAAsC,CAAC;AAS5E,IAAI,0BAAoE,CAAC;AACzE,MAAM,mBAAmB,GAAG,IAAI,wDAA+B,EAAE,CAAC;AAElE,SAAS,4BAA4B,CAAC,KAAsB;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,OAAO,CACL,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QACvE,CAAC,SAAS,KAAK,uBAAuB,4BAA4B,GAAG;YACnE,SAAS,CAAC,UAAU,CAClB,wBAAwB,4BAA4B,kBAAkB,CACvE,CAAC,CACL,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB;IAGpC,IAAI,CAAC;QACH,OAAO,wDAAa,sCAAsC,GAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,4BAA4B,CAAC,KAAK,CAAC;YAC/D,OAAO,SAAS,CAAC;QACnB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB;IAC7B,0BAA0B,KAAK,uBAAuB,EAAE,CAAC;IACzD,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAMM,KAAK,UAAU,uBAAuB;IAC3C,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC3D,IAAI,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE;QAAE,OAAO;IAE7E,IAAI,CAAC;QACH,IAAA,uCAA6B,GAAE,CAAC;QAChC,KAAK,MAAM,OAAO,IAAI,mBAAQ,EAAE,CAAC;YAC/B,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,iBAAO,EAAE,CAAC;YAC7B,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAC/B,sBAAsB,CAAC,mBAAmB,CAAC,CAC5C,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,yBAAyB;IAC7C,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC3D,IAAI,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,gBAAgB;QAAE,OAAO;IAE1E,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAC9C,sBAAsB,CAAC,mBAAmB,CAAC,CAC5C,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,cAAc,CACtB,MAAM,EACN,2CAA2C,CAC5C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,mBAAwC;IAExC,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,mBAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,iBAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,mBAAmB,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,IAAA,0CAAgC,GAAE,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,4CAA0B;AAC1B,2DAAyC;AACzC,sDAAoC;AACpC,6CAA2B"}
@@ -14,8 +14,8 @@ interface SendNotificationInput {
14
14
  linkTo?: string;
15
15
  idempotencyKey?: string;
16
16
  }
17
- interface SendNotificationOutput {
17
+ type SendNotificationOutput = {
18
18
  ok: boolean;
19
- }
19
+ };
20
20
  export declare const sendNotificationAction: ActionType<SendNotificationInput, SendNotificationOutput>;
21
21
  export {};
@@ -15,17 +15,15 @@ exports.NOTIFICATION_TONES = [
15
15
  "warning",
16
16
  "error",
17
17
  ];
18
- function isPlainObject(value) {
19
- return typeof value === "object" && value !== null && !Array.isArray(value);
20
- }
21
18
  function isNotificationTone(value) {
22
19
  const tones = exports.NOTIFICATION_TONES;
23
20
  return tones.includes(value);
24
21
  }
25
- function toNotificationParams(params, ctx) {
22
+ function toNotificationParams(input, ctx) {
23
+ const { params } = input;
26
24
  if (params === undefined || params === null)
27
25
  return undefined;
28
- if (!isPlainObject(params)) {
26
+ if (typeof params !== "object" || Array.isArray(params)) {
29
27
  throw new Error(`${exports.SEND_NOTIFICATION_ACTION_ID}: params must be an object of strings and numbers`);
30
28
  }
31
29
  const result = {};
@@ -68,7 +66,7 @@ function toSendOptions(idempotencyKey, ctx) {
68
66
  };
69
67
  }
70
68
  function buildNotification(input, ctx) {
71
- const params = toNotificationParams(input.params, ctx);
69
+ const params = toNotificationParams(input, ctx);
72
70
  const tone = toTone(input.tone);
73
71
  const linkTo = input.linkTo?.trim();
74
72
  const data = {
@@ -1 +1 @@
1
- {"version":3,"file":"send-notification.js","sourceRoot":"","sources":["../../src/automation/send-notification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-notification.js","sourceRoot":"","sources":["../../src/automation/send-notification.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,11 @@ export interface LoginPrefillConfig {
48
48
  email: string;
49
49
  password: string;
50
50
  }
51
+ export interface ProvisioningLeaseConfig {
52
+ renewEveryMs: number;
53
+ staleAfterMs: number;
54
+ pollEveryMs: number;
55
+ }
51
56
  export interface Config {
52
57
  auth?: AuthConfig;
53
58
  htmlRender?: HtmlRenderConfig;
@@ -61,12 +66,14 @@ export interface Config {
61
66
  frontend?: FrontendConfig;
62
67
  store?: StoreConfig;
63
68
  docsPreview?: boolean;
69
+ provisioningLease?: Partial<ProvisioningLeaseConfig>;
64
70
  }
65
71
  export declare const DEFAULT_ACCESS_TOKEN_LIFETIME = 3600000;
66
72
  export declare const DEFAULT_MAX_UPLOAD_SIZE: number;
67
73
  export declare const DEFAULT_CLIENT_BASE_URL = "http://localhost:3001";
68
74
  export declare const DEFAULT_API_BASE_URL = "http://127.0.0.1:5010";
69
75
  export declare function getConfig(): Config;
76
+ export declare function getProvisioningLeaseConfig(): ProvisioningLeaseConfig;
70
77
  export declare function setDevClientBaseUrl(url: string): void;
71
78
  export declare function getClientBaseUrl(): string | undefined;
72
79
  export declare function setDevApiBaseUrl(url: string | undefined): void;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_API_BASE_URL = exports.DEFAULT_CLIENT_BASE_URL = exports.DEFAULT_MAX_UPLOAD_SIZE = exports.DEFAULT_ACCESS_TOKEN_LIFETIME = void 0;
4
4
  exports.getConfig = getConfig;
5
+ exports.getProvisioningLeaseConfig = getProvisioningLeaseConfig;
5
6
  exports.setDevClientBaseUrl = setDevClientBaseUrl;
6
7
  exports.getClientBaseUrl = getClientBaseUrl;
7
8
  exports.setDevApiBaseUrl = setDevApiBaseUrl;
@@ -54,6 +55,14 @@ let devApiBaseUrl;
54
55
  function getConfig() {
55
56
  return globalConfig;
56
57
  }
58
+ const DEFAULT_PROVISIONING_LEASE = {
59
+ renewEveryMs: 10 * time_1.MILLISECONDS_PER_SECOND,
60
+ staleAfterMs: time_1.MILLISECONDS_PER_MINUTE,
61
+ pollEveryMs: 5 * time_1.MILLISECONDS_PER_SECOND,
62
+ };
63
+ function getProvisioningLeaseConfig() {
64
+ return { ...DEFAULT_PROVISIONING_LEASE, ...globalConfig.provisioningLease };
65
+ }
57
66
  function setDevClientBaseUrl(url) {
58
67
  devClientBaseUrl = url;
59
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/config/internal/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/config/internal/state.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export declare function assertProductionSecrets(): void;
2
2
  export declare function resolveClientBaseUrl(raw: string | undefined, dev: boolean): string;
3
+ export declare function resolveConfiguredSetupToken(): string | undefined;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assertProductionSecrets = assertProductionSecrets;
4
4
  exports.resolveClientBaseUrl = resolveClientBaseUrl;
5
+ exports.resolveConfiguredSetupToken = resolveConfiguredSetupToken;
5
6
  const state_1 = require("./internal/state");
6
7
  const PUBLIC_DEVELOPMENT_SECRET = "dev";
7
8
  const HTTP_PROTOCOLS = ["http:", "https:"];
@@ -59,4 +60,14 @@ function resolveClientBaseUrl(raw, dev) {
59
60
  return state_1.DEFAULT_CLIENT_BASE_URL;
60
61
  throw new Error("[DMS] clientBaseUrl is required in production (set it from DMS_CLIENT_BASE_URL in the DMS templates): e-mail links, payment redirects and CORS start from the dashboard's origin, and the development one is localhost.");
61
62
  }
63
+ const MIN_SETUP_TOKEN_LENGTH = 16;
64
+ function resolveConfiguredSetupToken() {
65
+ const value = process.env.DMS_SETUP_TOKEN?.trim();
66
+ if (!value)
67
+ return undefined;
68
+ if (value.length < MIN_SETUP_TOKEN_LENGTH) {
69
+ throw new Error(`[DMS] DMS_SETUP_TOKEN must be at least ${MIN_SETUP_TOKEN_LENGTH} characters: it is the only proof that the first owner registration comes from whoever deployed the instance.`);
70
+ }
71
+ return value;
72
+ }
62
73
  //# sourceMappingURL=startup-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startup-config.js","sourceRoot":"","sources":["../../src/config/startup-config.ts"],"names":[],"mappings":";;AA8CA,0DAMC;AAkCD,oDAUC;AAhGD,4CAI0B;AAG1B,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAExC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,MAAM,SAAS,GAAG,GAAG,CAAC;AAUtB,MAAM,kBAAkB,GAAuB;IAC7C;QACE,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,iCAAiC;QACzC,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAA,qBAAa,GAAE,CAAC,SAAS;KACtC;IACD;QACE,OAAO,EAAE,0BAA0B;QACnC,MAAM,EAAE,kEAAkE;QAC1E,OAAO,EAAE,8DAA8D;QACvE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAA,2BAAmB,GAAE,CAAC,aAAa;KAChD;CACF,CAAC;AAEF,SAAS,cAAc,CAAC,KAAyB;IAC/C,MAAM,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC7B,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,yBAAyB,CAAC;AACzD,CAAC;AAQD,SAAgB,uBAAuB;IACrC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,CAAC,OAAO,2CAA2C,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,OAAO,sBAAsB,yBAAyB,iCAAiC,CACpL,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,OAAO,IAAI,KAAK,CACd,yIAAyI,GAAG,IAAI,CACjJ,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,QAAQ,GACZ,GAAG,CAAC,QAAQ,KAAK,SAAS;QAC1B,CAAC,GAAG,CAAC,MAAM;QACX,CAAC,GAAG,CAAC,IAAI;QACT,CAAC,GAAG,CAAC,QAAQ;QACb,CAAC,GAAG,CAAC,QAAQ,CAAC;IAChB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxD,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AASD,SAAgB,oBAAoB,CAClC,GAAuB,EACvB,GAAY;IAEZ,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAI,KAAK;QAAE,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,GAAG;QAAE,OAAO,+BAAuB,CAAC;IACxC,MAAM,IAAI,KAAK,CACb,yNAAyN,CAC1N,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"startup-config.js","sourceRoot":"","sources":["../../src/config/startup-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup-user-invites.js","sourceRoot":"","sources":["../../src/crons/cleanup-user-invites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup-user-invites.js","sourceRoot":"","sources":["../../src/crons/cleanup-user-invites.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sweep-expired-sessions.js","sourceRoot":"","sources":["../../src/crons/sweep-expired-sessions.ts"],"names":[],"mappings":";;;;;;AAWA,0DAKC;AAED,oEASC;AA3BD,gEAA6D;AAC7D,6FAAqE;AACrE,0DAAiE;AACjE,0DAAqD;AACrD,sCAA0C;AAE7B,QAAA,gCAAgC,GAAG,wBAAwB,CAAC;AAEzE,MAAM,+BAA+B,GAAG,YAAY,CAAC;AAG9C,KAAK,UAAU,uBAAuB,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE;IAC5D,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,GAAG,CAAC,OAAO,EAAE,GAAG,IAAA,sBAAa,GAAE,CAAC,oBAAoB,CACrD,CAAC;IACF,MAAM,IAAA,wCAAQ,EAAC,iBAAY,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,4BAA4B;IAC1C,OAAO,mBAAI,CAAC,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzD,KAAK,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7C,iBAAO,CAAC,KAAK,CACX,SAAS,wCAAgC,WAAW,EACpD,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"sweep-expired-sessions.js","sourceRoot":"","sources":["../../src/crons/sweep-expired-sessions.ts"],"names":[],"mappings":";;;;;;AAWA,0DAKC;AAED,oEASC;AA3BD,gEAA6D;AAC7D,6FAAqE;AACrE,0DAAiE;AACjE,0DAAqD;AACrD,sCAA0C;AAE7B,QAAA,gCAAgC,GAAG,wBAAwB,CAAC;AAEzE,MAAM,+BAA+B,GAAG,YAAY,CAAC;AAG9C,KAAK,UAAU,uBAAuB,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE;IAC5D,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,GAAG,CAAC,OAAO,EAAE,GAAG,IAAA,sBAAa,GAAE,CAAC,oBAAoB,CACrD,CAAC;IACF,MAAM,IAAA,wCAAQ,EAAC,iBAAY,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,4BAA4B;IAC1C,OAAO,mBAAI,CAAC,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzD,KAAK,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACtD,iBAAO,CAAC,KAAK,CACX,SAAS,wCAAgC,WAAW,EACpD,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sweep-stale-exports.js","sourceRoot":"","sources":["../../src/crons/sweep-stale-exports.ts"],"names":[],"mappings":";;;;;;AAQA,oDAEC;AAED,8DAMC;AAlBD,gEAA6D;AAC7D,0DAAqD;AACrD,oCAAsE;AAEzD,QAAA,6BAA6B,GAAG,qBAAqB,CAAC;AAEnE,MAAM,4BAA4B,GAAG,WAAW,CAAC;AAE1C,KAAK,UAAU,oBAAoB;IACxC,MAAM,IAAA,mCAA2B,EAAC,qBAAa,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,yBAAyB;IACvC,OAAO,mBAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtD,KAAK,oBAAoB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1C,iBAAO,CAAC,KAAK,CAAC,SAAS,qCAA6B,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"sweep-stale-exports.js","sourceRoot":"","sources":["../../src/crons/sweep-stale-exports.ts"],"names":[],"mappings":";;;;;;AAQA,oDAEC;AAED,8DAMC;AAlBD,gEAA6D;AAC7D,0DAAqD;AACrD,oCAAsE;AAEzD,QAAA,6BAA6B,GAAG,qBAAqB,CAAC;AAEnE,MAAM,4BAA4B,GAAG,WAAW,CAAC;AAE1C,KAAK,UAAU,oBAAoB;IACxC,MAAM,IAAA,mCAA2B,EAAC,qBAAa,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,yBAAyB;IACvC,OAAO,mBAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtD,KAAK,oBAAoB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACnD,iBAAO,CAAC,KAAK,CAAC,SAAS,qCAA6B,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,2 @@
1
- import { evaluateRowActionRule } from "../utils";
2
- export type RuleRow = globalThis.Parameters<typeof evaluateRowActionRule>[1];
3
- export declare function fetchRowForGuard(controller: any, id: string, idField: string): Promise<RuleRow | undefined>;
1
+ import { type DataControllerInstance } from "@antelopejs/interface-data-api";
2
+ export declare function fetchRowForGuard(controller: DataControllerInstance, id: string, idField: string): Promise<Record<string, unknown> | undefined>;
@@ -7,7 +7,6 @@ async function fetchRowForGuard(controller, id, idField) {
7
7
  const controllerMetadata = (0, interface_data_api_1.GetDataControllerMeta)(controller);
8
8
  const model = components_1.Query.GetModel(controller, controllerMetadata);
9
9
  const rows = await model.table.getAll([id], idField);
10
- const row = rows[0];
11
- return row;
10
+ return rows[0];
12
11
  }
13
12
  //# sourceMappingURL=guard-row.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guard-row.js","sourceRoot":"","sources":["../../src/db/guard-row.ts"],"names":[],"mappings":";;AAMA,4CAUC;AAhBD,uEAAuE;AACvE,0EAAkE;AAK3D,KAAK,UAAU,gBAAgB,CACpC,UAAe,EACf,EAAU,EACV,OAAe;IAEf,MAAM,kBAAkB,GAAG,IAAA,0CAAqB,EAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,GAAG,GAAwB,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"guard-row.js","sourceRoot":"","sources":["../../src/db/guard-row.ts"],"names":[],"mappings":";;AAMA,4CAUC;AAhBD,uEAGwC;AACxC,0EAAkE;AAE3D,KAAK,UAAU,gBAAgB,CACpC,UAAkC,EAClC,EAAU,EACV,OAAe;IAGf,MAAM,kBAAkB,GAAG,IAAA,0CAAqB,EAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./models";
2
2
  export * from "./tables";
3
3
  export * from "./guard-row";
4
+ export * from "./setup-token";
package/dist/db/index.js CHANGED
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./models"), exports);
18
18
  __exportStar(require("./tables"), exports);
19
19
  __exportStar(require("./guard-row"), exports);
20
+ __exportStar(require("./setup-token"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,8CAA4B;AAC5B,gDAA8B"}
@@ -4,18 +4,20 @@ declare const AttachmentModel_base: {
4
4
  readonly table: import("@antelopejs/interface-database").Table<Attachment>;
5
5
  readonly database: import("@antelopejs/interface-database").SchemaInstance<any>;
6
6
  get(id: string): PromiseLike<Attachment | undefined>;
7
- getBy(index: keyof Attachment, ...keys: any[]): PromiseLike<Attachment[]>;
7
+ getBy(index: keyof Attachment, ...keys: import("@antelopejs/interface-database-decorators").IndexKey[]): PromiseLike<Attachment[]>;
8
8
  getAll(): PromiseLike<Attachment[]>;
9
9
  insert(obj: import("@antelopejs/interface-database-decorators").DeepPartial<Attachment> | import("@antelopejs/interface-database-decorators").DeepPartial<Attachment>[], options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<string[]>;
10
10
  update(id: string, obj: import("@antelopejs/interface-database-decorators").DeepPartial<Attachment>, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
11
- update(obj: import("@antelopejs/interface-database-decorators").DeepPartial<Attachment>, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
11
+ update(obj: import("@antelopejs/interface-database-decorators").DeepPartial<Attachment> & {
12
+ _id: string;
13
+ }, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
12
14
  delete(id: string): Promise<number>;
13
15
  };
14
- readonly schemaName: string;
16
+ readonly schemaName: string | undefined;
15
17
  readonly tableClass: import("@antelopejs/interface-database-decorators").Constructible<Attachment>;
16
- fromPlainData(obj: any): Attachment;
18
+ fromPlainData(obj: Attachment | import("@antelopejs/interface-database-decorators").PlainData<Attachment>): Attachment;
17
19
  fromDatabase(obj: any): Attachment | undefined;
18
- toDatabase(obj: any): Record<string, any>;
20
+ toDatabase(obj: Attachment | import("@antelopejs/interface-database-decorators").PlainData<Attachment>): import("@antelopejs/interface-database-decorators").StoredRow<Attachment>;
19
21
  validate(obj: unknown, options?: import("@antelopejs/interface-database-decorators").ValidateInputOptions): import("@antelopejs/interface-database-decorators").ValidationResult;
20
22
  };
21
23
  export declare class AttachmentModel extends AttachmentModel_base {
@@ -1,4 +1,5 @@
1
1
  export * from "./attachments.model";
2
+ export * from "./setupToken.model";
2
3
  export * from "./signInAttempts.model";
3
4
  export * from "./systemState.model";
4
5
  export * from "./userEmailChanges.model";
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./attachments.model"), exports);
18
+ __exportStar(require("./setupToken.model"), exports);
18
19
  __exportStar(require("./signInAttempts.model"), exports);
19
20
  __exportStar(require("./systemState.model"), exports);
20
21
  __exportStar(require("./userEmailChanges.model"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAuC;AACvC,sDAAoC;AACpC,2DAAyC;AACzC,2DAAyC;AACzC,sEAAoD;AACpD,4DAA0C;AAC1C,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,qDAAmC;AACnC,yDAAuC;AACvC,sDAAoC;AACpC,2DAAyC;AACzC,2DAAyC;AACzC,sEAAoD;AACpD,4DAA0C;AAC1C,6DAA2C"}
@@ -0,0 +1,31 @@
1
+ import { SetupToken } from "../tables";
2
+ declare const SetupTokenModel_base: {
3
+ new (database: import("@antelopejs/interface-database").SchemaInstance<any>): {
4
+ readonly table: import("@antelopejs/interface-database").Table<SetupToken>;
5
+ readonly database: import("@antelopejs/interface-database").SchemaInstance<any>;
6
+ get(id: string): PromiseLike<SetupToken | undefined>;
7
+ getBy(index: keyof SetupToken, ...keys: import("@antelopejs/interface-database-decorators").IndexKey[]): PromiseLike<SetupToken[]>;
8
+ getAll(): PromiseLike<SetupToken[]>;
9
+ insert(obj: import("@antelopejs/interface-database-decorators").DeepPartial<SetupToken> | import("@antelopejs/interface-database-decorators").DeepPartial<SetupToken>[], options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<string[]>;
10
+ update(id: string, obj: import("@antelopejs/interface-database-decorators").DeepPartial<SetupToken>, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
11
+ update(obj: import("@antelopejs/interface-database-decorators").DeepPartial<SetupToken> & {
12
+ _id: string;
13
+ }, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
14
+ delete(id: string): Promise<number>;
15
+ };
16
+ readonly schemaName: string | undefined;
17
+ readonly tableClass: import("@antelopejs/interface-database-decorators").Constructible<SetupToken>;
18
+ fromPlainData(obj: SetupToken | import("@antelopejs/interface-database-decorators").PlainData<SetupToken>): SetupToken;
19
+ fromDatabase(obj: any): SetupToken | undefined;
20
+ toDatabase(obj: SetupToken | import("@antelopejs/interface-database-decorators").PlainData<SetupToken>): import("@antelopejs/interface-database-decorators").StoredRow<SetupToken>;
21
+ validate(obj: unknown, options?: import("@antelopejs/interface-database-decorators").ValidateInputOptions): import("@antelopejs/interface-database-decorators").ValidationResult;
22
+ };
23
+ export declare class SetupTokenModel extends SetupTokenModel_base {
24
+ private current;
25
+ private write;
26
+ ensure(configured?: string): Promise<string>;
27
+ claim(candidate: string | undefined): Promise<string | undefined>;
28
+ restore(token: string): Promise<void>;
29
+ clear(): Promise<void>;
30
+ }
31
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SetupTokenModel = void 0;
4
+ const node_crypto_1 = require("node:crypto");
5
+ const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
6
+ const tables_1 = require("../tables");
7
+ const SETUP_TOKEN_ID = "owner";
8
+ const GENERATED_TOKEN_BYTES = 32;
9
+ function digest(value) {
10
+ return (0, node_crypto_1.createHash)("sha256").update(value).digest();
11
+ }
12
+ function sameSecret(left, right) {
13
+ return (0, node_crypto_1.timingSafeEqual)(digest(left), digest(right));
14
+ }
15
+ class SetupTokenModel extends (0, interface_database_decorators_1.BasicDataModel)(tables_1.SetupToken, tables_1.setupTokenTableName) {
16
+ async current() {
17
+ const row = await this.table.get(SETUP_TOKEN_ID).run();
18
+ return row ? SetupTokenModel.fromDatabase(row) : undefined;
19
+ }
20
+ async write(token, conflict) {
21
+ await this.table
22
+ .insert({ _id: SETUP_TOKEN_ID, token, createdAt: new Date() }, conflict ? { conflict } : undefined)
23
+ .run();
24
+ }
25
+ async ensure(configured) {
26
+ if (configured) {
27
+ await this.write(configured, "replace");
28
+ return configured;
29
+ }
30
+ const existing = await this.current();
31
+ if (existing)
32
+ return existing.token;
33
+ const generated = (0, node_crypto_1.randomBytes)(GENERATED_TOKEN_BYTES).toString("base64url");
34
+ try {
35
+ await this.write(generated, undefined);
36
+ return generated;
37
+ }
38
+ catch (error) {
39
+ const winner = await this.current();
40
+ if (winner)
41
+ return winner.token;
42
+ throw error;
43
+ }
44
+ }
45
+ async claim(candidate) {
46
+ if (!candidate)
47
+ return undefined;
48
+ const stored = await this.current();
49
+ if (!stored || !sameSecret(stored.token, candidate))
50
+ return undefined;
51
+ const deleted = await this.table.get(SETUP_TOKEN_ID).delete().run();
52
+ return deleted === 1 ? stored.token : undefined;
53
+ }
54
+ async restore(token) {
55
+ await this.write(token, "replace");
56
+ }
57
+ async clear() {
58
+ await this.table.get(SETUP_TOKEN_ID).delete().run();
59
+ }
60
+ }
61
+ exports.SetupTokenModel = SetupTokenModel;
62
+ //# sourceMappingURL=setupToken.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupToken.model.js","sourceRoot":"","sources":["../../../src/db/models/setupToken.model.ts"],"names":[],"mappings":"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"}