@antelopejs/interface-dms 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -0
- package/LICENSE +190 -0
- package/README.md +73 -0
- package/dist/attachments.d.ts +38 -0
- package/dist/attachments.js +11 -0
- package/dist/attachments.js.map +1 -0
- package/dist/auth/db/index.d.ts +2 -0
- package/dist/auth/db/index.js +19 -0
- package/dist/auth/db/index.js.map +1 -0
- package/dist/auth/db/models/index.d.ts +3 -0
- package/dist/auth/db/models/index.js +20 -0
- package/dist/auth/db/models/index.js.map +1 -0
- package/dist/auth/db/models/sessions.model.d.ts +28 -0
- package/dist/auth/db/models/sessions.model.js +78 -0
- package/dist/auth/db/models/sessions.model.js.map +1 -0
- package/dist/auth/db/models/userExternalIdentities.model.d.ts +26 -0
- package/dist/auth/db/models/userExternalIdentities.model.js +31 -0
- package/dist/auth/db/models/userExternalIdentities.model.js.map +1 -0
- package/dist/auth/db/models/users.model.d.ts +25 -0
- package/dist/auth/db/models/users.model.js +43 -0
- package/dist/auth/db/models/users.model.js.map +1 -0
- package/dist/auth/db/tables/index.d.ts +3 -0
- package/dist/auth/db/tables/index.js +20 -0
- package/dist/auth/db/tables/index.js.map +1 -0
- package/dist/auth/db/tables/sessions.table.d.ts +17 -0
- package/dist/auth/db/tables/sessions.table.js +79 -0
- package/dist/auth/db/tables/sessions.table.js.map +1 -0
- package/dist/auth/db/tables/userExternalIdentities.table.d.ts +11 -0
- package/dist/auth/db/tables/userExternalIdentities.table.js +55 -0
- package/dist/auth/db/tables/userExternalIdentities.table.js.map +1 -0
- package/dist/auth/db/tables/users.table.d.ts +30 -0
- package/dist/auth/db/tables/users.table.js +116 -0
- package/dist/auth/db/tables/users.table.js.map +1 -0
- package/dist/auth/index.d.ts +87 -0
- package/dist/auth/index.js +197 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/request-authenticators.d.ts +12 -0
- package/dist/auth/request-authenticators.js +80 -0
- package/dist/auth/request-authenticators.js.map +1 -0
- package/dist/base/block-registry/describe.d.ts +6 -0
- package/dist/base/block-registry/describe.js +234 -0
- package/dist/base/block-registry/describe.js.map +1 -0
- package/dist/base/block-registry/helpers.d.ts +6 -0
- package/dist/base/block-registry/helpers.js +25 -0
- package/dist/base/block-registry/helpers.js.map +1 -0
- package/dist/base/block-registry/index.d.ts +3 -0
- package/dist/base/block-registry/index.js +20 -0
- package/dist/base/block-registry/index.js.map +1 -0
- package/dist/base/block-registry/registry.d.ts +19 -0
- package/dist/base/block-registry/registry.js +89 -0
- package/dist/base/block-registry/registry.js.map +1 -0
- package/dist/base/block-registry/types.d.ts +73 -0
- package/dist/base/block-registry/types.js +3 -0
- package/dist/base/block-registry/types.js.map +1 -0
- package/dist/base/block-registry/ui.d.ts +5 -0
- package/dist/base/block-registry/ui.js +17 -0
- package/dist/base/block-registry/ui.js.map +1 -0
- package/dist/base/block-types.d.ts +15 -0
- package/dist/base/block-types.js +32 -0
- package/dist/base/block-types.js.map +1 -0
- package/dist/base/chart-card.d.ts +67 -0
- package/dist/base/chart-card.js +97 -0
- package/dist/base/chart-card.js.map +1 -0
- package/dist/base/chart-schemas.d.ts +2695 -0
- package/dist/base/chart-schemas.js +367 -0
- package/dist/base/chart-schemas.js.map +1 -0
- package/dist/base/chart.d.ts +201 -0
- package/dist/base/chart.js +99 -0
- package/dist/base/chart.js.map +1 -0
- package/dist/base/custom.d.ts +2 -0
- package/dist/base/custom.js +8 -0
- package/dist/base/custom.js.map +1 -0
- package/dist/base/data-types/compare-types.d.ts +50 -0
- package/dist/base/data-types/compare-types.js +231 -0
- package/dist/base/data-types/compare-types.js.map +1 -0
- package/dist/base/data-types/core.d.ts +35 -0
- package/dist/base/data-types/core.js +92 -0
- package/dist/base/data-types/core.js.map +1 -0
- package/dist/base/data-types/default-types.d.ts +456 -0
- package/dist/base/data-types/default-types.js +842 -0
- package/dist/base/data-types/default-types.js.map +1 -0
- package/dist/base/data-types/index.d.ts +3 -0
- package/dist/base/data-types/index.js +20 -0
- package/dist/base/data-types/index.js.map +1 -0
- package/dist/base/data-types/status-type.d.ts +18 -0
- package/dist/base/data-types/status-type.js +42 -0
- package/dist/base/data-types/status-type.js.map +1 -0
- package/dist/base/export-jobs.d.ts +97 -0
- package/dist/base/export-jobs.js +30 -0
- package/dist/base/export-jobs.js.map +1 -0
- package/dist/base/form-block-schema.d.ts +207 -0
- package/dist/base/form-block-schema.js +116 -0
- package/dist/base/form-block-schema.js.map +1 -0
- package/dist/base/form-schema.d.ts +211 -0
- package/dist/base/form-schema.js +281 -0
- package/dist/base/form-schema.js.map +1 -0
- package/dist/base/form.d.ts +69 -0
- package/dist/base/form.js +26 -0
- package/dist/base/form.js.map +1 -0
- package/dist/base/grid.d.ts +21 -0
- package/dist/base/grid.js +70 -0
- package/dist/base/grid.js.map +1 -0
- package/dist/base/helpers/archive-mode-helpers.d.ts +2 -0
- package/dist/base/helpers/archive-mode-helpers.js +43 -0
- package/dist/base/helpers/archive-mode-helpers.js.map +1 -0
- package/dist/base/helpers/file-refs.d.ts +15 -0
- package/dist/base/helpers/file-refs.js +131 -0
- package/dist/base/helpers/file-refs.js.map +1 -0
- package/dist/base/index.d.ts +22 -0
- package/dist/base/index.js +39 -0
- package/dist/base/index.js.map +1 -0
- package/dist/base/kpi-card.d.ts +81 -0
- package/dist/base/kpi-card.js +99 -0
- package/dist/base/kpi-card.js.map +1 -0
- package/dist/base/layouts.d.ts +8 -0
- package/dist/base/layouts.js +24 -0
- package/dist/base/layouts.js.map +1 -0
- package/dist/base/period-selector.d.ts +62 -0
- package/dist/base/period-selector.js +103 -0
- package/dist/base/period-selector.js.map +1 -0
- package/dist/base/placeholder.d.ts +21 -0
- package/dist/base/placeholder.js +46 -0
- package/dist/base/placeholder.js.map +1 -0
- package/dist/base/searchable.d.ts +9 -0
- package/dist/base/searchable.js +27 -0
- package/dist/base/searchable.js.map +1 -0
- package/dist/base/stack.d.ts +65 -0
- package/dist/base/stack.js +132 -0
- package/dist/base/stack.js.map +1 -0
- package/dist/base/tab.d.ts +174 -0
- package/dist/base/tab.js +101 -0
- package/dist/base/tab.js.map +1 -0
- package/dist/base/table-view/auth.d.ts +9 -0
- package/dist/base/table-view/auth.js +71 -0
- package/dist/base/table-view/auth.js.map +1 -0
- package/dist/base/table-view/data-functions.d.ts +45 -0
- package/dist/base/table-view/data-functions.js +14 -0
- package/dist/base/table-view/data-functions.js.map +1 -0
- package/dist/base/table-view/factory-helpers.d.ts +25 -0
- package/dist/base/table-view/factory-helpers.js +121 -0
- package/dist/base/table-view/factory-helpers.js.map +1 -0
- package/dist/base/table-view/factory.d.ts +13 -0
- package/dist/base/table-view/factory.js +402 -0
- package/dist/base/table-view/factory.js.map +1 -0
- package/dist/base/table-view/files.d.ts +2 -0
- package/dist/base/table-view/files.js +28 -0
- package/dist/base/table-view/files.js.map +1 -0
- package/dist/base/table-view/guards.d.ts +7 -0
- package/dist/base/table-view/guards.js +85 -0
- package/dist/base/table-view/guards.js.map +1 -0
- package/dist/base/table-view/meta.d.ts +79 -0
- package/dist/base/table-view/meta.js +218 -0
- package/dist/base/table-view/meta.js.map +1 -0
- package/dist/base/table-view/options.d.ts +152 -0
- package/dist/base/table-view/options.js +8 -0
- package/dist/base/table-view/options.js.map +1 -0
- package/dist/base/table-view/realtime.d.ts +49 -0
- package/dist/base/table-view/realtime.js +160 -0
- package/dist/base/table-view/realtime.js.map +1 -0
- package/dist/base/table-view/routes.d.ts +26 -0
- package/dist/base/table-view/routes.js +147 -0
- package/dist/base/table-view/routes.js.map +1 -0
- package/dist/base/table-view/row-rules.d.ts +8 -0
- package/dist/base/table-view/row-rules.js +95 -0
- package/dist/base/table-view/row-rules.js.map +1 -0
- package/dist/base/table-view/schema.d.ts +779 -0
- package/dist/base/table-view/schema.js +220 -0
- package/dist/base/table-view/schema.js.map +1 -0
- package/dist/base/table-view.d.ts +11 -0
- package/dist/base/table-view.js +56 -0
- package/dist/base/table-view.js.map +1 -0
- package/dist/base/tenant-export-archive.d.ts +22 -0
- package/dist/base/tenant-export-archive.js +9 -0
- package/dist/base/tenant-export-archive.js.map +1 -0
- package/dist/base/top-list-card.d.ts +171 -0
- package/dist/base/top-list-card.js +121 -0
- package/dist/base/top-list-card.js.map +1 -0
- package/dist/base/tree.d.ts +114 -0
- package/dist/base/tree.js +145 -0
- package/dist/base/tree.js.map +1 -0
- package/dist/base/types/action-target.d.ts +100 -0
- package/dist/base/types/action-target.js +3 -0
- package/dist/base/types/action-target.js.map +1 -0
- package/dist/base/types/base-component-props.d.ts +4 -0
- package/dist/base/types/base-component-props.js +3 -0
- package/dist/base/types/base-component-props.js.map +1 -0
- package/dist/base/types/button.d.ts +7 -0
- package/dist/base/types/button.js +12 -0
- package/dist/base/types/button.js.map +1 -0
- package/dist/base/types/color.d.ts +10 -0
- package/dist/base/types/color.js +14 -0
- package/dist/base/types/color.js.map +1 -0
- package/dist/base/types/component-input.d.ts +2 -0
- package/dist/base/types/component-input.js +3 -0
- package/dist/base/types/component-input.js.map +1 -0
- package/dist/base/types/custom-button.d.ts +15 -0
- package/dist/base/types/custom-button.js +3 -0
- package/dist/base/types/custom-button.js.map +1 -0
- package/dist/base/types/error.d.ts +5 -0
- package/dist/base/types/error.js +15 -0
- package/dist/base/types/error.js.map +1 -0
- package/dist/base/types/export-status.d.ts +5 -0
- package/dist/base/types/export-status.js +10 -0
- package/dist/base/types/export-status.js.map +1 -0
- package/dist/base/types/field-config.d.ts +13 -0
- package/dist/base/types/field-config.js +3 -0
- package/dist/base/types/field-config.js.map +1 -0
- package/dist/base/types/form-mode.d.ts +5 -0
- package/dist/base/types/form-mode.js +10 -0
- package/dist/base/types/form-mode.js.map +1 -0
- package/dist/base/types/form-values.d.ts +2 -0
- package/dist/base/types/form-values.js +3 -0
- package/dist/base/types/form-values.js.map +1 -0
- package/dist/base/types/guards.d.ts +28 -0
- package/dist/base/types/guards.js +3 -0
- package/dist/base/types/guards.js.map +1 -0
- package/dist/base/types/http.d.ts +9 -0
- package/dist/base/types/http.js +14 -0
- package/dist/base/types/http.js.map +1 -0
- package/dist/base/types/index.d.ts +16 -0
- package/dist/base/types/index.js +33 -0
- package/dist/base/types/index.js.map +1 -0
- package/dist/base/types/json.d.ts +4 -0
- package/dist/base/types/json.js +3 -0
- package/dist/base/types/json.js.map +1 -0
- package/dist/base/types/orientation.d.ts +4 -0
- package/dist/base/types/orientation.js +9 -0
- package/dist/base/types/orientation.js.map +1 -0
- package/dist/base/types/readonly-behavior.d.ts +11 -0
- package/dist/base/types/readonly-behavior.js +10 -0
- package/dist/base/types/readonly-behavior.js.map +1 -0
- package/dist/base/types/row-action-operators.d.ts +32 -0
- package/dist/base/types/row-action-operators.js +24 -0
- package/dist/base/types/row-action-operators.js.map +1 -0
- package/dist/base/types/row-action.d.ts +38 -0
- package/dist/base/types/row-action.js +3 -0
- package/dist/base/types/row-action.js.map +1 -0
- package/dist/base/types/size.d.ts +10 -0
- package/dist/base/types/size.js +13 -0
- package/dist/base/types/size.js.map +1 -0
- package/dist/base/types/watch.d.ts +19 -0
- package/dist/base/types/watch.js +7 -0
- package/dist/base/types/watch.js.map +1 -0
- package/dist/client-base-url.d.ts +1 -0
- package/dist/client-base-url.js +6 -0
- package/dist/client-base-url.js.map +1 -0
- package/dist/component-slots.d.ts +6 -0
- package/dist/component-slots.js +79 -0
- package/dist/component-slots.js.map +1 -0
- package/dist/component.d.ts +131 -0
- package/dist/component.js +346 -0
- package/dist/component.js.map +1 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -0
- package/dist/data-controllers/index.d.ts +1 -0
- package/dist/data-controllers/index.js +18 -0
- package/dist/data-controllers/index.js.map +1 -0
- package/dist/data-controllers/members.d.ts +34 -0
- package/dist/data-controllers/members.js +163 -0
- package/dist/data-controllers/members.js.map +1 -0
- package/dist/data-controllers/roles.d.ts +27 -0
- package/dist/data-controllers/roles.js +97 -0
- package/dist/data-controllers/roles.js.map +1 -0
- package/dist/db/index.d.ts +2 -0
- package/dist/db/index.js +19 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/models/exportJobs.model.d.ts +39 -0
- package/dist/db/models/exportJobs.model.js +71 -0
- package/dist/db/models/exportJobs.model.js.map +1 -0
- package/dist/db/models/index.d.ts +7 -0
- package/dist/db/models/index.js +24 -0
- package/dist/db/models/index.js.map +1 -0
- package/dist/db/models/inviteResolutions.model.d.ts +34 -0
- package/dist/db/models/inviteResolutions.model.js +71 -0
- package/dist/db/models/inviteResolutions.model.js.map +1 -0
- package/dist/db/models/roles.model.d.ts +23 -0
- package/dist/db/models/roles.model.js +17 -0
- package/dist/db/models/roles.model.js.map +1 -0
- package/dist/db/models/tenantLifecycle.model.d.ts +27 -0
- package/dist/db/models/tenantLifecycle.model.js +82 -0
- package/dist/db/models/tenantLifecycle.model.js.map +1 -0
- package/dist/db/models/tenantMembers.model.d.ts +35 -0
- package/dist/db/models/tenantMembers.model.js +79 -0
- package/dist/db/models/tenantMembers.model.js.map +1 -0
- package/dist/db/models/tenants.model.d.ts +23 -0
- package/dist/db/models/tenants.model.js +17 -0
- package/dist/db/models/tenants.model.js.map +1 -0
- package/dist/db/models/user_invites.model.d.ts +30 -0
- package/dist/db/models/user_invites.model.js +42 -0
- package/dist/db/models/user_invites.model.js.map +1 -0
- package/dist/db/tables/exportJobs.table.d.ts +22 -0
- package/dist/db/tables/exportJobs.table.js +96 -0
- package/dist/db/tables/exportJobs.table.js.map +1 -0
- package/dist/db/tables/index.d.ts +7 -0
- package/dist/db/tables/index.js +24 -0
- package/dist/db/tables/index.js.map +1 -0
- package/dist/db/tables/inviteResolutions.table.d.ts +20 -0
- package/dist/db/tables/inviteResolutions.table.js +71 -0
- package/dist/db/tables/inviteResolutions.table.js.map +1 -0
- package/dist/db/tables/roles.table.d.ts +9 -0
- package/dist/db/tables/roles.table.js +47 -0
- package/dist/db/tables/roles.table.js.map +1 -0
- package/dist/db/tables/tenantLifecycle.table.d.ts +8 -0
- package/dist/db/tables/tenantLifecycle.table.js +38 -0
- package/dist/db/tables/tenantLifecycle.table.js.map +1 -0
- package/dist/db/tables/tenantMembers.table.d.ts +11 -0
- package/dist/db/tables/tenantMembers.table.js +59 -0
- package/dist/db/tables/tenantMembers.table.js.map +1 -0
- package/dist/db/tables/tenants.table.d.ts +8 -0
- package/dist/db/tables/tenants.table.js +42 -0
- package/dist/db/tables/tenants.table.js.map +1 -0
- package/dist/db/tables/user_invites.table.d.ts +18 -0
- package/dist/db/tables/user_invites.table.js +81 -0
- package/dist/db/tables/user_invites.table.js.map +1 -0
- package/dist/guards.d.ts +18 -0
- package/dist/guards.js +57 -0
- package/dist/guards.js.map +1 -0
- package/dist/hooks.d.ts +122 -0
- package/dist/hooks.js +93 -0
- package/dist/hooks.js.map +1 -0
- package/dist/html-render/index.d.ts +10 -0
- package/dist/html-render/index.js +34 -0
- package/dist/html-render/index.js.map +1 -0
- package/dist/html-render/types.d.ts +12 -0
- package/dist/html-render/types.js +3 -0
- package/dist/html-render/types.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +107 -0
- package/dist/index.js.map +1 -0
- package/dist/invite-extensions/delivery.d.ts +6 -0
- package/dist/invite-extensions/delivery.js +94 -0
- package/dist/invite-extensions/delivery.js.map +1 -0
- package/dist/invite-extensions/field-ids.d.ts +7 -0
- package/dist/invite-extensions/field-ids.js +19 -0
- package/dist/invite-extensions/field-ids.js.map +1 -0
- package/dist/invite-extensions/form-slot.d.ts +1 -0
- package/dist/invite-extensions/form-slot.js +181 -0
- package/dist/invite-extensions/form-slot.js.map +1 -0
- package/dist/invite-extensions/registry.d.ts +17 -0
- package/dist/invite-extensions/registry.js +83 -0
- package/dist/invite-extensions/registry.js.map +1 -0
- package/dist/invite-extensions/types.d.ts +67 -0
- package/dist/invite-extensions/types.js +3 -0
- package/dist/invite-extensions/types.js.map +1 -0
- package/dist/invite-extensions.d.ts +5 -0
- package/dist/invite-extensions.js +22 -0
- package/dist/invite-extensions.js.map +1 -0
- package/dist/invite-membership.d.ts +3 -0
- package/dist/invite-membership.js +77 -0
- package/dist/invite-membership.js.map +1 -0
- package/dist/invite-replacement.d.ts +2 -0
- package/dist/invite-replacement.js +74 -0
- package/dist/invite-replacement.js.map +1 -0
- package/dist/invite-resolution.d.ts +9 -0
- package/dist/invite-resolution.js +108 -0
- package/dist/invite-resolution.js.map +1 -0
- package/dist/invites.d.ts +45 -0
- package/dist/invites.js +135 -0
- package/dist/invites.js.map +1 -0
- package/dist/notifications/builder.d.ts +12 -0
- package/dist/notifications/builder.js +36 -0
- package/dist/notifications/builder.js.map +1 -0
- package/dist/notifications/index.d.ts +13 -0
- package/dist/notifications/index.js +64 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/notifications/internal.d.ts +11 -0
- package/dist/notifications/internal.js +15 -0
- package/dist/notifications/internal.js.map +1 -0
- package/dist/notifications/sendable.d.ts +11 -0
- package/dist/notifications/sendable.js +38 -0
- package/dist/notifications/sendable.js.map +1 -0
- package/dist/notifications/types.d.ts +29 -0
- package/dist/notifications/types.js +3 -0
- package/dist/notifications/types.js.map +1 -0
- package/dist/page/categories.d.ts +39 -0
- package/dist/page/categories.js +215 -0
- package/dist/page/categories.js.map +1 -0
- package/dist/page/component-target.d.ts +11 -0
- package/dist/page/component-target.js +48 -0
- package/dist/page/component-target.js.map +1 -0
- package/dist/page/component-tree.d.ts +9 -0
- package/dist/page/component-tree.js +43 -0
- package/dist/page/component-tree.js.map +1 -0
- package/dist/page/controllers.d.ts +47 -0
- package/dist/page/controllers.js +140 -0
- package/dist/page/controllers.js.map +1 -0
- package/dist/page/extension-assembly.d.ts +10 -0
- package/dist/page/extension-assembly.js +120 -0
- package/dist/page/extension-assembly.js.map +1 -0
- package/dist/page/layout-filter.d.ts +4 -0
- package/dist/page/layout-filter.js +64 -0
- package/dist/page/layout-filter.js.map +1 -0
- package/dist/page/metadata-helpers.d.ts +4 -0
- package/dist/page/metadata-helpers.js +24 -0
- package/dist/page/metadata-helpers.js.map +1 -0
- package/dist/page/metadata.d.ts +62 -0
- package/dist/page/metadata.js +544 -0
- package/dist/page/metadata.js.map +1 -0
- package/dist/page/page-registration.d.ts +13 -0
- package/dist/page/page-registration.js +22 -0
- package/dist/page/page-registration.js.map +1 -0
- package/dist/page/registry.d.ts +34 -0
- package/dist/page/registry.js +110 -0
- package/dist/page/registry.js.map +1 -0
- package/dist/page/roots.d.ts +13 -0
- package/dist/page/roots.js +60 -0
- package/dist/page/roots.js.map +1 -0
- package/dist/page/types.d.ts +106 -0
- package/dist/page/types.js +6 -0
- package/dist/page/types.js.map +1 -0
- package/dist/page.d.ts +6 -0
- package/dist/page.js +41 -0
- package/dist/page.js.map +1 -0
- package/dist/permissions-resolver.d.ts +12 -0
- package/dist/permissions-resolver.js +14 -0
- package/dist/permissions-resolver.js.map +1 -0
- package/dist/permissions.d.ts +32 -0
- package/dist/permissions.js +66 -0
- package/dist/permissions.js.map +1 -0
- package/dist/quick-actions.d.ts +37 -0
- package/dist/quick-actions.js +22 -0
- package/dist/quick-actions.js.map +1 -0
- package/dist/realtime.d.ts +21 -0
- package/dist/realtime.js +22 -0
- package/dist/realtime.js.map +1 -0
- package/dist/request-tenant.d.ts +2 -0
- package/dist/request-tenant.js +41 -0
- package/dist/request-tenant.js.map +1 -0
- package/dist/tenant-access.d.ts +25 -0
- package/dist/tenant-access.js +31 -0
- package/dist/tenant-access.js.map +1 -0
- package/dist/tenant-export.d.ts +23 -0
- package/dist/tenant-export.js +3 -0
- package/dist/tenant-export.js.map +1 -0
- package/dist/tenant-lifecycle.d.ts +2 -0
- package/dist/tenant-lifecycle.js +19 -0
- package/dist/tenant-lifecycle.js.map +1 -0
- package/dist/tenant-ownership.d.ts +11 -0
- package/dist/tenant-ownership.js +100 -0
- package/dist/tenant-ownership.js.map +1 -0
- package/dist/tenant-scoped-model.d.ts +6 -0
- package/dist/tenant-scoped-model.js +13 -0
- package/dist/tenant-scoped-model.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/uploads.d.ts +20 -0
- package/dist/uploads.js +70 -0
- package/dist/uploads.js.map +1 -0
- package/dist/utils/fire-and-forget.d.ts +1 -0
- package/dist/utils/fire-and-forget.js +10 -0
- package/dist/utils/fire-and-forget.js.map +1 -0
- package/dist/utils/row-instance.d.ts +1 -0
- package/dist/utils/row-instance.js +8 -0
- package/dist/utils/row-instance.js.map +1 -0
- package/dist/utils/saas-mode.d.ts +2 -0
- package/dist/utils/saas-mode.js +18 -0
- package/dist/utils/saas-mode.js.map +1 -0
- package/dist/utils/time.d.ts +4 -0
- package/dist/utils/time.js +8 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/utils/type-check.d.ts +15 -0
- package/dist/utils/type-check.js +40 -0
- package/dist/utils/type-check.js.map +1 -0
- package/dist/utils/value-parser.d.ts +11 -0
- package/dist/utils/value-parser.js +86 -0
- package/dist/utils/value-parser.js.map +1 -0
- package/package.json +206 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GetFrontendModules = exports.AddFrontendModule = exports.NotifyMenuChanged = exports.RegisterPageExtension = exports.RegisterPage = void 0;
|
|
4
|
+
exports.Category = Category;
|
|
5
|
+
exports.PageController = PageController;
|
|
6
|
+
exports.RootPageController = RootPageController;
|
|
7
|
+
exports.RegisterDynamicMenuProvider = RegisterDynamicMenuProvider;
|
|
8
|
+
exports.RootCategory = RootCategory;
|
|
9
|
+
const interface_api_1 = require("@antelopejs/interface-api");
|
|
10
|
+
const interface_core_1 = require("@antelopejs/interface-core");
|
|
11
|
+
const decorators_1 = require("@antelopejs/interface-core/decorators");
|
|
12
|
+
const logging_1 = require("@antelopejs/interface-core/logging");
|
|
13
|
+
const component_1 = require("../component");
|
|
14
|
+
const categories_1 = require("./categories");
|
|
15
|
+
const component_target_1 = require("./component-target");
|
|
16
|
+
const extension_assembly_1 = require("./extension-assembly");
|
|
17
|
+
const metadata_1 = require("./metadata");
|
|
18
|
+
function collectStaticComponents(cl) {
|
|
19
|
+
const fields = [];
|
|
20
|
+
for (const key of Object.getOwnPropertyNames(cl)) {
|
|
21
|
+
if (key.startsWith("_"))
|
|
22
|
+
continue;
|
|
23
|
+
const value = Reflect.get(cl, key);
|
|
24
|
+
if (value instanceof component_1.Component) {
|
|
25
|
+
fields.push({ key, component: value });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return fields;
|
|
29
|
+
}
|
|
30
|
+
exports.RegisterPage = (0, decorators_1.MakeClassDecorator)((cl) => {
|
|
31
|
+
const meta = (0, interface_core_1.GetMetadata)(cl, metadata_1.PageMetadata);
|
|
32
|
+
for (const { key, component } of collectStaticComponents(cl)) {
|
|
33
|
+
meta.SetComponent(key, component);
|
|
34
|
+
}
|
|
35
|
+
void meta.Register();
|
|
36
|
+
});
|
|
37
|
+
function collectTargetComponents(target, targetMeta) {
|
|
38
|
+
const components = new Map();
|
|
39
|
+
for (const { key, component } of collectStaticComponents(target)) {
|
|
40
|
+
components.set(key, component);
|
|
41
|
+
}
|
|
42
|
+
for (const [key, component] of Object.entries(targetMeta.components)) {
|
|
43
|
+
components.set(key, component);
|
|
44
|
+
}
|
|
45
|
+
return components;
|
|
46
|
+
}
|
|
47
|
+
function resolveAnchorPath(anchor, targetComponents, contributionKey, extensionName, targetFullId) {
|
|
48
|
+
const resolved = (0, component_target_1.resolveComponentTarget)(anchor, targetComponents);
|
|
49
|
+
if (resolved) {
|
|
50
|
+
if (resolved.parent &&
|
|
51
|
+
(0, component_target_1.componentDeclaresChild)(resolved.parent, contributionKey)) {
|
|
52
|
+
throw new Error(`Page extension "${extensionName}" injects child "${contributionKey}" into page "${targetFullId}", but that id already belongs to the anchor's parent. Rename the field.`);
|
|
53
|
+
}
|
|
54
|
+
return [resolved.rootKey, ...resolved.path];
|
|
55
|
+
}
|
|
56
|
+
throw new Error(`Page extension "${extensionName}" anchors a component on a position that does not exist on page "${targetFullId}". Anchors must reference a static component field or one of its declared children.`);
|
|
57
|
+
}
|
|
58
|
+
function buildExtensionComponents(extensionClass, targetComponents, extensionName, targetFullId) {
|
|
59
|
+
return collectStaticComponents(extensionClass).map(({ key, component }) => {
|
|
60
|
+
const placement = component.placement ?? component_1.DEFAULT_PLACEMENT;
|
|
61
|
+
const entry = {
|
|
62
|
+
key,
|
|
63
|
+
component,
|
|
64
|
+
side: placement.side,
|
|
65
|
+
order: placement.order,
|
|
66
|
+
};
|
|
67
|
+
if (placement.anchor) {
|
|
68
|
+
entry.anchorPath = resolveAnchorPath(placement.anchor, targetComponents, key, extensionName, targetFullId);
|
|
69
|
+
}
|
|
70
|
+
return entry;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
exports.RegisterPageExtension = (0, decorators_1.MakeClassDecorator)((cl, target) => {
|
|
74
|
+
const extensionName = cl.name || "anonymous page extension";
|
|
75
|
+
const targetMeta = (0, interface_core_1.GetMetadata)(target, metadata_1.PageMetadata);
|
|
76
|
+
if (!targetMeta.pageInfo) {
|
|
77
|
+
throw new Error(`Page extension "${extensionName}" targets a class that is not a page. Pass a class built with PageController(...).`);
|
|
78
|
+
}
|
|
79
|
+
const targetFullId = targetMeta.pageInfo.fullId;
|
|
80
|
+
const targetComponents = collectTargetComponents(target, targetMeta);
|
|
81
|
+
const info = {
|
|
82
|
+
extensionName,
|
|
83
|
+
targetFullId,
|
|
84
|
+
components: buildExtensionComponents(cl, targetComponents, extensionName, targetFullId),
|
|
85
|
+
};
|
|
86
|
+
if (info.components.length === 0) {
|
|
87
|
+
logging_1.Logging.Warn(`[dms] page extension "${extensionName}" declares no component field — nothing is injected into page "${targetFullId}".`);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
(0, extension_assembly_1.assertKeysAvailable)(new Map([...targetComponents.keys()].map((key) => [key, targetFullId])), info);
|
|
91
|
+
categories_1.internal.RegisterPageExtension.register(info);
|
|
92
|
+
});
|
|
93
|
+
function assertHasCategoryOrModule(id, options, kind) {
|
|
94
|
+
if (!options.category && !options.module) {
|
|
95
|
+
throw new Error(`${kind} "${id}" must declare either "category" or "module" in its options.`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function Category(id, options) {
|
|
99
|
+
assertHasCategoryOrModule(id, options, "Category");
|
|
100
|
+
return (0, categories_1.createCategoryFunction)(id, options);
|
|
101
|
+
}
|
|
102
|
+
function PageController(id, options, layout) {
|
|
103
|
+
assertHasCategoryOrModule(id, options, "Page");
|
|
104
|
+
const resolvedOptions = (0, categories_1.applyModuleResolution)(id, options);
|
|
105
|
+
const resolvedCategory = (0, categories_1.resolveCategoryInfo)(resolvedOptions.category);
|
|
106
|
+
(0, categories_1.validateNotInsideSettings)(resolvedOptions.module, resolvedCategory);
|
|
107
|
+
const fullSlug = (0, categories_1.calculateFullSlug)(id, resolvedOptions);
|
|
108
|
+
const cl = class extends (0, interface_api_1.Controller)(fullSlug) {
|
|
109
|
+
};
|
|
110
|
+
const meta = (0, interface_core_1.GetMetadata)(cl, metadata_1.PageMetadata);
|
|
111
|
+
meta.SetInfo(id, fullSlug, resolvedOptions, layout);
|
|
112
|
+
return cl;
|
|
113
|
+
}
|
|
114
|
+
function RootPageController(id, options, layout) {
|
|
115
|
+
const fullSlug = (0, categories_1.calculateFullSlug)(id, options);
|
|
116
|
+
const cl = class extends (0, interface_api_1.Controller)(fullSlug) {
|
|
117
|
+
};
|
|
118
|
+
const meta = (0, interface_core_1.GetMetadata)(cl, metadata_1.PageMetadata);
|
|
119
|
+
meta.SetInfo(id, fullSlug, options, layout);
|
|
120
|
+
return cl;
|
|
121
|
+
}
|
|
122
|
+
function RegisterDynamicMenuProvider(categoryFullId, resolver) {
|
|
123
|
+
const info = { categoryFullId, resolver };
|
|
124
|
+
categories_1.internal.RegisterDynamicMenuProvider.register(info);
|
|
125
|
+
return () => categories_1.internal.RegisterDynamicMenuProvider.unregister(info);
|
|
126
|
+
}
|
|
127
|
+
exports.NotifyMenuChanged = (0, interface_core_1.InterfaceFunction)();
|
|
128
|
+
const RESERVED_ROOT_CATEGORY_IDS = new Set(["pages", "modules", "settings"]);
|
|
129
|
+
function RootCategory(id, options) {
|
|
130
|
+
if (RESERVED_ROOT_CATEGORY_IDS.has(id)) {
|
|
131
|
+
throw new Error(`RootCategory id "${id}" is reserved by the built-in Pages/Modules/Settings groups. Choose a different id.`);
|
|
132
|
+
}
|
|
133
|
+
return categories_1.internal.RootCategory(id, {
|
|
134
|
+
...options,
|
|
135
|
+
type: options.type ?? "label",
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
exports.AddFrontendModule = (0, interface_core_1.InterfaceFunction)();
|
|
139
|
+
exports.GetFrontendModules = (0, interface_core_1.InterfaceFunction)();
|
|
140
|
+
//# sourceMappingURL=controllers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/page/controllers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ComponentInfoSerialized } from "../component";
|
|
2
|
+
import type { PageExtensionComponent, PageExtensionInfo } from "./types";
|
|
3
|
+
export declare function assertKeysAvailable(taken: Map<string, string>, info: PageExtensionInfo): void;
|
|
4
|
+
export declare function assertExtensionKeysAvailable(info: PageExtensionInfo, registered: PageExtensionInfo[]): void;
|
|
5
|
+
export interface PageExtensionEntry extends PageExtensionComponent {
|
|
6
|
+
extensionName: string;
|
|
7
|
+
declarationIndex: number;
|
|
8
|
+
serialized?: ComponentInfoSerialized;
|
|
9
|
+
}
|
|
10
|
+
export declare function assembleLayoutComponents(own: Record<string, ComponentInfoSerialized>, entries: PageExtensionEntry[]): Record<string, ComponentInfoSerialized>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertKeysAvailable = assertKeysAvailable;
|
|
4
|
+
exports.assertExtensionKeysAvailable = assertExtensionKeysAvailable;
|
|
5
|
+
exports.assembleLayoutComponents = assembleLayoutComponents;
|
|
6
|
+
const logging_1 = require("@antelopejs/interface-core/logging");
|
|
7
|
+
function assertKeysAvailable(taken, info) {
|
|
8
|
+
for (const contribution of info.components) {
|
|
9
|
+
const owner = taken.get(contribution.key);
|
|
10
|
+
if (owner === undefined)
|
|
11
|
+
continue;
|
|
12
|
+
throw new Error(`Page extension "${info.extensionName}" injects "${contribution.key}" into page "${info.targetFullId}", but that key already belongs to "${owner}". Rename the field.`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function assertExtensionKeysAvailable(info, registered) {
|
|
16
|
+
const taken = new Map();
|
|
17
|
+
for (const other of registered) {
|
|
18
|
+
for (const contribution of other.components) {
|
|
19
|
+
taken.set(contribution.key, other.extensionName);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
assertKeysAvailable(taken, info);
|
|
23
|
+
}
|
|
24
|
+
function compareText(a, b) {
|
|
25
|
+
if (a === b)
|
|
26
|
+
return 0;
|
|
27
|
+
return a < b ? -1 : 1;
|
|
28
|
+
}
|
|
29
|
+
function compareExtensionEntries(a, b) {
|
|
30
|
+
return (a.order - b.order ||
|
|
31
|
+
compareText(a.extensionName, b.extensionName) ||
|
|
32
|
+
a.declarationIndex - b.declarationIndex ||
|
|
33
|
+
compareText(a.key, b.key));
|
|
34
|
+
}
|
|
35
|
+
function pushGrouped(groups, key, entry) {
|
|
36
|
+
const existing = groups.get(key) ?? [];
|
|
37
|
+
existing.push(entry);
|
|
38
|
+
groups.set(key, existing);
|
|
39
|
+
}
|
|
40
|
+
function groupExtensionEntries(entries, ownKeys) {
|
|
41
|
+
const groups = {
|
|
42
|
+
before: new Map(),
|
|
43
|
+
after: new Map(),
|
|
44
|
+
end: [],
|
|
45
|
+
};
|
|
46
|
+
for (const entry of [...entries].sort(compareExtensionEntries)) {
|
|
47
|
+
const anchorPath = entry.anchorPath;
|
|
48
|
+
const anchorKey = anchorPath?.[0];
|
|
49
|
+
if (entry.side === "end" || anchorKey === undefined) {
|
|
50
|
+
groups.end.push(entry);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if ((anchorPath?.length ?? 0) > 1)
|
|
54
|
+
continue;
|
|
55
|
+
if (!ownKeys.has(anchorKey)) {
|
|
56
|
+
logging_1.Logging.Warn(`[dms] page extension component "${entry.key}" anchors on "${anchorKey}", which the target page no longer declares. Appending it at the end.`);
|
|
57
|
+
groups.end.push(entry);
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
pushGrouped(entry.side === "before" ? groups.before : groups.after, anchorKey, entry);
|
|
61
|
+
}
|
|
62
|
+
return groups;
|
|
63
|
+
}
|
|
64
|
+
function samePath(left, right) {
|
|
65
|
+
return (left?.length === right.length &&
|
|
66
|
+
left.every((segment, index) => segment === right[index]));
|
|
67
|
+
}
|
|
68
|
+
function nestedEntriesAt(entries, path, side) {
|
|
69
|
+
return entries
|
|
70
|
+
.filter((entry) => entry.side === side && samePath(entry.anchorPath, path))
|
|
71
|
+
.sort(compareExtensionEntries);
|
|
72
|
+
}
|
|
73
|
+
function extensionChildren(entries) {
|
|
74
|
+
const children = [];
|
|
75
|
+
for (const entry of entries) {
|
|
76
|
+
if (!entry.serialized)
|
|
77
|
+
continue;
|
|
78
|
+
children.push({ id: entry.key, component: entry.serialized });
|
|
79
|
+
}
|
|
80
|
+
return children;
|
|
81
|
+
}
|
|
82
|
+
function assembleNestedComponent(component, path, entries) {
|
|
83
|
+
const children = component.children ?? [];
|
|
84
|
+
if (children.length === 0)
|
|
85
|
+
return component;
|
|
86
|
+
const assembled = [];
|
|
87
|
+
for (const child of children) {
|
|
88
|
+
const childPath = [...path, child.id];
|
|
89
|
+
assembled.push(...extensionChildren(nestedEntriesAt(entries, childPath, "before")));
|
|
90
|
+
assembled.push({
|
|
91
|
+
...child,
|
|
92
|
+
component: assembleNestedComponent(child.component, childPath, entries),
|
|
93
|
+
});
|
|
94
|
+
assembled.push(...extensionChildren(nestedEntriesAt(entries, childPath, "after")));
|
|
95
|
+
}
|
|
96
|
+
return { ...component, children: assembled };
|
|
97
|
+
}
|
|
98
|
+
function assembleLayoutComponents(own, entries) {
|
|
99
|
+
if (entries.length === 0) {
|
|
100
|
+
return { ...own };
|
|
101
|
+
}
|
|
102
|
+
const ownKeys = Object.keys(own);
|
|
103
|
+
const groups = groupExtensionEntries(entries, new Set(ownKeys));
|
|
104
|
+
const assembled = {};
|
|
105
|
+
const appendGroup = (group) => {
|
|
106
|
+
for (const entry of group ?? []) {
|
|
107
|
+
if (entry.serialized) {
|
|
108
|
+
assembled[entry.key] = entry.serialized;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
for (const key of ownKeys) {
|
|
113
|
+
appendGroup(groups.before.get(key));
|
|
114
|
+
assembled[key] = assembleNestedComponent(own[key], [key], entries);
|
|
115
|
+
appendGroup(groups.after.get(key));
|
|
116
|
+
}
|
|
117
|
+
appendGroup(groups.end);
|
|
118
|
+
return assembled;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=extension-assembly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-assembly.js","sourceRoot":"","sources":["../../src/page/extension-assembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ComponentInfoSerialized } from "../component";
|
|
2
|
+
import type { ComponentTreeNode } from "./component-tree";
|
|
3
|
+
export type ComponentNodeMap = Map<string, ComponentTreeNode>;
|
|
4
|
+
export declare function filterComponents(components: Record<string, ComponentInfoSerialized>, basePath: string, permissions: Set<string>, componentMap: ComponentNodeMap): Promise<Record<string, ComponentInfoSerialized>>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterComponents = filterComponents;
|
|
4
|
+
const permissions_1 = require("../permissions");
|
|
5
|
+
async function filterComponentInfo(comp, permissionId, permissions, componentMap) {
|
|
6
|
+
const filtered = { ...comp };
|
|
7
|
+
if (filtered.children && filtered.children.length > 0) {
|
|
8
|
+
filtered.children = await filterAccessibleChildren(filtered.children, permissionId, permissions, componentMap);
|
|
9
|
+
}
|
|
10
|
+
const component = componentMap.get(permissionId)?.component;
|
|
11
|
+
if (component?.onFilterCallback && filtered.options) {
|
|
12
|
+
filtered.options = await component.onFilterCallback(permissions, filtered.options, permissionId);
|
|
13
|
+
}
|
|
14
|
+
filtered.options = filterRequiredPermissionWatches(filtered.options, permissions);
|
|
15
|
+
return filtered;
|
|
16
|
+
}
|
|
17
|
+
function filterRequiredPermissionWatches(options, permissions) {
|
|
18
|
+
if (!options || typeof options !== "object") {
|
|
19
|
+
return options;
|
|
20
|
+
}
|
|
21
|
+
const opts = options;
|
|
22
|
+
if (!Array.isArray(opts.watchActions) || opts.watchActions.length === 0) {
|
|
23
|
+
return options;
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
...opts,
|
|
27
|
+
watchActions: opts.watchActions.filter((w) => !w.requirePermission || permissions.has(w.requirePermission)),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function childIsAccessible(permissions, permissionId, node) {
|
|
31
|
+
if (!node || node.access === "withheld")
|
|
32
|
+
return Promise.resolve(false);
|
|
33
|
+
return (0, permissions_1.HasPermission)(permissions, permissionId);
|
|
34
|
+
}
|
|
35
|
+
async function filterAccessibleChildren(children, permissionId, permissions, componentMap) {
|
|
36
|
+
const childrenWithPermissions = await Promise.all(children.map(async (child) => {
|
|
37
|
+
const childPermissionId = `${permissionId}.${child.id}`;
|
|
38
|
+
return {
|
|
39
|
+
child,
|
|
40
|
+
hasPermission: await childIsAccessible(permissions, childPermissionId, componentMap.get(childPermissionId)),
|
|
41
|
+
};
|
|
42
|
+
}));
|
|
43
|
+
return Promise.all(childrenWithPermissions
|
|
44
|
+
.filter(({ hasPermission }) => hasPermission)
|
|
45
|
+
.map(async ({ child }) => {
|
|
46
|
+
const { id, component, ...additionalProps } = child;
|
|
47
|
+
return {
|
|
48
|
+
id,
|
|
49
|
+
component: await filterComponentInfo(component, `${permissionId}.${id}`, permissions, componentMap),
|
|
50
|
+
...additionalProps,
|
|
51
|
+
};
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
async function filterComponents(components, basePath, permissions, componentMap) {
|
|
55
|
+
const filtered = {};
|
|
56
|
+
for (const [key, comp] of Object.entries(components)) {
|
|
57
|
+
const permissionId = `${basePath}.${key}`;
|
|
58
|
+
if (await (0, permissions_1.HasPermission)(permissions, permissionId)) {
|
|
59
|
+
filtered[key] = await filterComponentInfo(comp, permissionId, permissions, componentMap);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return filtered;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=layout-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-filter.js","sourceRoot":"","sources":["../../src/page/layout-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type PageInfo } from "./types";
|
|
2
|
+
export declare const RequestTenantIdProperty: () => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
|
|
3
|
+
export declare function isPageInsideModule(pageInfo: PageInfo): boolean;
|
|
4
|
+
export declare function logModuleRouteGated(fullSlug: string): void;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestTenantIdProperty = void 0;
|
|
4
|
+
exports.isPageInsideModule = isPageInsideModule;
|
|
5
|
+
exports.logModuleRouteGated = logModuleRouteGated;
|
|
6
|
+
const interface_api_1 = require("@antelopejs/interface-api");
|
|
7
|
+
const decorators_1 = require("@antelopejs/interface-core/decorators");
|
|
8
|
+
const logging_1 = require("@antelopejs/interface-core/logging");
|
|
9
|
+
const request_tenant_1 = require("../request-tenant");
|
|
10
|
+
const types_1 = require("./types");
|
|
11
|
+
exports.RequestTenantIdProperty = (0, decorators_1.MakeParameterAndPropertyDecorator)((target, key, index) => {
|
|
12
|
+
(0, interface_api_1.SetParameterProvider)(target, key, index, (ctx) => (0, request_tenant_1.getRequestTenantId)(ctx));
|
|
13
|
+
});
|
|
14
|
+
function isPageInsideModule(pageInfo) {
|
|
15
|
+
return pageInfo.fullSlug.startsWith(`${types_1.MODULE_URL_PREFIX}/`);
|
|
16
|
+
}
|
|
17
|
+
const loggedModuleSlugs = new Set();
|
|
18
|
+
function logModuleRouteGated(fullSlug) {
|
|
19
|
+
if (loggedModuleSlugs.has(fullSlug))
|
|
20
|
+
return;
|
|
21
|
+
loggedModuleSlugs.add(fullSlug);
|
|
22
|
+
logging_1.Logging.Info(`[dms] Module route ${fullSlug}/... gated owner-only`);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=metadata-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-helpers.js","sourceRoot":"","sources":["../../src/page/metadata-helpers.ts"],"names":[],"mappings":";;;AA+BA,gDAEC;AAID,kDAIC;AAnCD,6DAGmC;AACnC,sEAA0F;AAC1F,gEAA6D;AAK7D,sDAAuD;AAMvD,mCAA2D;AAC9C,QAAA,uBAAuB,GAAG,IAAA,8CAAiC,EACtE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACrB,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE,CAC/D,IAAA,mCAAkB,EAAC,GAAG,CAAC,CACxB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAgB,kBAAkB,CAAC,QAAkB;IACnD,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,yBAAiB,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO;IAC5C,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,iBAAO,CAAC,IAAI,CAAC,sBAAsB,QAAQ,uBAAuB,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { type ControllerClass } from "@antelopejs/interface-api";
|
|
2
|
+
import { type Component, type ComponentInfo } from "../component";
|
|
3
|
+
import { type TenantGuardOptions } from "../guards";
|
|
4
|
+
import { type MenuOptions, type PageInfo } from "./types";
|
|
5
|
+
export declare class PageMetadata {
|
|
6
|
+
readonly target: ControllerClass;
|
|
7
|
+
static key: symbol;
|
|
8
|
+
pageInfo?: PageInfo;
|
|
9
|
+
layout?: ComponentInfo;
|
|
10
|
+
components: Record<string, Component>;
|
|
11
|
+
guardOptions?: TenantGuardOptions;
|
|
12
|
+
private layoutRef?;
|
|
13
|
+
private ownComponents;
|
|
14
|
+
private componentMap;
|
|
15
|
+
private nativeUploadFields;
|
|
16
|
+
ComponentPermissionIds(component: Component): string[];
|
|
17
|
+
private componentTrees;
|
|
18
|
+
private notifiedComponents;
|
|
19
|
+
private extensionEntries;
|
|
20
|
+
private extensionSyncQueue;
|
|
21
|
+
private ownComponentsReady;
|
|
22
|
+
private ownComponentsGate;
|
|
23
|
+
private releaseOwnComponentsGate;
|
|
24
|
+
private detached;
|
|
25
|
+
private registration;
|
|
26
|
+
private pagePermissionId;
|
|
27
|
+
private registeredPagePermission;
|
|
28
|
+
private skipComponentPermissions;
|
|
29
|
+
private moduleScoped;
|
|
30
|
+
constructor(target: ControllerClass);
|
|
31
|
+
inherit(parent: PageMetadata): void;
|
|
32
|
+
SetComponent(id: string, component: Component): void;
|
|
33
|
+
SetInfo(id: string, fullSlug: string, menuOptions: MenuOptions, pageLayout?: ComponentInfo): void;
|
|
34
|
+
Register(): Promise<void>;
|
|
35
|
+
private publish;
|
|
36
|
+
Dispose(): void;
|
|
37
|
+
SyncExtensions(): Promise<void>;
|
|
38
|
+
AcceptsExtensions(): boolean;
|
|
39
|
+
private awaitOwnComponents;
|
|
40
|
+
private closeOwnComponentsGate;
|
|
41
|
+
private applyRegisteredExtensions;
|
|
42
|
+
private registerPagePermission;
|
|
43
|
+
private registerLayoutRoute;
|
|
44
|
+
private resolvePageLayout;
|
|
45
|
+
private registersComponentPermissions;
|
|
46
|
+
private componentPermissionId;
|
|
47
|
+
private actionPermissions;
|
|
48
|
+
private prepareComponent;
|
|
49
|
+
private bindNativeUploadFields;
|
|
50
|
+
private bindUploadOptions;
|
|
51
|
+
private registerNativeUploadField;
|
|
52
|
+
private registerComponentNode;
|
|
53
|
+
private notifyPageCreated;
|
|
54
|
+
private ownsPagePermissions;
|
|
55
|
+
private unregisterComponent;
|
|
56
|
+
private unregisterComponentNode;
|
|
57
|
+
private addExtension;
|
|
58
|
+
private dropExtension;
|
|
59
|
+
private extensionComponentPath;
|
|
60
|
+
private rebuildLayoutComponents;
|
|
61
|
+
private applyAuthDecorators;
|
|
62
|
+
}
|