@antelopejs/interface-dms 0.7.4 → 0.9.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 (239) hide show
  1. package/CHANGELOG.md +176 -0
  2. package/dist/auth/index.d.ts +3 -3
  3. package/dist/auth/index.js +11 -9
  4. package/dist/auth/index.js.map +1 -1
  5. package/dist/auth/internal/jwt-auth-decorator.d.ts +20 -0
  6. package/dist/auth/internal/jwt-auth-decorator.js +51 -0
  7. package/dist/auth/internal/jwt-auth-decorator.js.map +1 -0
  8. package/dist/auth/internal/request-authenticators.d.ts +12 -0
  9. package/dist/auth/internal/request-authenticators.js +22 -0
  10. package/dist/auth/internal/request-authenticators.js.map +1 -1
  11. package/dist/base/activity-feed.d.ts +6 -6
  12. package/dist/base/block-registry/types.d.ts +16 -0
  13. package/dist/base/block-types.d.ts +1 -0
  14. package/dist/base/block-types.js +1 -0
  15. package/dist/base/block-types.js.map +1 -1
  16. package/dist/base/chart-card.d.ts +15 -0
  17. package/dist/base/chart-card.js +4 -0
  18. package/dist/base/chart-card.js.map +1 -1
  19. package/dist/base/chart-schemas.d.ts +26 -26
  20. package/dist/base/code-block.d.ts +3 -3
  21. package/dist/base/data-types/compare-types.js +19 -13
  22. package/dist/base/data-types/compare-types.js.map +1 -1
  23. package/dist/base/data-types/core.d.ts +11 -0
  24. package/dist/base/data-types/core.js +14 -1
  25. package/dist/base/data-types/core.js.map +1 -1
  26. package/dist/base/data-types/default-types.d.ts +112 -2
  27. package/dist/base/data-types/default-types.js +90 -19
  28. package/dist/base/data-types/default-types.js.map +1 -1
  29. package/dist/base/data-types/field-types.d.ts +10 -4
  30. package/dist/base/data-types/field-types.js +12 -2
  31. package/dist/base/data-types/field-types.js.map +1 -1
  32. package/dist/base/data-types/internal/compare-types.d.ts +3 -0
  33. package/dist/base/data-types/internal/compare-types.js +7 -0
  34. package/dist/base/data-types/internal/compare-types.js.map +1 -1
  35. package/dist/base/empty-state.d.ts +4 -4
  36. package/dist/base/form-block-schema.d.ts +59 -3
  37. package/dist/base/form-block-schema.js +12 -2
  38. package/dist/base/form-block-schema.js.map +1 -1
  39. package/dist/base/form-schema.d.ts +57 -5
  40. package/dist/base/form-schema.js +22 -0
  41. package/dist/base/form-schema.js.map +1 -1
  42. package/dist/base/form-types.d.ts +82 -13
  43. package/dist/base/form-types.js +12 -4
  44. package/dist/base/form-types.js.map +1 -1
  45. package/dist/base/guard.d.ts +6 -6
  46. package/dist/base/helpers/archive-mode-helpers.js +6 -2
  47. package/dist/base/helpers/archive-mode-helpers.js.map +1 -1
  48. package/dist/base/index.d.ts +1 -0
  49. package/dist/base/index.js +1 -0
  50. package/dist/base/index.js.map +1 -1
  51. package/dist/base/internal/form-schema.js +5 -0
  52. package/dist/base/internal/form-schema.js.map +1 -1
  53. package/dist/base/internal/layouts.d.ts +15 -3
  54. package/dist/base/key-value-list.d.ts +12 -9
  55. package/dist/base/key-value-list.js +1 -1
  56. package/dist/base/key-value-list.js.map +1 -1
  57. package/dist/base/kpi-card.d.ts +39 -5
  58. package/dist/base/kpi-card.js +18 -6
  59. package/dist/base/kpi-card.js.map +1 -1
  60. package/dist/base/layouts.d.ts +24 -1
  61. package/dist/base/layouts.js.map +1 -1
  62. package/dist/base/live-toggle.d.ts +11 -0
  63. package/dist/base/live-toggle.js +8 -1
  64. package/dist/base/live-toggle.js.map +1 -1
  65. package/dist/base/page-toolbar.d.ts +158 -0
  66. package/dist/base/page-toolbar.js +198 -0
  67. package/dist/base/page-toolbar.js.map +1 -0
  68. package/dist/base/period-selector.d.ts +9 -2
  69. package/dist/base/period-selector.js.map +1 -1
  70. package/dist/base/placeholder.d.ts +2 -2
  71. package/dist/base/section.d.ts +2 -2
  72. package/dist/base/stack.d.ts +2 -2
  73. package/dist/base/stat-group.d.ts +18 -6
  74. package/dist/base/stat-group.js +9 -0
  75. package/dist/base/stat-group.js.map +1 -1
  76. package/dist/base/table-view/column-display.d.ts +9 -5
  77. package/dist/base/table-view/column-display.js +1 -1
  78. package/dist/base/table-view/column-display.js.map +1 -1
  79. package/dist/base/table-view/data-functions.d.ts +26 -7
  80. package/dist/base/table-view/data-functions.js +10 -6
  81. package/dist/base/table-view/data-functions.js.map +1 -1
  82. package/dist/base/table-view/factory.js +24 -13
  83. package/dist/base/table-view/factory.js.map +1 -1
  84. package/dist/base/table-view/internal/auth.d.ts +2 -0
  85. package/dist/base/table-view/internal/auth.js +3 -1
  86. package/dist/base/table-view/internal/auth.js.map +1 -1
  87. package/dist/base/table-view/internal/column-conditions.d.ts +15 -0
  88. package/dist/base/table-view/internal/column-conditions.js +94 -0
  89. package/dist/base/table-view/internal/column-conditions.js.map +1 -0
  90. package/dist/base/table-view/internal/factory-helpers.d.ts +5 -0
  91. package/dist/base/table-view/internal/factory-helpers.js +55 -11
  92. package/dist/base/table-view/internal/factory-helpers.js.map +1 -1
  93. package/dist/base/table-view/internal/guards.js +19 -2
  94. package/dist/base/table-view/internal/guards.js.map +1 -1
  95. package/dist/base/table-view/internal/realtime.js +17 -0
  96. package/dist/base/table-view/internal/realtime.js.map +1 -1
  97. package/dist/base/table-view/internal/resource-form.js +1 -0
  98. package/dist/base/table-view/internal/resource-form.js.map +1 -1
  99. package/dist/base/table-view/internal/row-actions-schema.d.ts +296 -0
  100. package/dist/base/table-view/internal/row-actions-schema.js +62 -0
  101. package/dist/base/table-view/internal/row-actions-schema.js.map +1 -0
  102. package/dist/base/table-view/internal/validation.d.ts +22 -3
  103. package/dist/base/table-view/internal/validation.js +92 -2
  104. package/dist/base/table-view/internal/validation.js.map +1 -1
  105. package/dist/base/table-view/meta.d.ts +25 -1
  106. package/dist/base/table-view/meta.js +36 -4
  107. package/dist/base/table-view/meta.js.map +1 -1
  108. package/dist/base/table-view/options.d.ts +92 -16
  109. package/dist/base/table-view/options.js.map +1 -1
  110. package/dist/base/table-view/realtime.d.ts +8 -0
  111. package/dist/base/table-view/realtime.js.map +1 -1
  112. package/dist/base/table-view/routes.js +8 -4
  113. package/dist/base/table-view/routes.js.map +1 -1
  114. package/dist/base/table-view/schema.d.ts +36 -30
  115. package/dist/base/table-view/schema.js +11 -57
  116. package/dist/base/table-view/schema.js.map +1 -1
  117. package/dist/base/table-view/source.d.ts +1 -1
  118. package/dist/base/table-view/source.js +4 -1
  119. package/dist/base/table-view/source.js.map +1 -1
  120. package/dist/base/table-view.d.ts +2 -2
  121. package/dist/base/table-view.js.map +1 -1
  122. package/dist/base/top-list-card.d.ts +5 -5
  123. package/dist/base/types/action-target.d.ts +77 -20
  124. package/dist/base/types/confirm-dialog.d.ts +5 -1
  125. package/dist/base/types/custom-button.d.ts +5 -3
  126. package/dist/base/types/field-config.d.ts +4 -4
  127. package/dist/base/types/guards.d.ts +10 -0
  128. package/dist/base/types/row-action.d.ts +6 -1
  129. package/dist/base/types/size.d.ts +3 -1
  130. package/dist/client-ip.d.ts +6 -2
  131. package/dist/client-ip.js +4 -2
  132. package/dist/client-ip.js.map +1 -1
  133. package/dist/component.d.ts +14 -0
  134. package/dist/component.js.map +1 -1
  135. package/dist/data-controllers/members.d.ts +0 -3
  136. package/dist/data-controllers/members.js +30 -8
  137. package/dist/data-controllers/members.js.map +1 -1
  138. package/dist/db/internal/tenantLifecycle.model.js +5 -2
  139. package/dist/db/internal/tenantLifecycle.model.js.map +1 -1
  140. package/dist/guards.js +2 -3
  141. package/dist/guards.js.map +1 -1
  142. package/dist/hooks.d.ts +54 -10
  143. package/dist/hooks.js +12 -4
  144. package/dist/hooks.js.map +1 -1
  145. package/dist/index.d.ts +3 -3
  146. package/dist/index.js +3 -2
  147. package/dist/index.js.map +1 -1
  148. package/dist/internal/invite-membership.d.ts +9 -0
  149. package/dist/internal/invite-membership.js +25 -7
  150. package/dist/internal/invite-membership.js.map +1 -1
  151. package/dist/internal/member-changes.d.ts +24 -0
  152. package/dist/internal/member-changes.js +66 -0
  153. package/dist/internal/member-changes.js.map +1 -0
  154. package/dist/internal/tenant-ownership.d.ts +4 -1
  155. package/dist/internal/tenant-ownership.js +4 -10
  156. package/dist/internal/tenant-ownership.js.map +1 -1
  157. package/dist/invite-extensions/internal/form-slot.js +1 -1
  158. package/dist/invite-extensions/internal/form-slot.js.map +1 -1
  159. package/dist/invite-extensions.d.ts +0 -9
  160. package/dist/invite-extensions.js +1 -36
  161. package/dist/invite-extensions.js.map +1 -1
  162. package/dist/invite-resolution.js +6 -2
  163. package/dist/invite-resolution.js.map +1 -1
  164. package/dist/invites.js +36 -22
  165. package/dist/invites.js.map +1 -1
  166. package/dist/layout-banners.d.ts +40 -4
  167. package/dist/layout-banners.js +25 -3
  168. package/dist/layout-banners.js.map +1 -1
  169. package/dist/notifications/internal.d.ts +2 -2
  170. package/dist/notifications/internal.js.map +1 -1
  171. package/dist/notifications/sendable.d.ts +3 -2
  172. package/dist/notifications/sendable.js +2 -1
  173. package/dist/notifications/sendable.js.map +1 -1
  174. package/dist/notifications/types.d.ts +9 -0
  175. package/dist/page/controllers.d.ts +44 -0
  176. package/dist/page/controllers.js +14 -1
  177. package/dist/page/controllers.js.map +1 -1
  178. package/dist/page/internal/layout-filter.d.ts +10 -4
  179. package/dist/page/internal/layout-filter.js +27 -14
  180. package/dist/page/internal/layout-filter.js.map +1 -1
  181. package/dist/page/internal/metadata-helpers.d.ts +7 -0
  182. package/dist/page/internal/metadata-helpers.js +13 -2
  183. package/dist/page/internal/metadata-helpers.js.map +1 -1
  184. package/dist/page/internal/page-record.d.ts +34 -0
  185. package/dist/page/internal/page-record.js +87 -0
  186. package/dist/page/internal/page-record.js.map +1 -0
  187. package/dist/page/internal/page-registration.d.ts +2 -0
  188. package/dist/page/internal/page-registration.js.map +1 -1
  189. package/dist/page/layout-filter.js +31 -10
  190. package/dist/page/layout-filter.js.map +1 -1
  191. package/dist/page/metadata.js +36 -26
  192. package/dist/page/metadata.js.map +1 -1
  193. package/dist/page/types.d.ts +39 -4
  194. package/dist/page/types.js.map +1 -1
  195. package/dist/page.d.ts +1 -1
  196. package/dist/page.js +2 -1
  197. package/dist/page.js.map +1 -1
  198. package/dist/permissions-resolver.d.ts +26 -3
  199. package/dist/permissions-resolver.js +2 -1
  200. package/dist/permissions-resolver.js.map +1 -1
  201. package/dist/permissions.d.ts +7 -3
  202. package/dist/permissions.js +8 -6
  203. package/dist/permissions.js.map +1 -1
  204. package/dist/realtime.d.ts +24 -1
  205. package/dist/realtime.js +7 -1
  206. package/dist/realtime.js.map +1 -1
  207. package/dist/request-tenant.d.ts +17 -13
  208. package/dist/request-tenant.js +54 -42
  209. package/dist/request-tenant.js.map +1 -1
  210. package/dist/tenant-members.d.ts +26 -0
  211. package/dist/tenant-members.js +29 -0
  212. package/dist/tenant-members.js.map +1 -0
  213. package/dist/tenant-ownership.d.ts +4 -1
  214. package/dist/tenant-ownership.js +12 -17
  215. package/dist/tenant-ownership.js.map +1 -1
  216. package/dist/tenant-provisioning.d.ts +15 -0
  217. package/dist/tenant-provisioning.js +27 -0
  218. package/dist/tenant-provisioning.js.map +1 -0
  219. package/dist/tenant-scoped-model.d.ts +2 -1
  220. package/dist/tenant-scoped-model.js +4 -3
  221. package/dist/tenant-scoped-model.js.map +1 -1
  222. package/docs/1.core/10.layout-banners.md +57 -2
  223. package/docs/1.core/2.pages-and-modules.md +20 -11
  224. package/docs/1.core/4.permissions.md +34 -1
  225. package/docs/1.core/5.tenancy.md +37 -6
  226. package/docs/1.core/7.hooks.md +24 -4
  227. package/docs/1.core/8.realtime.md +24 -3
  228. package/docs/2.auth/2.authentication.md +3 -3
  229. package/docs/3.base/1.introduction.md +1 -0
  230. package/docs/3.base/10.display-blocks.md +20 -2
  231. package/docs/3.base/2.types.md +7 -5
  232. package/docs/3.base/3.forms.md +28 -8
  233. package/docs/3.base/4.tables.md +27 -9
  234. package/docs/3.base/5.charts-and-widgets.md +8 -4
  235. package/docs/3.base/6.layout.md +47 -1
  236. package/docs/3.base/8.data-types.md +16 -9
  237. package/docs/4.notifications/3.sending.md +4 -3
  238. package/docs/5.html-render/1.introduction.md +5 -7
  239. package/package.json +7 -11
@@ -0,0 +1,34 @@
1
+ import type { PageHeaderButtonDeclared } from "../../base/internal/layouts";
2
+ import type { ComponentFilterContext, ComponentInfo } from "../../component";
3
+ type PageRecord = Readonly<Record<string, unknown>>;
4
+ /**
5
+ * How the page's record was read for one request: `found`, `missing` when its
6
+ * loader answered none (not found, not the caller's), `error` when it threw.
7
+ * The frontend takes a record going from `found` to `missing` for one that
8
+ * was deleted.
9
+ */
10
+ export type PageRecordStatus = "found" | "missing" | "error";
11
+ /** What reading the page's record answered. */
12
+ export interface PageRecordRead {
13
+ record?: PageRecord;
14
+ status: PageRecordStatus;
15
+ }
16
+ /**
17
+ * The record the page's layout reads for one request, `undefined` when the
18
+ * layout declares none. A loader that throws counts as finding none, with
19
+ * the `error` status: the buttons acting on the record are left out, and the
20
+ * page still loads.
21
+ *
22
+ * @internal
23
+ */
24
+ export declare function readPageRecord(layout: ComponentInfo | undefined, context: ComponentFilterContext): Promise<PageRecordRead | undefined>;
25
+ /**
26
+ * A header button as the page's record leaves it: unchanged when the layout
27
+ * reads no record or the button does not act on it, left out (`undefined`)
28
+ * when the record was not found, its target's `{{record.X}}` filled in
29
+ * otherwise.
30
+ *
31
+ * @internal
32
+ */
33
+ export declare function withPageRecord(button: PageHeaderButtonDeclared, declaresRecord: boolean, record: PageRecord | undefined): PageHeaderButtonDeclared | undefined;
34
+ export {};
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readPageRecord = readPageRecord;
4
+ exports.withPageRecord = withPageRecord;
5
+ const logging_1 = require("@antelopejs/interface-core/logging");
6
+ // The record a page shows (`DefaultLayout({ record })`), read with its layout:
7
+ // `{{record.X}}` in a header button's target, a button acting on it.
8
+ const RECORD_TOKEN = /\{\{\s*record\.([\w.-]+)\s*\}\}/g;
9
+ const NAMES_RECORD = /\{\{\s*record\./;
10
+ const PATH_SEPARATOR = ".";
11
+ const targetUrl = (target) => {
12
+ const url = target?.url;
13
+ return typeof url === "string" ? url : undefined;
14
+ };
15
+ function valueAt(record, path) {
16
+ return path
17
+ .split(PATH_SEPARATOR)
18
+ .reduce((value, key) => value && typeof value === "object"
19
+ ? value[key]
20
+ : undefined, record);
21
+ }
22
+ /**
23
+ * The record the page's layout reads for one request, `undefined` when the
24
+ * layout declares none. A loader that throws counts as finding none, with
25
+ * the `error` status: the buttons acting on the record are left out, and the
26
+ * page still loads.
27
+ *
28
+ * @internal
29
+ */
30
+ async function readPageRecord(layout, context) {
31
+ const options = layout?.options;
32
+ if (!options?.record)
33
+ return undefined;
34
+ try {
35
+ const record = (await options.record(context)) ?? undefined;
36
+ return record ? { record, status: "found" } : { status: "missing" };
37
+ }
38
+ catch (error) {
39
+ logging_1.Logging.Error("[dms] the record of the page could not be read:", error);
40
+ return { status: "error" };
41
+ }
42
+ }
43
+ /** Whether a header button acts on the page's record. */
44
+ function isRecordBound(button) {
45
+ if (button.requiresRecord)
46
+ return true;
47
+ const url = targetUrl(button.target);
48
+ return !!url && NAMES_RECORD.test(url);
49
+ }
50
+ /**
51
+ * A URL with its `{{record.X}}` tokens filled in, each value percent-encoded
52
+ * (an address is one query value). A token the record has no value for is
53
+ * left as written.
54
+ */
55
+ function fillRecordTokens(url, record) {
56
+ return url.replace(RECORD_TOKEN, (match, path) => {
57
+ const value = valueAt(record, path);
58
+ return typeof value === "string" || typeof value === "number"
59
+ ? encodeURIComponent(String(value))
60
+ : match;
61
+ });
62
+ }
63
+ /**
64
+ * A header button as the page's record leaves it: unchanged when the layout
65
+ * reads no record or the button does not act on it, left out (`undefined`)
66
+ * when the record was not found, its target's `{{record.X}}` filled in
67
+ * otherwise.
68
+ *
69
+ * @internal
70
+ */
71
+ function withPageRecord(button, declaresRecord, record) {
72
+ if (!declaresRecord || !isRecordBound(button))
73
+ return button;
74
+ if (!record)
75
+ return undefined;
76
+ const url = targetUrl(button.target);
77
+ if (!url)
78
+ return button;
79
+ return {
80
+ ...button,
81
+ target: {
82
+ ...button.target,
83
+ url: fillRecordTokens(url, record),
84
+ },
85
+ };
86
+ }
87
+ //# sourceMappingURL=page-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-record.js","sourceRoot":"","sources":["../../../src/page/internal/page-record.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export interface RouteCallbackContext {
8
8
  tenantId: string;
9
9
  /** The query of the layout request: the page URL's own. */
10
10
  pageQuery: Record<string, string>;
11
+ /** The route parameters of the layout request: the page URL's own. */
12
+ pageParams: Record<string, string>;
11
13
  }
12
14
  /**
13
15
  * What one registration of a page created, and how to take it back down.
@@ -1 +1 @@
1
- {"version":3,"file":"page-registration.js","sourceRoot":"","sources":["../../../src/page/internal/page-registration.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,iDAAiD;AACjD,EAAE;AACF,4BAA4B;;;AAE5B,gEAA6D;AAsB7D;;;;;;;;;;GAUG;AACH,MAAa,gBAAgB;IACV,SAAS,GAAsB,EAAE,CAAC;IAE5C,KAAK,CAAC,OAAmB;QAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iBAAO,CAAC,IAAI,CAAC,oCAAoC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;CACF;AApBD,4CAoBC"}
1
+ {"version":3,"file":"page-registration.js","sourceRoot":"","sources":["../../../src/page/internal/page-registration.ts"],"names":[],"mappings":";AAAA,0EAA0E;AAC1E,iDAAiD;AACjD,EAAE;AACF,4BAA4B;;;AAE5B,gEAA6D;AAwB7D;;;;;;;;;;GAUG;AACH,MAAa,gBAAgB;IACV,SAAS,GAAsB,EAAE,CAAC;IAE5C,KAAK,CAAC,OAAmB;QAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iBAAO,CAAC,IAAI,CAAC,oCAAoC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;CACF;AApBD,4CAoBC"}
@@ -14,24 +14,45 @@ async function filterComponentInfo(comp, permissionId, permissions, componentMap
14
14
  filtered.options = await filterRequiredPermissionWatches(filtered.options, permissions);
15
15
  return filtered;
16
16
  }
17
+ const isPlainObject = (value) => !!value &&
18
+ typeof value === "object" &&
19
+ (Object.getPrototypeOf(value) === Object.prototype ||
20
+ Object.getPrototypeOf(value) === null);
17
21
  /**
18
22
  * The watch actions the caller may run: one gated by `requirePermission` is
19
23
  * kept only when the caller holds that permission as everywhere else (an
20
24
  * owner's `*` and the permission's ancestors included).
25
+ *
26
+ * Checked on the component's own options and on every component embedded in
27
+ * them: a host serializes what it opens (a table view's forms in a drawer or a
28
+ * modal, a dialog's content) into its options with `serializeSync()`, so those
29
+ * are not nodes of the page's tree. `watchActions` is the transport key the
30
+ * builder alone fills (it strips one a caller passes), so any object holding
31
+ * it is a component's options. A value with no gated watch keeps its identity.
21
32
  */
22
- async function filterRequiredPermissionWatches(options, permissions) {
23
- if (!options || typeof options !== "object") {
24
- return options;
25
- }
26
- const opts = options;
27
- if (!Array.isArray(opts.watchActions) || opts.watchActions.length === 0) {
28
- return options;
33
+ async function filterRequiredPermissionWatches(value, permissions) {
34
+ if (Array.isArray(value)) {
35
+ const items = await Promise.all(value.map((item) => filterRequiredPermissionWatches(item, permissions)));
36
+ return items.every((item, index) => item === value[index]) ? value : items;
29
37
  }
30
- const granted = await Promise.all(opts.watchActions.map(async (w) => !w.requirePermission ||
38
+ if (!isPlainObject(value))
39
+ return value;
40
+ const entries = await Promise.all(Object.entries(value).map(async ([key, item]) => [
41
+ key,
42
+ await filterRequiredPermissionWatches(item, permissions),
43
+ ]));
44
+ const changed = entries.some(([key, item]) => item !== value[key]);
45
+ const next = changed ? Object.fromEntries(entries) : value;
46
+ if (!Array.isArray(next.watchActions))
47
+ return next;
48
+ const watches = next.watchActions;
49
+ const granted = await Promise.all(watches.map(async (w) => !w.requirePermission ||
31
50
  (await (0, permissions_1.HasPermission)(permissions, w.requirePermission))));
51
+ if (granted.every(Boolean))
52
+ return next;
32
53
  return {
33
- ...opts,
34
- watchActions: opts.watchActions.filter((_, index) => granted[index]),
54
+ ...next,
55
+ watchActions: watches.filter((_, index) => granted[index]),
35
56
  };
36
57
  }
37
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"layout-filter.js","sourceRoot":"","sources":["../../src/page/layout-filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout-filter.js","sourceRoot":"","sources":["../../src/page/layout-filter.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ exports.PageMetadata = void 0;
4
4
  const interface_api_1 = require("@antelopejs/interface-api");
5
5
  const interface_core_1 = require("@antelopejs/interface-core");
6
6
  const logging_1 = require("@antelopejs/interface-core/logging");
7
- const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
8
7
  const auth_1 = require("../auth");
9
8
  // Import from the defining leaf, not the dms-base barrel: the barrel pulls in
10
9
  // table-view, which imports the page interface back — entering through the
@@ -16,7 +15,7 @@ const component_slots_1 = require("../internal/component-slots");
16
15
  const db_1 = require("../db");
17
16
  const guards_1 = require("../guards");
18
17
  const permissions_1 = require("../permissions");
19
- const request_tenant_1 = require("../request-tenant");
18
+ const tenant_scoped_model_1 = require("../tenant-scoped-model");
20
19
  const tenant_access_1 = require("../tenant-access");
21
20
  const tenant_access_2 = require("../internal/tenant-access");
22
21
  const uploads_1 = require("../uploads");
@@ -32,6 +31,7 @@ const declaration_conflict_1 = require("./declaration-conflict");
32
31
  const page_routes_1 = require("./page-routes");
33
32
  const layout_filter_1 = require("./layout-filter");
34
33
  const layout_filter_2 = require("./internal/layout-filter");
34
+ const page_record_1 = require("./internal/page-record");
35
35
  const member_access_1 = require("./internal/member-access");
36
36
  const table_view_ids_1 = require("./internal/table-view-ids");
37
37
  const registry_1 = require("./internal/registry");
@@ -145,28 +145,29 @@ class PageMetadata {
145
145
  this.components[id] = component;
146
146
  }
147
147
  SetInfo(id, fullSlug, menuOptions, pageLayout) {
148
- const resolvedCategory = (0, categories_2.resolveCategoryInfo)(menuOptions.category);
148
+ const { parent, ...menu } = menuOptions;
149
+ const resolvedCategory = (0, categories_2.resolveCategoryInfo)(menu.category);
149
150
  const parentFullId = resolvedCategory?.fullId ?? "";
150
151
  const fullId = parentFullId ? `${parentFullId}.${id}` : id;
151
152
  const location = (0, page_routes_1.pageRoutePath)(fullSlug, "/pagelayout");
152
153
  const pageInfo = {
153
- ...menuOptions,
154
+ ...menu,
154
155
  category: resolvedCategory,
155
156
  id,
156
157
  fullId,
157
158
  fullSlug,
158
159
  layoutUrl: location,
159
- hidden: menuOptions.hidden || resolvedCategory?.hidden,
160
- publicAccess: menuOptions.publicAccess || resolvedCategory?.publicAccess,
161
- authOnly: menuOptions.authOnly || resolvedCategory?.authOnly,
162
- memberAccess: menuOptions.memberAccess ||
160
+ parentSlug: parent ? (0, categories_2.resolveCategoryInfo)(parent)?.fullSlug : undefined,
161
+ hidden: menu.hidden || resolvedCategory?.hidden,
162
+ publicAccess: menu.publicAccess || resolvedCategory?.publicAccess,
163
+ authOnly: menu.authOnly || resolvedCategory?.authOnly,
164
+ memberAccess: menu.memberAccess ||
163
165
  (0, member_access_1.inheritedMemberAccess)(resolvedCategory?.memberAccess),
164
- bypassTenantAccessGate: menuOptions.bypassTenantAccessGate ||
165
- resolvedCategory?.bypassTenantAccessGate,
166
+ bypassTenantAccessGate: menu.bypassTenantAccessGate || resolvedCategory?.bypassTenantAccessGate,
166
167
  };
167
168
  this.layout =
168
169
  pageLayout ??
169
- menuOptions.layout ??
170
+ menu.layout ??
170
171
  (0, categories_2.resolveInheritedLayout)(resolvedCategory) ??
171
172
  (0, layouts_1.DefaultLayout)();
172
173
  this.pageInfo = pageInfo;
@@ -262,6 +263,7 @@ class PageMetadata {
262
263
  this.ownRouteProperties();
263
264
  this.applyAuthDecorators(pageInfo);
264
265
  (0, metadata_helpers_1.RequestQueryProperty)()(this.target.prototype, "pageQuery");
266
+ (0, metadata_helpers_1.RequestRouteParametersProperty)()(this.target.prototype, "pageParams");
265
267
  this.registerLayoutRoute(pageInfo);
266
268
  }
267
269
  /**
@@ -405,20 +407,22 @@ class PageMetadata {
405
407
  }
406
408
  registerLayoutRoute(pageInfo) {
407
409
  const apimeta = (0, interface_core_1.GetMetadata)(this.target, interface_api_1.ControllerMeta);
408
- const resolvePageLayout = (user, memberModel, roleModel, tenantId, query) => this.resolvePageLayout(user, memberModel, roleModel, tenantId, {
409
- query,
410
- });
410
+ const resolvePageLayout = (request) => this.resolvePageLayout(request);
411
411
  // The by-slug entry carries no guard of its own, so it asks the resolver
412
412
  // to assert the gate; the route below is already guarded.
413
- const handler = (user, memberModel, roleModel, tenantId, query) => this.resolvePageLayout(user, memberModel, roleModel, tenantId, {
414
- enforceTenantAccessGate: true,
415
- query,
416
- });
413
+ const handler = (request) => this.resolvePageLayout(request, { enforceTenantAccessGate: true });
417
414
  registry_1.pageLayoutHandlers.set(pageInfo.fullSlug, handler);
418
415
  const routeId = (0, interface_api_1.RegisterRoute)({
419
416
  location: pageInfo.layoutUrl,
420
417
  callback: async function () {
421
- return resolvePageLayout(this.user, this.memberModel, this.roleModel, this.tenantId, this.pageQuery);
418
+ return resolvePageLayout({
419
+ user: this.user,
420
+ memberModel: this.memberModel,
421
+ roleModel: this.roleModel,
422
+ tenantId: this.tenantId,
423
+ query: this.pageQuery,
424
+ params: this.pageParams,
425
+ });
422
426
  },
423
427
  method: "GET",
424
428
  mode: "handler",
@@ -437,7 +441,9 @@ class PageMetadata {
437
441
  (0, interface_api_1.UnregisterRoute)(routeId);
438
442
  });
439
443
  }
440
- async resolvePageLayout(user, memberModel, roleModel, tenantId, { enforceTenantAccessGate = false, query } = {}) {
444
+ async resolvePageLayout({ user, memberModel, roleModel, tenantId, query, params, resolverContext, },
445
+ // Only for the by-slug entry, which has no guard of its own.
446
+ { enforceTenantAccessGate = false } = {}) {
441
447
  const layout = this.layoutRef;
442
448
  if (!layout) {
443
449
  throw new Error("PageMetadata not properly initialized");
@@ -472,15 +478,19 @@ class PageMetadata {
472
478
  if (!user)
473
479
  return new Set();
474
480
  const roleIds = (await memberModel.getByUser(user._id))?.roleIds ?? [];
475
- return (0, permissions_1.GetEffectiveUserPermissions)(user, tenantId, roleIds, roleModel);
481
+ return (0, permissions_1.GetEffectiveUserPermissions)(user, tenantId, roleIds, roleModel, resolverContext);
476
482
  };
477
483
  // Header actions declaring a permission are filtered on every page, even
478
484
  // one skipping component permissions: they name their own requirement.
479
- const context = { tenantId, user, query };
485
+ // The page's record is read first, so every availability of the page
486
+ // reads it with the URL.
487
+ const context = { tenantId, user, query, params };
488
+ const read = await (0, page_record_1.readPageRecord)(layout.layout, context);
489
+ context.record = read?.record;
480
490
  if (this.pageInfo?.publicAccess === true || this.skipComponentPermissions) {
481
491
  return {
482
492
  ...layout,
483
- layout: (0, layout_filter_2.withComponentHeaderButtons)(await (0, layout_filter_2.filterLayoutHeaderActions)(layout.layout, loadPermissions, context, this.pagePermissionId), components),
493
+ layout: (0, layout_filter_2.withComponentHeaderButtons)(await (0, layout_filter_2.filterLayoutHeaderActions)(layout.layout, loadPermissions, context, this.pagePermissionId, read?.status), components),
484
494
  components: (0, table_view_ids_1.withTableViewPlacements)(components),
485
495
  };
486
496
  }
@@ -490,7 +500,7 @@ class PageMetadata {
490
500
  ...layout,
491
501
  // A component's header buttons are added once it was filtered: the
492
502
  // ones the caller may not press are gone already.
493
- layout: (0, layout_filter_2.withComponentHeaderButtons)(await (0, layout_filter_2.filterLayoutHeaderActions)(layout.layout, async () => permissions, context, this.pagePermissionId), servedComponents),
503
+ layout: (0, layout_filter_2.withComponentHeaderButtons)(await (0, layout_filter_2.filterLayoutHeaderActions)(layout.layout, async () => permissions, context, this.pagePermissionId, read?.status), servedComponents),
494
504
  components: (0, table_view_ids_1.withTableViewPlacements)(servedComponents),
495
505
  ...hiddenComponentsFlag(components, servedComponents),
496
506
  };
@@ -840,8 +850,8 @@ class PageMetadata {
840
850
  }
841
851
  if (authOnly)
842
852
  return;
843
- (0, interface_database_decorators_1.Model)(db_1.RoleModel, (ctx) => (0, request_tenant_1.getRequestTenantId)(ctx))(this.target.prototype, "roleModel");
844
- (0, interface_database_decorators_1.Model)(db_1.TenantMemberModel, (ctx) => (0, request_tenant_1.getRequestTenantId)(ctx))(this.target.prototype, "memberModel");
853
+ (0, tenant_scoped_model_1.TenantScopedModel)(db_1.RoleModel)(this.target.prototype, "roleModel");
854
+ (0, tenant_scoped_model_1.TenantScopedModel)(db_1.TenantMemberModel)(this.target.prototype, "memberModel");
845
855
  (0, metadata_helpers_1.RequestTenantIdProperty)()(this.target.prototype, "tenantId");
846
856
  }
847
857
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/page/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/page/metadata.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { User } from "../auth/db";
3
3
  import type { Action, Component, ComponentInfo, ComponentInfoSerialized, PlacementSide } from "../component";
4
4
  import type { RoleModel, TenantMemberModel } from "../db";
5
5
  import type { Permission } from "../permissions";
6
+ import type { PermissionsResolverContext } from "../permissions-resolver";
6
7
  import type { Tone } from "../base/types/tone";
7
8
  import type { MaybePromise } from "../types";
8
9
  export type { MaybePromise };
@@ -289,8 +290,26 @@ export interface MenuOptions {
289
290
  * ```
290
291
  */
291
292
  live?: PageLiveOptions;
293
+ /**
294
+ * The page this one is a detail of, named by its controller: the
295
+ * breadcrumb shows it before this page, so a hidden detail page
296
+ * (`/operations/project/:id`) reads "Operations / Projects / <record>" and
297
+ * leads back to its list. Its route parameters are filled from this page's
298
+ * own when they share a name. Read on pages only: a category ignores it.
299
+ *
300
+ * ```ts
301
+ * export class ProjectPage extends PageController("project", {
302
+ * displayName: "Project",
303
+ * category: operationsCategory,
304
+ * urlSlug: "project/:id",
305
+ * hidden: true,
306
+ * parent: ProjectsPage,
307
+ * }) {}
308
+ * ```
309
+ */
310
+ parent?: ControllerClass;
292
311
  }
293
- export interface CategoryInfo extends Omit<MenuOptions, "category"> {
312
+ export interface CategoryInfo extends Omit<MenuOptions, "category" | "parent"> {
294
313
  id: string;
295
314
  fullId: string;
296
315
  fullSlug: string;
@@ -309,6 +328,8 @@ export interface CategoryInfo extends Omit<MenuOptions, "category"> {
309
328
  }
310
329
  export interface PageInfo extends CategoryInfo {
311
330
  layoutUrl: string;
331
+ /** Full slug of the page declared as `parent`, resolved at registration. */
332
+ parentSlug?: string;
312
333
  }
313
334
  /**
314
335
  * A menu entry produced by a dynamic menu provider. It is not a page: it links
@@ -402,6 +423,20 @@ export interface PageLayout<T = unknown> {
402
423
  */
403
424
  allComponentsHidden?: true;
404
425
  }
405
- export type PageLayoutHandler = (user: User | undefined, memberModel: TenantMemberModel, roleModel: RoleModel, tenantId: string,
406
- /** The query of the page URL, handed to header-button availability. */
407
- query?: Readonly<Record<string, string>>) => Promise<PageLayout>;
426
+ /** What a page layout is asked for: its caller, and the page URL it is drawn at. */
427
+ export interface PageLayoutRequest {
428
+ user: User | undefined;
429
+ memberModel: TenantMemberModel;
430
+ roleModel: RoleModel;
431
+ tenantId: string;
432
+ /** The query of the page URL, handed to header-button availability. */
433
+ query?: Readonly<Record<string, string>>;
434
+ /** The route parameters (`:id`) of the page URL, handed along with it. */
435
+ params?: Readonly<Record<string, string>>;
436
+ /**
437
+ * What the permission resolvers are told about this read: `preview` when
438
+ * the layout is served for a role previewed by `user`.
439
+ */
440
+ resolverContext?: PermissionsResolverContext;
441
+ }
442
+ export type PageLayoutHandler = (request: PageLayoutRequest) => Promise<PageLayout>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/page/types.ts"],"names":[],"mappings":";;;AAmFa,QAAA,iBAAiB,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/page/types.ts"],"names":[],"mappings":";;;AAoFa,QAAA,iBAAiB,GAAG,UAAU,CAAC"}
package/dist/page.d.ts CHANGED
@@ -20,7 +20,7 @@
20
20
  * form page route claims and the registration identities.
21
21
  */
22
22
  export { internal, isInsideModule } from "./page/categories";
23
- export { AddFrontendModule, type AddFrontendModuleOptions, Category, type FrontendBackendProxy, type FrontendModuleMetadata, type FrontendModuleOptions, type FrontendModuleValue, type FrontendPublicEndpoint, type FrontendRendererMetadata, GetFrontendModules, NotifyMenuChanged, PageController, RegisterDynamicMenuProvider, RegisterPage, RegisterPageExtension, RootCategory, RootPageController, } from "./page/controllers";
23
+ export { AddFrontendModule, type AddFrontendModuleOptions, Category, type FrontendBackendProxy, type FrontendModuleContext, type FrontendModuleFunction, type FrontendModuleMetadata, type FrontendModuleOptions, type FrontendModuleRegistration, type FrontendModuleValue, type FrontendPublicEndpoint, type FrontendRendererMetadata, FrontendModulesChanged, GetFrontendModules, NotifyMenuChanged, PageController, RegisterDynamicMenuProvider, RegisterPage, RegisterPageExtension, RootCategory, RootPageController, } from "./page/controllers";
24
24
  export { PageDeclarationConflictError } from "./page/declaration-conflict";
25
25
  export { FormPageRouteConflictError } from "./page/form-page-routes";
26
26
  export { PageMetadata } from "./page/metadata";
package/dist/page.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.GetRegisteredPageIds = exports.GetPermissionId = exports.GetPageLayoutBySlug = exports.GetComponentPermissionIds = exports.ClearPageLayoutBySlug = exports.PageMetadata = exports.FormPageRouteConflictError = exports.PageDeclarationConflictError = exports.RootPageController = exports.RootCategory = exports.RegisterPageExtension = exports.RegisterPage = exports.RegisterDynamicMenuProvider = exports.PageController = exports.NotifyMenuChanged = exports.GetFrontendModules = exports.Category = exports.AddFrontendModule = exports.isInsideModule = exports.internal = void 0;
17
+ exports.GetRegisteredPageIds = exports.GetPermissionId = exports.GetPageLayoutBySlug = exports.GetComponentPermissionIds = exports.ClearPageLayoutBySlug = exports.PageMetadata = exports.FormPageRouteConflictError = exports.PageDeclarationConflictError = exports.RootPageController = exports.RootCategory = exports.RegisterPageExtension = exports.RegisterPage = exports.RegisterDynamicMenuProvider = exports.PageController = exports.NotifyMenuChanged = exports.GetFrontendModules = exports.FrontendModulesChanged = exports.Category = exports.AddFrontendModule = exports.isInsideModule = exports.internal = void 0;
18
18
  /**
19
19
  * Public entry of the page system, split by concern under `./page/`:
20
20
  *
@@ -42,6 +42,7 @@ Object.defineProperty(exports, "isInsideModule", { enumerable: true, get: functi
42
42
  var controllers_1 = require("./page/controllers");
43
43
  Object.defineProperty(exports, "AddFrontendModule", { enumerable: true, get: function () { return controllers_1.AddFrontendModule; } });
44
44
  Object.defineProperty(exports, "Category", { enumerable: true, get: function () { return controllers_1.Category; } });
45
+ Object.defineProperty(exports, "FrontendModulesChanged", { enumerable: true, get: function () { return controllers_1.FrontendModulesChanged; } });
45
46
  Object.defineProperty(exports, "GetFrontendModules", { enumerable: true, get: function () { return controllers_1.GetFrontendModules; } });
46
47
  Object.defineProperty(exports, "NotifyMenuChanged", { enumerable: true, get: function () { return controllers_1.NotifyMenuChanged; } });
47
48
  Object.defineProperty(exports, "PageController", { enumerable: true, get: function () { return controllers_1.PageController; } });
package/dist/page.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,gDAA6D;AAApD,sGAAA,QAAQ,OAAA;AAAE,4GAAA,cAAc,OAAA;AACjC,kDAkB4B;AAjB1B,gHAAA,iBAAiB,OAAA;AAEjB,uGAAA,QAAQ,OAAA;AAOR,iHAAA,kBAAkB,OAAA;AAClB,gHAAA,iBAAiB,OAAA;AACjB,6GAAA,cAAc,OAAA;AACd,0HAAA,2BAA2B,OAAA;AAC3B,2GAAA,YAAY,OAAA;AACZ,oHAAA,qBAAqB,OAAA;AACrB,2GAAA,YAAY,OAAA;AACZ,iHAAA,kBAAkB,OAAA;AAEpB,oEAA2E;AAAlE,oIAAA,4BAA4B,OAAA;AACrC,4DAAqE;AAA5D,8HAAA,0BAA0B,OAAA;AACnC,4CAA+C;AAAtC,wGAAA,YAAY,OAAA;AACrB,qDAAmC;AACnC,4CAMyB;AALvB,iHAAA,qBAAqB,OAAA;AACrB,qHAAA,yBAAyB,OAAA;AACzB,+GAAA,mBAAmB,OAAA;AACnB,2GAAA,eAAe,OAAA;AACf,gHAAA,oBAAoB,OAAA;AAEtB,+CAA6B;AAC7B,+CAA6B"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,gDAA6D;AAApD,sGAAA,QAAQ,OAAA;AAAE,4GAAA,cAAc,OAAA;AACjC,kDAsB4B;AArB1B,gHAAA,iBAAiB,OAAA;AAEjB,uGAAA,QAAQ,OAAA;AAUR,qHAAA,sBAAsB,OAAA;AACtB,iHAAA,kBAAkB,OAAA;AAClB,gHAAA,iBAAiB,OAAA;AACjB,6GAAA,cAAc,OAAA;AACd,0HAAA,2BAA2B,OAAA;AAC3B,2GAAA,YAAY,OAAA;AACZ,oHAAA,qBAAqB,OAAA;AACrB,2GAAA,YAAY,OAAA;AACZ,iHAAA,kBAAkB,OAAA;AAEpB,oEAA2E;AAAlE,oIAAA,4BAA4B,OAAA;AACrC,4DAAqE;AAA5D,8HAAA,0BAA0B,OAAA;AACnC,4CAA+C;AAAtC,wGAAA,YAAY,OAAA;AACrB,qDAAmC;AACnC,4CAMyB;AALvB,iHAAA,qBAAqB,OAAA;AACrB,qHAAA,yBAAyB,OAAA;AACzB,+GAAA,mBAAmB,OAAA;AACnB,2GAAA,eAAe,OAAA;AACf,gHAAA,oBAAoB,OAAA;AAEtB,+CAA6B;AAC7B,+CAA6B"}