@antelopejs/dms 0.4.4 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/config.d.ts +1 -0
  3. package/dist/config.js.map +1 -1
  4. package/dist/hooks/invite-extensions.js +2 -2
  5. package/dist/hooks/invite-extensions.js.map +1 -1
  6. package/dist/implementations/dms/layout-banners.d.ts +18 -0
  7. package/dist/implementations/dms/layout-banners.js +60 -0
  8. package/dist/implementations/dms/layout-banners.js.map +1 -0
  9. package/dist/implementations/dms/page.d.ts +3 -0
  10. package/dist/implementations/dms/page.js +90 -28
  11. package/dist/implementations/dms/page.js.map +1 -1
  12. package/dist/implementations/dms/quick-actions.d.ts +5 -0
  13. package/dist/implementations/dms/quick-actions.js.map +1 -1
  14. package/dist/implementations/dms/resolver-timeout.d.ts +1 -0
  15. package/dist/implementations/dms/resolver-timeout.js +13 -0
  16. package/dist/implementations/dms/resolver-timeout.js.map +1 -0
  17. package/dist/implementations/dms/saas-mode.d.ts +8 -0
  18. package/dist/implementations/dms/saas-mode.js +20 -0
  19. package/dist/implementations/dms/saas-mode.js.map +1 -0
  20. package/dist/implementations/dms/stale-session.d.ts +2 -0
  21. package/dist/implementations/dms/stale-session.js +16 -0
  22. package/dist/implementations/dms/stale-session.js.map +1 -0
  23. package/dist/implementations/dms-auth/index.d.ts +3 -1
  24. package/dist/implementations/dms-auth/index.js +38 -8
  25. package/dist/implementations/dms-auth/index.js.map +1 -1
  26. package/dist/implementations/dms-html-render/service-jwt.js +2 -1
  27. package/dist/implementations/dms-html-render/service-jwt.js.map +1 -1
  28. package/dist/index.js +2 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/pages/settings/users/index.d.ts +1 -0
  31. package/dist/pages/settings/users/index.js +1 -0
  32. package/dist/pages/settings/users/index.js.map +1 -1
  33. package/dist/pages/settings/users/invite-extension-routes.d.ts +4 -0
  34. package/dist/pages/settings/users/invite-extension-routes.js +57 -0
  35. package/dist/pages/settings/users/invite-extension-routes.js.map +1 -0
  36. package/dist/pages/settings/users/invites.d.ts +2 -1
  37. package/dist/pages/settings/users/invites.js +17 -5
  38. package/dist/pages/settings/users/invites.js.map +1 -1
  39. package/dist/pages/settings/users/members.d.ts +4 -1
  40. package/dist/pages/settings/users/members.js +10 -6
  41. package/dist/pages/settings/users/members.js.map +1 -1
  42. package/dist/pages/settings/users/notifications.js +1 -1
  43. package/dist/pages/settings/users/notifications.js.map +1 -1
  44. package/dist/pages/settings/users/quick-actions.d.ts +1 -0
  45. package/dist/pages/settings/users/quick-actions.js +22 -0
  46. package/dist/pages/settings/users/quick-actions.js.map +1 -0
  47. package/dist/routes/auth/client-ip.d.ts +7 -0
  48. package/dist/routes/auth/client-ip.js +42 -0
  49. package/dist/routes/auth/client-ip.js.map +1 -0
  50. package/dist/routes/auth/index.d.ts +1 -0
  51. package/dist/routes/auth/index.js +1 -0
  52. package/dist/routes/auth/index.js.map +1 -1
  53. package/dist/routes/auth/signup.d.ts +2 -0
  54. package/dist/routes/auth/signup.js +7 -2
  55. package/dist/routes/auth/signup.js.map +1 -1
  56. package/dist/routes/auth.d.ts +3 -0
  57. package/dist/routes/auth.js +15 -4
  58. package/dist/routes/auth.js.map +1 -1
  59. package/dist/test/integration/auth/client-ip.test.d.ts +1 -0
  60. package/dist/test/integration/auth/client-ip.test.js +14 -0
  61. package/dist/test/integration/auth/client-ip.test.js.map +1 -0
  62. package/dist/test/integration/invite-extension-edit.test.d.ts +1 -0
  63. package/dist/test/integration/invite-extension-edit.test.js +122 -0
  64. package/dist/test/integration/invite-extension-edit.test.js.map +1 -0
  65. package/dist/test/integration/page-session.test.d.ts +1 -0
  66. package/dist/test/integration/page-session.test.js +52 -0
  67. package/dist/test/integration/page-session.test.js.map +1 -0
  68. package/dist/test/integration/saas-mode-ownership.test.d.ts +1 -0
  69. package/dist/test/integration/saas-mode-ownership.test.js +81 -0
  70. package/dist/test/integration/saas-mode-ownership.test.js.map +1 -0
  71. package/dist/test/integration/tenant-lifecycle.test.js +38 -0
  72. package/dist/test/integration/tenant-lifecycle.test.js.map +1 -1
  73. package/dist/test/unit/client-ip.test.d.ts +1 -0
  74. package/dist/test/unit/client-ip.test.js +77 -0
  75. package/dist/test/unit/client-ip.test.js.map +1 -0
  76. package/dist/test/unit/implementations/dms/layout-banners.test.d.ts +1 -0
  77. package/dist/test/unit/implementations/dms/layout-banners.test.js +217 -0
  78. package/dist/test/unit/implementations/dms/layout-banners.test.js.map +1 -0
  79. package/dist/test/unit/implementations/dms/quick-actions-button.test.d.ts +1 -0
  80. package/dist/test/unit/implementations/dms/quick-actions-button.test.js +220 -0
  81. package/dist/test/unit/implementations/dms/quick-actions-button.test.js.map +1 -0
  82. package/dist/test/unit/implementations/dms-html-render/generate-html.test.js +1 -1
  83. package/dist/test/unit/implementations/dms-html-render/generate-html.test.js.map +1 -1
  84. package/dist/test/unit/implementations/dms-html-render/service-jwt.test.d.ts +1 -0
  85. package/dist/test/unit/implementations/dms-html-render/service-jwt.test.js +37 -0
  86. package/dist/test/unit/implementations/dms-html-render/service-jwt.test.js.map +1 -0
  87. package/dist/test/unit/interfaces/dms/invite-extension.test.js +138 -12
  88. package/dist/test/unit/interfaces/dms/invite-extension.test.js.map +1 -1
  89. package/dist/test/unit/interfaces/dms/saas-mode.test.d.ts +1 -0
  90. package/dist/test/unit/interfaces/dms/saas-mode.test.js +42 -0
  91. package/dist/test/unit/interfaces/dms/saas-mode.test.js.map +1 -0
  92. package/dist/test/unit/interfaces/dms/tenant-invite-email.test.d.ts +1 -0
  93. package/dist/test/unit/interfaces/dms/tenant-invite-email.test.js +53 -0
  94. package/dist/test/unit/interfaces/dms/tenant-invite-email.test.js.map +1 -0
  95. package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.d.ts +1 -0
  96. package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.js +80 -0
  97. package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.js.map +1 -0
  98. package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.d.ts +1 -0
  99. package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.js +96 -0
  100. package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.js.map +1 -0
  101. package/dist/test/unit/pages/settings/invite-member-quick-action.test.d.ts +1 -0
  102. package/dist/test/unit/pages/settings/invite-member-quick-action.test.js +104 -0
  103. package/dist/test/unit/pages/settings/invite-member-quick-action.test.js.map +1 -0
  104. package/dist/test/unit/pages/settings/notifications-access-gate.test.d.ts +1 -0
  105. package/dist/test/unit/pages/settings/notifications-access-gate.test.js +78 -0
  106. package/dist/test/unit/pages/settings/notifications-access-gate.test.js.map +1 -0
  107. package/dist/test/unit/signup-account-guard.test.js +20 -2
  108. package/dist/test/unit/signup-account-guard.test.js.map +1 -1
  109. package/dist/test/unit/utils/admin-invite-email.test.d.ts +1 -0
  110. package/dist/test/unit/utils/admin-invite-email.test.js +69 -0
  111. package/dist/test/unit/utils/admin-invite-email.test.js.map +1 -0
  112. package/dist/utils/admin-invite-email.d.ts +14 -0
  113. package/dist/utils/admin-invite-email.js +51 -0
  114. package/dist/utils/admin-invite-email.js.map +1 -0
  115. package/dist/utils/index.d.ts +0 -1
  116. package/dist/utils/index.js +0 -1
  117. package/dist/utils/index.js.map +1 -1
  118. package/dist/validation/auth.schema.d.ts +3 -3
  119. package/dist/validation/auth.schema.js +1 -1
  120. package/dist/validation/auth.schema.js.map +1 -1
  121. package/frontend-vue/layers/dms-auth/app/custom-pages/auth/signup.vue +37 -8
  122. package/frontend-vue/layers/dms-auth/app/middleware/auth.ts +5 -2
  123. package/frontend-vue/layers/dms-auth/i18n/locales/auth-en-GB.json +3 -1
  124. package/frontend-vue/layers/dms-auth/i18n/locales/auth-fr-FR.json +3 -1
  125. package/frontend-vue/layers/dms-core/app/composables/useApiError.ts +27 -2
  126. package/frontend-vue/layers/dms-core/app/utils/menu.ts +26 -10
  127. package/frontend-vue/layers/dms-core/app/utils/routePath.ts +23 -0
  128. package/frontend-vue/layers/dms-core/i18n/locales/core-en-GB.json +3 -0
  129. package/frontend-vue/layers/dms-core/i18n/locales/core-fr-FR.json +3 -0
  130. package/frontend-vue/layers/dms-core/shared/types/runtime-config.d.ts +4 -1
  131. package/frontend-vue/layers/dms-layout/app/app.config.ts +9 -1
  132. package/frontend-vue/layers/dms-layout/app/build/components/layout/DashboardBanners.vue +50 -0
  133. package/frontend-vue/layers/dms-layout/app/build/components/layout/DashboardHeader.vue +16 -13
  134. package/frontend-vue/layers/dms-layout/app/build/components/layout/DashboardSidebar.vue +2 -2
  135. package/frontend-vue/layers/dms-layout/app/build/components/notification/NotificationPopover.vue +11 -5
  136. package/frontend-vue/layers/dms-layout/app/build/components/notification/widgetRequest.ts +20 -0
  137. package/frontend-vue/layers/dms-layout/app/components/navigation/CollapsedMenuItem.vue +0 -5
  138. package/frontend-vue/layers/dms-layout/app/components/profile/ProfileLanguage.vue +3 -23
  139. package/frontend-vue/layers/dms-layout/app/composables/layout/useLayoutBanners.ts +59 -0
  140. package/frontend-vue/layers/dms-layout/app/composables/page/useQuickActions.ts +15 -2
  141. package/frontend-vue/layers/dms-layout/app/composables/profile/useUserLanguage.ts +33 -0
  142. package/frontend-vue/layers/dms-layout/app/custom-layouts/DefaultLayout.vue +2 -0
  143. package/frontend-vue/layers/dms-layout/app/emails/EmailAdminInvite.vue +54 -9
  144. package/frontend-vue/layers/dms-layout/app/error.vue +17 -2
  145. package/frontend-vue/layers/dms-layout/app/plugins/command-palette-session.client.ts +2 -1
  146. package/frontend-vue/layers/dms-layout/app/types/page.ts +22 -0
  147. package/frontend-vue/layers/dms-layout/app/utils/breadcrumb.ts +48 -0
  148. package/frontend-vue/layers/dms-layout/app/utils/favorites.ts +94 -0
  149. package/frontend-vue/layers/dms-layout/i18n/locales/layout-en-GB.json +21 -2
  150. package/frontend-vue/layers/dms-layout/i18n/locales/layout-fr-FR.json +21 -2
  151. package/frontend-vue/layers/dms-onboarding/app/composables/onboarding/index.ts +1 -1
  152. package/frontend-vue/layers/dms-onboarding/app/composables/onboarding/{useOnboardingMiddleware.ts → useOnboarding.ts} +0 -12
  153. package/frontend-vue/layers/dms-onboarding/app/custom-pages/onboarding.vue +4 -1
  154. package/frontend-vue/layers/dms-onboarding/app/middleware/onboarding.global.ts +21 -4
  155. package/frontend-vue/layers/dms-ui/app/build/components/containers/drawer/DynamicDrawer.vue +13 -3
  156. package/frontend-vue/layers/dms-ui/app/build/components/containers/modal/DynamicModal.vue +13 -3
  157. package/frontend-vue/layers/dms-ui/app/build/composables/data-types/registerDefaults.ts +31 -3
  158. package/frontend-vue/layers/dms-ui/app/build/composables/data-types/relationBadges.ts +36 -0
  159. package/frontend-vue/layers/dms-ui/app/build/composables/table-view/useTableViewConfig.ts +2 -7
  160. package/frontend-vue/layers/dms-ui/app/build/composables/table-view/utils/columnVisibility.ts +13 -0
  161. package/frontend-vue/layers/dms-ui/app/build/types/tree.ts +5 -10
  162. package/frontend-vue/layers/dms-ui/app/components/PasswordStrength.vue +1 -1
  163. package/frontend-vue/layers/dms-ui/app/components/activity/ActivityItem.vue +1 -1
  164. package/frontend-vue/layers/dms-ui/app/components/banner/Banner.vue +1 -1
  165. package/frontend-vue/layers/dms-ui/app/components/card/NavCard.vue +2 -2
  166. package/frontend-vue/layers/dms-ui/app/components/chart/Chart.vue +6 -16
  167. package/frontend-vue/layers/dms-ui/app/components/chart/ChartCard.vue +2 -2
  168. package/frontend-vue/layers/dms-ui/app/components/chart/internal/TrendBadge.vue +1 -1
  169. package/frontend-vue/layers/dms-ui/app/components/copy/CopyButton.vue +1 -1
  170. package/frontend-vue/layers/dms-ui/app/components/kpi/KpiCard.vue +3 -3
  171. package/frontend-vue/layers/dms-ui/app/components/master-detail/MasterDetail.vue +5 -1
  172. package/frontend-vue/layers/dms-ui/app/components/segmented/Segmented.vue +1 -1
  173. package/frontend-vue/layers/dms-ui/app/components/status/StatusSummary.vue +1 -1
  174. package/frontend-vue/layers/dms-ui/app/components/table-view/TableView.vue +33 -10
  175. package/frontend-vue/layers/dms-ui/app/composables/chart/donutRecords.ts +26 -0
  176. package/frontend-vue/layers/dms-ui/app/composables/tab/types/props.ts +4 -2
  177. package/frontend-vue/layers/dms-ui/app/composables/tab/useTab.ts +3 -3
  178. package/frontend-vue/layers/dms-ui/app/composables/table-view/types/column.ts +1 -1
  179. package/frontend-vue/layers/dms-ui/app/composables/table-view/types/custom-button.ts +2 -0
  180. package/frontend-vue/layers/dms-ui/app/types/quick-actions.ts +38 -3
  181. package/frontend-vue/tests/admin-invite-email.test.ts +86 -0
  182. package/frontend-vue/tests/api-error-title.test.ts +24 -0
  183. package/frontend-vue/tests/auth-middleware-error.test.ts +58 -0
  184. package/frontend-vue/tests/breadcrumb-target.test.ts +50 -0
  185. package/frontend-vue/tests/button-disabled-theme.test.ts +21 -0
  186. package/frontend-vue/tests/chart-nested-donut.test.ts +97 -0
  187. package/frontend-vue/tests/error-page-message.test.ts +83 -0
  188. package/frontend-vue/tests/favorite-page.test.ts +104 -0
  189. package/frontend-vue/tests/icon-aria-hidden.test.ts +29 -0
  190. package/frontend-vue/tests/layout-banners.test.ts +224 -0
  191. package/frontend-vue/tests/menu-navigation.test.ts +39 -10
  192. package/frontend-vue/tests/notification-popover-errors.test.ts +147 -0
  193. package/frontend-vue/tests/onboarding-middleware.test.ts +103 -0
  194. package/frontend-vue/tests/password-strength-meter.test.ts +33 -0
  195. package/frontend-vue/tests/quick-action-intent.test.ts +74 -0
  196. package/frontend-vue/tests/quick-actions.test.ts +23 -0
  197. package/frontend-vue/tests/relation-badges.test.ts +32 -0
  198. package/frontend-vue/tests/signup-invitation-link.test.ts +126 -0
  199. package/frontend-vue/tests/skeleton-paragraph.test.ts +30 -0
  200. package/frontend-vue/tests/tab-without-component-id.test.ts +51 -0
  201. package/frontend-vue/tests/table-column-visibility.test.ts +20 -0
  202. package/frontend-vue/tests/user-language.test.ts +58 -0
  203. package/frontend-vue/tests/vue-inventory.test.ts +1 -1
  204. package/package.json +2 -2
  205. package/skills/dms/REFERENCE.md +1 -1
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const interface_core_1 = require("@antelopejs/interface-core");
37
+ const chai_1 = require("chai");
38
+ const page_1 = require("../../../../implementations/dms/page");
39
+ const permissionsImpl = __importStar(require("../../../../implementations/dms/permissions"));
40
+ const permissionsResolverImpl = __importStar(require("../../../../implementations/dms/permissions-resolver"));
41
+ const quickActionsImpl = __importStar(require("../../../../implementations/dms/quick-actions"));
42
+ const tenantAccessImpl = __importStar(require("../../../../implementations/dms/tenant-access"));
43
+ const page_2 = require("@antelopejs/interface-dms/page");
44
+ const permissionsInterface = __importStar(require("@antelopejs/interface-dms/permissions"));
45
+ const permissionsResolverInterface = __importStar(require("@antelopejs/interface-dms/permissions-resolver"));
46
+ const quick_actions_1 = require("@antelopejs/interface-dms/quick-actions");
47
+ const tenantAccessInterface = __importStar(require("@antelopejs/interface-dms/tenant-access"));
48
+ const custom_1 = require("@antelopejs/interface-dms/base/custom");
49
+ const page_access_1 = require("../../../helpers/page-access");
50
+ const ALLOWED_TENANT = "qb-allowed-tenant";
51
+ const DENIED_TENANT = "qb-denied-tenant";
52
+ const CATEGORY_ID = "qb-category";
53
+ const INVITE_BUTTON = "invite";
54
+ const gateInfo = (0, page_access_1.denyingTenantGate)("qb-gate", DENIED_TENANT, "qb.suspended");
55
+ function componentWithButton(name, permission) {
56
+ const component = (0, custom_1.CustomComponent)(name).meta({ name });
57
+ component.action("add", { title: "Add" });
58
+ component.button(INVITE_BUTTON, { permission });
59
+ return component;
60
+ }
61
+ class PageQbGated extends (0, page_2.PageController)("qb-gated", {
62
+ displayName: "Gated button",
63
+ category: page_2.pagesCategory,
64
+ }) {
65
+ static table = componentWithButton("QbGatedTable", "add");
66
+ }
67
+ class PageQbOpen extends (0, page_2.PageController)("qb-open", {
68
+ displayName: "Open button",
69
+ category: page_2.pagesCategory,
70
+ }) {
71
+ static table = componentWithButton("QbOpenTable");
72
+ }
73
+ class PageQbForeign extends (0, page_2.PageController)("qb-foreign", {
74
+ displayName: "Foreign permission",
75
+ category: page_2.pagesCategory,
76
+ }) {
77
+ static table = componentWithButton("QbForeignTable", PageQbGated.table.getAction("add"));
78
+ }
79
+ class PageQbAmbiguous extends (0, page_2.PageController)("qb-ambiguous", {
80
+ displayName: "Ambiguous button",
81
+ category: page_2.pagesCategory,
82
+ }) {
83
+ static first = componentWithButton("QbFirst");
84
+ static second = componentWithButton("QbSecond");
85
+ }
86
+ class PageQbRecovery extends (0, page_2.PageController)("qb-recovery", {
87
+ displayName: "Recovery",
88
+ category: page_2.pagesCategory,
89
+ bypassTenantAccessGate: true,
90
+ }) {
91
+ static table = componentWithButton("QbRecoveryTable", "add");
92
+ }
93
+ const TARGETS = {
94
+ "qb-gated": { type: "button", page: PageQbGated, button: INVITE_BUTTON },
95
+ "qb-open": { type: "button", page: PageQbOpen, button: INVITE_BUTTON },
96
+ "qb-foreign": { type: "button", page: PageQbForeign, button: INVITE_BUTTON },
97
+ "qb-unknown": { type: "button", page: PageQbOpen, button: "no-such-button" },
98
+ "qb-ambiguous": {
99
+ type: "button",
100
+ page: PageQbAmbiguous,
101
+ button: INVITE_BUTTON,
102
+ },
103
+ "qb-named": {
104
+ type: "button",
105
+ page: PageQbAmbiguous,
106
+ button: INVITE_BUTTON,
107
+ component: PageQbAmbiguous.second,
108
+ },
109
+ "qb-recovery": {
110
+ type: "button",
111
+ page: PageQbRecovery,
112
+ button: INVITE_BUTTON,
113
+ },
114
+ };
115
+ async function actionsFor(grantedPermissions, tenantId = ALLOWED_TENANT) {
116
+ const { memberModel, roleModel } = (0, page_access_1.stubPageAccessModels)(grantedPermissions);
117
+ const payload = await (0, page_1.buildSiteLayoutPayload)({ _id: "qb-member" }, memberModel, roleModel, tenantId);
118
+ return payload.quickActions.actions;
119
+ }
120
+ async function registerPage(page, components) {
121
+ const meta = (0, interface_core_1.GetMetadata)(page, page_2.PageMetadata);
122
+ for (const [key, component] of Object.entries(components)) {
123
+ meta.SetComponent(key, component);
124
+ }
125
+ return (0, page_access_1.registerTestPage)(page);
126
+ }
127
+ function actionKey(id) {
128
+ return `${CATEGORY_ID}:${id}`;
129
+ }
130
+ describe("[unit] implementations/dms/quick-actions — button targets", () => {
131
+ const cleanups = [];
132
+ before(async () => {
133
+ (0, interface_core_1.ImplementInterface)(permissionsInterface, permissionsImpl);
134
+ (0, interface_core_1.ImplementInterface)(permissionsResolverInterface, permissionsResolverImpl);
135
+ (0, interface_core_1.ImplementInterface)(tenantAccessInterface, tenantAccessImpl);
136
+ (0, interface_core_1.ImplementInterface)(page_2.internal, page_1.internal);
137
+ (0, interface_core_1.ImplementInterface)(quick_actions_1.internal, quickActionsImpl.internal);
138
+ for (const page of [
139
+ PageQbGated,
140
+ PageQbOpen,
141
+ PageQbForeign,
142
+ PageQbRecovery,
143
+ ]) {
144
+ cleanups.push(await registerPage(page, { table: page.table }));
145
+ }
146
+ cleanups.push(await registerPage(PageQbAmbiguous, {
147
+ first: PageQbAmbiguous.first,
148
+ second: PageQbAmbiguous.second,
149
+ }));
150
+ const category = (0, quick_actions_1.QuickActionCategory)(CATEGORY_ID, {
151
+ displayName: "Buttons",
152
+ });
153
+ const registered = Object.entries(TARGETS).map(([id, target]) => (0, quick_actions_1.QuickAction)(id, {
154
+ category,
155
+ displayName: id,
156
+ icon: "i-ph-plus",
157
+ target,
158
+ }));
159
+ for (const info of registered) {
160
+ cleanups.push(() => quick_actions_1.internal.RegisterQuickAction.unregister(info));
161
+ }
162
+ cleanups.push(() => quick_actions_1.internal.RegisterQuickActionCategory.unregister(category));
163
+ tenantAccessInterface.RegisterTenantAccessGate(gateInfo);
164
+ });
165
+ after(() => {
166
+ tenantAccessInterface.internal.RegisterTenantAccessGate.unregister(gateInfo);
167
+ for (const cleanup of cleanups.splice(0)) {
168
+ cleanup();
169
+ }
170
+ });
171
+ it("serves the button's page, component and id to a caller holding its permission", async () => {
172
+ const actions = await actionsFor([
173
+ "pages.qb-gated",
174
+ "pages.qb-gated.table.add",
175
+ ]);
176
+ (0, chai_1.expect)(actions[actionKey("qb-gated")]?.target).to.deep.equal({
177
+ type: "button",
178
+ to: "/qb-gated",
179
+ component: "table",
180
+ button: INVITE_BUTTON,
181
+ });
182
+ });
183
+ it("is left out for a caller who reaches the page but may not press the button", async () => {
184
+ const actions = await actionsFor(["pages.qb-gated"]);
185
+ (0, chai_1.expect)(actions).to.not.have.property(actionKey("qb-gated"));
186
+ });
187
+ it("is left out for a caller who cannot reach the page, whatever the button allows", async () => {
188
+ const actions = await actionsFor(["pages.qb-gated.table.add"]);
189
+ (0, chai_1.expect)(actions).to.not.have.property(actionKey("qb-gated"));
190
+ });
191
+ it("follows the page alone for a button that declares no permission", async () => {
192
+ const actions = await actionsFor(["pages.qb-open"]);
193
+ (0, chai_1.expect)(actions).to.have.property(actionKey("qb-open"));
194
+ });
195
+ it("resolves a button gated by another component's action", async () => {
196
+ const withoutIt = await actionsFor(["pages.qb-foreign"]);
197
+ const withIt = await actionsFor([
198
+ "pages.qb-foreign",
199
+ "pages.qb-gated.table.add",
200
+ ]);
201
+ (0, chai_1.expect)(withoutIt).to.not.have.property(actionKey("qb-foreign"));
202
+ (0, chai_1.expect)(withIt).to.have.property(actionKey("qb-foreign"));
203
+ });
204
+ it("is not served when no component of the page declares the button", async () => {
205
+ const actions = await actionsFor(["*"]);
206
+ (0, chai_1.expect)(actions).to.not.have.property(actionKey("qb-unknown"));
207
+ });
208
+ it("refuses an unnamed target on a page where several components declare the button", async () => {
209
+ const actions = await actionsFor(["pages.qb-ambiguous"]);
210
+ (0, chai_1.expect)(actions).to.not.have.property(actionKey("qb-ambiguous"));
211
+ (0, chai_1.expect)(actions[actionKey("qb-named")]?.target).to.deep.include({
212
+ component: "second",
213
+ });
214
+ });
215
+ it("keeps a recovery page's button while the gate denies the tenant", async () => {
216
+ const actions = await actionsFor(["pages.qb-recovery", "pages.qb-recovery.table.add"], DENIED_TENANT);
217
+ (0, chai_1.expect)(actions).to.have.property(actionKey("qb-recovery"));
218
+ });
219
+ });
220
+ //# sourceMappingURL=quick-actions-button.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quick-actions-button.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/implementations/dms/quick-actions-button.test.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ describe("[unit] implementations/dms-html-render — GenerateHtml", () => {
13
13
  htmlRender: {
14
14
  renderEndpoint: RENDER_ENDPOINT,
15
15
  serviceSecret: "test-service-secret",
16
- serviceTokenLifetime: 60,
16
+ serviceTokenLifetime: 60_000,
17
17
  },
18
18
  });
19
19
  globalThis.fetch = async (input, init) => {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-html.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/implementations/dms-html-render/generate-html.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,+CAAiD;AACjD,iFAA2E;AAG3E,MAAM,eAAe,GAAG,0CAA0C,CAAC;AACnE,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAuC,CAAC;AAE1E,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACrE,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,MAAM,CAAC,GAAG,EAAE;QACV,IAAA,oBAAW,EAAC;YACV,UAAU,EAAE;gBACV,cAAc,EAAE,eAAe;gBAC/B,aAAa,EAAE,qBAAqB;gBACpC,oBAAoB,EAAE,EAAE;aACzB;SACF,CAAC,CAAC;QACH,UAAU,CAAC,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACxC,OAAO,IAAI,QAAQ,CAAC,2BAA2B,EAAE;gBAC/C,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAChD,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAA,8BAAY,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEvD,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAA,8BAAY,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9C,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"generate-html.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/implementations/dms-html-render/generate-html.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,+CAAiD;AACjD,iFAA2E;AAG3E,MAAM,eAAe,GAAG,0CAA0C,CAAC;AACnE,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAuC,CAAC;AAE1E,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACrE,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,MAAM,CAAC,GAAG,EAAE;QACV,IAAA,oBAAW,EAAC;YACV,UAAU,EAAE;gBACV,cAAc,EAAE,eAAe;gBAC/B,aAAa,EAAE,qBAAqB;gBACpC,oBAAoB,EAAE,MAAM;aAC7B;SACF,CAAC,CAAC;QACH,UAAU,CAAC,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACxC,OAAO,IAAI,QAAQ,CAAC,2BAA2B,EAAE;gBAC/C,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAChD,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAA,8BAAY,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEvD,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAA,8BAAY,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9C,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const jsonwebtoken_1 = require("jsonwebtoken");
5
+ const config_1 = require("../../../../config");
6
+ const service_jwt_1 = require("../../../../implementations/dms-html-render/service-jwt");
7
+ const RENDER_TOKEN_LIFETIME_SECONDS = 5 * 60;
8
+ const RENDER_TOKEN_MIN_JTI_LENGTH = 16;
9
+ const DEFAULT_SERVICE_TOKEN_LIFETIME = 5 * 60 * 1000;
10
+ function decodeServiceToken(serviceTokenLifetime) {
11
+ (0, config_1.applyConfig)({
12
+ htmlRender: { ...(0, config_1.getHtmlRenderConfig)(), serviceTokenLifetime },
13
+ });
14
+ return (0, jsonwebtoken_1.decode)((0, service_jwt_1.generateServiceToken)(), { json: true });
15
+ }
16
+ describe("[unit] implementations/dms-html-render — generateServiceToken", () => {
17
+ const initialConfig = { ...(0, config_1.getHtmlRenderConfig)() };
18
+ afterEach(() => {
19
+ (0, config_1.applyConfig)({ htmlRender: initialConfig });
20
+ });
21
+ it("mints claims the frontend render server accepts", () => {
22
+ const payload = decodeServiceToken(DEFAULT_SERVICE_TOKEN_LIFETIME);
23
+ const now = Math.floor(Date.now() / 1000);
24
+ (0, chai_1.expect)(payload.namespace).to.equal("html-render-service");
25
+ (0, chai_1.expect)(payload.purpose).to.equal("html-render");
26
+ (0, chai_1.expect)(payload.aud).to.equal("dms-frontend");
27
+ (0, chai_1.expect)(payload.jti).to.have.length.of.at.least(RENDER_TOKEN_MIN_JTI_LENGTH);
28
+ (0, chai_1.expect)(payload.iat).to.be.at.most(now);
29
+ (0, chai_1.expect)(payload.exp).to.be.greaterThan(now);
30
+ (0, chai_1.expect)(payload.exp - payload.iat).to.be.at.most(RENDER_TOKEN_LIFETIME_SECONDS);
31
+ });
32
+ it("reads the configured lifetime as milliseconds", () => {
33
+ const payload = decodeServiceToken(90_000);
34
+ (0, chai_1.expect)(payload.exp - payload.iat).to.equal(90);
35
+ });
36
+ });
37
+ //# sourceMappingURL=service-jwt.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-jwt.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/implementations/dms-html-render/service-jwt.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,+CAAsC;AAEtC,+CAAsE;AACtE,yFAA+F;AAI/F,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE,CAAC;AAC7C,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,8BAA8B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAOrD,SAAS,kBAAkB,CAAC,oBAA4B;IACtD,IAAA,oBAAW,EAAC;QACV,UAAU,EAAE,EAAE,GAAG,IAAA,4BAAmB,GAAE,EAAE,oBAAoB,EAAE;KAC/D,CAAC,CAAC;IACH,OAAO,IAAA,qBAAM,EAAC,IAAA,kCAAoB,GAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAuB,CAAC;AAC9E,CAAC;AAED,QAAQ,CAAC,+DAA+D,EAAE,GAAG,EAAE;IAC7E,MAAM,aAAa,GAAG,EAAE,GAAG,IAAA,4BAAmB,GAAE,EAAE,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAA,oBAAW,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,OAAO,GAAG,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAE1C,IAAA,aAAM,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC1D,IAAA,aAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC5E,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAC7C,6BAA6B,CAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -69,6 +69,12 @@ function inviteHostForm() {
69
69
  slotId: invite_extensions_2.INVITE_FORM_SLOT_ID,
70
70
  });
71
71
  }
72
+ function inviteEditHostForm() {
73
+ return (0, form_1.Form)({
74
+ fields: [textField("firstname"), textField("roles_ids")],
75
+ slotId: invite_extensions_2.INVITE_EDIT_FORM_SLOT_ID,
76
+ });
77
+ }
72
78
  function extensionForm(fieldId) {
73
79
  return (0, form_1.Form)({ fields: [textField(fieldId, true)] });
74
80
  }
@@ -101,13 +107,13 @@ async function hostLayoutFields(slug) {
101
107
  .options;
102
108
  return options.fields;
103
109
  }
104
- async function registerHostPage(slug) {
110
+ async function registerHostPage(slug, hostForm = inviteHostForm) {
105
111
  class Host extends (0, page_1.PageController)(slug, {
106
112
  displayName: `Invite host ${slug}`,
107
113
  category: page_1.pagesCategory,
108
114
  publicAccess: true,
109
115
  }) {
110
- static invite = inviteHostForm();
116
+ static invite = hostForm();
111
117
  }
112
118
  (0, page_1.RegisterPage)()(Host);
113
119
  await settle();
@@ -200,11 +206,129 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
200
206
  ]);
201
207
  });
202
208
  });
209
+ describe("edit form of a pending invitation", () => {
210
+ function contributedFields(fields) {
211
+ return fields
212
+ .filter(form_1.isFieldGroupSerialized)
213
+ .flatMap((group) => group.fields);
214
+ }
215
+ it("merges the contributed fields, editable unless the extension opts out", async () => {
216
+ register(recordingExtension("billing", "costCenter").options);
217
+ register({
218
+ ...recordingExtension("frozen", "value").options,
219
+ editable: false,
220
+ });
221
+ await registerHostPage("ie-edit", inviteEditHostForm);
222
+ const fields = contributedFields(await hostLayoutFields("/ie-edit"));
223
+ (0, chai_1.expect)(fields.map((field) => [field.id, field.disabled === true])).to.deep.equal([
224
+ ["billing__costCenter", false],
225
+ ["frozen__value", true],
226
+ ]);
227
+ });
228
+ it("anchors a block placed by the roles field on the stored roles column", async () => {
229
+ register({
230
+ ...recordingExtension("scope", "access").options,
231
+ placement: { side: "after", anchorField: "roles" },
232
+ });
233
+ await registerHostPage("ie-edit-anchor", inviteEditHostForm);
234
+ (0, chai_1.expect)(topLevelIds(await hostLayoutFields("/ie-edit-anchor"))).to.deep.equal(["firstname", "roles_ids", "scope"]);
235
+ });
236
+ it("leaves the invite modal's own blocks editable", async () => {
237
+ register({
238
+ ...recordingExtension("frozen", "value").options,
239
+ editable: false,
240
+ });
241
+ await registerHostPage("ie-edit-modal");
242
+ const fields = contributedFields(await hostLayoutFields("/ie-edit-modal"));
243
+ (0, chai_1.expect)(fields.map((field) => field.disabled === true)).to.deep.equal([
244
+ false,
245
+ ]);
246
+ });
247
+ it("prefills the fields with the stored payloads, under their prefixed ids", () => {
248
+ register(recordingExtension("billing", "costCenter").options);
249
+ (0, chai_1.expect)(invite_extensions_2.internal.ReadInviteExtensionFields({
250
+ billing: { costCenter: "CC-42" },
251
+ gone: { value: "orphan" },
252
+ })).to.deep.equal({ billing__costCenter: "CC-42" });
253
+ });
254
+ it("prefills nothing for an invitation without payloads", () => {
255
+ register(recordingExtension("billing", "costCenter").options);
256
+ (0, chai_1.expect)(invite_extensions_2.internal.ReadInviteExtensionFields(null)).to.deep.equal({});
257
+ });
258
+ });
259
+ describe("payload edited on a pending invitation", () => {
260
+ const context = {
261
+ tenantId: TENANT,
262
+ email: "someone@acme.dev",
263
+ inviteId: "invite-1",
264
+ };
265
+ it("takes the slices the submission carries", () => {
266
+ register(recordingExtension("billing", "costCenter").options);
267
+ register(recordingExtension("onboarding", "track").options);
268
+ (0, chai_1.expect)(invite_extensions_2.internal.CollectInviteExtensionEdits({
269
+ firstname: "Ada",
270
+ billing__costCenter: "CC-43",
271
+ })).to.deep.equal({ billing: { costCenter: "CC-43" } });
272
+ });
273
+ it("refuses an edited slice its schema rejects", () => {
274
+ register(recordingExtension("billing", "costCenter").options);
275
+ (0, chai_1.expect)(() => invite_extensions_2.internal.CollectInviteExtensionEdits({ billing__costCenter: "" })).to.throw();
276
+ });
277
+ it("ignores the slice of an extension that is not editable", () => {
278
+ register({
279
+ ...recordingExtension("frozen", "value").options,
280
+ editable: false,
281
+ });
282
+ (0, chai_1.expect)(invite_extensions_2.internal.CollectInviteExtensionEdits({ frozen__value: "changed" })).to.deep.equal({});
283
+ });
284
+ it("tells an extension its payload changed, parsed, with the previous one", async () => {
285
+ const updates = [];
286
+ register({
287
+ key: "capacity",
288
+ component: extensionForm("seats"),
289
+ schema: zod_1.z.object({ seats: zod_1.z.string().transform(Number) }),
290
+ onAccept: () => undefined,
291
+ onUpdate: (payload, previous, updateContext) => {
292
+ updates.push([payload, previous, updateContext]);
293
+ },
294
+ });
295
+ await invite_extensions_2.internal.NotifyInviteExtensionUpdates({ capacity: { seats: "3" } }, { capacity: { seats: "5" } }, context);
296
+ (0, chai_1.expect)(updates).to.deep.equal([[{ seats: 5 }, { seats: 3 }, context]]);
297
+ });
298
+ it("stays quiet when the payload did not change", async () => {
299
+ let calls = 0;
300
+ register({
301
+ ...recordingExtension("billing", "costCenter").options,
302
+ onUpdate: () => {
303
+ calls += 1;
304
+ },
305
+ });
306
+ await invite_extensions_2.internal.NotifyInviteExtensionUpdates({ billing: { costCenter: "CC-42" } }, { billing: { costCenter: "CC-42" } }, context);
307
+ (0, chai_1.expect)(calls).to.equal(0);
308
+ });
309
+ it("keeps notifying after a handler throws", async () => {
310
+ const seen = [];
311
+ register({
312
+ ...recordingExtension("failing", "value").options,
313
+ onUpdate: () => {
314
+ throw new Error("update boom");
315
+ },
316
+ });
317
+ register({
318
+ ...recordingExtension("billing", "costCenter").options,
319
+ onUpdate: (payload) => {
320
+ seen.push(payload.costCenter);
321
+ },
322
+ });
323
+ await invite_extensions_2.internal.NotifyInviteExtensionUpdates(null, { failing: { value: "x" }, billing: { costCenter: "CC-43" } }, context);
324
+ (0, chai_1.expect)(seen).to.deep.equal(["CC-43"]);
325
+ });
326
+ });
203
327
  describe("payload collected at submit", () => {
204
328
  it("splits each extension's slice out of the submitted body", () => {
205
329
  register(recordingExtension("billing", "costCenter").options);
206
330
  register(recordingExtension("onboarding", "track").options);
207
- (0, chai_1.expect)((0, invite_extensions_2.CollectInviteExtensionPayloads)({
331
+ (0, chai_1.expect)(invite_extensions_2.internal.CollectInviteExtensionPayloads({
208
332
  email: "someone@acme.dev",
209
333
  billing__costCenter: "CC-42",
210
334
  onboarding__track: "sales",
@@ -215,13 +339,13 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
215
339
  });
216
340
  it("refuses a body that does not satisfy an extension's schema", () => {
217
341
  register(recordingExtension("billing", "costCenter").options);
218
- (0, chai_1.expect)(() => (0, invite_extensions_2.CollectInviteExtensionPayloads)({ email: "someone@acme.dev" })).to.throw();
342
+ (0, chai_1.expect)(() => invite_extensions_2.internal.CollectInviteExtensionPayloads({ email: "someone@acme.dev" })).to.throw();
219
343
  });
220
344
  it("drops keys of an extension that is no longer registered", () => {
221
345
  const dispose = register(recordingExtension("gone", "value").options);
222
346
  dispose();
223
347
  disposers.length = 0;
224
- (0, chai_1.expect)((0, invite_extensions_2.CollectInviteExtensionPayloads)({ gone__value: "orphan" })).to.deep.equal({});
348
+ (0, chai_1.expect)(invite_extensions_2.internal.CollectInviteExtensionPayloads({ gone__value: "orphan" })).to.deep.equal({});
225
349
  });
226
350
  });
227
351
  describe("delivery at acceptance", () => {
@@ -233,7 +357,7 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
233
357
  it("hands each extension its own payload and the new member", async () => {
234
358
  const billing = recordingExtension("billing", "costCenter");
235
359
  register(billing.options);
236
- await (0, invite_extensions_2.DeliverInviteExtensions)({ billing: { costCenter: "CC-42" } }, MEMBER, context);
360
+ await invite_extensions_2.internal.DeliverInviteExtensions({ billing: { costCenter: "CC-42" } }, MEMBER, context);
237
361
  (0, chai_1.expect)(billing.recorded.accepted).to.deep.equal([
238
362
  { payload: { costCenter: "CC-42" }, member: MEMBER },
239
363
  ]);
@@ -241,7 +365,7 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
241
365
  it("skips a payload the schema no longer accepts", async () => {
242
366
  const billing = recordingExtension("billing", "costCenter");
243
367
  register(billing.options);
244
- await (0, invite_extensions_2.DeliverInviteExtensions)({ billing: { costCenter: 42 } }, MEMBER, context);
368
+ await invite_extensions_2.internal.DeliverInviteExtensions({ billing: { costCenter: 42 } }, MEMBER, context);
245
369
  (0, chai_1.expect)(billing.recorded.accepted).to.have.length(0);
246
370
  });
247
371
  it("hands a transforming schema's output to the contributor", async () => {
@@ -254,8 +378,10 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
254
378
  seen.push(payload);
255
379
  },
256
380
  });
257
- const stored = (0, invite_extensions_2.CollectInviteExtensionPayloads)({ capacity__seats: "3" });
258
- await (0, invite_extensions_2.DeliverInviteExtensions)(stored, MEMBER, context);
381
+ const stored = invite_extensions_2.internal.CollectInviteExtensionPayloads({
382
+ capacity__seats: "3",
383
+ });
384
+ await invite_extensions_2.internal.DeliverInviteExtensions(stored, MEMBER, context);
259
385
  (0, chai_1.expect)(seen).to.deep.equal([{ seats: 3 }]);
260
386
  });
261
387
  it("keeps delivering after a contributor throws", async () => {
@@ -268,7 +394,7 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
268
394
  });
269
395
  const billing = recordingExtension("billing", "costCenter");
270
396
  register(billing.options);
271
- await (0, invite_extensions_2.DeliverInviteExtensions)({ failing: { value: "x" }, billing: { costCenter: "CC-42" } }, MEMBER, context);
397
+ await invite_extensions_2.internal.DeliverInviteExtensions({ failing: { value: "x" }, billing: { costCenter: "CC-42" } }, MEMBER, context);
272
398
  (0, chai_1.expect)(billing.recorded.accepted).to.have.length(1);
273
399
  });
274
400
  });
@@ -328,7 +454,7 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
328
454
  it("leaves an extension that declared no cleanup handler alone", async () => {
329
455
  const { options } = recordingExtension("billing", "costCenter");
330
456
  register({ ...options, onCleanup: undefined });
331
- await (0, invite_extensions_2.CleanupInviteExtensions)(null, {
457
+ await invite_extensions_2.internal.CleanupInviteExtensions(null, {
332
458
  reason: "member-removed",
333
459
  tenantId: TENANT,
334
460
  userId: "user-1",
@@ -358,7 +484,7 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
358
484
  const second = recordingExtension("billing", "b");
359
485
  register(second.options);
360
486
  disposeFirst();
361
- await (0, invite_extensions_2.DeliverInviteExtensions)({ billing: { b: "value" } }, MEMBER, {
487
+ await invite_extensions_2.internal.DeliverInviteExtensions({ billing: { b: "value" } }, MEMBER, {
362
488
  tenantId: TENANT,
363
489
  email: "someone@acme.dev",
364
490
  });
@@ -1 +1 @@
1
- {"version":3,"file":"invite-extension.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/interfaces/dms/invite-extension.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invite-extension.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/interfaces/dms/invite-extension.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};