@antelopejs/interface-dms 0.13.3 → 0.14.1
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.
- package/CHANGELOG.md +231 -2
- package/README.md +9 -9
- package/dist/auth/db/models/sessions.model.d.ts +3 -3
- package/dist/auth/db/models/userExternalIdentities.model.d.ts +3 -3
- package/dist/auth/db/models/users.model.d.ts +3 -3
- package/dist/auth/db/tables/users.table.d.ts +3 -3
- package/dist/base/activity-feed.d.ts +2 -2
- package/dist/base/block-registry/types.d.ts +1 -1
- package/dist/base/chart-schemas.d.ts +70 -70
- package/dist/base/chart.d.ts +1 -1
- package/dist/base/data-types/default/choices.d.ts +1 -1
- package/dist/base/data-types/default/choices.js +3 -6
- package/dist/base/data-types/default/choices.js.map +1 -1
- package/dist/base/data-types/default/inputs.d.ts +1 -1
- package/dist/base/data-types/default/numbers.d.ts +2 -1
- package/dist/base/data-types/default/numbers.js +4 -3
- package/dist/base/data-types/default/numbers.js.map +1 -1
- package/dist/base/data-types/default/relations.d.ts +0 -6
- package/dist/base/data-types/default/relations.js +0 -1
- package/dist/base/data-types/default/relations.js.map +1 -1
- package/dist/base/data-types/default-types.d.ts +0 -1
- package/dist/base/data-types/default-types.js +0 -2
- package/dist/base/data-types/default-types.js.map +1 -1
- package/dist/base/data-types/index.js +0 -1
- package/dist/base/data-types/index.js.map +1 -1
- package/dist/base/data-types/internal/relation-endpoints.js +5 -3
- package/dist/base/data-types/internal/relation-endpoints.js.map +1 -1
- package/dist/base/data-types/internal/table-view-meta-slot.d.ts +17 -0
- package/dist/base/data-types/internal/table-view-meta-slot.js +25 -0
- package/dist/base/data-types/internal/table-view-meta-slot.js.map +1 -0
- package/dist/base/empty-state.d.ts +1 -1
- package/dist/base/export-jobs.d.ts +47 -19
- package/dist/base/export-jobs.js +39 -4
- package/dist/base/export-jobs.js.map +1 -1
- package/dist/base/form-schema.d.ts +0 -1
- package/dist/base/form-schema.js +12 -12
- package/dist/base/form-schema.js.map +1 -1
- package/dist/base/grid.js +1 -1
- package/dist/base/grid.js.map +1 -1
- package/dist/base/guard.d.ts +4 -4
- package/dist/base/guard.js +1 -1
- package/dist/base/guard.js.map +1 -1
- package/dist/base/helpers/file-refs.js +4 -6
- package/dist/base/helpers/file-refs.js.map +1 -1
- package/dist/base/internal/chart.d.ts +1 -1
- package/dist/base/internal/chart.js +1 -1
- package/dist/base/internal/chart.js.map +1 -1
- package/dist/base/internal/export-jobs.d.ts +11 -0
- package/dist/base/internal/export-jobs.js +11 -0
- package/dist/base/internal/export-jobs.js.map +1 -1
- package/dist/base/internal/form-block-schema.d.ts +1 -1
- package/dist/base/internal/form-block-schema.js +1 -1
- package/dist/base/internal/form-block-schema.js.map +1 -1
- package/dist/base/key-value-list.d.ts +6 -6
- package/dist/base/meter.d.ts +1 -1
- package/dist/base/placeholder.js +1 -1
- package/dist/base/placeholder.js.map +1 -1
- package/dist/base/searchable.d.ts +3 -3
- package/dist/base/searchable.js.map +1 -1
- package/dist/base/stack.js +1 -1
- package/dist/base/stack.js.map +1 -1
- package/dist/base/tab.js +1 -1
- package/dist/base/tab.js.map +1 -1
- package/dist/base/table-view/data-functions.d.ts +10 -11
- package/dist/base/table-view/data-functions.js.map +1 -1
- package/dist/base/table-view/factory.js +2 -0
- package/dist/base/table-view/factory.js.map +1 -1
- package/dist/base/table-view/internal/archive-filter.d.ts +21 -0
- package/dist/base/table-view/internal/archive-filter.js +48 -0
- package/dist/base/table-view/internal/archive-filter.js.map +1 -0
- package/dist/base/table-view/internal/auth.d.ts +2 -2
- package/dist/base/table-view/internal/auth.js +1 -3
- package/dist/base/table-view/internal/auth.js.map +1 -1
- package/dist/base/table-view/internal/column-conditions.js.map +1 -1
- package/dist/base/table-view/internal/data-functions.d.ts +2 -2
- package/dist/base/table-view/internal/factory-lifecycle-created.js +3 -2
- package/dist/base/table-view/internal/factory-lifecycle-created.js.map +1 -1
- package/dist/base/table-view/internal/footer.js +21 -13
- package/dist/base/table-view/internal/footer.js.map +1 -1
- package/dist/base/table-view/internal/guards.d.ts +1 -1
- package/dist/base/table-view/internal/guards.js +11 -8
- package/dist/base/table-view/internal/guards.js.map +1 -1
- package/dist/base/table-view/internal/meta-helpers.js +3 -2
- package/dist/base/table-view/internal/meta-helpers.js.map +1 -1
- package/dist/base/table-view/internal/nav-badges.js +1 -3
- package/dist/base/table-view/internal/nav-badges.js.map +1 -1
- package/dist/base/table-view/internal/option-views.d.ts +7 -4
- package/dist/base/table-view/internal/row-actions-schema.d.ts +6 -6
- package/dist/base/table-view/meta.d.ts +5 -5
- package/dist/base/table-view/meta.js +6 -2
- package/dist/base/table-view/meta.js.map +1 -1
- package/dist/base/table-view/routes.d.ts +39 -12
- package/dist/base/table-view/routes.js +0 -1
- package/dist/base/table-view/routes.js.map +1 -1
- package/dist/base/table-view/schema.d.ts +127 -127
- package/dist/base/top-list-card.d.ts +4 -4
- package/dist/component-options/data-type.d.ts +2 -1
- package/dist/component-options/data-type.js +1 -1
- package/dist/component-options/data-type.js.map +1 -1
- package/dist/component-slots.js +1 -1
- package/dist/component-slots.js.map +1 -1
- package/dist/connection-access.d.ts +46 -0
- package/dist/connection-access.js +73 -0
- package/dist/connection-access.js.map +1 -0
- package/dist/data-controllers/members.d.ts +15 -2
- package/dist/data-controllers/roles.d.ts +15 -2
- package/dist/db/internal/exportJobs.model.d.ts +3 -3
- package/dist/db/internal/inviteResolutions.model.d.ts +16 -3
- package/dist/db/internal/inviteResolutions.model.js +38 -0
- package/dist/db/internal/inviteResolutions.model.js.map +1 -1
- package/dist/db/internal/tenantLifecycle.model.d.ts +4 -4
- package/dist/db/internal/tenantLifecycle.model.js +2 -3
- package/dist/db/internal/tenantLifecycle.model.js.map +1 -1
- package/dist/db/models/roles.model.d.ts +3 -3
- package/dist/db/models/tenantMembers.model.d.ts +3 -3
- package/dist/db/models/tenants.model.d.ts +3 -3
- package/dist/db/models/user_invites.model.d.ts +18 -3
- package/dist/db/models/user_invites.model.js +28 -0
- package/dist/db/models/user_invites.model.js.map +1 -1
- package/dist/db/tables/user_invites.table.d.ts +6 -1
- package/dist/db/tables/user_invites.table.js +3 -0
- package/dist/db/tables/user_invites.table.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/component-slots.js +1 -1
- package/dist/internal/component-slots.js.map +1 -1
- package/dist/internal/invite-content.d.ts +8 -0
- package/dist/internal/invite-content.js +36 -0
- package/dist/internal/invite-content.js.map +1 -0
- package/dist/internal/invite-resolution.js +5 -2
- package/dist/internal/invite-resolution.js.map +1 -1
- package/dist/internal/tenant-ownership.d.ts +5 -4
- package/dist/internal/tenant-ownership.js +5 -4
- package/dist/internal/tenant-ownership.js.map +1 -1
- package/dist/invite-extensions/internal/delivery.d.ts +3 -2
- package/dist/invite-extensions/internal/delivery.js +3 -2
- package/dist/invite-extensions/internal/delivery.js.map +1 -1
- package/dist/invite-resolution.d.ts +5 -1
- package/dist/invite-resolution.js +10 -26
- package/dist/invite-resolution.js.map +1 -1
- package/dist/invites.d.ts +5 -0
- package/dist/invites.js +58 -1
- package/dist/invites.js.map +1 -1
- package/dist/notifications/internal.d.ts +0 -1
- package/dist/notifications/internal.js +0 -1
- package/dist/notifications/internal.js.map +1 -1
- package/dist/notifications/sendable.d.ts +1 -2
- package/dist/notifications/sendable.js +1 -12
- package/dist/notifications/sendable.js.map +1 -1
- package/dist/notifications/types.d.ts +1 -4
- package/dist/page/categories.d.ts +6 -0
- package/dist/page/categories.js +10 -3
- package/dist/page/categories.js.map +1 -1
- package/dist/page/controllers.d.ts +6 -9
- package/dist/page/controllers.js +5 -6
- package/dist/page/controllers.js.map +1 -1
- package/dist/page/internal/categories.js +43 -32
- package/dist/page/internal/categories.js.map +1 -1
- package/dist/page/internal/category-resolution.d.ts +31 -0
- package/dist/page/internal/category-resolution.js +63 -0
- package/dist/page/internal/category-resolution.js.map +1 -0
- package/dist/page/internal/metadata-extension-contributions.js +1 -2
- package/dist/page/internal/metadata-extension-contributions.js.map +1 -1
- package/dist/page/internal/metadata-info.js +19 -7
- package/dist/page/internal/metadata-info.js.map +1 -1
- package/dist/page/internal/metadata-layout.d.ts +3 -2
- package/dist/page/internal/metadata-layout.js.map +1 -1
- package/dist/page/internal/metadata-lifecycle.js +1 -4
- package/dist/page/internal/metadata-lifecycle.js.map +1 -1
- package/dist/page/internal/metadata-publish.js +7 -6
- package/dist/page/internal/metadata-publish.js.map +1 -1
- package/dist/page/internal/metadata-registration.js +8 -6
- package/dist/page/internal/metadata-registration.js.map +1 -1
- package/dist/page/internal/page-controller.d.ts +18 -0
- package/dist/page/internal/page-controller.js +36 -0
- package/dist/page/internal/page-controller.js.map +1 -0
- package/dist/page/metadata.d.ts +3 -3
- package/dist/page/metadata.js +4 -2
- package/dist/page/metadata.js.map +1 -1
- package/dist/page/types.d.ts +8 -2
- package/dist/page.d.ts +1 -1
- package/dist/page.js +2 -1
- package/dist/page.js.map +1 -1
- package/dist/permissions.d.ts +2 -1
- package/dist/permissions.js +5 -2
- package/dist/permissions.js.map +1 -1
- package/dist/tenant-provisioning.js +1 -1
- package/dist/tenant-provisioning.js.map +1 -1
- package/dist/types.d.ts +7 -3
- package/docs/1.core/11.modules-and-dynamic-menus.md +3 -3
- package/docs/1.core/2.pages-and-modules.md +2 -1
- package/docs/1.core/4.permissions.md +2 -2
- package/docs/1.core/5.tenancy.md +1 -1
- package/docs/1.core/6.invites.md +3 -1
- package/docs/2.auth/2.authentication.md +1 -1
- package/docs/2.auth/3.tokens-and-sessions.md +1 -1
- package/docs/3.base/1.introduction.md +1 -1
- package/docs/3.base/14.table-events-and-helpers.md +1 -1
- package/docs/3.base/15.table-sources-and-gates.md +14 -2
- package/docs/3.base/3.forms.md +1 -1
- package/docs/3.base/4.tables.md +1 -1
- package/docs/3.base/5.charts-and-widgets.md +3 -3
- package/docs/3.base/8.data-types.md +1 -1
- package/docs/3.base/9.helpers.md +16 -5
- package/docs/4.notifications/3.sending.md +0 -11
- package/docs/index.md +1 -1
- package/package.json +11 -11
|
@@ -16,33 +16,22 @@ class SendableNotification {
|
|
|
16
16
|
* unless `dedupe: false` (see {@link DeliveryOptions}).
|
|
17
17
|
*/
|
|
18
18
|
async toUser(userId, options = {}) {
|
|
19
|
-
await this.requireIdempotencySupport(options);
|
|
20
19
|
await internal_1.internal.SendToUser(userId, this.data, undefined, options.idempotencyKey, deliveryOf(options));
|
|
21
20
|
}
|
|
22
21
|
async toUsers(userIds, options = {}) {
|
|
23
|
-
await this.requireIdempotencySupport(options);
|
|
24
22
|
await internal_1.internal.SendToUsers(userIds, this.data, options.readScope, options.idempotencyKey, deliveryOf(options));
|
|
25
23
|
}
|
|
26
|
-
/**
|
|
24
|
+
/** Sends a durable event once per recipient under `idempotencyKey`, including after dismissal. */
|
|
27
25
|
async toUsersIdempotently(userIds, idempotencyKey, options = {}) {
|
|
28
26
|
await this.toUsers(userIds, { ...options, idempotencyKey });
|
|
29
27
|
}
|
|
30
28
|
/** Sends to the holders of any of `roleIds`, in `options.tenantId` only when set. */
|
|
31
29
|
async toRoles(roleIds, options = {}) {
|
|
32
|
-
await this.requireIdempotencySupport(options);
|
|
33
30
|
await internal_1.internal.SendToRoles(roleIds, this.data, options);
|
|
34
31
|
}
|
|
35
32
|
async broadcast(options = {}) {
|
|
36
|
-
await this.requireIdempotencySupport(options);
|
|
37
33
|
await internal_1.internal.SendToAll(this.data, options.readScope, options.idempotencyKey, deliveryOf(options));
|
|
38
34
|
}
|
|
39
|
-
async requireIdempotencySupport(options) {
|
|
40
|
-
if (options.idempotencyKey === undefined)
|
|
41
|
-
return;
|
|
42
|
-
if ((await internal_1.internal.SupportsIdempotency()) !== true) {
|
|
43
|
-
throw new Error("DMS idempotent notification delivery is unavailable");
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
35
|
}
|
|
47
36
|
exports.SendableNotification = SendableNotification;
|
|
48
37
|
//# sourceMappingURL=sendable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendable.js","sourceRoot":"","sources":["../../src/notifications/sendable.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAQtC,SAAS,UAAU,CAAC,OAAoB;IACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,MAAa,oBAAoB;IACd,IAAI,CAAmB;IAExC,YAAY,IAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,UAAuB,EAAE;QACpD,MAAM,
|
|
1
|
+
{"version":3,"file":"sendable.js","sourceRoot":"","sources":["../../src/notifications/sendable.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAQtC,SAAS,UAAU,CAAC,OAAoB;IACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,MAAa,oBAAoB;IACd,IAAI,CAAmB;IAExC,YAAY,IAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,UAAuB,EAAE;QACpD,MAAM,mBAAQ,CAAC,UAAU,CACvB,MAAM,EACN,IAAI,CAAC,IAAI,EACT,SAAS,EACT,OAAO,CAAC,cAAc,EACtB,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE,UAAuB,EAAE;QACxD,MAAM,mBAAQ,CAAC,WAAW,CACxB,OAAO,EACP,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,cAAc,EACtB,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;IACJ,CAAC;IAED,kGAAkG;IAClG,KAAK,CAAC,mBAAmB,CACvB,OAAiB,EACjB,cAAsB,EACtB,UAAuB,EAAE;QAEzB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,OAAO,CACX,OAAiB,EACjB,UAA2B,EAAE;QAE7B,MAAM,mBAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAuB,EAAE;QACvC,MAAM,mBAAQ,CAAC,SAAS,CACtB,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,cAAc,EACtB,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC;IACJ,CAAC;CACF;AAzDD,oDAyDC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { Tone } from "../base/types/tone";
|
|
2
2
|
export type TogglePermission = "allowed" | "forbidden" | "default";
|
|
3
3
|
export type ReadScope = "individual" | "shared";
|
|
4
|
-
/**
|
|
5
|
-
* Colour of the icon well a notification is listed with. The former `accent`
|
|
6
|
-
* is still read as `primary` in 0.4, with a warning.
|
|
7
|
-
*/
|
|
4
|
+
/** Colour of the icon well a notification is listed with. */
|
|
8
5
|
export type NotificationTone = Extract<Tone, "neutral" | "primary" | "success" | "warning" | "error">;
|
|
9
6
|
export interface NotificationCategoryInfo {
|
|
10
7
|
id: string;
|
|
@@ -40,6 +40,12 @@ interface ModuleEntry {
|
|
|
40
40
|
module?: string;
|
|
41
41
|
category?: CategoryInfo | ControllerClass;
|
|
42
42
|
isModuleRoot?: boolean;
|
|
43
|
+
ownerOnly?: boolean;
|
|
43
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Whether only platform owners reach the entry: it sits inside a module, or it
|
|
47
|
+
* declares or inherits `ownerOnly`.
|
|
48
|
+
*/
|
|
49
|
+
export declare function isOwnerOnly(entry: ModuleEntry): boolean;
|
|
44
50
|
export declare function isInsideModule(entry: ModuleEntry): boolean;
|
|
45
51
|
export {};
|
package/dist/page/categories.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.internal = void 0;
|
|
4
|
+
exports.isOwnerOnly = isOwnerOnly;
|
|
4
5
|
exports.isInsideModule = isInsideModule;
|
|
5
6
|
const interface_core_1 = require("@antelopejs/interface-core");
|
|
6
7
|
const registry_1 = require("./internal/registry");
|
|
7
|
-
|
|
8
|
-
const categories_1 = require("./internal/categories");
|
|
8
|
+
const category_resolution_1 = require("./internal/category-resolution");
|
|
9
9
|
/**
|
|
10
10
|
* A registration proxy that accepts a per-context view of its entries.
|
|
11
11
|
*
|
|
@@ -56,6 +56,13 @@ var internal;
|
|
|
56
56
|
internal.RegisterDynamicMenuProvider = new IdentifiedRegisteringProxy(registry_1.dynamicMenuProviderIdentity);
|
|
57
57
|
internal.RegisterPageExtension = new PageExtensionRegisteringProxy();
|
|
58
58
|
})(internal || (exports.internal = internal = {}));
|
|
59
|
+
/**
|
|
60
|
+
* Whether only platform owners reach the entry: it sits inside a module, or it
|
|
61
|
+
* declares or inherits `ownerOnly`.
|
|
62
|
+
*/
|
|
63
|
+
function isOwnerOnly(entry) {
|
|
64
|
+
return entry.ownerOnly === true || isInsideModule(entry);
|
|
65
|
+
}
|
|
59
66
|
function isInsideModule(entry) {
|
|
60
67
|
if (entry.isModuleRoot)
|
|
61
68
|
return true;
|
|
@@ -63,7 +70,7 @@ function isInsideModule(entry) {
|
|
|
63
70
|
return true;
|
|
64
71
|
let current = entry.category;
|
|
65
72
|
while (current) {
|
|
66
|
-
const resolved = (0,
|
|
73
|
+
const resolved = (0, category_resolution_1.resolveCategoryInfo)(current);
|
|
67
74
|
if (!resolved)
|
|
68
75
|
return false;
|
|
69
76
|
if (resolved.isModuleRoot)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/page/categories.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/page/categories.ts"],"names":[],"mappings":";;;AAgGA,kCAEC;AAED,wCAWC;AA9GD,+DAA8D;AAC9D,kDAQ6B;AAQ7B,wEAAqE;AAErE;;;;;;;;;GASG;AACH,MAAM,0BAA6C,SAAQ,iCAE1D;IAC8B;IAA7B,YAA6B,QAAiC;QAC5D,KAAK,EAAE,CAAC;QADmB,aAAQ,GAAR,QAAQ,CAAyB;IAE9D,CAAC;IAEQ,QAAQ,CAAC,KAAQ;QACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAEQ,UAAU,CAAC,KAAQ;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,6BAA8B,SAAQ,0BAA6C;IACvF;QACE,KAAK,CAAC,gCAAqB,CAAC,CAAC;IAC/B,CAAC;IAEQ,QAAQ,CAAC,KAAwB;QACxC,IAAA,sCAA2B,EAAC,KAAK,CAAC,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CACF;AAED;;GAEG;AACH,IAAiB,QAAQ,CAgBxB;AAhBD,WAAiB,QAAQ;IACV,yBAAgB,GAAG,IAAI,0BAA0B,CAC5D,2BAAgB,CACjB,CAAC;IACW,qBAAY,GAAG,IAAI,0BAA0B,CACxD,uBAAY,CACb,CAAC;IACW,uBAAc,GAAG,IAAI,0BAA0B,CAC1D,yBAAc,CACf,CAAC;IACW,oCAA2B,GACtC,IAAI,0BAA0B,CAC5B,sCAA2B,CAC5B,CAAC;IAES,8BAAqB,GAAG,IAAI,6BAA6B,EAAE,CAAC;AAC3E,CAAC,EAhBgB,QAAQ,wBAAR,QAAQ,QAgBxB;AASD;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAkB;IAC5C,OAAO,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,SAAgB,cAAc,CAAC,KAAkB;IAC/C,IAAI,KAAK,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,OAAO,GAA+C,KAAK,CAAC,QAAQ,CAAC;IACzE,OAAO,OAAO,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAA,yCAAmB,EAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,QAAQ,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -265,24 +265,21 @@ export interface FrontendModuleMetadata {
|
|
|
265
265
|
* Absolute backend API paths (`/api/...`) the frontend server may open a
|
|
266
266
|
* session from on behalf of this module, as declared by
|
|
267
267
|
* {@link AddFrontendModuleOptions.authEstablishEndpoints}. Empty when the
|
|
268
|
-
* module declared none
|
|
269
|
-
* the field.
|
|
268
|
+
* module declared none.
|
|
270
269
|
*/
|
|
271
|
-
authEstablishEndpoints
|
|
270
|
+
authEstablishEndpoints: string[];
|
|
272
271
|
/**
|
|
273
272
|
* The routes this module serves to anyone, as declared by
|
|
274
273
|
* {@link AddFrontendModuleOptions.publicEndpoints}. Empty when the module
|
|
275
|
-
* declared none
|
|
276
|
-
* field.
|
|
274
|
+
* declared none.
|
|
277
275
|
*/
|
|
278
|
-
publicEndpoints
|
|
276
|
+
publicEndpoints: FrontendPublicEndpoint[];
|
|
279
277
|
/**
|
|
280
278
|
* The backend prefixes this module declares, as
|
|
281
279
|
* {@link AddFrontendModuleOptions.backendProxies}, each with its `auth`.
|
|
282
|
-
* Empty when the module declared none
|
|
283
|
-
* metadata predates the field.
|
|
280
|
+
* Empty when the module declared none.
|
|
284
281
|
*/
|
|
285
|
-
backendProxies
|
|
282
|
+
backendProxies: Required<FrontendBackendProxy>[];
|
|
286
283
|
}
|
|
287
284
|
/** Returns registered frontend source metadata for server-side module discovery, excluding private options. */
|
|
288
285
|
export declare const GetFrontendModules: () => Promise<FrontendModuleMetadata[]>;
|
package/dist/page/controllers.js
CHANGED
|
@@ -22,14 +22,15 @@ const controller_class_1 = require("../utils/internal/controller-class");
|
|
|
22
22
|
* Static component fields of a class, in declaration order. Underscore-prefixed
|
|
23
23
|
* fields are skipped, so a class can keep private static state.
|
|
24
24
|
*/
|
|
25
|
-
// oxlint-disable-next-line anti-slop/no-object-parameters -- Decorated classes expose static component fields known only at runtime.
|
|
26
25
|
function collectStaticComponents(cl) {
|
|
27
26
|
const fields = [];
|
|
28
27
|
for (const key of Object.getOwnPropertyNames(cl)) {
|
|
29
28
|
if (key.startsWith("_"))
|
|
30
29
|
continue;
|
|
31
|
-
|
|
32
|
-
const value =
|
|
30
|
+
const descriptor = Object.getOwnPropertyDescriptor(cl, key);
|
|
31
|
+
const value = descriptor?.get
|
|
32
|
+
? descriptor.get.call(cl)
|
|
33
|
+
: descriptor?.value;
|
|
33
34
|
if (value instanceof component_1.Component) {
|
|
34
35
|
fields.push({ key, component: value });
|
|
35
36
|
}
|
|
@@ -46,9 +47,7 @@ exports.RegisterPage = (0, decorators_1.MakeClassDecorator)((cl) => {
|
|
|
46
47
|
}
|
|
47
48
|
(0, fire_and_forget_1.fireAndForget)(meta.Register(), "page registration");
|
|
48
49
|
});
|
|
49
|
-
function buildExtensionComponents(
|
|
50
|
-
// oxlint-disable-next-line anti-slop/no-object-parameters -- Extension components are collected from the decorated class static fields at runtime.
|
|
51
|
-
extensionClass) {
|
|
50
|
+
function buildExtensionComponents(extensionClass) {
|
|
52
51
|
return collectStaticComponents(extensionClass).map(({ key, component }) => {
|
|
53
52
|
const placement = component.placement ?? component_1.DEFAULT_PLACEMENT;
|
|
54
53
|
const entry = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/page/controllers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/page/controllers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,37 @@
|
|
|
1
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
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.resolveCategoryInfo = resolveCategoryInfo;
|
|
4
37
|
exports.resolveInheritedLayout = resolveInheritedLayout;
|
|
@@ -11,21 +44,16 @@ exports.applyPageExtension = applyPageExtension;
|
|
|
11
44
|
exports.revokePageExtension = revokePageExtension;
|
|
12
45
|
exports.clearPageMetadata = clearPageMetadata;
|
|
13
46
|
exports.RootCategory = RootCategory;
|
|
14
|
-
const interface_core_1 = require("@antelopejs/interface-core");
|
|
15
47
|
const component_1 = require("../../component");
|
|
16
48
|
const permissions_1 = require("../../permissions");
|
|
17
|
-
|
|
18
|
-
const metadata_1 = require("../metadata");
|
|
49
|
+
const resolution = __importStar(require("./category-resolution"));
|
|
19
50
|
const logging_1 = require("@antelopejs/interface-core/logging");
|
|
20
51
|
const fire_and_forget_1 = require("../../utils/fire-and-forget");
|
|
21
52
|
const registry_1 = require("./registry");
|
|
22
53
|
const category_permission_1 = require("./category-permission");
|
|
23
54
|
const member_access_1 = require("./member-access");
|
|
24
55
|
const types_1 = require("./types");
|
|
25
|
-
// oxlint-disable-next-line import/no-cycle -- Category proxies and isInsideModule are read inside functions, after module evaluation.
|
|
26
56
|
const categories_1 = require("../categories");
|
|
27
|
-
/** Whether a category names its controller class rather than its CategoryInfo. */
|
|
28
|
-
const isControllerClass = (category) => typeof category === "function";
|
|
29
57
|
/**
|
|
30
58
|
* Resolve a category to CategoryInfo
|
|
31
59
|
* @param category A CategoryInfo object or a ControllerClass
|
|
@@ -34,17 +62,7 @@ const isControllerClass = (category) => typeof category === "function";
|
|
|
34
62
|
* @internal
|
|
35
63
|
*/
|
|
36
64
|
function resolveCategoryInfo(category) {
|
|
37
|
-
|
|
38
|
-
return undefined;
|
|
39
|
-
}
|
|
40
|
-
if (isControllerClass(category)) {
|
|
41
|
-
const meta = (0, interface_core_1.GetMetadata)(category, metadata_1.PageMetadata);
|
|
42
|
-
if (!meta.pageInfo) {
|
|
43
|
-
throw new Error(`PageMetadata not initialized for controller class.`);
|
|
44
|
-
}
|
|
45
|
-
return meta.pageInfo;
|
|
46
|
-
}
|
|
47
|
-
return category;
|
|
65
|
+
return resolution.resolveCategoryInfo(category);
|
|
48
66
|
}
|
|
49
67
|
/**
|
|
50
68
|
* The default layout a page or category declared under `category` inherits:
|
|
@@ -56,18 +74,7 @@ function resolveCategoryInfo(category) {
|
|
|
56
74
|
* @internal
|
|
57
75
|
*/
|
|
58
76
|
function resolveInheritedLayout(category) {
|
|
59
|
-
|
|
60
|
-
while (current) {
|
|
61
|
-
if (current.layout)
|
|
62
|
-
return current.layout;
|
|
63
|
-
current = findCategoryInfo(current.category);
|
|
64
|
-
}
|
|
65
|
-
return undefined;
|
|
66
|
-
}
|
|
67
|
-
function findCategoryInfo(category) {
|
|
68
|
-
if (!isControllerClass(category))
|
|
69
|
-
return category;
|
|
70
|
-
return (0, interface_core_1.GetMetadata)(category, metadata_1.PageMetadata).pageInfo;
|
|
77
|
+
return resolution.resolveInheritedLayout(category);
|
|
71
78
|
}
|
|
72
79
|
/**
|
|
73
80
|
* Calculate the full slug for a page or category
|
|
@@ -158,6 +165,7 @@ function createCategoryFunction(id, options) {
|
|
|
158
165
|
hidden: effectiveOptions.hidden || resolvedCategory?.hidden,
|
|
159
166
|
bypassTenantAccessGate: effectiveOptions.bypassTenantAccessGate ||
|
|
160
167
|
resolvedCategory?.bypassTenantAccessGate,
|
|
168
|
+
ownerOnly: effectiveOptions.ownerOnly || resolvedCategory?.ownerOnly,
|
|
161
169
|
};
|
|
162
170
|
categories_1.internal.RegisterCategory.register(categoryInfo);
|
|
163
171
|
const categoryPermission = {
|
|
@@ -167,10 +175,13 @@ function createCategoryFunction(id, options) {
|
|
|
167
175
|
defaultGranted: categoryInfo.publicAccess || (0, member_access_1.opensToMembers)(categoryInfo.memberAccess),
|
|
168
176
|
...ownPermission(categoryInfo.permission),
|
|
169
177
|
};
|
|
170
|
-
|
|
171
|
-
|
|
178
|
+
const ownPermissionId = (0, category_permission_1.categoryOwnPermissionId)(categoryInfo);
|
|
179
|
+
if ((0, categories_1.isOwnerOnly)(categoryInfo)) {
|
|
180
|
+
(0, permissions_1.MarkModuleScopedPermission)(ownPermissionId);
|
|
181
|
+
return categoryInfo;
|
|
172
182
|
}
|
|
173
|
-
|
|
183
|
+
(0, permissions_1.UnmarkModuleScopedPermission)(ownPermissionId);
|
|
184
|
+
if (!(categoryInfo.permission instanceof component_1.Action)) {
|
|
174
185
|
(0, permissions_1.RegisterPermission)(categoryPermission.id, categoryPermission);
|
|
175
186
|
}
|
|
176
187
|
return categoryInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../src/page/internal/categories.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../src/page/internal/categories.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** @internal @packageDocumentation */
|
|
2
|
+
import type { ControllerClass } from "@antelopejs/interface-api";
|
|
3
|
+
import type { ComponentInfo } from "../../component";
|
|
4
|
+
import type { PageMetadata } from "../metadata";
|
|
5
|
+
import type { CategoryInfo } from "../types";
|
|
6
|
+
/**
|
|
7
|
+
* Hand category resolution the class it reads a controller's page metadata
|
|
8
|
+
* through. `PageMetadata` installs itself as it evaluates: `page/metadata`
|
|
9
|
+
* reaches this module through its own imports, so this module cannot import it.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare function installPageMetadata(metadata: typeof PageMetadata): void;
|
|
14
|
+
/**
|
|
15
|
+
* Resolve a category to CategoryInfo
|
|
16
|
+
* @param category A CategoryInfo object or a ControllerClass
|
|
17
|
+
* @returns The resolved CategoryInfo
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveCategoryInfo(category: CategoryInfo | ControllerClass | undefined): CategoryInfo | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* The default layout a page or category declared under `category` inherits:
|
|
24
|
+
* the `layout` of the nearest ancestor that declares one.
|
|
25
|
+
*
|
|
26
|
+
* @param category The parent the entry is declared under
|
|
27
|
+
* @returns That layout, or undefined when no ancestor declares one
|
|
28
|
+
*
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveInheritedLayout(category: CategoryInfo | ControllerClass | undefined): ComponentInfo | undefined;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.installPageMetadata = installPageMetadata;
|
|
4
|
+
exports.resolveCategoryInfo = resolveCategoryInfo;
|
|
5
|
+
exports.resolveInheritedLayout = resolveInheritedLayout;
|
|
6
|
+
const interface_core_1 = require("@antelopejs/interface-core");
|
|
7
|
+
let pageMetadata;
|
|
8
|
+
/**
|
|
9
|
+
* Hand category resolution the class it reads a controller's page metadata
|
|
10
|
+
* through. `PageMetadata` installs itself as it evaluates: `page/metadata`
|
|
11
|
+
* reaches this module through its own imports, so this module cannot import it.
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
function installPageMetadata(metadata) {
|
|
16
|
+
pageMetadata = metadata;
|
|
17
|
+
}
|
|
18
|
+
/** Whether a category names its controller class rather than its CategoryInfo. */
|
|
19
|
+
const isControllerClass = (category) => typeof category === "function";
|
|
20
|
+
/**
|
|
21
|
+
* Resolve a category to CategoryInfo
|
|
22
|
+
* @param category A CategoryInfo object or a ControllerClass
|
|
23
|
+
* @returns The resolved CategoryInfo
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
function resolveCategoryInfo(category) {
|
|
28
|
+
if (!category) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
if (isControllerClass(category)) {
|
|
32
|
+
const meta = (0, interface_core_1.GetMetadata)(category, pageMetadata);
|
|
33
|
+
if (!meta.pageInfo) {
|
|
34
|
+
throw new Error(`PageMetadata not initialized for controller class.`);
|
|
35
|
+
}
|
|
36
|
+
return meta.pageInfo;
|
|
37
|
+
}
|
|
38
|
+
return category;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The default layout a page or category declared under `category` inherits:
|
|
42
|
+
* the `layout` of the nearest ancestor that declares one.
|
|
43
|
+
*
|
|
44
|
+
* @param category The parent the entry is declared under
|
|
45
|
+
* @returns That layout, or undefined when no ancestor declares one
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
function resolveInheritedLayout(category) {
|
|
50
|
+
let current = findCategoryInfo(category);
|
|
51
|
+
while (current) {
|
|
52
|
+
if (current.layout)
|
|
53
|
+
return current.layout;
|
|
54
|
+
current = findCategoryInfo(current.category);
|
|
55
|
+
}
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
function findCategoryInfo(category) {
|
|
59
|
+
if (!isControllerClass(category))
|
|
60
|
+
return category;
|
|
61
|
+
return (0, interface_core_1.GetMetadata)(category, pageMetadata).pageInfo;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=category-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"category-resolution.js","sourceRoot":"","sources":["../../../src/page/internal/category-resolution.ts"],"names":[],"mappings":";;AAgBA,kDAEC;AAcD,kDAgBC;AAWD,wDASC;AAlED,+DAAyD;AAKzD,IAAI,YAAiC,CAAC;AAEtC;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,QAA6B;IAC/D,YAAY,GAAG,QAAQ,CAAC;AAC1B,CAAC;AAED,kFAAkF;AAClF,MAAM,iBAAiB,GAAG,CACxB,QAAoD,EACvB,EAAE,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC;AAEjE;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,QAAoD;IAEpD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CACpC,QAAoD;IAEpD,IAAI,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,OAAO,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC;QAC1C,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAoD;IAEpD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClD,OAAO,IAAA,4BAAW,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC"}
|
|
@@ -14,8 +14,7 @@ const registry_1 = require("./registry");
|
|
|
14
14
|
function removeStaleExtensions(page, infos) {
|
|
15
15
|
const owner = (0, metadata_owner_1.metadataOwner)(page);
|
|
16
16
|
const desired = new Set(infos);
|
|
17
|
-
|
|
18
|
-
for (const info of [...owner.extensionEntries.keys()]) {
|
|
17
|
+
for (const info of owner.extensionEntries.keys()) {
|
|
19
18
|
if (!desired.has(info))
|
|
20
19
|
owner.drop(info);
|
|
21
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-extension-contributions.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-extension-contributions.ts"],"names":[],"mappings":";;AAWA,
|
|
1
|
+
{"version":3,"file":"metadata-extension-contributions.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-extension-contributions.ts"],"names":[],"mappings":";;AAWA,sDASC;AAGD,0DAgBC;AAGD,8DAUC;AAGD,wDAeC;AAtED,gBAAgB;AAChB,gEAA6D;AAC7D,kEAAuE;AAIvE,iEAAgE;AAChE,qDAAiD;AACjD,yCAAqD;AAErD,gBAAgB;AAChB,SAAgB,qBAAqB,CACnC,IAAkB,EAClB,KAA0B;IAE1B,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,SAAgB,uBAAuB,CACrC,IAAkB,EAClB,IAAuB;IAEvB,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAA,6CAAsB,EAAC,IAAI,EAAE;QAC1C,GAAG,EAAE,KAAK,CAAC,aAAa;QACxB,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE;KACzB,CAAC,CAAC;IACH,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,iBAAO,CAAC,KAAK,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gBAAgB;AAChB,SAAgB,yBAAyB,CACvC,IAAkB,EAClB,IAAuB,EACvB,YAAoC;IAEpC,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,OAAO,IAAA,kCAAuB,EAAC,IAAI,EAAE,GAAG,EAAE,CACxC,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,SAAgB,sBAAsB,CACpC,IAAkB,EAClB,OAA6B,EAC7B,IAAuB,EACvB,YAAoC;AACpC,wMAAwM;AACxM,KAAc;IAEd,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,KAAK,YAAY,mDAA4B;QAAE,MAAM,KAAK,CAAC;IAC/D,iBAAO,CAAC,KAAK,CACX,yBAAyB,IAAI,CAAC,aAAa,mCAAmC,YAAY,CAAC,GAAG,cAAc,IAAI,CAAC,YAAY,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,CACnJ,CAAC;AACJ,CAAC"}
|
|
@@ -4,7 +4,6 @@ exports.setPageInfo = setPageInfo;
|
|
|
4
4
|
/** @internal @packageDocumentation */
|
|
5
5
|
const page_layout_1 = require("../../component-options/page-layout");
|
|
6
6
|
const page_routes_1 = require("../page-routes");
|
|
7
|
-
// oxlint-disable-next-line import/no-cycle -- Category resolution reads PageMetadata inside functions, after metadata initialization.
|
|
8
7
|
const categories_1 = require("./categories");
|
|
9
8
|
const member_access_1 = require("./member-access");
|
|
10
9
|
/** @internal */
|
|
@@ -22,12 +21,7 @@ function setPageInfo(page, id, fullSlug, menuOptions, pageLayout) {
|
|
|
22
21
|
fullSlug,
|
|
23
22
|
layoutUrl: location,
|
|
24
23
|
parentSlug: parent ? (0, categories_1.resolveCategoryInfo)(parent)?.fullSlug : undefined,
|
|
25
|
-
|
|
26
|
-
publicAccess: menu.publicAccess || resolvedCategory?.publicAccess,
|
|
27
|
-
authOnly: menu.authOnly || resolvedCategory?.authOnly,
|
|
28
|
-
memberAccess: menu.memberAccess ||
|
|
29
|
-
(0, member_access_1.inheritedMemberAccess)(resolvedCategory?.memberAccess),
|
|
30
|
-
bypassTenantAccessGate: menu.bypassTenantAccessGate || resolvedCategory?.bypassTenantAccessGate,
|
|
24
|
+
...inheritedAccess(menu, resolvedCategory),
|
|
31
25
|
};
|
|
32
26
|
page.layout =
|
|
33
27
|
pageLayout ??
|
|
@@ -36,4 +30,22 @@ function setPageInfo(page, id, fullSlug, menuOptions, pageLayout) {
|
|
|
36
30
|
(0, page_layout_1.DefaultLayout)();
|
|
37
31
|
page.pageInfo = pageInfo;
|
|
38
32
|
}
|
|
33
|
+
function inheritedAccess(menu, category) {
|
|
34
|
+
const access = {
|
|
35
|
+
hidden: menu.hidden || category?.hidden,
|
|
36
|
+
publicAccess: menu.publicAccess || category?.publicAccess,
|
|
37
|
+
authOnly: menu.authOnly || category?.authOnly,
|
|
38
|
+
memberAccess: menu.memberAccess || (0, member_access_1.inheritedMemberAccess)(category?.memberAccess),
|
|
39
|
+
bypassTenantAccessGate: menu.bypassTenantAccessGate || category?.bypassTenantAccessGate,
|
|
40
|
+
ownerOnly: menu.ownerOnly || category?.ownerOnly,
|
|
41
|
+
};
|
|
42
|
+
if (!access.ownerOnly)
|
|
43
|
+
return access;
|
|
44
|
+
return {
|
|
45
|
+
...access,
|
|
46
|
+
publicAccess: undefined,
|
|
47
|
+
authOnly: undefined,
|
|
48
|
+
memberAccess: undefined,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
39
51
|
//# sourceMappingURL=metadata-info.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-info.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-info.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"metadata-info.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-info.ts"],"names":[],"mappings":";;AAUA,kCA+BC;AAzCD,sCAAsC;AACtC,qEAAoE;AAGpE,gDAA+C;AAE/C,6CAA2E;AAC3E,mDAAwD;AAExD,gBAAgB;AAChB,SAAgB,WAAW,CACzB,IAAkB,EAClB,EAAU,EACV,QAAgB,EAChB,WAAwB,EACxB,UAA0B;IAE1B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;IACxC,MAAM,gBAAgB,GAAG,IAAA,gCAAmB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,gBAAgB,EAAE,MAAM,IAAI,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAa;QACzB,GAAG,IAAI;QACP,QAAQ,EAAE,gBAAgB;QAC1B,EAAE;QACF,MAAM;QACN,QAAQ;QACR,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAA,gCAAmB,EAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;QACtE,GAAG,eAAe,CAAC,IAAI,EAAE,gBAAgB,CAAC;KAC3C,CAAC;IAEF,IAAI,CAAC,MAAM;QACT,UAAU;YACV,IAAI,CAAC,MAAM;YACX,IAAA,mCAAsB,EAAC,gBAAgB,CAAC;YACxC,IAAA,2BAAa,GAAE,CAAC;IAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3B,CAAC;AAYD,SAAS,eAAe,CACtB,IAAiB,EACjB,QAAkC;IAElC,MAAM,MAAM,GAAoB;QAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,MAAM;QACvC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,QAAQ,EAAE,YAAY;QACzD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ;QAC7C,YAAY,EACV,IAAI,CAAC,YAAY,IAAI,IAAA,qCAAqB,EAAC,QAAQ,EAAE,YAAY,CAAC;QACpE,sBAAsB,EACpB,IAAI,CAAC,sBAAsB,IAAI,QAAQ,EAAE,sBAAsB;QACjE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE,SAAS;KACjD,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC;IACrC,OAAO;QACL,GAAG,MAAM;QACT,YAAY,EAAE,SAAS;QACvB,QAAQ,EAAE,SAAS;QACnB,YAAY,EAAE,SAAS;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
/** @internal */
|
|
2
|
+
import { type ControllerClass } from "@antelopejs/interface-api";
|
|
1
3
|
import type { ComponentInfoSerialized } from "../../component";
|
|
2
|
-
import type { PageMetadata } from "../metadata";
|
|
3
4
|
import type { PageInfo, PageLayout, PageLayoutRequest } from "../types";
|
|
4
5
|
import { type PageRegistration } from "./page-registration";
|
|
5
6
|
/** @internal */
|
|
6
7
|
export declare function hiddenComponentsFlag(declared: Record<string, ComponentInfoSerialized>, served: Record<string, ComponentInfoSerialized>): Pick<PageLayout, "allComponentsHidden">;
|
|
7
8
|
/** @internal */
|
|
8
|
-
export declare function registerLayoutRoute(target: () =>
|
|
9
|
+
export declare function registerLayoutRoute(target: () => ControllerClass, pageInfo: PageInfo, registration: () => PageRegistration, resolvePageLayout: (request: PageLayoutRequest) => Promise<PageLayout>, resolveGatedPageLayout: (request: PageLayoutRequest, options?: {
|
|
9
10
|
enforceTenantAccessGate?: boolean;
|
|
10
11
|
}) => Promise<PageLayout>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-layout.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-layout.ts"],"names":[],"mappings":";;AAsBA,oDAOC;AAGD,kDAsCC;AAtED,gBAAgB;AAChB,
|
|
1
|
+
{"version":3,"file":"metadata-layout.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-layout.ts"],"names":[],"mappings":";;AAsBA,oDAOC;AAGD,kDAsCC;AAtED,gBAAgB;AAChB,6DAKmC;AACnC,+DAAyD;AAYzD,yCAAgD;AAEhD,gBAAgB;AAChB,SAAgB,oBAAoB,CAClC,QAAiD,EACjD,MAA+C;IAE/C,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACvE,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,gBAAgB;AAChB,SAAgB,mBAAmB,CACjC,MAA6B,EAC7B,QAAkB,EAClB,YAAoC,EACpC,iBAAsE,EACtE,sBAGwB;IAExB,MAAM,OAAO,GAAG,IAAA,4BAAW,EAAC,MAAM,EAAE,EAAE,8BAAc,CAAC,CAAC;IACtD,MAAM,OAAO,GAAsB,CAAC,OAAO,EAAE,EAAE,CAC7C,sBAAsB,CAAC,OAAO,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,6BAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC;QAC5B,QAAQ,EAAE,QAAQ,CAAC,SAAS;QAC5B,QAAQ,EAAE,KAAK;YACb,OAAO,iBAAiB,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,MAAM,EAAE,IAAI,CAAC,UAAU;aACxB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,OAAO,CAAC,cAAc;QAClC,UAAU,EAAE,MAAM,EAAE;KACrB,CAAC,CAAC;IACH,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QACxB,IAAI,6BAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;YAC1D,6BAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QACD,IAAA,+BAAe,EAAC,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -52,10 +52,8 @@ exports.rebuildLayoutComponents = rebuildLayoutComponents;
|
|
|
52
52
|
/** @internal */
|
|
53
53
|
var metadata_owner_1 = require("./metadata-owner");
|
|
54
54
|
Object.defineProperty(exports, "installMetadataOwner", { enumerable: true, get: function () { return metadata_owner_1.installMetadataOwner; } });
|
|
55
|
-
// oxlint-disable-next-line import/no-cycle -- Category resolution reads metadata only inside functions after initialization.
|
|
56
55
|
var metadata_info_1 = require("./metadata-info");
|
|
57
56
|
Object.defineProperty(exports, "setPageInfo", { enumerable: true, get: function () { return metadata_info_1.setPageInfo; } });
|
|
58
|
-
// oxlint-disable-next-line import/no-cycle -- Publication reads category proxies only after metadata initialization.
|
|
59
57
|
const metadata_publish_1 = require("./metadata-publish");
|
|
60
58
|
const extension_assembly_1 = require("./extension-assembly");
|
|
61
59
|
const components = __importStar(require("./metadata-components"));
|
|
@@ -146,8 +144,7 @@ function dispose(page) {
|
|
|
146
144
|
const owner = (0, metadata_owner_2.metadataOwner)(page);
|
|
147
145
|
owner.detached = true;
|
|
148
146
|
owner.releaseGate();
|
|
149
|
-
|
|
150
|
-
for (const info of [...owner.extensionEntries.keys()])
|
|
147
|
+
for (const info of owner.extensionEntries.keys())
|
|
151
148
|
owner.drop(info);
|
|
152
149
|
owner.rebuild();
|
|
153
150
|
owner.ownComponents = {};
|