@antelopejs/interface-dms 0.7.3 → 0.8.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.
- package/CHANGELOG.md +129 -0
- package/dist/auth/index.d.ts +3 -3
- package/dist/auth/index.js +11 -9
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/internal/jwt-auth-decorator.d.ts +20 -0
- package/dist/auth/internal/jwt-auth-decorator.js +51 -0
- package/dist/auth/internal/jwt-auth-decorator.js.map +1 -0
- package/dist/auth/internal/request-authenticators.d.ts +12 -0
- package/dist/auth/internal/request-authenticators.js +22 -0
- package/dist/auth/internal/request-authenticators.js.map +1 -1
- package/dist/base/activity-feed.d.ts +6 -6
- package/dist/base/block-registry/types.d.ts +16 -0
- package/dist/base/block-types.d.ts +1 -0
- package/dist/base/block-types.js +1 -0
- package/dist/base/block-types.js.map +1 -1
- package/dist/base/chart-card.d.ts +15 -0
- package/dist/base/chart-card.js +4 -0
- package/dist/base/chart-card.js.map +1 -1
- package/dist/base/chart-schemas.d.ts +26 -26
- package/dist/base/code-block.d.ts +3 -3
- package/dist/base/data-types/compare-types.js +19 -13
- package/dist/base/data-types/compare-types.js.map +1 -1
- package/dist/base/data-types/core.d.ts +11 -0
- package/dist/base/data-types/core.js +14 -1
- package/dist/base/data-types/core.js.map +1 -1
- package/dist/base/data-types/default-types.d.ts +112 -2
- package/dist/base/data-types/default-types.js +90 -19
- package/dist/base/data-types/default-types.js.map +1 -1
- package/dist/base/data-types/field-types.d.ts +10 -4
- package/dist/base/data-types/field-types.js +12 -2
- package/dist/base/data-types/field-types.js.map +1 -1
- package/dist/base/data-types/internal/compare-types.d.ts +3 -0
- package/dist/base/data-types/internal/compare-types.js +7 -0
- package/dist/base/data-types/internal/compare-types.js.map +1 -1
- package/dist/base/empty-state.d.ts +4 -4
- package/dist/base/form-block-schema.d.ts +59 -3
- package/dist/base/form-block-schema.js +12 -2
- package/dist/base/form-block-schema.js.map +1 -1
- package/dist/base/form-schema.d.ts +46 -1
- package/dist/base/form-schema.js.map +1 -1
- package/dist/base/form-types.d.ts +56 -13
- package/dist/base/form-types.js +12 -4
- package/dist/base/form-types.js.map +1 -1
- package/dist/base/guard.d.ts +6 -6
- package/dist/base/helpers/archive-mode-helpers.js +6 -2
- package/dist/base/helpers/archive-mode-helpers.js.map +1 -1
- package/dist/base/index.d.ts +1 -0
- package/dist/base/index.js +1 -0
- package/dist/base/index.js.map +1 -1
- package/dist/base/internal/form-schema.js +2 -0
- package/dist/base/internal/form-schema.js.map +1 -1
- package/dist/base/internal/layouts.d.ts +4 -0
- package/dist/base/key-value-list.d.ts +12 -9
- package/dist/base/key-value-list.js +1 -1
- package/dist/base/key-value-list.js.map +1 -1
- package/dist/base/kpi-card.d.ts +39 -5
- package/dist/base/kpi-card.js +18 -6
- package/dist/base/kpi-card.js.map +1 -1
- package/dist/base/layouts.d.ts +24 -0
- package/dist/base/layouts.js.map +1 -1
- package/dist/base/live-toggle.d.ts +11 -0
- package/dist/base/live-toggle.js +8 -1
- package/dist/base/live-toggle.js.map +1 -1
- package/dist/base/page-toolbar.d.ts +158 -0
- package/dist/base/page-toolbar.js +198 -0
- package/dist/base/page-toolbar.js.map +1 -0
- package/dist/base/period-selector.d.ts +9 -2
- package/dist/base/period-selector.js.map +1 -1
- package/dist/base/placeholder.d.ts +2 -2
- package/dist/base/section.d.ts +2 -2
- package/dist/base/stack.d.ts +2 -2
- package/dist/base/stat-group.d.ts +18 -6
- package/dist/base/stat-group.js +9 -0
- package/dist/base/stat-group.js.map +1 -1
- package/dist/base/table-view/column-display.d.ts +9 -5
- package/dist/base/table-view/column-display.js +1 -1
- package/dist/base/table-view/column-display.js.map +1 -1
- package/dist/base/table-view/data-functions.d.ts +26 -7
- package/dist/base/table-view/data-functions.js +10 -6
- package/dist/base/table-view/data-functions.js.map +1 -1
- package/dist/base/table-view/factory.js +24 -13
- package/dist/base/table-view/factory.js.map +1 -1
- package/dist/base/table-view/internal/auth.d.ts +2 -0
- package/dist/base/table-view/internal/auth.js +3 -1
- package/dist/base/table-view/internal/auth.js.map +1 -1
- package/dist/base/table-view/internal/factory-helpers.d.ts +5 -0
- package/dist/base/table-view/internal/factory-helpers.js +55 -11
- package/dist/base/table-view/internal/factory-helpers.js.map +1 -1
- package/dist/base/table-view/internal/guards.js +19 -2
- package/dist/base/table-view/internal/guards.js.map +1 -1
- package/dist/base/table-view/internal/realtime.js +17 -0
- package/dist/base/table-view/internal/realtime.js.map +1 -1
- package/dist/base/table-view/internal/resource-form.js +1 -0
- package/dist/base/table-view/internal/resource-form.js.map +1 -1
- package/dist/base/table-view/internal/row-actions-schema.d.ts +296 -0
- package/dist/base/table-view/internal/row-actions-schema.js +62 -0
- package/dist/base/table-view/internal/row-actions-schema.js.map +1 -0
- package/dist/base/table-view/internal/validation.d.ts +15 -3
- package/dist/base/table-view/internal/validation.js +70 -2
- package/dist/base/table-view/internal/validation.js.map +1 -1
- package/dist/base/table-view/meta.d.ts +8 -0
- package/dist/base/table-view/meta.js +25 -3
- package/dist/base/table-view/meta.js.map +1 -1
- package/dist/base/table-view/options.d.ts +90 -16
- package/dist/base/table-view/options.js.map +1 -1
- package/dist/base/table-view/realtime.d.ts +8 -0
- package/dist/base/table-view/realtime.js.map +1 -1
- package/dist/base/table-view/routes.js +5 -2
- package/dist/base/table-view/routes.js.map +1 -1
- package/dist/base/table-view/schema.d.ts +36 -30
- package/dist/base/table-view/schema.js +11 -57
- package/dist/base/table-view/schema.js.map +1 -1
- package/dist/base/table-view/source.d.ts +1 -1
- package/dist/base/table-view/source.js +4 -1
- package/dist/base/table-view/source.js.map +1 -1
- package/dist/base/table-view.d.ts +2 -2
- package/dist/base/table-view.js.map +1 -1
- package/dist/base/top-list-card.d.ts +5 -5
- package/dist/base/types/action-target.d.ts +77 -20
- package/dist/base/types/confirm-dialog.d.ts +5 -1
- package/dist/base/types/custom-button.d.ts +5 -3
- package/dist/base/types/field-config.d.ts +4 -4
- package/dist/base/types/guards.d.ts +10 -0
- package/dist/base/types/row-action.d.ts +6 -1
- package/dist/base/types/size.d.ts +3 -1
- package/dist/client-ip.d.ts +6 -2
- package/dist/client-ip.js +4 -2
- package/dist/client-ip.js.map +1 -1
- package/dist/component.d.ts +8 -0
- package/dist/component.js.map +1 -1
- package/dist/data-controllers/members.d.ts +2 -5
- package/dist/data-controllers/members.js +38 -9
- package/dist/data-controllers/members.js.map +1 -1
- package/dist/db/internal/tenantLifecycle.model.d.ts +4 -0
- package/dist/db/internal/tenantLifecycle.model.js +26 -0
- package/dist/db/internal/tenantLifecycle.model.js.map +1 -1
- package/dist/db/internal/tenantLifecycle.table.d.ts +1 -0
- package/dist/db/internal/tenantLifecycle.table.js +4 -0
- package/dist/db/internal/tenantLifecycle.table.js.map +1 -1
- package/dist/guards.js +2 -3
- package/dist/guards.js.map +1 -1
- package/dist/hooks.d.ts +47 -0
- package/dist/hooks.js +6 -0
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/invite-membership.d.ts +9 -0
- package/dist/internal/invite-membership.js +25 -0
- package/dist/internal/invite-membership.js.map +1 -1
- package/dist/internal/member-changes.d.ts +24 -0
- package/dist/internal/member-changes.js +66 -0
- package/dist/internal/member-changes.js.map +1 -0
- package/dist/internal/tenant-ownership.d.ts +4 -1
- package/dist/internal/tenant-ownership.js +4 -1
- package/dist/internal/tenant-ownership.js.map +1 -1
- package/dist/invite-extensions.d.ts +0 -9
- package/dist/invite-extensions.js +1 -36
- package/dist/invite-extensions.js.map +1 -1
- package/dist/invite-resolution.js +6 -2
- package/dist/invite-resolution.js.map +1 -1
- package/dist/invites.js +36 -22
- package/dist/invites.js.map +1 -1
- package/dist/layout-banners.d.ts +40 -4
- package/dist/layout-banners.js +25 -3
- package/dist/layout-banners.js.map +1 -1
- package/dist/notifications/internal.d.ts +2 -2
- package/dist/notifications/internal.js.map +1 -1
- package/dist/notifications/sendable.d.ts +3 -2
- package/dist/notifications/sendable.js +2 -1
- package/dist/notifications/sendable.js.map +1 -1
- package/dist/notifications/types.d.ts +9 -0
- package/dist/page/controllers.d.ts +44 -0
- package/dist/page/controllers.js +14 -1
- package/dist/page/controllers.js.map +1 -1
- package/dist/page/internal/layout-filter.d.ts +2 -1
- package/dist/page/internal/layout-filter.js +3 -1
- package/dist/page/internal/layout-filter.js.map +1 -1
- package/dist/page/internal/metadata-helpers.d.ts +7 -0
- package/dist/page/internal/metadata-helpers.js +13 -2
- package/dist/page/internal/metadata-helpers.js.map +1 -1
- package/dist/page/internal/page-registration.d.ts +2 -0
- package/dist/page/internal/page-registration.js.map +1 -1
- package/dist/page/layout-filter.js +31 -10
- package/dist/page/layout-filter.js.map +1 -1
- package/dist/page/metadata.js +29 -24
- package/dist/page/metadata.js.map +1 -1
- package/dist/page/types.d.ts +39 -4
- package/dist/page/types.js.map +1 -1
- package/dist/page.d.ts +1 -1
- package/dist/page.js +2 -1
- package/dist/page.js.map +1 -1
- package/dist/permissions-resolver.d.ts +26 -3
- package/dist/permissions-resolver.js +2 -1
- package/dist/permissions-resolver.js.map +1 -1
- package/dist/permissions.d.ts +7 -3
- package/dist/permissions.js +8 -6
- package/dist/permissions.js.map +1 -1
- package/dist/realtime.d.ts +24 -1
- package/dist/realtime.js +7 -1
- package/dist/realtime.js.map +1 -1
- package/dist/request-tenant.d.ts +17 -13
- package/dist/request-tenant.js +54 -42
- package/dist/request-tenant.js.map +1 -1
- package/dist/tenant-access.d.ts +15 -0
- package/dist/tenant-access.js +11 -1
- package/dist/tenant-access.js.map +1 -1
- package/dist/tenant-lifecycle.d.ts +27 -0
- package/dist/tenant-lifecycle.js +35 -0
- package/dist/tenant-lifecycle.js.map +1 -1
- package/dist/tenant-members.d.ts +26 -0
- package/dist/tenant-members.js +29 -0
- package/dist/tenant-members.js.map +1 -0
- package/dist/tenant-ownership.d.ts +4 -1
- package/dist/tenant-ownership.js +15 -3
- package/dist/tenant-ownership.js.map +1 -1
- package/dist/tenant-scoped-model.d.ts +2 -1
- package/dist/tenant-scoped-model.js +4 -3
- package/dist/tenant-scoped-model.js.map +1 -1
- package/docs/1.core/10.layout-banners.md +57 -2
- package/docs/1.core/2.pages-and-modules.md +20 -11
- package/docs/1.core/4.permissions.md +34 -1
- package/docs/1.core/5.tenancy.md +51 -5
- package/docs/1.core/7.hooks.md +13 -0
- package/docs/1.core/8.realtime.md +24 -3
- package/docs/2.auth/2.authentication.md +3 -3
- package/docs/3.base/1.introduction.md +1 -0
- package/docs/3.base/10.display-blocks.md +20 -2
- package/docs/3.base/2.types.md +7 -5
- package/docs/3.base/3.forms.md +21 -6
- package/docs/3.base/4.tables.md +14 -9
- package/docs/3.base/5.charts-and-widgets.md +8 -4
- package/docs/3.base/6.layout.md +38 -1
- package/docs/3.base/8.data-types.md +14 -7
- package/docs/4.notifications/3.sending.md +4 -3
- package/docs/5.html-render/1.introduction.md +5 -7
- package/package.json +3 -7
package/dist/page/metadata.js
CHANGED
|
@@ -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
|
|
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");
|
|
@@ -145,28 +144,29 @@ class PageMetadata {
|
|
|
145
144
|
this.components[id] = component;
|
|
146
145
|
}
|
|
147
146
|
SetInfo(id, fullSlug, menuOptions, pageLayout) {
|
|
148
|
-
const
|
|
147
|
+
const { parent, ...menu } = menuOptions;
|
|
148
|
+
const resolvedCategory = (0, categories_2.resolveCategoryInfo)(menu.category);
|
|
149
149
|
const parentFullId = resolvedCategory?.fullId ?? "";
|
|
150
150
|
const fullId = parentFullId ? `${parentFullId}.${id}` : id;
|
|
151
151
|
const location = (0, page_routes_1.pageRoutePath)(fullSlug, "/pagelayout");
|
|
152
152
|
const pageInfo = {
|
|
153
|
-
...
|
|
153
|
+
...menu,
|
|
154
154
|
category: resolvedCategory,
|
|
155
155
|
id,
|
|
156
156
|
fullId,
|
|
157
157
|
fullSlug,
|
|
158
158
|
layoutUrl: location,
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
159
|
+
parentSlug: parent ? (0, categories_2.resolveCategoryInfo)(parent)?.fullSlug : undefined,
|
|
160
|
+
hidden: menu.hidden || resolvedCategory?.hidden,
|
|
161
|
+
publicAccess: menu.publicAccess || resolvedCategory?.publicAccess,
|
|
162
|
+
authOnly: menu.authOnly || resolvedCategory?.authOnly,
|
|
163
|
+
memberAccess: menu.memberAccess ||
|
|
163
164
|
(0, member_access_1.inheritedMemberAccess)(resolvedCategory?.memberAccess),
|
|
164
|
-
bypassTenantAccessGate:
|
|
165
|
-
resolvedCategory?.bypassTenantAccessGate,
|
|
165
|
+
bypassTenantAccessGate: menu.bypassTenantAccessGate || resolvedCategory?.bypassTenantAccessGate,
|
|
166
166
|
};
|
|
167
167
|
this.layout =
|
|
168
168
|
pageLayout ??
|
|
169
|
-
|
|
169
|
+
menu.layout ??
|
|
170
170
|
(0, categories_2.resolveInheritedLayout)(resolvedCategory) ??
|
|
171
171
|
(0, layouts_1.DefaultLayout)();
|
|
172
172
|
this.pageInfo = pageInfo;
|
|
@@ -262,6 +262,7 @@ class PageMetadata {
|
|
|
262
262
|
this.ownRouteProperties();
|
|
263
263
|
this.applyAuthDecorators(pageInfo);
|
|
264
264
|
(0, metadata_helpers_1.RequestQueryProperty)()(this.target.prototype, "pageQuery");
|
|
265
|
+
(0, metadata_helpers_1.RequestRouteParametersProperty)()(this.target.prototype, "pageParams");
|
|
265
266
|
this.registerLayoutRoute(pageInfo);
|
|
266
267
|
}
|
|
267
268
|
/**
|
|
@@ -405,20 +406,22 @@ class PageMetadata {
|
|
|
405
406
|
}
|
|
406
407
|
registerLayoutRoute(pageInfo) {
|
|
407
408
|
const apimeta = (0, interface_core_1.GetMetadata)(this.target, interface_api_1.ControllerMeta);
|
|
408
|
-
const resolvePageLayout = (
|
|
409
|
-
query,
|
|
410
|
-
});
|
|
409
|
+
const resolvePageLayout = (request) => this.resolvePageLayout(request);
|
|
411
410
|
// The by-slug entry carries no guard of its own, so it asks the resolver
|
|
412
411
|
// to assert the gate; the route below is already guarded.
|
|
413
|
-
const handler = (
|
|
414
|
-
enforceTenantAccessGate: true,
|
|
415
|
-
query,
|
|
416
|
-
});
|
|
412
|
+
const handler = (request) => this.resolvePageLayout(request, { enforceTenantAccessGate: true });
|
|
417
413
|
registry_1.pageLayoutHandlers.set(pageInfo.fullSlug, handler);
|
|
418
414
|
const routeId = (0, interface_api_1.RegisterRoute)({
|
|
419
415
|
location: pageInfo.layoutUrl,
|
|
420
416
|
callback: async function () {
|
|
421
|
-
return resolvePageLayout(
|
|
417
|
+
return resolvePageLayout({
|
|
418
|
+
user: this.user,
|
|
419
|
+
memberModel: this.memberModel,
|
|
420
|
+
roleModel: this.roleModel,
|
|
421
|
+
tenantId: this.tenantId,
|
|
422
|
+
query: this.pageQuery,
|
|
423
|
+
params: this.pageParams,
|
|
424
|
+
});
|
|
422
425
|
},
|
|
423
426
|
method: "GET",
|
|
424
427
|
mode: "handler",
|
|
@@ -437,7 +440,9 @@ class PageMetadata {
|
|
|
437
440
|
(0, interface_api_1.UnregisterRoute)(routeId);
|
|
438
441
|
});
|
|
439
442
|
}
|
|
440
|
-
async resolvePageLayout(user, memberModel, roleModel, tenantId,
|
|
443
|
+
async resolvePageLayout({ user, memberModel, roleModel, tenantId, query, params, resolverContext, },
|
|
444
|
+
// Only for the by-slug entry, which has no guard of its own.
|
|
445
|
+
{ enforceTenantAccessGate = false } = {}) {
|
|
441
446
|
const layout = this.layoutRef;
|
|
442
447
|
if (!layout) {
|
|
443
448
|
throw new Error("PageMetadata not properly initialized");
|
|
@@ -472,11 +477,11 @@ class PageMetadata {
|
|
|
472
477
|
if (!user)
|
|
473
478
|
return new Set();
|
|
474
479
|
const roleIds = (await memberModel.getByUser(user._id))?.roleIds ?? [];
|
|
475
|
-
return (0, permissions_1.GetEffectiveUserPermissions)(user, tenantId, roleIds, roleModel);
|
|
480
|
+
return (0, permissions_1.GetEffectiveUserPermissions)(user, tenantId, roleIds, roleModel, resolverContext);
|
|
476
481
|
};
|
|
477
482
|
// Header actions declaring a permission are filtered on every page, even
|
|
478
483
|
// one skipping component permissions: they name their own requirement.
|
|
479
|
-
const context = { tenantId, user, query };
|
|
484
|
+
const context = { tenantId, user, query, params };
|
|
480
485
|
if (this.pageInfo?.publicAccess === true || this.skipComponentPermissions) {
|
|
481
486
|
return {
|
|
482
487
|
...layout,
|
|
@@ -840,8 +845,8 @@ class PageMetadata {
|
|
|
840
845
|
}
|
|
841
846
|
if (authOnly)
|
|
842
847
|
return;
|
|
843
|
-
(0,
|
|
844
|
-
(0,
|
|
848
|
+
(0, tenant_scoped_model_1.TenantScopedModel)(db_1.RoleModel)(this.target.prototype, "roleModel");
|
|
849
|
+
(0, tenant_scoped_model_1.TenantScopedModel)(db_1.TenantMemberModel)(this.target.prototype, "memberModel");
|
|
845
850
|
(0, metadata_helpers_1.RequestTenantIdProperty)()(this.target.prototype, "tenantId");
|
|
846
851
|
}
|
|
847
852
|
}
|
|
@@ -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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"}
|
package/dist/page/types.d.ts
CHANGED
|
@@ -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
|
-
|
|
406
|
-
|
|
407
|
-
|
|
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>;
|
package/dist/page/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/page/types.ts"],"names":[],"mappings":";;;
|
|
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,
|
|
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"}
|
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
import { RegisteringProxy } from "@antelopejs/interface-core";
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* A role preview a resolver call computes the set for (Settings › Roles ›
|
|
4
|
+
* Preview as role), instead of a real member's.
|
|
5
|
+
*/
|
|
6
|
+
export interface PermissionsResolverPreview {
|
|
7
|
+
/** The previewed role's permissions, before any resolver reshaped them. */
|
|
8
|
+
rolePermissions: ReadonlySet<string>;
|
|
9
|
+
}
|
|
10
|
+
/** What a resolver call is for, besides the user and the tenant. */
|
|
11
|
+
export interface PermissionsResolverContext {
|
|
12
|
+
/**
|
|
13
|
+
* Set when the call previews a role. `userId` is then the viewer's, but the
|
|
14
|
+
* set is the previewed role's: a resolver keyed on the user (an owner
|
|
15
|
+
* handed more, a screen kept for owners) must shape it as for an ordinary
|
|
16
|
+
* member holding only that role, never from the viewer's own standing.
|
|
17
|
+
*/
|
|
18
|
+
preview?: PermissionsResolverPreview;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Reshape a user's permission set for a tenant. `context` says what the set is
|
|
22
|
+
* computed for: always passed, `{}` for a real member.
|
|
23
|
+
*/
|
|
24
|
+
export type PermissionsResolverFn = (userId: string, tenantId: string, currentPermissions: Set<string>, context: PermissionsResolverContext) => Promise<Set<string>> | Set<string>;
|
|
3
25
|
export interface PermissionsResolverInfo {
|
|
4
26
|
id: string;
|
|
5
27
|
resolver: PermissionsResolverFn;
|
|
@@ -31,6 +53,7 @@ export declare function RegisterPermissionsResolver(info: PermissionsResolverInf
|
|
|
31
53
|
/**
|
|
32
54
|
* Run the registered resolvers over a base permission set and return the
|
|
33
55
|
* effective set. Prefer `GetEffectiveUserPermissions` from `dms/permissions`,
|
|
34
|
-
* which composes the base set computation with this pipeline.
|
|
56
|
+
* which composes the base set computation with this pipeline. `context` is
|
|
57
|
+
* handed to every resolver as is.
|
|
35
58
|
*/
|
|
36
|
-
export declare const ApplyPermissionsResolvers: (userId: string, tenantId: string, basePermissions: Set<string
|
|
59
|
+
export declare const ApplyPermissionsResolvers: (userId: string, tenantId: string, basePermissions: Set<string>, context: PermissionsResolverContext) => Promise<Set<string>>;
|
|
@@ -32,7 +32,8 @@ function RegisterPermissionsResolver(info) {
|
|
|
32
32
|
/**
|
|
33
33
|
* Run the registered resolvers over a base permission set and return the
|
|
34
34
|
* effective set. Prefer `GetEffectiveUserPermissions` from `dms/permissions`,
|
|
35
|
-
* which composes the base set computation with this pipeline.
|
|
35
|
+
* which composes the base set computation with this pipeline. `context` is
|
|
36
|
+
* handed to every resolver as is.
|
|
36
37
|
*/
|
|
37
38
|
exports.ApplyPermissionsResolvers = (0, interface_core_1.InterfaceFunction)();
|
|
38
39
|
//# sourceMappingURL=permissions-resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions-resolver.js","sourceRoot":"","sources":["../src/permissions-resolver.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"permissions-resolver.js","sourceRoot":"","sources":["../src/permissions-resolver.ts"],"names":[],"mappings":";;;AAmEA,kEAIC;AAvED,+DAGoC;AAuCpC,gBAAgB;AAChB,IAAiB,QAAQ,CAIxB;AAJD,WAAiB,QAAQ;IACV,oCAA2B,GAAG,IAAI,iCAAgB,EAE5D,CAAC;AACN,CAAC,EAJgB,QAAQ,wBAAR,QAAQ,QAIxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,2BAA2B,CACzC,IAA6B;IAE7B,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACU,QAAA,yBAAyB,GACpC,IAAA,kCAAiB,GAOd,CAAC"}
|
package/dist/permissions.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RegisteringProxy } from "@antelopejs/interface-core";
|
|
2
2
|
import type { RoleModel } from "./db";
|
|
3
|
+
import { type PermissionsResolverContext } from "./permissions-resolver";
|
|
3
4
|
export interface Permission {
|
|
4
5
|
id: string;
|
|
5
6
|
title: string;
|
|
@@ -54,17 +55,20 @@ export declare function GetUserPermissions(user: {
|
|
|
54
55
|
* (`ApplyPermissionsResolvers`): the dms module wires it in `construct()`.
|
|
55
56
|
* In standalone contexts (unit tests, thin consumers) connect it manually
|
|
56
57
|
* with `ImplementInterface`, otherwise the call queues until wired.
|
|
58
|
+
*
|
|
59
|
+
* `context` is handed to the resolvers: `{}` for the user's own set, `preview`
|
|
60
|
+
* when the set is a role previewed by that user.
|
|
57
61
|
*/
|
|
58
62
|
export declare function GetEffectiveUserPermissions(user: {
|
|
59
63
|
_id: string;
|
|
60
64
|
owner?: boolean;
|
|
61
|
-
}, tenantId: string, roleIds: string[], roleModel: RoleModel): Promise<Set<string>>;
|
|
65
|
+
}, tenantId: string, roleIds: string[], roleModel: RoleModel, context?: PermissionsResolverContext): Promise<Set<string>>;
|
|
62
66
|
/**
|
|
63
67
|
* Whether `permissions` grants `permissionId`: on the `*` wildcard, on a
|
|
64
68
|
* `defaultGranted` permission, or on a direct grant whose ancestors (the ids
|
|
65
69
|
* it sits under) and `dependencies` are held too — a table's delete action
|
|
66
|
-
* grants nothing without its table and its
|
|
67
|
-
* the view that loads the row.
|
|
70
|
+
* grants nothing without its table, its page and its list, its edit nothing
|
|
71
|
+
* without the view that loads the row.
|
|
68
72
|
*/
|
|
69
73
|
export declare function HasPermission(permissions: Set<string>, permissionId: string): Promise<boolean>;
|
|
70
74
|
/** Whether `permissions` grants at least one of `permissionIds`. */
|
package/dist/permissions.js
CHANGED
|
@@ -76,17 +76,20 @@ async function GetUserPermissions(user, roleIds, roleModel) {
|
|
|
76
76
|
* (`ApplyPermissionsResolvers`): the dms module wires it in `construct()`.
|
|
77
77
|
* In standalone contexts (unit tests, thin consumers) connect it manually
|
|
78
78
|
* with `ImplementInterface`, otherwise the call queues until wired.
|
|
79
|
+
*
|
|
80
|
+
* `context` is handed to the resolvers: `{}` for the user's own set, `preview`
|
|
81
|
+
* when the set is a role previewed by that user.
|
|
79
82
|
*/
|
|
80
|
-
async function GetEffectiveUserPermissions(user, tenantId, roleIds, roleModel) {
|
|
83
|
+
async function GetEffectiveUserPermissions(user, tenantId, roleIds, roleModel, context = {}) {
|
|
81
84
|
const basePermissions = await GetUserPermissions(user, roleIds, roleModel);
|
|
82
|
-
return (0, permissions_resolver_1.ApplyPermissionsResolvers)(user._id, tenantId, basePermissions);
|
|
85
|
+
return (0, permissions_resolver_1.ApplyPermissionsResolvers)(user._id, tenantId, basePermissions, context);
|
|
83
86
|
}
|
|
84
87
|
/**
|
|
85
88
|
* Whether `permissions` grants `permissionId`: on the `*` wildcard, on a
|
|
86
89
|
* `defaultGranted` permission, or on a direct grant whose ancestors (the ids
|
|
87
90
|
* it sits under) and `dependencies` are held too — a table's delete action
|
|
88
|
-
* grants nothing without its table and its
|
|
89
|
-
* the view that loads the row.
|
|
91
|
+
* grants nothing without its table, its page and its list, its edit nothing
|
|
92
|
+
* without the view that loads the row.
|
|
90
93
|
*/
|
|
91
94
|
async function HasPermission(permissions, permissionId) {
|
|
92
95
|
return grantsPermission(permissions, permissionId, new Set());
|
|
@@ -111,8 +114,7 @@ async function grantsPermission(permissions, permissionId, checked) {
|
|
|
111
114
|
return ((await holdsAncestors(permissions, permissionId)) &&
|
|
112
115
|
holdsDependencies(permissions, permission, checked));
|
|
113
116
|
}
|
|
114
|
-
// The role routes store a grant with every id it sits under
|
|
115
|
-
// before they did, or a set a resolver reshaped, may lack some. An ancestor
|
|
117
|
+
// The role routes store a grant with every id it sits under. An ancestor
|
|
116
118
|
// counts as held when granted, `defaultGranted`, or not a registered
|
|
117
119
|
// permission at all (a page declaring `permission: { id: "mailing.access" }`
|
|
118
120
|
// has no `mailing` above it).
|
package/dist/permissions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
|
package/dist/realtime.d.ts
CHANGED
|
@@ -2,6 +2,17 @@ import { RegisteringProxy } from "@antelopejs/interface-core";
|
|
|
2
2
|
export interface PublishMessageOptions {
|
|
3
3
|
payload?: Record<string, unknown>;
|
|
4
4
|
actorId?: string;
|
|
5
|
+
/**
|
|
6
|
+
* The tenant (workspace) the message is about. A message published with it
|
|
7
|
+
* reaches only the page sessions of that tenant; without it, the message is
|
|
8
|
+
* global and reaches every session subscribed to the topic, whatever their
|
|
9
|
+
* tenant.
|
|
10
|
+
*
|
|
11
|
+
* Pass it whenever the topic carries one workspace's data — a row changed, a
|
|
12
|
+
* send finished, a run completed — so the other workspaces' pages neither
|
|
13
|
+
* refetch nor count the message as missed.
|
|
14
|
+
*/
|
|
15
|
+
tenantId?: string;
|
|
5
16
|
}
|
|
6
17
|
/** One message delivered to a {@link SubscribeMessage} handler. */
|
|
7
18
|
export interface RealtimeMessage {
|
|
@@ -9,6 +20,12 @@ export interface RealtimeMessage {
|
|
|
9
20
|
type: string;
|
|
10
21
|
payload?: Record<string, unknown>;
|
|
11
22
|
actorId?: string;
|
|
23
|
+
/**
|
|
24
|
+
* The tenant the message was published for, absent on a global message. A
|
|
25
|
+
* {@link SubscribeMessage} handler receives the messages of every tenant
|
|
26
|
+
* and filters on this field itself when it serves one.
|
|
27
|
+
*/
|
|
28
|
+
tenantId?: string;
|
|
12
29
|
ts: number;
|
|
13
30
|
}
|
|
14
31
|
export type RealtimeMessageHandler = (message: RealtimeMessage) => void;
|
|
@@ -29,9 +46,15 @@ export declare namespace internal {
|
|
|
29
46
|
* module is unloaded, and it outlives a reload of the DMS module.
|
|
30
47
|
*/
|
|
31
48
|
export declare const RegisterPageTopic: (pageId: string, topic: string) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Publish a message on `topic`. The page sessions bound to the topic refetch
|
|
51
|
+
* on it; with `options.tenantId` only those of that tenant do, without it the
|
|
52
|
+
* message is global.
|
|
53
|
+
*/
|
|
32
54
|
export declare const PublishMessage: (topic: string, type: string, options?: PublishMessageOptions | undefined) => Promise<void>;
|
|
33
55
|
/**
|
|
34
|
-
* Receive every message published on `topic`, whichever instance published it
|
|
56
|
+
* Receive every message published on `topic`, whichever instance published it
|
|
57
|
+
* and whichever tenant it names (see {@link RealtimeMessage.tenantId}):
|
|
35
58
|
* the subscription rides the same broker as {@link PublishMessage}, so what one
|
|
36
59
|
* instance publishes reaches the subscribers of every other.
|
|
37
60
|
*
|
package/dist/realtime.js
CHANGED
|
@@ -29,9 +29,15 @@ const RegisterPageTopic = (pageId, topic) => {
|
|
|
29
29
|
internal.RegisterPageTopic.register(pageTopicId(pageId, topic), pageId, topic);
|
|
30
30
|
};
|
|
31
31
|
exports.RegisterPageTopic = RegisterPageTopic;
|
|
32
|
+
/**
|
|
33
|
+
* Publish a message on `topic`. The page sessions bound to the topic refetch
|
|
34
|
+
* on it; with `options.tenantId` only those of that tenant do, without it the
|
|
35
|
+
* message is global.
|
|
36
|
+
*/
|
|
32
37
|
exports.PublishMessage = (0, interface_core_1.InterfaceFunction)();
|
|
33
38
|
/**
|
|
34
|
-
* Receive every message published on `topic`, whichever instance published it
|
|
39
|
+
* Receive every message published on `topic`, whichever instance published it
|
|
40
|
+
* and whichever tenant it names (see {@link RealtimeMessage.tenantId}):
|
|
35
41
|
* the subscription rides the same broker as {@link PublishMessage}, so what one
|
|
36
42
|
* instance publishes reaches the subscribers of every other.
|
|
37
43
|
*
|
package/dist/realtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":";;;AA6GA,4CAOC;AApHD,6CAAyC;AACzC,+DAGoC;AAsCpC;;GAEG;AACH,IAAiB,QAAQ,CAQxB;AARD,WAAiB,QAAQ;IACV,0BAAiB,GAAG,IAAI,iCAAgB,EAElD,CAAC;IAES,yBAAgB,GAAG,IAAI,iCAAgB,EAEjD,CAAC;AACN,CAAC,EARgB,QAAQ,wBAAR,QAAQ,QAQxB;AAED,+EAA+E;AAC/E,2EAA2E;AAC3E,0CAA0C;AAC1C,SAAS,WAAW,CAAC,MAAc,EAAE,KAAa;IAChD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACI,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,KAAa,EAAQ,EAAE;IACvE,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CACjC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAC1B,MAAM,EACN,KAAK,CACN,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,iBAAiB,qBAM5B;AAEF;;;;GAIG;AACU,QAAA,cAAc,GACzB,IAAA,kCAAiB,GAMd,CAAC;AAEN;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,gBAAgB,CAC9B,KAAa,EACb,OAA+B;IAE/B,MAAM,EAAE,GAAG,IAAA,wBAAU,GAAE,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC"}
|
package/dist/request-tenant.d.ts
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import type { RequestContext } from "@antelopejs/interface-api";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* The tenant of the request's verified credential: the one bound by the DMS
|
|
4
|
+
* auth decorators (`AuthUser`, `AuthUserWithPermission`, `IfAuthUser` with a
|
|
5
|
+
* valid token…), the tenant guards or `authenticateRequestPrincipal`.
|
|
6
|
+
* Without a verified credential, `DEFAULT_TENANT_ID`: a token is never read
|
|
7
|
+
* for its tenant before its signature, user and session are checked.
|
|
6
8
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* gating performed by `PageController`) — those validators verify the signature
|
|
11
|
-
* before this function runs, so the decoded `tenantId` is authentic.
|
|
9
|
+
* Call it once the route's auth decorator has run (in the handler). A
|
|
10
|
+
* parameter or property provider resolved alongside the auth decorator uses
|
|
11
|
+
* {@link resolveRequestTenantId} instead.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* Do NOT introduce new routes that rely on `tenantId` for authorization without
|
|
17
|
-
* upstream auth verification — without signature checks, the claim is forgeable.
|
|
13
|
+
* @throws HTTPResult 401 when the request's authentication failed or its
|
|
14
|
+
* credential changed since
|
|
18
15
|
*/
|
|
19
16
|
export declare function getRequestTenantId(ctx: RequestContext): string;
|
|
17
|
+
/**
|
|
18
|
+
* {@link getRequestTenantId} for a provider that may run before the route's
|
|
19
|
+
* auth decorator (`TenantScopedModel`, a tenant-scoped `Model`): a bearer
|
|
20
|
+
* token not yet verified is verified here, and its tenant bound to the
|
|
21
|
+
* request. An invalid token reads as anonymous: `DEFAULT_TENANT_ID`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function resolveRequestTenantId(ctx: RequestContext): Promise<string>;
|