@antelopejs/interface-dms 0.10.4 → 0.12.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 (374) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +21 -10
  3. package/dist/attachments.d.ts +15 -2
  4. package/dist/attachments.js +14 -1
  5. package/dist/attachments.js.map +1 -1
  6. package/dist/auth/db/models/sessions.model.d.ts +7 -5
  7. package/dist/auth/db/models/sessions.model.js +2 -9
  8. package/dist/auth/db/models/sessions.model.js.map +1 -1
  9. package/dist/auth/db/models/userExternalIdentities.model.d.ts +7 -5
  10. package/dist/auth/db/models/users.model.d.ts +7 -5
  11. package/dist/auth/db/tables/users.table.d.ts +2 -2
  12. package/dist/auth/db/tables/users.table.js.map +1 -1
  13. package/dist/auth/index.d.ts +4 -4
  14. package/dist/auth/internal/jwt-auth-decorator.d.ts +1 -1
  15. package/dist/auth/internal/jwt-auth-decorator.js +6 -3
  16. package/dist/auth/internal/jwt-auth-decorator.js.map +1 -1
  17. package/dist/auth/internal/request-authenticators.d.ts +12 -0
  18. package/dist/auth/internal/request-authenticators.js +53 -10
  19. package/dist/auth/internal/request-authenticators.js.map +1 -1
  20. package/dist/base/activity-feed.d.ts +34 -32
  21. package/dist/base/activity-feed.js +2 -0
  22. package/dist/base/activity-feed.js.map +1 -1
  23. package/dist/base/banner.d.ts +12 -10
  24. package/dist/base/banner.js +2 -0
  25. package/dist/base/banner.js.map +1 -1
  26. package/dist/base/block-registry/internal/describe.js +3 -9
  27. package/dist/base/block-registry/internal/describe.js.map +1 -1
  28. package/dist/base/block-registry/internal/ui.js +1 -1
  29. package/dist/base/block-registry/internal/ui.js.map +1 -1
  30. package/dist/base/card.d.ts +11 -9
  31. package/dist/base/card.js +2 -0
  32. package/dist/base/card.js.map +1 -1
  33. package/dist/base/chart-card.d.ts +4 -2
  34. package/dist/base/chart-card.js +2 -0
  35. package/dist/base/chart-card.js.map +1 -1
  36. package/dist/base/chart-schemas.d.ts +148 -148
  37. package/dist/base/chart.d.ts +65 -0
  38. package/dist/base/chart.js +65 -0
  39. package/dist/base/chart.js.map +1 -1
  40. package/dist/base/code-block.d.ts +5 -3
  41. package/dist/base/code-block.js +2 -0
  42. package/dist/base/code-block.js.map +1 -1
  43. package/dist/base/custom.d.ts +5 -0
  44. package/dist/base/custom.js +5 -0
  45. package/dist/base/custom.js.map +1 -1
  46. package/dist/base/data-types/default/address.d.ts +5 -0
  47. package/dist/base/data-types/default/address.js +5 -0
  48. package/dist/base/data-types/default/address.js.map +1 -1
  49. package/dist/base/data-types/default/choices.d.ts +20 -0
  50. package/dist/base/data-types/default/choices.js +20 -0
  51. package/dist/base/data-types/default/choices.js.map +1 -1
  52. package/dist/base/data-types/default/files.d.ts +22 -5
  53. package/dist/base/data-types/default/files.js +20 -0
  54. package/dist/base/data-types/default/files.js.map +1 -1
  55. package/dist/base/data-types/default/numbers.d.ts +15 -0
  56. package/dist/base/data-types/default/numbers.js +25 -9
  57. package/dist/base/data-types/default/numbers.js.map +1 -1
  58. package/dist/base/data-types/default/relations.d.ts +10 -2
  59. package/dist/base/data-types/default/relations.js +9 -6
  60. package/dist/base/data-types/default/relations.js.map +1 -1
  61. package/dist/base/data-types/default/strings.d.ts +25 -0
  62. package/dist/base/data-types/default/strings.js +25 -0
  63. package/dist/base/data-types/default/strings.js.map +1 -1
  64. package/dist/base/data-types/default-types.d.ts +1 -1
  65. package/dist/base/data-types/field-types.d.ts +10 -0
  66. package/dist/base/data-types/field-types.js +10 -0
  67. package/dist/base/data-types/field-types.js.map +1 -1
  68. package/dist/base/data-types/internal/relation-endpoints.js +1 -0
  69. package/dist/base/data-types/internal/relation-endpoints.js.map +1 -1
  70. package/dist/base/data-types/status-type.d.ts +5 -0
  71. package/dist/base/data-types/status-type.js +5 -0
  72. package/dist/base/data-types/status-type.js.map +1 -1
  73. package/dist/base/display.d.ts +6 -6
  74. package/dist/base/empty-state.d.ts +15 -13
  75. package/dist/base/empty-state.js +2 -0
  76. package/dist/base/empty-state.js.map +1 -1
  77. package/dist/base/form-block-schema.d.ts +50 -50
  78. package/dist/base/form-schema.d.ts +2 -0
  79. package/dist/base/form-schema.js +2 -0
  80. package/dist/base/form-schema.js.map +1 -1
  81. package/dist/base/grid.d.ts +4 -0
  82. package/dist/base/grid.js +4 -0
  83. package/dist/base/grid.js.map +1 -1
  84. package/dist/base/guard.d.ts +30 -28
  85. package/dist/base/guard.js +2 -0
  86. package/dist/base/guard.js.map +1 -1
  87. package/dist/base/helpers/archive-mode-helpers.d.ts +1 -1
  88. package/dist/base/helpers/file-refs.js +15 -15
  89. package/dist/base/helpers/file-refs.js.map +1 -1
  90. package/dist/base/internal/form-schema-validation.js +7 -1
  91. package/dist/base/internal/form-schema-validation.js.map +1 -1
  92. package/dist/base/internal/realtime-topics.js.map +1 -1
  93. package/dist/base/internal/searchable.d.ts +2 -1
  94. package/dist/base/internal/searchable.js +1 -3
  95. package/dist/base/internal/searchable.js.map +1 -1
  96. package/dist/base/key-value-list.d.ts +21 -19
  97. package/dist/base/key-value-list.js +2 -0
  98. package/dist/base/key-value-list.js.map +1 -1
  99. package/dist/base/kpi-card.d.ts +4 -2
  100. package/dist/base/kpi-card.js +2 -0
  101. package/dist/base/kpi-card.js.map +1 -1
  102. package/dist/base/live-toggle.d.ts +2 -0
  103. package/dist/base/live-toggle.js +2 -0
  104. package/dist/base/live-toggle.js.map +1 -1
  105. package/dist/base/meter.d.ts +23 -21
  106. package/dist/base/meter.js +2 -0
  107. package/dist/base/meter.js.map +1 -1
  108. package/dist/base/nav-card-grid.d.ts +24 -19
  109. package/dist/base/nav-card-grid.js +5 -0
  110. package/dist/base/nav-card-grid.js.map +1 -1
  111. package/dist/base/page-toolbar.d.ts +2 -0
  112. package/dist/base/page-toolbar.js +2 -0
  113. package/dist/base/page-toolbar.js.map +1 -1
  114. package/dist/base/period-selector.d.ts +3 -1
  115. package/dist/base/period-selector.js +2 -0
  116. package/dist/base/period-selector.js.map +1 -1
  117. package/dist/base/placeholder.d.ts +2 -0
  118. package/dist/base/placeholder.js +2 -0
  119. package/dist/base/placeholder.js.map +1 -1
  120. package/dist/base/resource-form-schema.d.ts +2 -2
  121. package/dist/base/searchable.d.ts +3 -2
  122. package/dist/base/searchable.js +2 -2
  123. package/dist/base/searchable.js.map +1 -1
  124. package/dist/base/section.d.ts +6 -2
  125. package/dist/base/section.js +4 -0
  126. package/dist/base/section.js.map +1 -1
  127. package/dist/base/stack.d.ts +6 -0
  128. package/dist/base/stack.js +6 -0
  129. package/dist/base/stack.js.map +1 -1
  130. package/dist/base/stat-group.d.ts +16 -14
  131. package/dist/base/stat-group.js +2 -0
  132. package/dist/base/stat-group.js.map +1 -1
  133. package/dist/base/tab.d.ts +10 -8
  134. package/dist/base/tab.js +2 -0
  135. package/dist/base/tab.js.map +1 -1
  136. package/dist/base/table-view/column-display.d.ts +1 -1
  137. package/dist/base/table-view/column-display.js.map +1 -1
  138. package/dist/base/table-view/data-functions.d.ts +10 -4
  139. package/dist/base/table-view/data-functions.js.map +1 -1
  140. package/dist/base/table-view/factory.d.ts +5 -0
  141. package/dist/base/table-view/factory.js +8 -4
  142. package/dist/base/table-view/factory.js.map +1 -1
  143. package/dist/base/table-view/internal/auth.d.ts +17 -3
  144. package/dist/base/table-view/internal/auth.js +26 -5
  145. package/dist/base/table-view/internal/auth.js.map +1 -1
  146. package/dist/base/table-view/internal/column-conditions.d.ts +8 -1
  147. package/dist/base/table-view/internal/column-conditions.js +25 -13
  148. package/dist/base/table-view/internal/column-conditions.js.map +1 -1
  149. package/dist/base/table-view/internal/column-display.d.ts +1 -2
  150. package/dist/base/table-view/internal/column-display.js +3 -9
  151. package/dist/base/table-view/internal/column-display.js.map +1 -1
  152. package/dist/base/table-view/internal/factory-helpers.d.ts +1 -1
  153. package/dist/base/table-view/internal/factory-helpers.js +17 -14
  154. package/dist/base/table-view/internal/factory-helpers.js.map +1 -1
  155. package/dist/base/table-view/internal/factory-lifecycle-created.d.ts +2 -3
  156. package/dist/base/table-view/internal/factory-lifecycle-created.js +5 -5
  157. package/dist/base/table-view/internal/factory-lifecycle-created.js.map +1 -1
  158. package/dist/base/table-view/internal/factory-lifecycle-filter.d.ts +2 -2
  159. package/dist/base/table-view/internal/factory-private-actions.d.ts +2 -2
  160. package/dist/base/table-view/internal/files.d.ts +2 -1
  161. package/dist/base/table-view/internal/files.js +14 -5
  162. package/dist/base/table-view/internal/files.js.map +1 -1
  163. package/dist/base/table-view/internal/footer.d.ts +3 -3
  164. package/dist/base/table-view/internal/footer.js +16 -15
  165. package/dist/base/table-view/internal/footer.js.map +1 -1
  166. package/dist/base/table-view/internal/guards.d.ts +27 -5
  167. package/dist/base/table-view/internal/guards.js +127 -49
  168. package/dist/base/table-view/internal/guards.js.map +1 -1
  169. package/dist/base/table-view/internal/meta-helpers.d.ts +1 -1
  170. package/dist/base/table-view/internal/meta-helpers.js +3 -4
  171. package/dist/base/table-view/internal/meta-helpers.js.map +1 -1
  172. package/dist/base/table-view/internal/meta.js +2 -3
  173. package/dist/base/table-view/internal/meta.js.map +1 -1
  174. package/dist/base/table-view/internal/option-contract.d.ts +1 -1
  175. package/dist/base/table-view/internal/option-footer.d.ts +2 -2
  176. package/dist/base/table-view/internal/option-row-actions.d.ts +1 -1
  177. package/dist/base/table-view/internal/realtime.d.ts +52 -11
  178. package/dist/base/table-view/internal/realtime.js +23 -16
  179. package/dist/base/table-view/internal/realtime.js.map +1 -1
  180. package/dist/base/table-view/internal/resource-form.d.ts +1 -1
  181. package/dist/base/table-view/internal/resource-form.js +1 -1
  182. package/dist/base/table-view/internal/resource-form.js.map +1 -1
  183. package/dist/base/table-view/internal/row-actions-schema.d.ts +12 -12
  184. package/dist/base/table-view/internal/row-rule-shape.d.ts +11 -5
  185. package/dist/base/table-view/internal/row-rule-shape.js +60 -30
  186. package/dist/base/table-view/internal/row-rule-shape.js.map +1 -1
  187. package/dist/base/table-view/internal/row-rules.d.ts +28 -1
  188. package/dist/base/table-view/internal/row-rules.js +8 -19
  189. package/dist/base/table-view/internal/row-rules.js.map +1 -1
  190. package/dist/base/table-view/internal/tabs.d.ts +1 -1
  191. package/dist/base/table-view/internal/tabs.js +1 -4
  192. package/dist/base/table-view/internal/tabs.js.map +1 -1
  193. package/dist/base/table-view/internal/validation.d.ts +2 -2
  194. package/dist/base/table-view/internal/validation.js +7 -7
  195. package/dist/base/table-view/internal/validation.js.map +1 -1
  196. package/dist/base/table-view/meta.d.ts +7 -6
  197. package/dist/base/table-view/meta.js +12 -7
  198. package/dist/base/table-view/meta.js.map +1 -1
  199. package/dist/base/table-view/resource-form.d.ts +3 -1
  200. package/dist/base/table-view/resource-form.js +2 -0
  201. package/dist/base/table-view/resource-form.js.map +1 -1
  202. package/dist/base/table-view/routes.d.ts +73 -21
  203. package/dist/base/table-view/routes.js +13 -10
  204. package/dist/base/table-view/routes.js.map +1 -1
  205. package/dist/base/table-view/schema.d.ts +152 -152
  206. package/dist/base/table-view/source.js +4 -1
  207. package/dist/base/table-view/source.js.map +1 -1
  208. package/dist/base/table-view.d.ts +1 -1
  209. package/dist/base/table-view.js.map +1 -1
  210. package/dist/base/top-list-card.d.ts +35 -33
  211. package/dist/base/top-list-card.js +2 -0
  212. package/dist/base/top-list-card.js.map +1 -1
  213. package/dist/base/types/error.js +5 -2
  214. package/dist/base/types/error.js.map +1 -1
  215. package/dist/base/types/guards.d.ts +4 -4
  216. package/dist/base/types/json.d.ts +1 -10
  217. package/dist/base/types/row-action.d.ts +7 -7
  218. package/dist/component-options/confirm-dialog.d.ts +2 -0
  219. package/dist/component-options/confirm-dialog.js.map +1 -1
  220. package/dist/component-options/data-type.d.ts +2 -2
  221. package/dist/component-options/data-type.js +7 -7
  222. package/dist/component-options/data-type.js.map +1 -1
  223. package/dist/component-options/row-action.d.ts +14 -9
  224. package/dist/component-slots.d.ts +11 -2
  225. package/dist/component-slots.js +1 -0
  226. package/dist/component-slots.js.map +1 -1
  227. package/dist/component.d.ts +7 -8
  228. package/dist/component.js +17 -25
  229. package/dist/component.js.map +1 -1
  230. package/dist/data-controllers/members.d.ts +11 -7
  231. package/dist/data-controllers/members.js +1 -1
  232. package/dist/data-controllers/members.js.map +1 -1
  233. package/dist/data-controllers/roles.d.ts +32 -10
  234. package/dist/db/internal/exportJobs.model.d.ts +7 -5
  235. package/dist/db/internal/inviteResolutions.model.d.ts +7 -5
  236. package/dist/db/internal/tenantLifecycle.model.d.ts +7 -5
  237. package/dist/db/models/roles.model.d.ts +7 -5
  238. package/dist/db/models/tenantMembers.model.d.ts +7 -5
  239. package/dist/db/models/tenants.model.d.ts +7 -5
  240. package/dist/db/models/user_invites.model.d.ts +7 -5
  241. package/dist/guards.d.ts +1 -1
  242. package/dist/hooks.d.ts +1 -2
  243. package/dist/hooks.js +33 -26
  244. package/dist/hooks.js.map +1 -1
  245. package/dist/internal/attachments.d.ts +2 -2
  246. package/dist/internal/component-builder.js +2 -1
  247. package/dist/internal/component-builder.js.map +1 -1
  248. package/dist/internal/component-serialization.d.ts +2 -4
  249. package/dist/internal/component-serialization.js +4 -3
  250. package/dist/internal/component-serialization.js.map +1 -1
  251. package/dist/internal/component-slots.d.ts +19 -2
  252. package/dist/internal/component-slots.js +35 -12
  253. package/dist/internal/component-slots.js.map +1 -1
  254. package/dist/internal/component-watch-filter.d.ts +11 -0
  255. package/dist/internal/component-watch-filter.js +22 -0
  256. package/dist/internal/component-watch-filter.js.map +1 -0
  257. package/dist/internal/component-watches.js +0 -1
  258. package/dist/internal/component-watches.js.map +1 -1
  259. package/dist/internal/own-entry.d.ts +7 -0
  260. package/dist/internal/own-entry.js +13 -0
  261. package/dist/internal/own-entry.js.map +1 -0
  262. package/dist/invite-extension-payloads.d.ts +14 -2
  263. package/dist/invite-extensions/internal/delivery.js +1 -2
  264. package/dist/invite-extensions/internal/delivery.js.map +1 -1
  265. package/dist/invite-extensions/internal/edit.d.ts +2 -1
  266. package/dist/invite-extensions/internal/edit.js +8 -9
  267. package/dist/invite-extensions/internal/edit.js.map +1 -1
  268. package/dist/invite-extensions/internal/form-slot.js +8 -15
  269. package/dist/invite-extensions/internal/form-slot.js.map +1 -1
  270. package/dist/invite-extensions/internal/payload-slices.d.ts +33 -3
  271. package/dist/invite-extensions/internal/payload-slices.js +84 -19
  272. package/dist/invite-extensions/internal/payload-slices.js.map +1 -1
  273. package/dist/invite-extensions/internal/types.d.ts +10 -1
  274. package/dist/invite-resolution.js +6 -4
  275. package/dist/invite-resolution.js.map +1 -1
  276. package/dist/json.d.ts +10 -0
  277. package/dist/json.js +3 -0
  278. package/dist/json.js.map +1 -0
  279. package/dist/layout-banners.d.ts +5 -2
  280. package/dist/layout-banners.js.map +1 -1
  281. package/dist/page/controllers.d.ts +2 -2
  282. package/dist/page/internal/extension-validation.js +3 -2
  283. package/dist/page/internal/extension-validation.js.map +1 -1
  284. package/dist/page/internal/metadata-layout.js +1 -1
  285. package/dist/page/internal/metadata-layout.js.map +1 -1
  286. package/dist/page/internal/metadata-publish.js +3 -2
  287. package/dist/page/internal/metadata-publish.js.map +1 -1
  288. package/dist/page/internal/metadata-registration.js +5 -4
  289. package/dist/page/internal/metadata-registration.js.map +1 -1
  290. package/dist/page/internal/metadata-upload-registration.d.ts +3 -1
  291. package/dist/page/internal/metadata-upload-registration.js +9 -0
  292. package/dist/page/internal/metadata-upload-registration.js.map +1 -1
  293. package/dist/page/internal/metadata-uploads.d.ts +18 -5
  294. package/dist/page/internal/metadata-uploads.js +7 -8
  295. package/dist/page/internal/metadata-uploads.js.map +1 -1
  296. package/dist/page/internal/page-record.d.ts +2 -3
  297. package/dist/page/internal/page-record.js +19 -14
  298. package/dist/page/internal/page-record.js.map +1 -1
  299. package/dist/page/layout-filter.js +17 -6
  300. package/dist/page/layout-filter.js.map +1 -1
  301. package/dist/page/metadata.js +5 -7
  302. package/dist/page/metadata.js.map +1 -1
  303. package/dist/request-tenant.d.ts +10 -4
  304. package/dist/request-tenant.js +16 -34
  305. package/dist/request-tenant.js.map +1 -1
  306. package/dist/tenant-export.d.ts +2 -1
  307. package/dist/tenant-lifecycle.d.ts +13 -4
  308. package/dist/tenant-lifecycle.js +51 -18
  309. package/dist/tenant-lifecycle.js.map +1 -1
  310. package/dist/types.d.ts +20 -0
  311. package/dist/uploads.js +42 -59
  312. package/dist/uploads.js.map +1 -1
  313. package/dist/utils/fire-and-forget.js.map +1 -1
  314. package/dist/utils/internal/decorated-class.d.ts +14 -0
  315. package/dist/utils/internal/decorated-class.js +37 -0
  316. package/dist/utils/internal/decorated-class.js.map +1 -0
  317. package/dist/utils/internal/type-check.d.ts +9 -0
  318. package/dist/utils/internal/type-check.js +13 -5
  319. package/dist/utils/internal/type-check.js.map +1 -1
  320. package/dist/utils/internal/value-parser.d.ts +1 -1
  321. package/dist/utils/internal/value-parser.js +22 -9
  322. package/dist/utils/internal/value-parser.js.map +1 -1
  323. package/dist/watch-actions.d.ts +1 -1
  324. package/docs/1.core/1.introduction.md +82 -77
  325. package/docs/1.core/10.layout-banners.md +57 -45
  326. package/docs/1.core/11.modules-and-dynamic-menus.md +178 -0
  327. package/docs/1.core/12.frontend-modules-and-request-helpers.md +155 -0
  328. package/docs/1.core/13.tenant-data-export.md +120 -0
  329. package/docs/1.core/2.pages-and-modules.md +140 -367
  330. package/docs/1.core/3.components.md +21 -22
  331. package/docs/1.core/4.permissions.md +92 -71
  332. package/docs/1.core/5.tenancy.md +112 -86
  333. package/docs/1.core/6.invites.md +90 -65
  334. package/docs/1.core/7.hooks.md +96 -166
  335. package/docs/1.core/8.realtime.md +44 -45
  336. package/docs/1.core/9.quick-actions.md +37 -30
  337. package/docs/2.auth/1.introduction.md +33 -35
  338. package/docs/2.auth/2.authentication.md +60 -38
  339. package/docs/2.auth/3.tokens-and-sessions.md +56 -55
  340. package/docs/2.auth/4.users.md +79 -51
  341. package/docs/2.auth/5.external-identities.md +25 -26
  342. package/docs/3.base/1.introduction.md +64 -60
  343. package/docs/3.base/10.display-blocks.md +15 -16
  344. package/docs/3.base/11.page-layouts.md +273 -0
  345. package/docs/3.base/12.table-row-actions.md +122 -0
  346. package/docs/3.base/13.table-filters-and-forms.md +104 -0
  347. package/docs/3.base/14.table-events-and-helpers.md +114 -0
  348. package/docs/3.base/15.table-sources-and-gates.md +24 -0
  349. package/docs/3.base/2.types.md +44 -41
  350. package/docs/3.base/3.forms.md +27 -28
  351. package/docs/3.base/4.tables.md +34 -367
  352. package/docs/3.base/5.charts-and-widgets.md +28 -29
  353. package/docs/3.base/6.layout.md +21 -270
  354. package/docs/3.base/8.data-types.md +39 -40
  355. package/docs/3.base/9.helpers.md +36 -38
  356. package/docs/4.notifications/1.introduction.md +22 -26
  357. package/docs/4.notifications/2.categories-and-subjects.md +58 -55
  358. package/docs/4.notifications/3.sending.md +72 -68
  359. package/docs/5.html-render/1.introduction.md +119 -81
  360. package/docs/5.html-render/2.built-in-emails.md +71 -51
  361. package/docs/index.md +18 -29
  362. package/docs/tsconfig.json +4 -0
  363. package/package.json +11 -11
  364. package/docs/images/emails-admin-invite.png +0 -0
  365. package/docs/images/emails-change-notice.png +0 -0
  366. package/docs/images/emails-change-verification.png +0 -0
  367. package/docs/images/emails-digest-logo-dark.png +0 -0
  368. package/docs/images/emails-digest-logo-light.png +0 -0
  369. package/docs/images/emails-digest.png +0 -0
  370. package/docs/images/emails-export-partial.png +0 -0
  371. package/docs/images/emails-export-ready.png +0 -0
  372. package/docs/images/emails-reset-password.png +0 -0
  373. package/docs/images/emails-two-factor.png +0 -0
  374. package/docs/images/emails-user-validation.png +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.12.0
4
+
5
+ [compare changes](https://github.com/AntelopeJS/dms/compare/interface-v0.10.4...v0.12.0)
6
+
7
+ ### 📖 Documentation
8
+
9
+ - **readme:** Start the demos with npx @antelopejs/core ([#753](https://github.com/AntelopeJS/dms/pull/753))
10
+ - **readme:** Show the Meet and DMS films, with new GIFs ([1e3f7694](https://github.com/AntelopeJS/dms/commit/1e3f7694))
11
+ - **readme:** Link the read-only live demo ([#665](https://github.com/AntelopeJS/dms/pull/665))
12
+
13
+ ### 🏡 Chore
14
+
15
+ - **release:** @antelopejs/dms v0.15.1 ([c8651b86](https://github.com/AntelopeJS/dms/commit/c8651b86))
16
+ - Land the cleanup campaign on main ([#761](https://github.com/AntelopeJS/dms/pull/761))
17
+
18
+ ### ❤️ Contributors
19
+
20
+ - Antony Rizzitelli ([@Upd4ting](http://github.com/Upd4ting))
21
+
3
22
  ## v0.10.4
4
23
 
5
24
  [compare changes](https://github.com/AntelopeJS/dms/compare/interface-v0.10.3...v0.10.4)
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  <div align="center">
2
2
 
3
- # @antelopejs/interface-dms
3
+ # `@antelopejs/interface-dms`
4
4
 
5
- <a href="https://www.npmjs.com/package/@antelopejs/interface-dms"><img alt="npm" src="https://img.shields.io/npm/v/@antelopejs/interface-dms?style=for-the-badge&labelColor=000000&color=000000"></a>
6
- <a href="./LICENSE"><img alt="License" src="https://img.shields.io/npm/l/@antelopejs/interface-dms?style=for-the-badge&labelColor=000000&color=000000"></a>
7
- <a href="https://discord.gg/g4pFt6eXqu"><img alt="Discord" src="https://img.shields.io/badge/Discord-18181B?logo=discord&style=for-the-badge&color=000000"></a>
8
- <a href="https://dms.antelopejs.com/docs/interfaces"><img alt="Documentation" src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000"></a>
5
+ <a href="https://www.npmjs.com/package/@antelopejs/interface-dms"><img alt="npm" src="https://img.shields.io/npm/v/@antelopejs/interface-dms?style=for-the-badge&labelColor=000000&color=000000" data-illustration></a>
6
+ <a href="./LICENSE"><img alt="License" src="https://img.shields.io/npm/l/@antelopejs/interface-dms?style=for-the-badge&labelColor=000000&color=000000" data-illustration></a>
7
+ <a href="https://discord.gg/g4pFt6eXqu"><img alt="Discord" src="https://img.shields.io/badge/Discord-18181B?logo=discord&style=for-the-badge&color=000000" data-illustration></a>
8
+ <a href="https://dms.antelopejs.com/docs/interfaces"><img alt="Documentation" src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000" data-illustration></a>
9
9
 
10
10
  The public contracts of the AntelopeJS DMS: pages and components, permissions and tenancy, authentication, notifications and HTML rendering.
11
11
 
@@ -27,7 +27,7 @@ Add the interface to the module that extends the DMS:
27
27
  pnpm add @antelopejs/interface-dms
28
28
  ```
29
29
 
30
- Depend on it with a wide range, such as `>=0.7.0 <1.0.0`, and never bundle or vendor it: the host and every module must resolve the same installed copy, since the package holds live registries. `@antelopejs/core` fails at startup with `Incompatible interface package resolution` when a module resolves another copy.
30
+ Depend on it with a range wide enough that every module shares one installed copy, and never bundle or vendor it: the host and every module must resolve the same installed copy, since the package holds live registries. `@antelopejs/core` fails at startup with `Incompatible interface package resolution` when a module resolves another copy.
31
31
 
32
32
  ## Quick start
33
33
 
@@ -56,10 +56,21 @@ export class SalesPage extends PageController("sales", {
56
56
 
57
57
  ## Compatibility
58
58
 
59
- | `@antelopejs/interface-dms` | `@antelopejs/dms` (implementation) |
60
- | --- | --- |
61
- | 0.7 | 0.9 |
62
- | 0.6 | 0.8 |
59
+ <!-- antelopejs-docs-compat:start -->
60
+
61
+ | Package | Supported | Tested with |
62
+ | ------------------------------------------- | ----------------- | ----------- |
63
+ | `@antelopejs/interface-api` | `>=0.3.0 <1.0.0` | `0.2.0` |
64
+ | `@antelopejs/interface-api-util` | `>=0.1.3 <1.0.0` | `0.3.0` |
65
+ | `@antelopejs/interface-core` | `>=0.4.0 <1.0.0` | `0.4.0` |
66
+ | `@antelopejs/interface-data-api` | `>=0.6.0 <1.0.0` | `0.6.0` |
67
+ | `@antelopejs/interface-database` | `>=0.1.11 <1.0.0` | `0.3.0` |
68
+ | `@antelopejs/interface-database-decorators` | `>=0.1.12 <1.0.0` | `0.2.0` |
69
+ | `@antelopejs/interface-file-storage` | `>=0.1.4 <1.0.0` | `0.1.4` |
70
+
71
+ <!-- antelopejs-docs-compat:end -->
72
+
73
+ A `@antelopejs/dms` release implements the `@antelopejs/interface-dms` range listed in the compatibility block of the [`dms` README](../dms/README.md#compatibility).
63
74
 
64
75
  ## Documentation
65
76
 
@@ -23,9 +23,19 @@ export interface AttachmentSaveRequest {
23
23
  submitted: Record<string, unknown>;
24
24
  before: Record<string, unknown>;
25
25
  }
26
- /** @internal */
26
+ /**
27
+ * Table-view proxy that promotes the files of a `new`, `edit` or `delete` route.
28
+ * It answers nothing: the wrapper returns the wrapped route's own answer.
29
+ * A declared attachment field that nests more than 64 levels deep (the body is
30
+ * level 1) is refused with a 400 "The JSON body nests more than 64 levels deep."
31
+ * at every depth. The attachment save path checks it, and the guard decoder
32
+ * counts depth iteratively before any schema parse. Measured on a table-view
33
+ * `new`, arrays and objects answered 400 from 65 levels up to 100,000.
34
+ *
35
+ * @internal
36
+ */
27
37
  export declare namespace internal {
28
- const SaveTableViewAttachments: (request: TableViewAttachmentSaveRequest) => Promise<unknown>;
38
+ const SaveTableViewAttachments: (request: TableViewAttachmentSaveRequest) => Promise<void>;
29
39
  }
30
40
  type AttachmentSaver = <T>(request: AttachmentSaveRequest, save: (promoted: Record<string, unknown>) => Promise<AttachmentSaveResult<T>>) => Promise<T>;
31
41
  /**
@@ -36,6 +46,9 @@ type AttachmentSaver = <T>(request: AttachmentSaveRequest, save: (promoted: Reco
36
46
  * another save may reference them. Retained objects keep their declared visibility.
37
47
  * Removed files are deleted after successful persistence; cleanup errors are logged.
38
48
  * This is not reference-counted cleanup: callers own the risk of shared keys.
49
+ * A declared attachment field that nests more than 64 levels deep (the body is
50
+ * level 1) is refused with a 400 "The JSON body nests more than 64 levels deep."
51
+ * before any file is touched.
39
52
  */
40
53
  export declare const SaveComponentFiles: AttachmentSaver;
41
54
  /**
@@ -2,7 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetAttachmentValidationMetadata = exports.SaveComponentFiles = exports.internal = void 0;
4
4
  const interface_core_1 = require("@antelopejs/interface-core");
5
- /** @internal */
5
+ /**
6
+ * Table-view proxy that promotes the files of a `new`, `edit` or `delete` route.
7
+ * It answers nothing: the wrapper returns the wrapped route's own answer.
8
+ * A declared attachment field that nests more than 64 levels deep (the body is
9
+ * level 1) is refused with a 400 "The JSON body nests more than 64 levels deep."
10
+ * at every depth. The attachment save path checks it, and the guard decoder
11
+ * counts depth iteratively before any schema parse. Measured on a table-view
12
+ * `new`, arrays and objects answered 400 from 65 levels up to 100,000.
13
+ *
14
+ * @internal
15
+ */
6
16
  var internal;
7
17
  (function (internal) {
8
18
  internal.SaveTableViewAttachments = (0, interface_core_1.InterfaceFunction)();
@@ -15,6 +25,9 @@ var internal;
15
25
  * another save may reference them. Retained objects keep their declared visibility.
16
26
  * Removed files are deleted after successful persistence; cleanup errors are logged.
17
27
  * This is not reference-counted cleanup: callers own the risk of shared keys.
28
+ * A declared attachment field that nests more than 64 levels deep (the body is
29
+ * level 1) is refused with a 400 "The JSON body nests more than 64 levels deep."
30
+ * before any file is touched.
18
31
  */
19
32
  exports.SaveComponentFiles =
20
33
  // oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- InterfaceFunction erases the callback/result generic correlation; the published proxy must retain AttachmentSaver's generic call signature.
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":";;;AACA,+DAA+D;AAmC/D,gBAAgB;AAChB,IAAiB,QAAQ,CAKxB;AALD,WAAiB,QAAQ;IACV,iCAAwB,GAAG,IAAA,kCAAiB,GAGtD,CAAC;AACN,CAAC,EALgB,QAAQ,wBAAR,QAAQ,QAKxB;AAQD;;;;;;;;GAQG;AACU,QAAA,kBAAkB;AAC7B,8NAA8N;AAC9N,IAAA,kCAAiB,GAAsC,CAAC;AAE1D;;;;GAIG;AACU,QAAA,+BAA+B,GAC1C,IAAA,kCAAiB,GAEd,CAAC"}
1
+ {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../src/attachments.ts"],"names":[],"mappings":";;;AACA,+DAA+D;AAmC/D;;;;;;;;;;GAUG;AACH,IAAiB,QAAQ,CAKxB;AALD,WAAiB,QAAQ;IACV,iCAAwB,GACnC,IAAA,kCAAiB,GAEd,CAAC;AACR,CAAC,EALgB,QAAQ,wBAAR,QAAQ,QAKxB;AAQD;;;;;;;;;;;GAWG;AACU,QAAA,kBAAkB;AAC7B,8NAA8N;AAC9N,IAAA,kCAAiB,GAAsC,CAAC;AAE1D;;;;GAIG;AACU,QAAA,+BAA+B,GAC1C,IAAA,kCAAiB,GAEd,CAAC"}
@@ -12,18 +12,20 @@ declare const SessionModel_base: {
12
12
  readonly table: import("@antelopejs/interface-database").Table<Session>;
13
13
  readonly database: import("@antelopejs/interface-database").SchemaInstance<any>;
14
14
  get(id: string): PromiseLike<Session | undefined>;
15
- getBy(index: keyof Session, ...keys: any[]): PromiseLike<Session[]>;
15
+ getBy(index: keyof Session, ...keys: import("@antelopejs/interface-database-decorators").IndexKey[]): PromiseLike<Session[]>;
16
16
  getAll(): PromiseLike<Session[]>;
17
17
  insert(obj: import("@antelopejs/interface-database-decorators").DeepPartial<Session> | import("@antelopejs/interface-database-decorators").DeepPartial<Session>[], options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<string[]>;
18
18
  update(id: string, obj: import("@antelopejs/interface-database-decorators").DeepPartial<Session>, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
19
- update(obj: import("@antelopejs/interface-database-decorators").DeepPartial<Session>, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
19
+ update(obj: import("@antelopejs/interface-database-decorators").DeepPartial<Session> & {
20
+ _id: string;
21
+ }, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
20
22
  delete(id: string): Promise<number>;
21
23
  };
22
- readonly schemaName: string;
24
+ readonly schemaName: string | undefined;
23
25
  readonly tableClass: import("@antelopejs/interface-database-decorators").Constructible<Session>;
24
- fromPlainData(obj: any): Session;
26
+ fromPlainData(obj: Session | import("@antelopejs/interface-database-decorators").PlainData<Session>): Session;
25
27
  fromDatabase(obj: any): Session | undefined;
26
- toDatabase(obj: any): Record<string, any>;
28
+ toDatabase(obj: Session | import("@antelopejs/interface-database-decorators").PlainData<Session>): import("@antelopejs/interface-database-decorators").StoredRow<Session>;
27
29
  validate(obj: unknown, options?: import("@antelopejs/interface-database-decorators").ValidateInputOptions): import("@antelopejs/interface-database-decorators").ValidationResult;
28
30
  };
29
31
  export declare class SessionModel extends SessionModel_base {
@@ -6,13 +6,6 @@ const node_crypto_1 = require("node:crypto");
6
6
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
7
7
  const sessions_table_1 = require("../tables/sessions.table");
8
8
  const sessions_model_1 = require("../internal/sessions.model");
9
- function updatedRows(result) {
10
- // oxlint-disable-next-line anti-slop/no-runtime-typeof -- Database adapters return either a numeric count or a write result; preserve both accepted result representations.
11
- if (typeof result === "number")
12
- return result;
13
- const counts = result;
14
- return Number(counts?.replaced ?? counts?.modifiedCount ?? 0);
15
- }
16
9
  const SEAL_ALGORITHM = "aes-256-gcm";
17
10
  const SEAL_IV_BYTES = 12;
18
11
  const SEAL_ENCODING = "base64";
@@ -70,7 +63,7 @@ function recoverSuccessor(session, presentedToken) {
70
63
  class SessionModel extends (0, interface_database_decorators_1.BasicDataModel)(sessions_table_1.Session, sessions_table_1.SESSIONS_TABLE_NAME) {
71
64
  /** Atomically rotates a token or resolves its immediate predecessor. */
72
65
  async rotateRefreshToken(sessionId, presentedToken, refreshToken, rotatedAt = new Date()) {
73
- const result = await this.table
66
+ const modified = await this.table
74
67
  .getAll(sessionId)
75
68
  .filter((row) => row.key("refreshTokenHash").eq((0, sessions_model_1.hashRefreshToken)(presentedToken)))
76
69
  .update({
@@ -81,7 +74,7 @@ class SessionModel extends (0, interface_database_decorators_1.BasicDataModel)(s
81
74
  lastActiveAt: rotatedAt,
82
75
  })
83
76
  .run();
84
- if (updatedRows(result) > 0)
77
+ if (modified > 0)
85
78
  return refreshToken;
86
79
  const session = await this.get(sessionId);
87
80
  if (!session ||
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.model.js","sourceRoot":"","sources":["../../../../src/auth/db/models/sessions.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.model.js","sourceRoot":"","sources":["../../../../src/auth/db/models/sessions.model.ts"],"names":[],"mappings":"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"}
@@ -9,18 +9,20 @@ declare const UserExternalIdentityModel_base: {
9
9
  readonly table: import("@antelopejs/interface-database").Table<UserExternalIdentity>;
10
10
  readonly database: import("@antelopejs/interface-database").SchemaInstance<any>;
11
11
  get(id: string): PromiseLike<UserExternalIdentity | undefined>;
12
- getBy(index: keyof UserExternalIdentity, ...keys: any[]): PromiseLike<UserExternalIdentity[]>;
12
+ getBy(index: keyof UserExternalIdentity, ...keys: import("@antelopejs/interface-database-decorators").IndexKey[]): PromiseLike<UserExternalIdentity[]>;
13
13
  getAll(): PromiseLike<UserExternalIdentity[]>;
14
14
  insert(obj: import("@antelopejs/interface-database-decorators").DeepPartial<UserExternalIdentity> | import("@antelopejs/interface-database-decorators").DeepPartial<UserExternalIdentity>[], options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<string[]>;
15
15
  update(id: string, obj: import("@antelopejs/interface-database-decorators").DeepPartial<UserExternalIdentity>, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
16
- update(obj: import("@antelopejs/interface-database-decorators").DeepPartial<UserExternalIdentity>, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
16
+ update(obj: import("@antelopejs/interface-database-decorators").DeepPartial<UserExternalIdentity> & {
17
+ _id: string;
18
+ }, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
17
19
  delete(id: string): Promise<number>;
18
20
  };
19
- readonly schemaName: string;
21
+ readonly schemaName: string | undefined;
20
22
  readonly tableClass: import("@antelopejs/interface-database-decorators").Constructible<UserExternalIdentity>;
21
- fromPlainData(obj: any): UserExternalIdentity;
23
+ fromPlainData(obj: UserExternalIdentity | import("@antelopejs/interface-database-decorators").PlainData<UserExternalIdentity>): UserExternalIdentity;
22
24
  fromDatabase(obj: any): UserExternalIdentity | undefined;
23
- toDatabase(obj: any): Record<string, any>;
25
+ toDatabase(obj: UserExternalIdentity | import("@antelopejs/interface-database-decorators").PlainData<UserExternalIdentity>): import("@antelopejs/interface-database-decorators").StoredRow<UserExternalIdentity>;
24
26
  validate(obj: unknown, options?: import("@antelopejs/interface-database-decorators").ValidateInputOptions): import("@antelopejs/interface-database-decorators").ValidationResult;
25
27
  };
26
28
  export declare class UserExternalIdentityModel extends UserExternalIdentityModel_base {
@@ -12,18 +12,20 @@ declare const UserModel_base: {
12
12
  readonly table: import("@antelopejs/interface-database").Table<User>;
13
13
  readonly database: import("@antelopejs/interface-database").SchemaInstance<any>;
14
14
  get(id: string): PromiseLike<User | undefined>;
15
- getBy(index: keyof User, ...keys: any[]): PromiseLike<User[]>;
15
+ getBy(index: "_id" | "createdAt" | "updatedAt" | "email" | "name" | "avatar" | "language" | "timeZone" | "weekStart" | "timeFormat" | "dateFormat" | "password" | "passwordChangedAt" | "authKey" | "isValidated" | "validationToken" | "validationRequestedAt" | "forgotPasswordToken" | "forgotPasswordRequestedAt" | "owner" | "lastActiveAt" | "twoFactorMethods" | "twoFactorSecret" | "twoFactorPendingSecret" | "twoFactorTotpLastStep" | "twoFactorBackupCodes" | "twoFactorBackupCodesGeneratedAt" | "twoFactorBackupCodesSavedAt" | "twoFactorEmailCode" | "twoFactorEmailCodeRequestedAt" | "testHash" | "testHashAsync" | "isHashOutdated", ...keys: import("@antelopejs/interface-database-decorators").IndexKey[]): PromiseLike<User[]>;
16
16
  getAll(): PromiseLike<User[]>;
17
17
  insert(obj: import("@antelopejs/interface-database-decorators").DeepPartial<User> | import("@antelopejs/interface-database-decorators").DeepPartial<User>[], options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<string[]>;
18
18
  update(id: string, obj: import("@antelopejs/interface-database-decorators").DeepPartial<User>, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
19
- update(obj: import("@antelopejs/interface-database-decorators").DeepPartial<User>, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
19
+ update(obj: import("@antelopejs/interface-database-decorators").DeepPartial<User> & {
20
+ _id: string;
21
+ }, options?: import("@antelopejs/interface-database-decorators").ValidateOptions): Promise<number>;
20
22
  delete(id: string): Promise<number>;
21
23
  };
22
- readonly schemaName: string;
24
+ readonly schemaName: string | undefined;
23
25
  readonly tableClass: import("@antelopejs/interface-database-decorators").Constructible<User>;
24
- fromPlainData(obj: any): User;
26
+ fromPlainData(obj: User | import("@antelopejs/interface-database-decorators").PlainData<User>): User;
25
27
  fromDatabase(obj: any): User | undefined;
26
- toDatabase(obj: any): Record<string, any>;
28
+ toDatabase(obj: User | import("@antelopejs/interface-database-decorators").PlainData<User>): import("@antelopejs/interface-database-decorators").StoredRow<User>;
27
29
  validate(obj: unknown, options?: import("@antelopejs/interface-database-decorators").ValidateInputOptions): import("@antelopejs/interface-database-decorators").ValidationResult;
28
30
  };
29
31
  export declare class UserModel extends UserModel_base {
@@ -1,5 +1,5 @@
1
1
  import { Table } from "@antelopejs/interface-database-decorators";
2
- import type { DefaultDataTypes } from "../../../base/data-types/default-types";
2
+ import type { ImageValue } from "../../../types";
3
3
  export declare const USERS_TABLE_NAME = "users";
4
4
  /** First day of the week: 0 Sunday, 1 Monday, 6 Saturday. */
5
5
  export type UserWeekStart = 0 | 1 | 6;
@@ -22,7 +22,7 @@ export declare class User extends User_base {
22
22
  * Profile picture as an image value ({ key, alt? }) in the default storage,
23
23
  * downscaled client-side to a square of at most 100x100 pixels.
24
24
  */
25
- avatar: DefaultDataTypes.ImageValue | null;
25
+ avatar: ImageValue | null;
26
26
  /**
27
27
  * User's preferred language/locale (e.g., 'en', 'fr')
28
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"users.table.js","sourceRoot":"","sources":["../../../../src/auth/db/tables/users.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FASmD;AACnD,kDAAsD;AAGzC,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAYjC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,qCAAK,CAAC,IAAI,CAAC,4CAAY,CAAC;CAwJjD,CAAA;AAxJY,oBAAI;AAEP;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iCACI;AAKZ;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;uCAAC;AAKhB;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;uCAAC;AAIhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mCACM;AAGd;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kCACK;AAOb;IADP,IAAA,qCAAK,EAAC,KAAK,CAAC;;oCACsC;AAO3C;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACS;AAIjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACiB;AAIzB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uCACyB;AAIjC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wCAC2B;AAInC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wCAC2B;AAInC;IAFP,IAAA,sCAAM,GAAE;IACR,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACgB;AAOxB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;+CACyB;AAM/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qCACQ;AAOhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,SAAS,CAAC;;yCACY;AAOrB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACuB;AAM/B;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;mDAC6B;AAOnC;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDAC2B;AAMnC;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;uDACiC;AAMvC;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;mCACM;AAQf;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;0CACoB;AAG1B;IADP,IAAA,qCAAK,EAAC,CAAC,QAAQ,CAAC,CAAC;;8CACiB;AAG3B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACuB;AAG/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDAC8B;AAQtC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDAC8B;AAGtC;IADP,IAAA,qCAAK,EAAC,CAAC,QAAQ,CAAC,CAAC;;kDACqB;AAI/B;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;6DACuC;AAO7C;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;yDACmC;AAIzC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;gDAC0B;AAGlC;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;2DACqC;eAvJxC,IAAI;IADhB,IAAA,6CAAa,EAAC,wBAAgB,EAAE,4BAAgB,CAAC;GACrC,IAAI,CAwJhB"}
1
+ {"version":3,"file":"users.table.js","sourceRoot":"","sources":["../../../../src/auth/db/tables/users.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FASmD;AACnD,kDAAsD;AAGzC,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAYjC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,qCAAK,CAAC,IAAI,CAAC,4CAAY,CAAC;CAwJjD,CAAA;AAxJY,oBAAI;AAEP;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iCACI;AAKZ;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;uCAAC;AAKhB;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;uCAAC;AAIhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mCACM;AAGd;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kCACK;AAOb;IADP,IAAA,qCAAK,EAAC,KAAK,CAAC;;oCACqB;AAO1B;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACS;AAIjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACiB;AAIzB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uCACyB;AAIjC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wCAC2B;AAInC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wCAC2B;AAInC;IAFP,IAAA,sCAAM,GAAE;IACR,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACgB;AAOxB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;+CACyB;AAM/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qCACQ;AAOhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,SAAS,CAAC;;yCACY;AAOrB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACuB;AAM/B;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;mDAC6B;AAOnC;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDAC2B;AAMnC;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;uDACiC;AAMvC;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;mCACM;AAQf;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;0CACoB;AAG1B;IADP,IAAA,qCAAK,EAAC,CAAC,QAAQ,CAAC,CAAC;;8CACiB;AAG3B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACuB;AAG/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDAC8B;AAQtC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDAC8B;AAGtC;IADP,IAAA,qCAAK,EAAC,CAAC,QAAQ,CAAC,CAAC;;kDACqB;AAI/B;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;6DACuC;AAO7C;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;yDACmC;AAIzC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;gDAC0B;AAGlC;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;2DACqC;eAvJxC,IAAI;IADhB,IAAA,6CAAa,EAAC,wBAAgB,EAAE,4BAAgB,CAAC;GACrC,IAAI,CAwJhB"}
@@ -40,17 +40,17 @@ export declare namespace internal {
40
40
  /**
41
41
  * Authentication decorator that returns raw user data, ignoring email validation.
42
42
  */
43
- export declare const AuthRawUser: (validator?: ((data: TenantTokenInput) => boolean | User | Promise<boolean | User>) | undefined) => import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<any, any[]>> & import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
43
+ export declare const AuthRawUser: (validator?: ((data: TenantTokenInput) => boolean | User | Promise<boolean | User>) | undefined) => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<object, any[]>> & import("@antelopejs/interface-core/decorators").ParameterDecorator;
44
44
  /**
45
45
  * Authentication decorator that provides the `User` instance and enforces email validation
46
46
  * if required by the configuration.
47
47
  */
48
- export declare const AuthUser: (validator?: ((data: TenantTokenInput) => boolean | User | Promise<boolean | User>) | undefined) => import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<any, any[]>> & import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
48
+ export declare const AuthUser: (validator?: ((data: TenantTokenInput) => boolean | User | Promise<boolean | User>) | undefined) => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<object, any[]>> & import("@antelopejs/interface-core/decorators").ParameterDecorator;
49
49
  /**
50
50
  * Optional authentication decorator that returns User | undefined without throwing 401
51
51
  * Use this for routes that work both when authenticated and unauthenticated
52
52
  */
53
- export declare const IfAuthUser: (validator?: ((data: TenantTokenInput | undefined) => User | Promise<User | undefined> | undefined) | undefined) => import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<any, any[]>> & import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
53
+ export declare const IfAuthUser: (validator?: ((data: TenantTokenInput | undefined) => User | Promise<User | undefined> | undefined) | undefined) => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<object, any[]>> & import("@antelopejs/interface-core/decorators").ParameterDecorator;
54
54
  /**
55
55
  * Authentication decorator that requires the authenticated user to be a platform
56
56
  * owner (`User.owner === true`). Throws 401 when no token is provided and 403
@@ -61,7 +61,7 @@ export declare const IfAuthUser: (validator?: ((data: TenantTokenInput | undefin
61
61
  *
62
62
  * @returns Authentication decorator
63
63
  */
64
- export declare const AuthOwnerOnly: () => import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<any, any[]>> & import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
64
+ export declare const AuthOwnerOnly: () => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<object, any[]>> & import("@antelopejs/interface-core/decorators").ParameterDecorator;
65
65
  /**
66
66
  * Generate an access token for a user
67
67
  * @param tenantId
@@ -16,5 +16,5 @@ type Validator<T, R> = (data: T) => R | Promise<R>;
16
16
  export declare function CreateJwtAuthDecorator<T extends VerifiedToken | undefined, R>(callbacks: {
17
17
  authenticator: Authenticator<T>;
18
18
  validator: Validator<T, R>;
19
- }): (validator?: Validator<T, R> | undefined) => import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<any, any[]>> & import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
19
+ }): (validator?: Validator<T, R> | undefined) => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<object, any[]>> & import("@antelopejs/interface-core/decorators").ParameterDecorator;
20
20
  export {};
@@ -4,6 +4,8 @@ exports.CreateJwtAuthDecorator = CreateJwtAuthDecorator;
4
4
  const interface_api_1 = require("@antelopejs/interface-api");
5
5
  const decorators_1 = require("@antelopejs/interface-core/decorators");
6
6
  const constants_1 = require("../../constants");
7
+ const decorated_class_1 = require("../../utils/internal/decorated-class");
8
+ const type_check_1 = require("../../utils/internal/type-check");
7
9
  const request_authenticators_1 = require("./request-authenticators");
8
10
  const CLASS_PROVIDER_DESCRIPTION = "authentication-class-provider";
9
11
  function bearerToken(ctx) {
@@ -12,11 +14,9 @@ function bearerToken(ctx) {
12
14
  return typeof header === "string" ? header.split(" ")[1] : undefined;
13
15
  }
14
16
  function isVerifiedUser(value) {
15
- // oxlint-disable-next-line anti-slop/no-runtime-typeof -- A custom authenticator validator can return any value; only an object with a string id binds a principal.
16
17
  if (typeof value !== "object" || value === null)
17
18
  return false;
18
19
  const { _id } = value;
19
- // oxlint-disable-next-line anti-slop/no-runtime-typeof -- The verified principal requires a string id rather than an arbitrary validator result.
20
20
  return typeof _id === "string";
21
21
  }
22
22
  /**
@@ -44,7 +44,10 @@ function CreateJwtAuthDecorator(callbacks) {
44
44
  return result;
45
45
  };
46
46
  if (key === undefined) {
47
- (0, interface_api_1.SetParameterProvider)(target.prototype, Symbol(CLASS_PROVIDER_DESCRIPTION), undefined, provider);
47
+ if (!(0, type_check_1.isClass)(target)) {
48
+ throw new TypeError("A class decorator applies to a class.");
49
+ }
50
+ (0, interface_api_1.SetParameterProvider)((0, decorated_class_1.prototypeOf)(target), Symbol(CLASS_PROVIDER_DESCRIPTION), undefined, provider);
48
51
  return;
49
52
  }
50
53
  (0, interface_api_1.SetParameterProvider)(target, key, index, provider);
@@ -1 +1 @@
1
- {"version":3,"file":"jwt-auth-decorator.js","sourceRoot":"","sources":["../../../src/auth/internal/jwt-auth-decorator.ts"],"names":[],"mappings":";;AAuCA,wDA8BC;AApED,6DAAiE;AACjE,sEAAkG;AAClG,+CAAoD;AACpD,qEAAwE;AAExE,MAAM,0BAA0B,GAAG,+BAA+B,CAAC;AASnE,SAAS,WAAW,CAAC,GAAmB;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC;IACtD,iKAAiK;IACjK,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,oKAAoK;IACpK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,EAAE,GAAG,EAAE,GAAsB,KAAK,CAAC;IACzC,iJAAiJ;IACjJ,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;AACjC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CAGpC,SAA0E;IAC1E,OAAO,IAAA,sDAAyC,EAC9C,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAA2B,EAAE,EAAE;QAClD,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAmB,EAAc,EAAE;YACzD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjD,IAAA,qDAA4B,EAAC,GAAG,EAAE;oBAChC,MAAM,EAAE,MAAM,CAAC,GAAG;oBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,6BAAiB;iBAC7C,CAAC,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAA,oCAAoB,EAClB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,0BAA0B,CAAC,EAClC,SAAS,EACT,QAAQ,CACT,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"jwt-auth-decorator.js","sourceRoot":"","sources":["../../../src/auth/internal/jwt-auth-decorator.ts"],"names":[],"mappings":";;AAuCA,wDAiCC;AAvED,6DAAiE;AACjE,sEAAkG;AAClG,+CAAoD;AACpD,0EAAmE;AACnE,gEAA0D;AAC1D,qEAAwE;AAExE,MAAM,0BAA0B,GAAG,+BAA+B,CAAC;AASnE,SAAS,WAAW,CAAC,GAAmB;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC;IACtD,iKAAiK;IACjK,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,EAAE,GAAG,EAAE,GAAsB,KAAK,CAAC;IACzC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;AACjC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CAGpC,SAA0E;IAC1E,OAAO,IAAA,sDAAyC,EAC9C,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAA2B,EAAE,EAAE;QAClD,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAmB,EAAc,EAAE;YACzD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjD,IAAA,qDAA4B,EAAC,GAAG,EAAE;oBAChC,MAAM,EAAE,MAAM,CAAC,GAAG;oBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,6BAAiB;iBAC7C,CAAC,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,IAAA,oBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;YAC/D,CAAC;YACD,IAAA,oCAAoB,EAClB,IAAA,6BAAW,EAAC,MAAM,CAAC,EACnB,MAAM,CAAC,0BAA0B,CAAC,EAClC,SAAS,EACT,QAAQ,CACT,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -8,6 +8,18 @@ interface RequestIdentity {
8
8
  export declare function getAuthenticatedRequestTenantId(ctx: RequestContext): string | undefined;
9
9
  /** @internal Revalidate on every call; failures poison tenant resolution for this request. */
10
10
  export declare function resolveRequestPrincipal(ctx: RequestContext, authenticators: readonly RequestAuthenticator[], authenticateJwt: (token: string) => Promise<RequestPrincipal>): Promise<RequestPrincipal>;
11
+ /**
12
+ * @internal The tenant of the request's credential, for a provider resolved
13
+ * alongside the route's guards. It waits for the authentications the
14
+ * request's other providers start in the same pass, then answers the tenant
15
+ * they bound. Without one it verifies the bearer token with `verifyToken` and
16
+ * binds its identity; a token it cannot verify reads as anonymous, and any
17
+ * identity bound to the request afterwards is refused.
18
+ *
19
+ * @throws HTTPResult 401 when the request's authentication failed, its
20
+ * credential changed, or a verified identity conflicts with the bound one
21
+ */
22
+ export declare function resolveRequestTenant(ctx: RequestContext, verifyToken: (token: string) => Promise<RequestIdentity | undefined>): Promise<string | undefined>;
11
23
  /**
12
24
  * @internal Records the identity a JWT auth decorator has just verified, so
13
25
  * `getRequestTenantId` reads the tenant of a checked credential. A request
@@ -2,9 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAuthenticatedRequestTenantId = getAuthenticatedRequestTenantId;
4
4
  exports.resolveRequestPrincipal = resolveRequestPrincipal;
5
+ exports.resolveRequestTenant = resolveRequestTenant;
5
6
  exports.bindVerifiedRequestPrincipal = bindVerifiedRequestPrincipal;
6
7
  const interface_api_1 = require("@antelopejs/interface-api");
7
8
  const HTTP_UNAUTHORIZED = 401;
9
+ const BEARER_SCHEME = /^Bearer\s+(\S+)$/i;
8
10
  const requestPrincipals = new WeakMap();
9
11
  const pendingAuthentications = new WeakMap();
10
12
  function unauthorized() {
@@ -15,14 +17,17 @@ function getAuthenticatedRequestTenantId(ctx) {
15
17
  const state = requestPrincipals.get(ctx.rawRequest);
16
18
  if (!state)
17
19
  return undefined;
18
- if (!state.principal ||
19
- state.authorization !== ctx.rawRequest.headers.authorization) {
20
+ if (state.authorization !== ctx.rawRequest.headers.authorization) {
20
21
  throw unauthorized();
21
22
  }
23
+ if (state.anonymous)
24
+ return undefined;
25
+ if (!state.principal)
26
+ throw unauthorized();
22
27
  return state.principal.tenantId;
23
28
  }
24
29
  function readBearerToken(authorization) {
25
- const match = authorization?.match(/^Bearer\s+(\S+)$/i);
30
+ const match = authorization?.match(BEARER_SCHEME);
26
31
  if (!match)
27
32
  throw unauthorized();
28
33
  return match[1];
@@ -43,20 +48,58 @@ function assertPrincipal(principal, previous) {
43
48
  throw unauthorized();
44
49
  }
45
50
  }
46
- /** @internal Revalidate on every call; failures poison tenant resolution for this request. */
47
- async function resolveRequestPrincipal(ctx, authenticators, authenticateJwt) {
48
- const pending = pendingAuthentications.get(ctx.rawRequest) ?? Promise.resolve();
49
- const result = pending.then(() => verifyRequestPrincipal(ctx, authenticators, authenticateJwt));
50
- pendingAuthentications.set(ctx.rawRequest, result);
51
+ /**
52
+ * Runs `step` once the request's authentications already in flight have
53
+ * settled, and holds back the ones started after it until it settles.
54
+ */
55
+ async function serialized(request, step) {
56
+ const pending = pendingAuthentications.get(request) ?? Promise.resolve();
57
+ const result = pending.then(step);
58
+ pendingAuthentications.set(request, result);
51
59
  try {
52
60
  return await result;
53
61
  }
54
62
  finally {
55
- if (pendingAuthentications.get(ctx.rawRequest) === result) {
56
- pendingAuthentications.delete(ctx.rawRequest);
63
+ if (pendingAuthentications.get(request) === result) {
64
+ pendingAuthentications.delete(request);
57
65
  }
58
66
  }
59
67
  }
68
+ /** @internal Revalidate on every call; failures poison tenant resolution for this request. */
69
+ async function resolveRequestPrincipal(ctx, authenticators, authenticateJwt) {
70
+ return serialized(ctx.rawRequest, () => verifyRequestPrincipal(ctx, authenticators, authenticateJwt));
71
+ }
72
+ /**
73
+ * @internal The tenant of the request's credential, for a provider resolved
74
+ * alongside the route's guards. It waits for the authentications the
75
+ * request's other providers start in the same pass, then answers the tenant
76
+ * they bound. Without one it verifies the bearer token with `verifyToken` and
77
+ * binds its identity; a token it cannot verify reads as anonymous, and any
78
+ * identity bound to the request afterwards is refused.
79
+ *
80
+ * @throws HTTPResult 401 when the request's authentication failed, its
81
+ * credential changed, or a verified identity conflicts with the bound one
82
+ */
83
+ async function resolveRequestTenant(ctx, verifyToken) {
84
+ await Promise.resolve();
85
+ return serialized(ctx.rawRequest, async () => {
86
+ const request = ctx.rawRequest;
87
+ if (requestPrincipals.has(request)) {
88
+ return getAuthenticatedRequestTenantId(ctx);
89
+ }
90
+ const authorization = request.headers.authorization;
91
+ const token = authorization?.match(BEARER_SCHEME)?.[1];
92
+ const identity = token ? await verifyToken(token) : undefined;
93
+ if (identity) {
94
+ bindVerifiedRequestPrincipal(ctx, identity);
95
+ return identity.tenantId;
96
+ }
97
+ if (requestPrincipals.has(request))
98
+ throw unauthorized();
99
+ requestPrincipals.set(request, { authorization, anonymous: true });
100
+ return undefined;
101
+ });
102
+ }
60
103
  async function verifyRequestPrincipal(ctx, authenticators, authenticateJwt) {
61
104
  const request = ctx.rawRequest;
62
105
  const authorization = request.headers.authorization;
@@ -1 +1 @@
1
- {"version":3,"file":"request-authenticators.js","sourceRoot":"","sources":["../../../src/auth/internal/request-authenticators.ts"],"names":[],"mappings":";;AAiCA,0EAYC;AAgCD,0DAkBC;AA4CD,oEAmBC;AA7JD,6DAA4E;AAM5E,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAY9B,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAGlC,CAAC;AACJ,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAGvC,CAAC;AAEJ,SAAS,YAAY;IACnB,OAAO,IAAI,0BAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC;AAED,oFAAoF;AACpF,SAAgB,+BAA+B,CAC7C,GAAmB;IAEnB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IACE,CAAC,KAAK,CAAC,SAAS;QAChB,KAAK,CAAC,aAAa,KAAK,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,EAC5D,CAAC;QACD,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;AAClC,CAAC;AAED,SAAS,eAAe,CAAC,aAAiC;IACxD,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK;QAAE,MAAM,YAAY,EAAE,CAAC;IACjC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CACtB,SAA2B,EAC3B,QAA0B;IAE1B;IACE,0LAA0L;IAC1L,OAAO,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,QAAQ;QACxC,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG;QACrB,qJAAqJ;QACrJ,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ;QACtC,CAAC,SAAS,CAAC,QAAQ,EACnB,CAAC;QACD,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;IACD,IACE,QAAQ;QACR,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,GAAG;YACrC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,CAAC,EAC3C,CAAC;QACD,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,8FAA8F;AACvF,KAAK,UAAU,uBAAuB,CAC3C,GAAmB,EACnB,cAA+C,EAC/C,eAA6D;IAE7D,MAAM,OAAO,GACX,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAC/B,sBAAsB,CAAC,GAAG,EAAE,cAAc,EAAE,eAAe,CAAC,CAC7D,CAAC;IACF,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC;YAC1D,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,GAAmB,EACnB,cAA+C,EAC/C,eAA6D;IAE7D,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC;IAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;IACpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,KAAK,GAA+B,EAAE,aAAa,EAAE,CAAC;IAC5D,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,IACE,QAAQ;QACR,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,aAAa,KAAK,aAAa,CAAC,EACjE,CAAC;QACD,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACjD,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAC1B,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,YAAY,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM;QAC/B,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;QACvC,CAAC,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IACjC,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAChD,IACE,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK;QACxC,OAAO,CAAC,OAAO,CAAC,aAAa,KAAK,aAAa,EAC/C,CAAC;QACD,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9E,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,4BAA4B,CAC1C,GAAmB,EACnB,QAAyB;IAEzB,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC;IAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;IACpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,IACE,CAAC,QAAQ,CAAC,SAAS;YACnB,QAAQ,CAAC,aAAa,KAAK,aAAa;YACxC,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;YAC7C,QAAQ,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EACjD,CAAC;YACD,MAAM,YAAY,EAAE,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IACD,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,GAAG,QAAQ,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"request-authenticators.js","sourceRoot":"","sources":["../../../src/auth/internal/request-authenticators.ts"],"names":[],"mappings":"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"}