@antelopejs/interface-dms 0.10.4 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/README.md +21 -10
- package/dist/attachments.d.ts +15 -2
- package/dist/attachments.js +14 -1
- package/dist/attachments.js.map +1 -1
- package/dist/auth/db/models/sessions.model.d.ts +7 -5
- package/dist/auth/db/models/sessions.model.js +2 -9
- package/dist/auth/db/models/sessions.model.js.map +1 -1
- package/dist/auth/db/models/userExternalIdentities.model.d.ts +7 -5
- package/dist/auth/db/models/users.model.d.ts +7 -5
- package/dist/auth/db/tables/users.table.d.ts +2 -2
- package/dist/auth/db/tables/users.table.js.map +1 -1
- package/dist/auth/index.d.ts +4 -4
- package/dist/auth/internal/jwt-auth-decorator.d.ts +1 -1
- package/dist/auth/internal/jwt-auth-decorator.js +6 -3
- package/dist/auth/internal/jwt-auth-decorator.js.map +1 -1
- package/dist/auth/internal/request-authenticators.d.ts +12 -0
- package/dist/auth/internal/request-authenticators.js +53 -10
- package/dist/auth/internal/request-authenticators.js.map +1 -1
- package/dist/base/activity-feed.d.ts +34 -32
- package/dist/base/activity-feed.js +2 -0
- package/dist/base/activity-feed.js.map +1 -1
- package/dist/base/banner.d.ts +12 -10
- package/dist/base/banner.js +2 -0
- package/dist/base/banner.js.map +1 -1
- package/dist/base/block-registry/internal/describe.js +3 -9
- package/dist/base/block-registry/internal/describe.js.map +1 -1
- package/dist/base/block-registry/internal/ui.js +1 -1
- package/dist/base/block-registry/internal/ui.js.map +1 -1
- package/dist/base/card.d.ts +11 -9
- package/dist/base/card.js +2 -0
- package/dist/base/card.js.map +1 -1
- package/dist/base/chart-card.d.ts +4 -2
- package/dist/base/chart-card.js +2 -0
- package/dist/base/chart-card.js.map +1 -1
- package/dist/base/chart-schemas.d.ts +148 -148
- package/dist/base/chart.d.ts +65 -0
- package/dist/base/chart.js +65 -0
- package/dist/base/chart.js.map +1 -1
- package/dist/base/code-block.d.ts +5 -3
- package/dist/base/code-block.js +2 -0
- package/dist/base/code-block.js.map +1 -1
- package/dist/base/custom.d.ts +5 -0
- package/dist/base/custom.js +5 -0
- package/dist/base/custom.js.map +1 -1
- package/dist/base/data-types/default/address.d.ts +5 -0
- package/dist/base/data-types/default/address.js +5 -0
- package/dist/base/data-types/default/address.js.map +1 -1
- package/dist/base/data-types/default/choices.d.ts +20 -0
- package/dist/base/data-types/default/choices.js +20 -0
- package/dist/base/data-types/default/choices.js.map +1 -1
- package/dist/base/data-types/default/files.d.ts +22 -5
- package/dist/base/data-types/default/files.js +20 -0
- package/dist/base/data-types/default/files.js.map +1 -1
- package/dist/base/data-types/default/numbers.d.ts +15 -0
- package/dist/base/data-types/default/numbers.js +25 -9
- package/dist/base/data-types/default/numbers.js.map +1 -1
- package/dist/base/data-types/default/relations.d.ts +10 -2
- package/dist/base/data-types/default/relations.js +9 -6
- package/dist/base/data-types/default/relations.js.map +1 -1
- package/dist/base/data-types/default/strings.d.ts +25 -0
- package/dist/base/data-types/default/strings.js +25 -0
- package/dist/base/data-types/default/strings.js.map +1 -1
- package/dist/base/data-types/default-types.d.ts +1 -1
- package/dist/base/data-types/field-types.d.ts +10 -0
- package/dist/base/data-types/field-types.js +10 -0
- package/dist/base/data-types/field-types.js.map +1 -1
- package/dist/base/data-types/internal/relation-endpoints.js +1 -0
- package/dist/base/data-types/internal/relation-endpoints.js.map +1 -1
- package/dist/base/data-types/status-type.d.ts +5 -0
- package/dist/base/data-types/status-type.js +5 -0
- package/dist/base/data-types/status-type.js.map +1 -1
- package/dist/base/display.d.ts +6 -6
- package/dist/base/empty-state.d.ts +15 -13
- package/dist/base/empty-state.js +2 -0
- package/dist/base/empty-state.js.map +1 -1
- package/dist/base/form-block-schema.d.ts +50 -50
- package/dist/base/form-schema.d.ts +2 -0
- package/dist/base/form-schema.js +2 -0
- package/dist/base/form-schema.js.map +1 -1
- package/dist/base/grid.d.ts +4 -0
- package/dist/base/grid.js +4 -0
- package/dist/base/grid.js.map +1 -1
- package/dist/base/guard.d.ts +30 -28
- package/dist/base/guard.js +2 -0
- package/dist/base/guard.js.map +1 -1
- package/dist/base/helpers/archive-mode-helpers.d.ts +1 -1
- package/dist/base/helpers/file-refs.js +15 -15
- package/dist/base/helpers/file-refs.js.map +1 -1
- package/dist/base/internal/form-schema-validation.js +7 -1
- package/dist/base/internal/form-schema-validation.js.map +1 -1
- package/dist/base/internal/realtime-topics.js.map +1 -1
- package/dist/base/internal/searchable.d.ts +2 -1
- package/dist/base/internal/searchable.js +1 -3
- package/dist/base/internal/searchable.js.map +1 -1
- package/dist/base/key-value-list.d.ts +21 -19
- package/dist/base/key-value-list.js +2 -0
- package/dist/base/key-value-list.js.map +1 -1
- package/dist/base/kpi-card.d.ts +4 -2
- package/dist/base/kpi-card.js +2 -0
- package/dist/base/kpi-card.js.map +1 -1
- package/dist/base/live-toggle.d.ts +2 -0
- package/dist/base/live-toggle.js +2 -0
- package/dist/base/live-toggle.js.map +1 -1
- package/dist/base/meter.d.ts +23 -21
- package/dist/base/meter.js +2 -0
- package/dist/base/meter.js.map +1 -1
- package/dist/base/nav-card-grid.d.ts +24 -19
- package/dist/base/nav-card-grid.js +5 -0
- package/dist/base/nav-card-grid.js.map +1 -1
- package/dist/base/page-toolbar.d.ts +2 -0
- package/dist/base/page-toolbar.js +2 -0
- package/dist/base/page-toolbar.js.map +1 -1
- package/dist/base/period-selector.d.ts +3 -1
- package/dist/base/period-selector.js +2 -0
- package/dist/base/period-selector.js.map +1 -1
- package/dist/base/placeholder.d.ts +2 -0
- package/dist/base/placeholder.js +2 -0
- package/dist/base/placeholder.js.map +1 -1
- package/dist/base/resource-form-schema.d.ts +2 -2
- package/dist/base/searchable.d.ts +3 -2
- package/dist/base/searchable.js +2 -2
- package/dist/base/searchable.js.map +1 -1
- package/dist/base/section.d.ts +6 -2
- package/dist/base/section.js +4 -0
- package/dist/base/section.js.map +1 -1
- package/dist/base/stack.d.ts +6 -0
- package/dist/base/stack.js +6 -0
- package/dist/base/stack.js.map +1 -1
- package/dist/base/stat-group.d.ts +16 -14
- package/dist/base/stat-group.js +2 -0
- package/dist/base/stat-group.js.map +1 -1
- package/dist/base/tab.d.ts +10 -8
- package/dist/base/tab.js +2 -0
- package/dist/base/tab.js.map +1 -1
- package/dist/base/table-view/column-display.d.ts +1 -1
- package/dist/base/table-view/column-display.js.map +1 -1
- package/dist/base/table-view/data-functions.d.ts +10 -4
- package/dist/base/table-view/data-functions.js.map +1 -1
- package/dist/base/table-view/factory.d.ts +5 -0
- package/dist/base/table-view/factory.js +8 -4
- package/dist/base/table-view/factory.js.map +1 -1
- package/dist/base/table-view/internal/auth.d.ts +17 -3
- package/dist/base/table-view/internal/auth.js +26 -5
- package/dist/base/table-view/internal/auth.js.map +1 -1
- package/dist/base/table-view/internal/column-conditions.d.ts +8 -1
- package/dist/base/table-view/internal/column-conditions.js +25 -13
- package/dist/base/table-view/internal/column-conditions.js.map +1 -1
- package/dist/base/table-view/internal/column-display.d.ts +1 -2
- package/dist/base/table-view/internal/column-display.js +3 -9
- package/dist/base/table-view/internal/column-display.js.map +1 -1
- package/dist/base/table-view/internal/factory-helpers.d.ts +1 -1
- package/dist/base/table-view/internal/factory-helpers.js +17 -14
- package/dist/base/table-view/internal/factory-helpers.js.map +1 -1
- package/dist/base/table-view/internal/factory-lifecycle-created.d.ts +2 -3
- package/dist/base/table-view/internal/factory-lifecycle-created.js +5 -5
- package/dist/base/table-view/internal/factory-lifecycle-created.js.map +1 -1
- package/dist/base/table-view/internal/factory-lifecycle-filter.d.ts +2 -2
- package/dist/base/table-view/internal/factory-private-actions.d.ts +2 -2
- package/dist/base/table-view/internal/files.d.ts +2 -1
- package/dist/base/table-view/internal/files.js +14 -5
- package/dist/base/table-view/internal/files.js.map +1 -1
- package/dist/base/table-view/internal/footer.d.ts +3 -3
- package/dist/base/table-view/internal/footer.js +16 -15
- package/dist/base/table-view/internal/footer.js.map +1 -1
- package/dist/base/table-view/internal/guards.d.ts +27 -5
- package/dist/base/table-view/internal/guards.js +127 -49
- package/dist/base/table-view/internal/guards.js.map +1 -1
- package/dist/base/table-view/internal/meta-helpers.d.ts +1 -1
- package/dist/base/table-view/internal/meta-helpers.js +3 -4
- package/dist/base/table-view/internal/meta-helpers.js.map +1 -1
- package/dist/base/table-view/internal/meta.js +2 -3
- package/dist/base/table-view/internal/meta.js.map +1 -1
- package/dist/base/table-view/internal/option-contract.d.ts +1 -1
- package/dist/base/table-view/internal/option-footer.d.ts +2 -2
- package/dist/base/table-view/internal/option-row-actions.d.ts +1 -1
- package/dist/base/table-view/internal/realtime.d.ts +52 -11
- package/dist/base/table-view/internal/realtime.js +23 -16
- package/dist/base/table-view/internal/realtime.js.map +1 -1
- package/dist/base/table-view/internal/resource-form.d.ts +1 -1
- package/dist/base/table-view/internal/resource-form.js +1 -1
- package/dist/base/table-view/internal/resource-form.js.map +1 -1
- package/dist/base/table-view/internal/row-actions-schema.d.ts +12 -12
- package/dist/base/table-view/internal/row-rule-shape.d.ts +11 -5
- package/dist/base/table-view/internal/row-rule-shape.js +60 -30
- package/dist/base/table-view/internal/row-rule-shape.js.map +1 -1
- package/dist/base/table-view/internal/row-rules.d.ts +28 -1
- package/dist/base/table-view/internal/row-rules.js +8 -19
- package/dist/base/table-view/internal/row-rules.js.map +1 -1
- package/dist/base/table-view/internal/tabs.d.ts +1 -1
- package/dist/base/table-view/internal/tabs.js +1 -4
- package/dist/base/table-view/internal/tabs.js.map +1 -1
- package/dist/base/table-view/internal/validation.d.ts +2 -2
- package/dist/base/table-view/internal/validation.js +7 -7
- package/dist/base/table-view/internal/validation.js.map +1 -1
- package/dist/base/table-view/meta.d.ts +7 -6
- package/dist/base/table-view/meta.js +12 -7
- package/dist/base/table-view/meta.js.map +1 -1
- package/dist/base/table-view/resource-form.d.ts +3 -1
- package/dist/base/table-view/resource-form.js +2 -0
- package/dist/base/table-view/resource-form.js.map +1 -1
- package/dist/base/table-view/routes.d.ts +73 -21
- package/dist/base/table-view/routes.js +13 -10
- package/dist/base/table-view/routes.js.map +1 -1
- package/dist/base/table-view/schema.d.ts +152 -152
- 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 +1 -1
- package/dist/base/table-view.js.map +1 -1
- package/dist/base/top-list-card.d.ts +35 -33
- package/dist/base/top-list-card.js +2 -0
- package/dist/base/top-list-card.js.map +1 -1
- package/dist/base/types/error.js +5 -2
- package/dist/base/types/error.js.map +1 -1
- package/dist/base/types/guards.d.ts +4 -4
- package/dist/base/types/json.d.ts +1 -10
- package/dist/base/types/row-action.d.ts +7 -7
- package/dist/component-options/confirm-dialog.d.ts +2 -0
- package/dist/component-options/confirm-dialog.js.map +1 -1
- package/dist/component-options/data-type.d.ts +2 -2
- package/dist/component-options/data-type.js +7 -7
- package/dist/component-options/data-type.js.map +1 -1
- package/dist/component-options/row-action.d.ts +14 -9
- package/dist/component-slots.d.ts +11 -2
- package/dist/component-slots.js +1 -0
- package/dist/component-slots.js.map +1 -1
- package/dist/component.d.ts +7 -8
- package/dist/component.js +17 -25
- package/dist/component.js.map +1 -1
- package/dist/data-controllers/members.d.ts +11 -7
- package/dist/data-controllers/members.js +1 -1
- package/dist/data-controllers/members.js.map +1 -1
- package/dist/data-controllers/roles.d.ts +32 -10
- package/dist/db/internal/exportJobs.model.d.ts +7 -5
- package/dist/db/internal/inviteResolutions.model.d.ts +7 -5
- package/dist/db/internal/tenantLifecycle.model.d.ts +7 -5
- package/dist/db/models/roles.model.d.ts +7 -5
- package/dist/db/models/tenantMembers.model.d.ts +7 -5
- package/dist/db/models/tenants.model.d.ts +7 -5
- package/dist/db/models/user_invites.model.d.ts +7 -5
- package/dist/guards.d.ts +1 -1
- package/dist/hooks.d.ts +1 -2
- package/dist/hooks.js +33 -26
- package/dist/hooks.js.map +1 -1
- package/dist/internal/attachments.d.ts +2 -2
- package/dist/internal/component-builder.js +2 -1
- package/dist/internal/component-builder.js.map +1 -1
- package/dist/internal/component-serialization.d.ts +2 -4
- package/dist/internal/component-serialization.js +4 -3
- package/dist/internal/component-serialization.js.map +1 -1
- package/dist/internal/component-slots.d.ts +19 -2
- package/dist/internal/component-slots.js +35 -12
- package/dist/internal/component-slots.js.map +1 -1
- package/dist/internal/component-watch-filter.d.ts +11 -0
- package/dist/internal/component-watch-filter.js +22 -0
- package/dist/internal/component-watch-filter.js.map +1 -0
- package/dist/internal/component-watches.js +0 -1
- package/dist/internal/component-watches.js.map +1 -1
- package/dist/internal/own-entry.d.ts +7 -0
- package/dist/internal/own-entry.js +13 -0
- package/dist/internal/own-entry.js.map +1 -0
- package/dist/invite-extension-payloads.d.ts +14 -2
- package/dist/invite-extensions/internal/delivery.js +1 -2
- package/dist/invite-extensions/internal/delivery.js.map +1 -1
- package/dist/invite-extensions/internal/edit.d.ts +2 -1
- package/dist/invite-extensions/internal/edit.js +8 -9
- package/dist/invite-extensions/internal/edit.js.map +1 -1
- package/dist/invite-extensions/internal/form-slot.js +8 -15
- package/dist/invite-extensions/internal/form-slot.js.map +1 -1
- package/dist/invite-extensions/internal/payload-slices.d.ts +33 -3
- package/dist/invite-extensions/internal/payload-slices.js +84 -19
- package/dist/invite-extensions/internal/payload-slices.js.map +1 -1
- package/dist/invite-extensions/internal/types.d.ts +10 -1
- package/dist/invite-resolution.js +6 -4
- package/dist/invite-resolution.js.map +1 -1
- package/dist/json.d.ts +10 -0
- package/dist/json.js +3 -0
- package/dist/json.js.map +1 -0
- package/dist/layout-banners.d.ts +5 -2
- package/dist/layout-banners.js.map +1 -1
- package/dist/page/controllers.d.ts +2 -2
- package/dist/page/internal/extension-validation.js +3 -2
- package/dist/page/internal/extension-validation.js.map +1 -1
- package/dist/page/internal/metadata-layout.js +1 -1
- package/dist/page/internal/metadata-layout.js.map +1 -1
- package/dist/page/internal/metadata-publish.js +3 -2
- package/dist/page/internal/metadata-publish.js.map +1 -1
- package/dist/page/internal/metadata-registration.js +5 -4
- package/dist/page/internal/metadata-registration.js.map +1 -1
- package/dist/page/internal/metadata-upload-registration.d.ts +3 -1
- package/dist/page/internal/metadata-upload-registration.js +9 -0
- package/dist/page/internal/metadata-upload-registration.js.map +1 -1
- package/dist/page/internal/metadata-uploads.d.ts +18 -5
- package/dist/page/internal/metadata-uploads.js +7 -8
- package/dist/page/internal/metadata-uploads.js.map +1 -1
- package/dist/page/internal/page-record.d.ts +2 -3
- package/dist/page/internal/page-record.js +19 -14
- package/dist/page/internal/page-record.js.map +1 -1
- package/dist/page/layout-filter.js +17 -6
- package/dist/page/layout-filter.js.map +1 -1
- package/dist/page/metadata.js +5 -7
- package/dist/page/metadata.js.map +1 -1
- package/dist/request-tenant.d.ts +10 -4
- package/dist/request-tenant.js +16 -34
- package/dist/request-tenant.js.map +1 -1
- package/dist/tenant-export.d.ts +2 -1
- package/dist/tenant-lifecycle.d.ts +13 -4
- package/dist/tenant-lifecycle.js +51 -18
- package/dist/tenant-lifecycle.js.map +1 -1
- package/dist/types.d.ts +20 -0
- package/dist/uploads.js +42 -59
- package/dist/uploads.js.map +1 -1
- package/dist/utils/fire-and-forget.js.map +1 -1
- package/dist/utils/internal/decorated-class.d.ts +14 -0
- package/dist/utils/internal/decorated-class.js +37 -0
- package/dist/utils/internal/decorated-class.js.map +1 -0
- package/dist/utils/internal/type-check.d.ts +9 -0
- package/dist/utils/internal/type-check.js +13 -5
- package/dist/utils/internal/type-check.js.map +1 -1
- package/dist/utils/internal/value-parser.d.ts +1 -1
- package/dist/utils/internal/value-parser.js +22 -9
- package/dist/utils/internal/value-parser.js.map +1 -1
- package/dist/watch-actions.d.ts +1 -1
- package/docs/1.core/1.introduction.md +82 -77
- package/docs/1.core/10.layout-banners.md +57 -45
- package/docs/1.core/11.modules-and-dynamic-menus.md +178 -0
- package/docs/1.core/12.frontend-modules-and-request-helpers.md +155 -0
- package/docs/1.core/13.tenant-data-export.md +120 -0
- package/docs/1.core/2.pages-and-modules.md +140 -367
- package/docs/1.core/3.components.md +21 -22
- package/docs/1.core/4.permissions.md +92 -71
- package/docs/1.core/5.tenancy.md +112 -86
- package/docs/1.core/6.invites.md +90 -65
- package/docs/1.core/7.hooks.md +96 -166
- package/docs/1.core/8.realtime.md +44 -45
- package/docs/1.core/9.quick-actions.md +37 -30
- package/docs/2.auth/1.introduction.md +33 -35
- package/docs/2.auth/2.authentication.md +60 -38
- package/docs/2.auth/3.tokens-and-sessions.md +56 -55
- package/docs/2.auth/4.users.md +79 -51
- package/docs/2.auth/5.external-identities.md +25 -26
- package/docs/3.base/1.introduction.md +64 -60
- package/docs/3.base/10.display-blocks.md +15 -16
- package/docs/3.base/11.page-layouts.md +273 -0
- package/docs/3.base/12.table-row-actions.md +122 -0
- package/docs/3.base/13.table-filters-and-forms.md +104 -0
- package/docs/3.base/14.table-events-and-helpers.md +114 -0
- package/docs/3.base/15.table-sources-and-gates.md +24 -0
- package/docs/3.base/2.types.md +44 -41
- package/docs/3.base/3.forms.md +27 -28
- package/docs/3.base/4.tables.md +34 -367
- package/docs/3.base/5.charts-and-widgets.md +28 -29
- package/docs/3.base/6.layout.md +21 -270
- package/docs/3.base/8.data-types.md +39 -40
- package/docs/3.base/9.helpers.md +36 -38
- package/docs/4.notifications/1.introduction.md +22 -26
- package/docs/4.notifications/2.categories-and-subjects.md +58 -55
- package/docs/4.notifications/3.sending.md +72 -68
- package/docs/5.html-render/1.introduction.md +119 -81
- package/docs/5.html-render/2.built-in-emails.md +71 -51
- package/docs/index.md +18 -29
- package/docs/tsconfig.json +4 -0
- package/package.json +11 -11
- package/docs/images/emails-admin-invite.png +0 -0
- package/docs/images/emails-change-notice.png +0 -0
- package/docs/images/emails-change-verification.png +0 -0
- package/docs/images/emails-digest-logo-dark.png +0 -0
- package/docs/images/emails-digest-logo-light.png +0 -0
- package/docs/images/emails-digest.png +0 -0
- package/docs/images/emails-export-partial.png +0 -0
- package/docs/images/emails-export-ready.png +0 -0
- package/docs/images/emails-reset-password.png +0 -0
- package/docs/images/emails-two-factor.png +0 -0
- package/docs/images/emails-user-validation.png +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { InviteExtensionJson } from "../../invite-extension-payloads";
|
|
2
|
+
import type { InviteDeliveryOptions, InviteExtensionInfo, InviteFieldValues } from "./types";
|
|
2
3
|
import type { InviteExtensionPayloads } from "../types";
|
|
3
4
|
/** @internal */
|
|
4
5
|
export declare const HTTP_BAD_REQUEST = 400;
|
|
@@ -6,18 +7,47 @@ export declare const HTTP_BAD_REQUEST = 400;
|
|
|
6
7
|
export interface StoredPayload {
|
|
7
8
|
value: unknown;
|
|
8
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Most levels of arrays and objects a submitted body may nest, the body itself
|
|
12
|
+
* being the first.
|
|
13
|
+
*
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare const MAX_INVITE_BODY_DEPTH = 64;
|
|
17
|
+
/**
|
|
18
|
+
* Whether a submitted body is an object whose every value is JSON, which is
|
|
19
|
+
* all a JSON request body can hold.
|
|
20
|
+
*
|
|
21
|
+
* The walk is iterative and bounded: a body nested deeper than
|
|
22
|
+
* {@link MAX_INVITE_BODY_DEPTH}, a cyclic one included, is refused instead of
|
|
23
|
+
* overflowing the call stack, which a recursive walk does on a few thousand
|
|
24
|
+
* levels of valid JSON.
|
|
25
|
+
*
|
|
26
|
+
* @throws HTTPResult 400 when the body nests more levels than the bound
|
|
27
|
+
*
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
export declare function isInviteFieldValues(value: unknown): value is InviteFieldValues;
|
|
31
|
+
/**
|
|
32
|
+
* The payload an invitation carries for an extension. Only the invitation's own
|
|
33
|
+
* keys count: an extension registered as `constructor` or `toString` is not
|
|
34
|
+
* handed the `Object.prototype` member of that name.
|
|
35
|
+
*
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
export declare function payloadOf(payloads: InviteExtensionPayloads | null | undefined, key: string): InviteExtensionJson | undefined;
|
|
9
39
|
/**
|
|
10
40
|
* The submitted values of one extension's fields, keyed by unprefixed id.
|
|
11
41
|
*
|
|
12
42
|
* @internal
|
|
13
43
|
*/
|
|
14
|
-
export declare function sliceOf(key: string, body:
|
|
44
|
+
export declare function sliceOf(key: string, body: InviteFieldValues): InviteFieldValues;
|
|
15
45
|
/**
|
|
16
46
|
* @throws HTTPResult 400 when the slice does not satisfy the schema
|
|
17
47
|
*
|
|
18
48
|
* @internal
|
|
19
49
|
*/
|
|
20
|
-
export declare function assertSliceValid(info: InviteExtensionInfo, slice:
|
|
50
|
+
export declare function assertSliceValid(info: InviteExtensionInfo, slice: InviteFieldValues): void;
|
|
21
51
|
/**
|
|
22
52
|
* Parse the stored submission into the payload `onAccept` is typed for.
|
|
23
53
|
*
|
|
@@ -1,19 +1,82 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HTTP_BAD_REQUEST = void 0;
|
|
3
|
+
exports.MAX_INVITE_BODY_DEPTH = exports.HTTP_BAD_REQUEST = void 0;
|
|
4
|
+
exports.isInviteFieldValues = isInviteFieldValues;
|
|
5
|
+
exports.payloadOf = payloadOf;
|
|
4
6
|
exports.sliceOf = sliceOf;
|
|
5
7
|
exports.assertSliceValid = assertSliceValid;
|
|
6
8
|
exports.readPayload = readPayload;
|
|
9
|
+
const interface_api_1 = require("@antelopejs/interface-api");
|
|
7
10
|
const interface_api_util_1 = require("@antelopejs/interface-api-util");
|
|
8
11
|
const field_ids_1 = require("./field-ids");
|
|
12
|
+
const type_check_1 = require("../../utils/internal/type-check");
|
|
9
13
|
const registry_1 = require("./registry");
|
|
10
14
|
/** @internal */
|
|
11
15
|
exports.HTTP_BAD_REQUEST = 400;
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
function isIssueLike(value) {
|
|
17
|
+
return ((0, type_check_1.isObject)(value) &&
|
|
18
|
+
!(0, type_check_1.isNull)(value) &&
|
|
19
|
+
"path" in value &&
|
|
20
|
+
Array.isArray(value.path) &&
|
|
21
|
+
value.path.every((step) => (0, type_check_1.isString)(step) || (0, type_check_1.isNumber)(step)) &&
|
|
22
|
+
"message" in value &&
|
|
23
|
+
(0, type_check_1.isString)(value.message));
|
|
24
|
+
}
|
|
25
|
+
function hasIssues(error) {
|
|
26
|
+
if (!(0, type_check_1.isObject)(error) || (0, type_check_1.isNull)(error) || !("issues" in error)) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
const { issues } = error;
|
|
30
|
+
return Array.isArray(issues) && issues.every(isIssueLike);
|
|
31
|
+
}
|
|
32
|
+
function isPlainObject(value) {
|
|
33
|
+
if (!(0, type_check_1.isObject)(value) || (0, type_check_1.isNull)(value))
|
|
34
|
+
return false;
|
|
35
|
+
const prototype = Reflect.getPrototypeOf(value);
|
|
36
|
+
return prototype === Object.prototype || prototype === null;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Most levels of arrays and objects a submitted body may nest, the body itself
|
|
40
|
+
* being the first.
|
|
41
|
+
*
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
exports.MAX_INVITE_BODY_DEPTH = 64;
|
|
45
|
+
/**
|
|
46
|
+
* Whether a submitted body is an object whose every value is JSON, which is
|
|
47
|
+
* all a JSON request body can hold.
|
|
48
|
+
*
|
|
49
|
+
* The walk is iterative and bounded: a body nested deeper than
|
|
50
|
+
* {@link MAX_INVITE_BODY_DEPTH}, a cyclic one included, is refused instead of
|
|
51
|
+
* overflowing the call stack, which a recursive walk does on a few thousand
|
|
52
|
+
* levels of valid JSON.
|
|
53
|
+
*
|
|
54
|
+
* @throws HTTPResult 400 when the body nests more levels than the bound
|
|
55
|
+
*
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
58
|
+
function isInviteFieldValues(value) {
|
|
59
|
+
const pending = [{ value, depth: 0 }];
|
|
60
|
+
if (!isPlainObject(value))
|
|
61
|
+
return false;
|
|
62
|
+
for (let next = pending.pop(); next; next = pending.pop()) {
|
|
63
|
+
const { value: current, depth } = next;
|
|
64
|
+
if ((0, type_check_1.isNull)(current) ||
|
|
65
|
+
(0, type_check_1.isString)(current) ||
|
|
66
|
+
(0, type_check_1.isNumber)(current) ||
|
|
67
|
+
(0, type_check_1.isBoolean)(current)) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (!Array.isArray(current) && !isPlainObject(current))
|
|
71
|
+
return false;
|
|
72
|
+
if (depth >= exports.MAX_INVITE_BODY_DEPTH) {
|
|
73
|
+
throw new interface_api_1.HTTPResult(exports.HTTP_BAD_REQUEST, `The JSON body nests more than ${exports.MAX_INVITE_BODY_DEPTH} levels deep.`);
|
|
74
|
+
}
|
|
75
|
+
for (const child of Object.values(current)) {
|
|
76
|
+
pending.push({ value: child, depth: depth + 1 });
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return true;
|
|
17
80
|
}
|
|
18
81
|
/**
|
|
19
82
|
* Report the failure against the ids the browser knows — the prefixed ones it
|
|
@@ -24,10 +87,7 @@ function issuesOf(error) {
|
|
|
24
87
|
* it keeps an empty path rather than being handed a fabricated one, which the
|
|
25
88
|
* form could not attach to anything either way.
|
|
26
89
|
*/
|
|
27
|
-
function
|
|
28
|
-
const issues = issuesOf(error);
|
|
29
|
-
if (!issues)
|
|
30
|
-
return String(error);
|
|
90
|
+
function describeIssues(key, issues) {
|
|
31
91
|
return {
|
|
32
92
|
issues: issues.map(({ path, message }) => ({
|
|
33
93
|
path: path.length
|
|
@@ -37,14 +97,22 @@ function describeFailure(key, error) {
|
|
|
37
97
|
})),
|
|
38
98
|
};
|
|
39
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* The payload an invitation carries for an extension. Only the invitation's own
|
|
102
|
+
* keys count: an extension registered as `constructor` or `toString` is not
|
|
103
|
+
* handed the `Object.prototype` member of that name.
|
|
104
|
+
*
|
|
105
|
+
* @internal
|
|
106
|
+
*/
|
|
107
|
+
function payloadOf(payloads, key) {
|
|
108
|
+
return payloads && Object.hasOwn(payloads, key) ? payloads[key] : undefined;
|
|
109
|
+
}
|
|
40
110
|
/**
|
|
41
111
|
* The submitted values of one extension's fields, keyed by unprefixed id.
|
|
42
112
|
*
|
|
43
113
|
* @internal
|
|
44
114
|
*/
|
|
45
|
-
function sliceOf(key,
|
|
46
|
-
// oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- The published slice helper receives raw form values before the extension schema parses them.
|
|
47
|
-
body) {
|
|
115
|
+
function sliceOf(key, body) {
|
|
48
116
|
const slice = {};
|
|
49
117
|
for (const [id, value] of Object.entries(body)) {
|
|
50
118
|
const split = (0, field_ids_1.splitInviteExtensionFieldId)(id);
|
|
@@ -52,7 +120,6 @@ body) {
|
|
|
52
120
|
slice[split.fieldId] = value;
|
|
53
121
|
}
|
|
54
122
|
}
|
|
55
|
-
// oxlint-disable-next-line anti-slop/no-known-value-widening -- The published return contract remains the raw form-value dictionary populated above.
|
|
56
123
|
return slice;
|
|
57
124
|
}
|
|
58
125
|
/**
|
|
@@ -60,10 +127,8 @@ body) {
|
|
|
60
127
|
*
|
|
61
128
|
* @internal
|
|
62
129
|
*/
|
|
63
|
-
function assertSliceValid(info,
|
|
64
|
-
|
|
65
|
-
slice) {
|
|
66
|
-
(0, interface_api_util_1.assertValidation)(slice, (v) => info.schema.parse(v), (error) => describeFailure(info.key, error), exports.HTTP_BAD_REQUEST);
|
|
130
|
+
function assertSliceValid(info, slice) {
|
|
131
|
+
(0, interface_api_util_1.assertValidation)(slice, (v) => info.schema.parse(v), (error) => hasIssues(error) ? describeIssues(info.key, error.issues) : String(error), exports.HTTP_BAD_REQUEST);
|
|
67
132
|
}
|
|
68
133
|
/**
|
|
69
134
|
* Parse the stored submission into the payload `onAccept` is typed for.
|
|
@@ -76,7 +141,7 @@ slice) {
|
|
|
76
141
|
* @internal
|
|
77
142
|
*/
|
|
78
143
|
function readPayload(info, payloads, options) {
|
|
79
|
-
const stored = payloads
|
|
144
|
+
const stored = payloadOf(payloads, info.key);
|
|
80
145
|
if (stored === undefined)
|
|
81
146
|
return undefined;
|
|
82
147
|
const parsed = info.schema.safeParse(stored);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-slices.js","sourceRoot":"","sources":["../../../src/invite-extensions/internal/payload-slices.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"payload-slices.js","sourceRoot":"","sources":["../../../src/invite-extensions/internal/payload-slices.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { FieldGroupSerialized, FormBuilder } from "../../base/form";
|
|
2
2
|
import type { WatchAction } from "../../base/types/watch";
|
|
3
3
|
import type { ZodType, ZodTypeDef } from "zod";
|
|
4
|
+
import type { JsonSchema7ObjectType } from "zod-to-json-schema";
|
|
5
|
+
import type { InviteExtensionJson } from "../../invite-extension-payloads";
|
|
4
6
|
import type { PlacementSide } from "../../component";
|
|
5
7
|
import type { InviteAcceptHandler, InviteCleanupHandler, InviteUpdateHandler } from "../types";
|
|
6
8
|
/**
|
|
@@ -13,6 +15,13 @@ export interface ResolvedInvitePlacement {
|
|
|
13
15
|
anchorField?: string;
|
|
14
16
|
order: number;
|
|
15
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Values of invite form fields keyed by field id, as the browser submitted
|
|
20
|
+
* them and as the invitation stores them.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export type InviteFieldValues = Record<string, InviteExtensionJson>;
|
|
16
25
|
/** @internal */
|
|
17
26
|
export interface InviteDeliveryOptions {
|
|
18
27
|
/** Retains durable work by propagating contributor failures after all callbacks run. */
|
|
@@ -55,7 +64,7 @@ export interface InviteFieldContribution {
|
|
|
55
64
|
order: number;
|
|
56
65
|
editable: boolean;
|
|
57
66
|
group: FieldGroupSerialized;
|
|
58
|
-
properties:
|
|
67
|
+
properties: JsonSchema7ObjectType["properties"];
|
|
59
68
|
requiredProperties: string[];
|
|
60
69
|
watchActions: WatchAction[];
|
|
61
70
|
}
|
|
@@ -39,7 +39,7 @@ async function assertInviteReady(tenantId, invite) {
|
|
|
39
39
|
function replacementContent(invite) {
|
|
40
40
|
if (!invite)
|
|
41
41
|
return null;
|
|
42
|
-
|
|
42
|
+
return JSON.stringify([
|
|
43
43
|
invite.email,
|
|
44
44
|
invite.firstname,
|
|
45
45
|
invite.lastname,
|
|
@@ -47,13 +47,15 @@ function replacementContent(invite) {
|
|
|
47
47
|
invite.roles_ids,
|
|
48
48
|
invite.asTenantOwner,
|
|
49
49
|
invite.extensions,
|
|
50
|
-
])
|
|
51
|
-
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
function isSameContent(left, right) {
|
|
53
|
+
return (0, node_util_1.isDeepStrictEqual)(left === null ? null : JSON.parse(left), right === null ? null : JSON.parse(right));
|
|
52
54
|
}
|
|
53
55
|
function assertSameDecision(resolution, input) {
|
|
54
56
|
(0, interface_api_util_1.assert)(resolution.reason === input.reason &&
|
|
55
57
|
resolution.userId === (input.userId ?? null), HTTP_CONFLICT, "Invitation already has a different terminal decision");
|
|
56
|
-
(0, interface_api_util_1.assert)((
|
|
58
|
+
(0, interface_api_util_1.assert)(isSameContent(replacementContent(resolution.replacement), replacementContent(input.replacement)), HTTP_CONFLICT, "Invitation already has a different replacement");
|
|
57
59
|
}
|
|
58
60
|
/** Chooses one permanent outcome; all competing lifecycle paths must use this before effects. */
|
|
59
61
|
async function decideInvite(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invite-resolution.js","sourceRoot":"","sources":["../src/invite-resolution.ts"],"names":[],"mappings":";;AAiBA,kDAWC;AAGD,8CAaC;
|
|
1
|
+
{"version":3,"file":"invite-resolution.js","sourceRoot":"","sources":["../src/invite-resolution.ts"],"names":[],"mappings":";;AAiBA,kDAWC;AAGD,8CAaC;AAoDD,oCAsBC;AAGD,4DAOC;AAhID,yCAA8C;AAC9C,uEAAwD;AACxD,6FAAqE;AAErE,mFAA+E;AAE/E,uEAAiE;AAEjE,oEAA6E;AAC7E,qDAAuD;AACvD,oEAAgF;AAChF,oEAAwE;AAExE,MAAM,aAAa,GAAG,GAAG,CAAC;AAG1B,wFAAwF;AACjF,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,QAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAQ,EAAC,oCAAe,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,UAAU,GAAG,MAAM,IAAA,wCAAQ,EAC/B,gDAAsB,EACtB,QAAQ,CACT,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnC,OAAO,UAAU,EAAE,MAAM,CAAC;AAC5B,CAAC;AAED,0EAA0E;AACnE,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,MAAkB;IAElB,IAAI,CAAC,MAAM,CAAC,oBAAoB;QAAE,OAAO;IACzC,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAQ,EAAC,gDAAsB,EAAE,QAAQ,CAAC,CAAC,GAAG,CACjE,MAAM,CAAC,oBAAoB,CAC5B,CAAC;IACF,IAAA,2BAAM,EACJ,MAAM,EAAE,SAAS,EACjB,aAAa,EACb,sCAAsC,CACvC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,MAAqC;IAErC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,MAAM,CAAC,KAAK;QACZ,MAAM,CAAC,SAAS;QAChB,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,SAAS;QAChB,MAAM,CAAC,aAAa;QACpB,MAAM,CAAC,UAAU;KAClB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,IAAmB,EAAE,KAAoB;IAC9D,OAAO,IAAA,6BAAiB,EACtB,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EACvC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAC1C,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,UAA4B,EAC5B,KAAyB;IAEzB,IAAA,2BAAM,EACJ,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAChC,UAAU,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,EAC9C,aAAa,EACb,sDAAsD,CACvD,CAAC;IACF,IAAA,2BAAM,EACJ,aAAa,CACX,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,EAC1C,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CACtC,EACD,aAAa,EACb,gDAAgD,CACjD,CAAC;AACJ,CAAC;AAED,iGAAiG;AAC1F,KAAK,UAAU,YAAY,CAChC,KAAyB;IAEzB,MAAM,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,IAAA,wCAAQ,EAAC,gDAAsB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5E,IAAA,2BAAM,EACJ,KAAK,CAAC,MAAM,KAAK,UAAU;QACzB,QAAQ;QACR,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,EAC/C,aAAa,EACb,sCAAsC,CACvC,CAAC;IACF,MAAM,aAAa,GAAG;QACpB,GAAG,IAAI,GAAG,CAAC;YACT,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YAC7C,GAAG,IAAA,+BAAoB,GAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;SAC5D,CAAC;KACH,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;IACnE,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,mHAAmH;AAC5G,KAAK,UAAU,wBAAwB,CAC5C,UAA4B;IAE5B,MAAM,IAAA,oCAAmB,EAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,EAAE,MAAM,IAAA,4CAAwB,EAAC,UAAU,CAAC;QACnD,KAAK,EAAE,GAAG,EAAE,CAAC,IAAA,oDAAgC,EAAC,UAAU,CAAC;KAC1D,CAAC,CAAC,CAAC;AACN,CAAC"}
|
package/dist/json.d.ts
ADDED
package/dist/json.js
ADDED
package/dist/json.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":""}
|
package/dist/layout-banners.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { JsonValue } from "./json";
|
|
1
2
|
import { RegisteringProxy } from "@antelopejs/interface-core";
|
|
2
3
|
import type { User } from "./auth/db";
|
|
3
4
|
import type { BlockLinkAction } from "./base/display";
|
|
@@ -142,8 +143,10 @@ export interface LayoutBannerComponentInfo extends LayoutBannerStaticBase {
|
|
|
142
143
|
* button and ARIA role.
|
|
143
144
|
*/
|
|
144
145
|
component: string;
|
|
145
|
-
/** Props passed to the component
|
|
146
|
-
props?:
|
|
146
|
+
/** Props passed to the component, as JSON. */
|
|
147
|
+
props?: {
|
|
148
|
+
readonly [prop: string]: JsonValue;
|
|
149
|
+
};
|
|
147
150
|
text?: never;
|
|
148
151
|
actions?: never;
|
|
149
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-banners.js","sourceRoot":"","sources":["../src/layout-banners.ts"],"names":[],"mappings":";;;AA2OA,oDAGC;
|
|
1
|
+
{"version":3,"file":"layout-banners.js","sourceRoot":"","sources":["../src/layout-banners.ts"],"names":[],"mappings":";;;AA2OA,oDAGC;AA7OD,+DAA8D;AAM9D;;;;GAIG;AACU,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACN,CAAC;AAKX;;;;GAIG;AACU,QAAA,iBAAiB,GAAG;IAC/B;;;;OAIG;IACH,GAAG,EAAE,KAAK;IACV,4BAA4B;IAC5B,OAAO,EAAE,SAAS;IAClB;;;;OAIG;IACH,UAAU,EAAE,YAAY;CAChB,CAAC;AA8KX,gBAAgB;AAChB,IAAiB,QAAQ,CAIxB;AAJD,WAAiB,QAAQ;IACV,6BAAoB,GAAG,IAAI,iCAAgB,EAErD,CAAC;AACN,CAAC,EAJgB,QAAQ,wBAAR,QAAQ,QAIxB;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,oBAAoB,CAAC,IAAsB;IACzD,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { type ControllerClass } from "@antelopejs/interface-api";
|
|
|
2
2
|
import { EventProxy } from "@antelopejs/interface-core";
|
|
3
3
|
import { type ComponentInfo } from "../component";
|
|
4
4
|
import type { CategoryInfo, DynamicMenuResolver, MenuOptions } from "./types";
|
|
5
|
-
export declare const RegisterPage: () => import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<
|
|
5
|
+
export declare const RegisterPage: () => import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<object, any[]>>;
|
|
6
6
|
/**
|
|
7
7
|
* Inject components into a page owned by another module. The decorated class is
|
|
8
8
|
* not a page: every static component field on it becomes a component of the
|
|
@@ -45,7 +45,7 @@ export declare const RegisterPage: () => import("@antelopejs/interface-core/deco
|
|
|
45
45
|
*
|
|
46
46
|
* @param targetPageId Full id of the page to extend.
|
|
47
47
|
*/
|
|
48
|
-
export declare const RegisterPageExtension: (targetPageId: string) => import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<
|
|
48
|
+
export declare const RegisterPageExtension: (targetPageId: string) => import("@antelopejs/interface-core/decorators").ClassDecorator<import("@antelopejs/interface-core/decorators").Class<object, any[]>>;
|
|
49
49
|
export declare function Category(id: string, options: MenuOptions): CategoryInfo;
|
|
50
50
|
export declare function PageController(id: string, options: MenuOptions, layout?: ComponentInfo): {
|
|
51
51
|
new (...args: any[]): {};
|
|
@@ -4,9 +4,10 @@ exports.collectExtensionErrors = collectExtensionErrors;
|
|
|
4
4
|
function childrenOf(component) {
|
|
5
5
|
return component?.children ?? [];
|
|
6
6
|
}
|
|
7
|
-
function resolveAnchor(
|
|
7
|
+
function resolveAnchor(components, path) {
|
|
8
8
|
const [rootKey, ...childIds] = path;
|
|
9
|
-
|
|
9
|
+
const root = rootKey ?? "";
|
|
10
|
+
let current = Object.hasOwn(components, root) ? components[root] : undefined;
|
|
10
11
|
for (const id of childIds) {
|
|
11
12
|
current = childrenOf(current).find((child) => child.id === id)?.component;
|
|
12
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-validation.js","sourceRoot":"","sources":["../../../src/page/internal/extension-validation.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"extension-validation.js","sourceRoot":"","sources":["../../../src/page/internal/extension-validation.ts"],"names":[],"mappings":";;AAmEA,wDAeC;AAjED,SAAS,UAAU,CACjB,SAA8C;IAE9C,OAAO,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CACpB,UAAmD,EACnD,IAAuB;IAEvB,MAAM,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CACnB,IAAuB,EACvB,YAAoC,EACpC,GAA4C;IAE5C,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;IACrC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,mBAAmB,IAAI,CAAC,aAAa,cAAc,YAAY,CAAC,GAAG,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,YAAY,qBAAqB;SACnJ,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO;YACL,mBAAmB,IAAI,CAAC,aAAa,oBAAoB,YAAY,CAAC,GAAG,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,YAAY,0EAA0E;SAC/M,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CACpC,IAAuB,EACvB,MAA2B;IAE3B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CACT,mBAAmB,IAAI,CAAC,aAAa,cAAc,YAAY,CAAC,GAAG,gBAAgB,IAAI,CAAC,YAAY,uCAAuC,KAAK,sBAAsB,CACvK,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -32,7 +32,7 @@ function registerLayoutRoute(target, pageInfo, registration, resolvePageLayout,
|
|
|
32
32
|
mode: "handler",
|
|
33
33
|
parameters: [],
|
|
34
34
|
properties: apimeta.computed_props,
|
|
35
|
-
|
|
35
|
+
controller: target(),
|
|
36
36
|
});
|
|
37
37
|
registration().track(() => {
|
|
38
38
|
if (registry_1.pageLayoutHandlers.get(pageInfo.fullSlug) === handler) {
|
|
@@ -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,6DAImC;AACnC,+DAAyD;AAazD,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,MAAoC,EACpC,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,
|
|
1
|
+
{"version":3,"file":"metadata-layout.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-layout.ts"],"names":[],"mappings":";;AAsBA,oDAOC;AAGD,kDAsCC;AAtED,gBAAgB;AAChB,6DAImC;AACnC,+DAAyD;AAazD,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,MAAoC,EACpC,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"}
|
|
@@ -8,6 +8,7 @@ const permissions_1 = require("../../permissions");
|
|
|
8
8
|
const categories_1 = require("../categories");
|
|
9
9
|
const metadata_helpers_1 = require("./metadata-helpers");
|
|
10
10
|
const registry_1 = require("./registry");
|
|
11
|
+
const decorated_class_1 = require("../../utils/internal/decorated-class");
|
|
11
12
|
/** @internal */
|
|
12
13
|
function publish(page, pageInfo, context) {
|
|
13
14
|
const previous = registry_1.pageMetadataByFullId.get(pageInfo.fullId);
|
|
@@ -37,8 +38,8 @@ function publish(page, pageInfo, context) {
|
|
|
37
38
|
});
|
|
38
39
|
context.ownProperties();
|
|
39
40
|
context.auth(pageInfo);
|
|
40
|
-
(0, metadata_helpers_1.RequestQueryProperty)()(page.target
|
|
41
|
-
(0, metadata_helpers_1.RequestRouteParametersProperty)()(page.target
|
|
41
|
+
(0, metadata_helpers_1.RequestQueryProperty)()((0, decorated_class_1.prototypeOf)(page.target), "pageQuery");
|
|
42
|
+
(0, metadata_helpers_1.RequestRouteParametersProperty)()((0, decorated_class_1.prototypeOf)(page.target), "pageParams");
|
|
42
43
|
context.route(pageInfo);
|
|
43
44
|
}
|
|
44
45
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-publish.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-publish.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"metadata-publish.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-publish.ts"],"names":[],"mappings":";;AAgCA,0BAqCC;AAGD,sCAQC;AAhFD,gBAAgB;AAChB,mDAAyD;AACzD,mIAAmI;AACnI,8CAAyD;AAGzD,yDAG4B;AAE5B,yCAIoB;AACpB,0EAAmE;AAenE,gBAAgB;AAChB,SAAgB,OAAO,CACrB,IAAkB,EAClB,QAAkB,EAClB,OAAuB;IAEvB,MAAM,QAAQ,GAAG,+BAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3D,+BAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QAChC,IAAI,+BAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI;YACpD,+BAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,IAAI,QAAQ,IAAI,QAAQ,KAAK,IAAI;QAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IACtD,IAAA,gCAAqB,EAAC,QAAQ,CAAC,CAAC;IAChC,qBAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO;SACJ,YAAY,EAAE;SACd,KAAK,CAAC,GAAG,EAAE,CAAC,qBAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,SAAS,CACf,IAAA,2BAAc,EAAC,QAAQ,CAAC,EACxB,GAAG,EAAE,CACH,QAAQ,CAAC,sBAAsB,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,CACzE,CAAC;IACF,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrC,wBAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QAChC,wBAAa,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAAE,OAAO;QACvC,IAAI,OAAO,CAAC,oBAAoB,EAAE,IAAI,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YAC7D,IAAA,kCAAoB,EAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,yBAAyB,EAAE,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,aAAa,EAAE,CAAC;IACxB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,IAAA,uCAAoB,GAAE,CAAC,IAAA,6BAAW,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9D,IAAA,iDAA8B,GAAE,CAAC,IAAA,6BAAW,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;IACzE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,gBAAgB;AAChB,SAAgB,aAAa,CAC3B,GAAO,EACP,GAAO;IAEP,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,GAAG;YAAE,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;;YAC9B,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;IACzB,CAAC;;QAAM,OAAO,GAAG,CAAC;AACpB,CAAC"}
|
|
@@ -14,6 +14,7 @@ const permissions_1 = require("../../permissions");
|
|
|
14
14
|
const tenant_scoped_model_1 = require("../../tenant-scoped-model");
|
|
15
15
|
const member_access_1 = require("./member-access");
|
|
16
16
|
const metadata_helpers_1 = require("./metadata-helpers");
|
|
17
|
+
const decorated_class_1 = require("../../utils/internal/decorated-class");
|
|
17
18
|
/** @internal */
|
|
18
19
|
function registerPagePermission(pageInfo, moduleScoped, setRegistered) {
|
|
19
20
|
const fromAction = pageInfo.permission instanceof component_1.Action
|
|
@@ -60,13 +61,13 @@ function applyAuthDecorators(page, pageInfo) {
|
|
|
60
61
|
: isModulePage
|
|
61
62
|
? (0, auth_1.AuthOwnerOnly)()
|
|
62
63
|
: (0, guards_1.AuthUserWithPermission)(page.target, page.guardOptions);
|
|
63
|
-
authDecorator(page.target
|
|
64
|
+
authDecorator((0, decorated_class_1.prototypeOf)(page.target), "user");
|
|
64
65
|
if (isModulePage && !authOnly)
|
|
65
66
|
(0, metadata_helpers_1.logModuleRouteGated)(pageInfo.fullSlug);
|
|
66
67
|
if (authOnly)
|
|
67
68
|
return;
|
|
68
|
-
(0, tenant_scoped_model_1.TenantScopedModel)(db_1.RoleModel)(page.target
|
|
69
|
-
(0, tenant_scoped_model_1.TenantScopedModel)(db_1.TenantMemberModel)(page.target
|
|
70
|
-
(0, metadata_helpers_1.RequestTenantIdProperty)()(page.target
|
|
69
|
+
(0, tenant_scoped_model_1.TenantScopedModel)(db_1.RoleModel)((0, decorated_class_1.prototypeOf)(page.target), "roleModel");
|
|
70
|
+
(0, tenant_scoped_model_1.TenantScopedModel)(db_1.TenantMemberModel)((0, decorated_class_1.prototypeOf)(page.target), "memberModel");
|
|
71
|
+
(0, metadata_helpers_1.RequestTenantIdProperty)()((0, decorated_class_1.prototypeOf)(page.target), "tenantId");
|
|
71
72
|
}
|
|
72
73
|
//# sourceMappingURL=metadata-registration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-registration.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-registration.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"metadata-registration.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-registration.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,11 @@ export declare function prepareUploadOptions(page: PageMetadata, serialized: Com
|
|
|
8
8
|
/** @internal */
|
|
9
9
|
export declare function prepareUploadRegistration(page: PageMetadata, node: UploadFieldNode, componentName: string, componentId: string, path: string[]): {
|
|
10
10
|
mount: import("../component-tree").ComponentTreeNode;
|
|
11
|
-
options: import("
|
|
11
|
+
options: import("./metadata-uploads").UploadFieldOptions;
|
|
12
12
|
registration: NativeUploadFieldRegistration;
|
|
13
13
|
componentId: string;
|
|
14
14
|
} | undefined;
|
|
15
15
|
/** @internal */
|
|
16
16
|
export declare function finishUploadRegistration(page: PageMetadata, phase: NonNullable<ReturnType<typeof prepareUploadRegistration>>): void;
|
|
17
|
+
/** @internal */
|
|
18
|
+
export declare function registerNativeUploadField(page: PageMetadata, node: UploadFieldNode, componentName: string, componentId: string, path: string[]): Promise<void>;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.prepareUploadOptions = prepareUploadOptions;
|
|
4
4
|
exports.prepareUploadRegistration = prepareUploadRegistration;
|
|
5
5
|
exports.finishUploadRegistration = finishUploadRegistration;
|
|
6
|
+
exports.registerNativeUploadField = registerNativeUploadField;
|
|
6
7
|
const uploads_1 = require("../../uploads");
|
|
7
8
|
const metadata_owner_1 = require("./metadata-owner");
|
|
8
9
|
const metadata_uploads_1 = require("./metadata-uploads");
|
|
@@ -61,4 +62,12 @@ function finishUploadRegistration(page, phase) {
|
|
|
61
62
|
fields.push(phase.registration);
|
|
62
63
|
owner.nativeUploadFields.set(phase.componentId, fields);
|
|
63
64
|
}
|
|
65
|
+
/** @internal */
|
|
66
|
+
async function registerNativeUploadField(page, node, componentName, componentId, path) {
|
|
67
|
+
const phase = prepareUploadRegistration(page, node, componentName, componentId, path);
|
|
68
|
+
if (!phase)
|
|
69
|
+
return;
|
|
70
|
+
phase.options.uploadToken = await (0, uploads_1.SignUploadToken)(phase.registration);
|
|
71
|
+
finishUploadRegistration(page, phase);
|
|
72
|
+
}
|
|
64
73
|
//# sourceMappingURL=metadata-upload-registration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-upload-registration.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-upload-registration.ts"],"names":[],"mappings":";;AAaA,oDAWC;AAGD,8DA0CC;AAGD,4DAcC;
|
|
1
|
+
{"version":3,"file":"metadata-upload-registration.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-upload-registration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,31 @@
|
|
|
1
1
|
/** @internal */
|
|
2
2
|
import type { UploadConstraints } from "@antelopejs/interface-file-storage";
|
|
3
3
|
import type { Component } from "../../component";
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* The keys of a native upload field's options that registration reads, and
|
|
6
|
+
* the token it writes back. The options carry more keys than these.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export interface UploadFieldOptions {
|
|
11
|
+
storage?: unknown;
|
|
12
|
+
path?: unknown;
|
|
13
|
+
attachmentField?: unknown;
|
|
14
|
+
visibility?: unknown;
|
|
15
|
+
constraints?: unknown;
|
|
16
|
+
uploadToken?: string;
|
|
17
|
+
}
|
|
5
18
|
/** @internal */
|
|
6
19
|
export interface UploadFieldNode {
|
|
7
20
|
type: string;
|
|
8
|
-
disabled?:
|
|
21
|
+
disabled?: unknown;
|
|
9
22
|
component: {
|
|
10
|
-
options?:
|
|
23
|
+
options?: UploadFieldOptions | null;
|
|
11
24
|
};
|
|
12
25
|
}
|
|
13
26
|
/** @internal */
|
|
14
|
-
export declare function isNativeUploadField(value:
|
|
27
|
+
export declare function isNativeUploadField(value: unknown): value is UploadFieldNode;
|
|
15
28
|
/** @internal */
|
|
16
|
-
export declare function readUploadConstraints(options:
|
|
29
|
+
export declare function readUploadConstraints(options: UploadFieldOptions): UploadConstraints | undefined;
|
|
17
30
|
/** @internal */
|
|
18
31
|
export declare function resolveWritePermission(componentName: string, component: Component, path: readonly string[]): string | undefined;
|
|
@@ -6,17 +6,16 @@ exports.resolveWritePermission = resolveWritePermission;
|
|
|
6
6
|
const NATIVE_UPLOAD_FIELD_TYPES = new Set(["file", "image"]);
|
|
7
7
|
/** @internal */
|
|
8
8
|
function isNativeUploadField(value) {
|
|
9
|
-
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- Native uploads are discovered inside arbitrary serialized component options; this boundary excludes nonobjects before inspecting their transport keys.
|
|
10
9
|
if (!value || typeof value !== "object")
|
|
11
10
|
return false;
|
|
12
11
|
const node = value;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
if (typeof node.type !== "string" ||
|
|
13
|
+
!NATIVE_UPLOAD_FIELD_TYPES.has(node.type))
|
|
14
|
+
return false;
|
|
15
|
+
if (!node.component || typeof node.component !== "object")
|
|
16
|
+
return false;
|
|
17
|
+
const component = node.component;
|
|
18
|
+
return component.options == null || typeof component.options === "object";
|
|
20
19
|
}
|
|
21
20
|
/** @internal */
|
|
22
21
|
function readUploadConstraints(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-uploads.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-uploads.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"metadata-uploads.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-uploads.ts"],"names":[],"mappings":";;AA6BA,kDAWC;AAGD,sDAiBC;AAGD,wDAcC;AAzED,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAwB7D,gBAAgB;AAChB,SAAgB,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,IAAI,GAA4C,KAAK,CAAC;IAC5D,IACE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAC7B,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAEzC,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxE,MAAM,SAAS,GAA0B,IAAI,CAAC,SAAS,CAAC;IACxD,OAAO,SAAS,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC5E,CAAC;AAED,gBAAgB;AAChB,SAAgB,qBAAqB,CACnC,OAA2B;IAE3B,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;IAChC,2JAA2J;IAC3J,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,QAAQ,GAAsB,GAAG,CAAC;IACxC,MAAM,WAAW,GAAsB,EAAE,CAAC;IAC1C,4JAA4J;IAC5J,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;QACtC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC1C,WAAW,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM;QAC7D,uKAAuK;QACvK,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAC3C,CAAC;IACJ,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,gBAAgB;AAChB,SAAgB,sBAAsB,CACpC,aAAqB,EACrB,SAAoB,EACpB,IAAuB;IAEvB,IAAI,aAAa,KAAK,gBAAgB;QACpC,OAAO,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CACzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CACpB,CAAC;IACF,OAAO,CACL,CAAC,KAAK,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;QACtD,4BAA4B,CAC7B,CAAC;AACJ,CAAC"}
|