@antelopejs/interface-dms 0.13.2 → 0.14.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 +243 -2
- package/README.md +9 -9
- package/dist/attachments.js +1 -1
- package/dist/attachments.js.map +1 -1
- package/dist/auth/db/models/sessions.model.d.ts +3 -3
- package/dist/auth/db/models/userExternalIdentities.model.d.ts +3 -3
- package/dist/auth/db/models/users.model.d.ts +3 -3
- package/dist/auth/db/tables/users.table.d.ts +3 -3
- package/dist/auth/index.js +3 -5
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/internal/jwt-auth-decorator.js +1 -2
- package/dist/auth/internal/jwt-auth-decorator.js.map +1 -1
- package/dist/auth/internal/request-authenticators.js +3 -5
- package/dist/auth/internal/request-authenticators.js.map +1 -1
- package/dist/auth/internal/request-principal.js +2 -2
- package/dist/auth/internal/request-principal.js.map +1 -1
- package/dist/base/activity-feed.d.ts +2 -2
- package/dist/base/banner.js +2 -2
- package/dist/base/banner.js.map +1 -1
- package/dist/base/block-registry/helpers.js +1 -1
- package/dist/base/block-registry/helpers.js.map +1 -1
- package/dist/base/block-registry/internal/describe.js +9 -14
- package/dist/base/block-registry/internal/describe.js.map +1 -1
- package/dist/base/block-registry/registry.js +2 -2
- package/dist/base/block-registry/registry.js.map +1 -1
- package/dist/base/block-registry/types.d.ts +1 -1
- package/dist/base/chart-card.js +8 -6
- package/dist/base/chart-card.js.map +1 -1
- package/dist/base/chart-schemas.d.ts +70 -70
- package/dist/base/chart.d.ts +1 -1
- package/dist/base/chart.js +1 -1
- package/dist/base/chart.js.map +1 -1
- package/dist/base/code-block.d.ts +1 -1
- package/dist/base/code-block.js +2 -2
- package/dist/base/code-block.js.map +1 -1
- package/dist/base/data-types/compare-types.js +18 -14
- package/dist/base/data-types/compare-types.js.map +1 -1
- package/dist/base/data-types/default/choices.d.ts +1 -1
- package/dist/base/data-types/default/choices.js +17 -16
- package/dist/base/data-types/default/choices.js.map +1 -1
- package/dist/base/data-types/default/inputs.d.ts +1 -1
- package/dist/base/data-types/default/numbers.d.ts +2 -1
- package/dist/base/data-types/default/numbers.js +8 -5
- package/dist/base/data-types/default/numbers.js.map +1 -1
- package/dist/base/data-types/default/relations.d.ts +0 -6
- package/dist/base/data-types/default/relations.js +14 -7
- package/dist/base/data-types/default/relations.js.map +1 -1
- package/dist/base/data-types/default-types.d.ts +0 -1
- package/dist/base/data-types/default-types.js +0 -2
- package/dist/base/data-types/default-types.js.map +1 -1
- package/dist/base/data-types/index.js +0 -1
- package/dist/base/data-types/index.js.map +1 -1
- package/dist/base/data-types/internal/relation-endpoints.js +5 -3
- package/dist/base/data-types/internal/relation-endpoints.js.map +1 -1
- package/dist/base/data-types/internal/table-view-meta-slot.d.ts +17 -0
- package/dist/base/data-types/internal/table-view-meta-slot.js +25 -0
- package/dist/base/data-types/internal/table-view-meta-slot.js.map +1 -0
- package/dist/base/empty-state.d.ts +1 -1
- package/dist/base/export-jobs.d.ts +47 -19
- package/dist/base/export-jobs.js +39 -4
- package/dist/base/export-jobs.js.map +1 -1
- package/dist/base/form-schema.d.ts +0 -1
- package/dist/base/form-schema.js +12 -12
- package/dist/base/form-schema.js.map +1 -1
- package/dist/base/grid.js +1 -1
- package/dist/base/grid.js.map +1 -1
- package/dist/base/guard.d.ts +4 -4
- package/dist/base/guard.js +1 -1
- package/dist/base/guard.js.map +1 -1
- package/dist/base/helpers/archive-mode-helpers.js +4 -5
- package/dist/base/helpers/archive-mode-helpers.js.map +1 -1
- package/dist/base/helpers/file-refs.js +14 -24
- package/dist/base/helpers/file-refs.js.map +1 -1
- package/dist/base/internal/chart.d.ts +1 -1
- package/dist/base/internal/chart.js +1 -1
- package/dist/base/internal/chart.js.map +1 -1
- package/dist/base/internal/display.js +1 -3
- package/dist/base/internal/display.js.map +1 -1
- package/dist/base/internal/export-jobs.d.ts +11 -0
- package/dist/base/internal/export-jobs.js +11 -0
- package/dist/base/internal/export-jobs.js.map +1 -1
- package/dist/base/internal/form-block-schema.d.ts +1 -1
- package/dist/base/internal/form-block-schema.js +1 -1
- package/dist/base/internal/form-block-schema.js.map +1 -1
- package/dist/base/internal/form-schema-validation.js +1 -2
- package/dist/base/internal/form-schema-validation.js.map +1 -1
- package/dist/base/internal/series-bucket.js +2 -2
- package/dist/base/internal/series-bucket.js.map +1 -1
- package/dist/base/key-value-list.d.ts +10 -10
- package/dist/base/kpi-card.js +1 -2
- package/dist/base/kpi-card.js.map +1 -1
- package/dist/base/meter.d.ts +1 -1
- package/dist/base/placeholder.js +1 -1
- package/dist/base/placeholder.js.map +1 -1
- package/dist/base/query-response.js +2 -3
- package/dist/base/query-response.js.map +1 -1
- package/dist/base/searchable.d.ts +3 -3
- package/dist/base/searchable.js.map +1 -1
- package/dist/base/stack.js +1 -1
- package/dist/base/stack.js.map +1 -1
- package/dist/base/tab.js +2 -3
- package/dist/base/tab.js.map +1 -1
- package/dist/base/table-view/data-functions.d.ts +10 -11
- package/dist/base/table-view/data-functions.js.map +1 -1
- package/dist/base/table-view/factory.js +2 -0
- package/dist/base/table-view/factory.js.map +1 -1
- package/dist/base/table-view/internal/archive-filter.d.ts +21 -0
- package/dist/base/table-view/internal/archive-filter.js +48 -0
- package/dist/base/table-view/internal/archive-filter.js.map +1 -0
- package/dist/base/table-view/internal/auth.d.ts +2 -2
- package/dist/base/table-view/internal/auth.js +1 -3
- package/dist/base/table-view/internal/auth.js.map +1 -1
- package/dist/base/table-view/internal/column-conditions.js +3 -12
- package/dist/base/table-view/internal/column-conditions.js.map +1 -1
- package/dist/base/table-view/internal/data-functions.d.ts +2 -2
- package/dist/base/table-view/internal/erase-row-type.d.ts +4 -0
- package/dist/base/table-view/internal/erase-row-type.js +12 -0
- package/dist/base/table-view/internal/erase-row-type.js.map +1 -0
- package/dist/base/table-view/internal/factory-helpers.js +9 -5
- package/dist/base/table-view/internal/factory-helpers.js.map +1 -1
- package/dist/base/table-view/internal/factory-lifecycle-created.js +3 -2
- package/dist/base/table-view/internal/factory-lifecycle-created.js.map +1 -1
- package/dist/base/table-view/internal/factory-lifecycle-options.js +2 -2
- package/dist/base/table-view/internal/factory-lifecycle-options.js.map +1 -1
- package/dist/base/table-view/internal/factory-private-actions.js +5 -6
- package/dist/base/table-view/internal/factory-private-actions.js.map +1 -1
- package/dist/base/table-view/internal/footer.js +21 -13
- package/dist/base/table-view/internal/footer.js.map +1 -1
- package/dist/base/table-view/internal/guards.d.ts +1 -1
- package/dist/base/table-view/internal/guards.js +14 -12
- package/dist/base/table-view/internal/guards.js.map +1 -1
- package/dist/base/table-view/internal/meta-helpers.js +7 -3
- package/dist/base/table-view/internal/meta-helpers.js.map +1 -1
- package/dist/base/table-view/internal/meta.js +18 -8
- package/dist/base/table-view/internal/meta.js.map +1 -1
- package/dist/base/table-view/internal/nav-badges.js +4 -7
- package/dist/base/table-view/internal/nav-badges.js.map +1 -1
- package/dist/base/table-view/internal/option-views.d.ts +7 -4
- package/dist/base/table-view/internal/realtime.js +8 -13
- package/dist/base/table-view/internal/realtime.js.map +1 -1
- package/dist/base/table-view/internal/request-filter.js +2 -3
- package/dist/base/table-view/internal/request-filter.js.map +1 -1
- package/dist/base/table-view/internal/resource-form.js +3 -1
- package/dist/base/table-view/internal/resource-form.js.map +1 -1
- package/dist/base/table-view/internal/row-actions-schema.d.ts +6 -6
- package/dist/base/table-view/internal/row-rules.js +2 -2
- package/dist/base/table-view/internal/row-rules.js.map +1 -1
- package/dist/base/table-view/internal/tabs.js +4 -6
- package/dist/base/table-view/internal/tabs.js.map +1 -1
- package/dist/base/table-view/internal/writer.js +2 -2
- package/dist/base/table-view/internal/writer.js.map +1 -1
- package/dist/base/table-view/meta.d.ts +5 -5
- package/dist/base/table-view/meta.js +9 -3
- package/dist/base/table-view/meta.js.map +1 -1
- package/dist/base/table-view/routes.d.ts +39 -12
- package/dist/base/table-view/routes.js +0 -1
- package/dist/base/table-view/routes.js.map +1 -1
- package/dist/base/table-view/schema.d.ts +127 -127
- package/dist/base/top-list-card.d.ts +4 -4
- package/dist/base/top-list-card.js +1 -2
- package/dist/base/top-list-card.js.map +1 -1
- package/dist/component-options/data-type.d.ts +2 -1
- package/dist/component-options/data-type.js +6 -2
- package/dist/component-options/data-type.js.map +1 -1
- package/dist/component-slots.js +1 -1
- package/dist/component-slots.js.map +1 -1
- package/dist/connection-access.d.ts +46 -0
- package/dist/connection-access.js +73 -0
- package/dist/connection-access.js.map +1 -0
- package/dist/data-controllers/members.d.ts +15 -2
- package/dist/data-controllers/roles.d.ts +15 -2
- package/dist/db/internal/exportJobs.model.d.ts +3 -3
- package/dist/db/internal/inviteResolutions.model.d.ts +3 -3
- package/dist/db/internal/tenantLifecycle.model.d.ts +4 -4
- package/dist/db/internal/tenantLifecycle.model.js +2 -3
- package/dist/db/internal/tenantLifecycle.model.js.map +1 -1
- package/dist/db/models/roles.model.d.ts +3 -3
- package/dist/db/models/tenantMembers.model.d.ts +3 -3
- package/dist/db/models/tenants.model.d.ts +3 -3
- package/dist/db/models/user_invites.model.d.ts +18 -3
- package/dist/db/models/user_invites.model.js +28 -0
- package/dist/db/models/user_invites.model.js.map +1 -1
- package/dist/db/tables/user_invites.table.d.ts +6 -1
- package/dist/db/tables/user_invites.table.js +3 -0
- package/dist/db/tables/user_invites.table.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/component-permissions.js +2 -2
- package/dist/internal/component-permissions.js.map +1 -1
- package/dist/internal/component-serialization.js +5 -3
- package/dist/internal/component-serialization.js.map +1 -1
- package/dist/internal/component-slots.js +8 -10
- package/dist/internal/component-slots.js.map +1 -1
- package/dist/internal/component-watches.js +5 -4
- package/dist/internal/component-watches.js.map +1 -1
- package/dist/internal/invite-content.d.ts +8 -0
- package/dist/internal/invite-content.js +36 -0
- package/dist/internal/invite-content.js.map +1 -0
- package/dist/internal/tenant-ownership.d.ts +5 -4
- package/dist/internal/tenant-ownership.js +5 -4
- package/dist/internal/tenant-ownership.js.map +1 -1
- package/dist/internal/uploads.js +5 -2
- package/dist/internal/uploads.js.map +1 -1
- package/dist/invite-extensions/internal/delivery.d.ts +3 -2
- package/dist/invite-extensions/internal/delivery.js +3 -2
- package/dist/invite-extensions/internal/delivery.js.map +1 -1
- package/dist/invite-extensions/internal/form-slot.js +4 -7
- package/dist/invite-extensions/internal/form-slot.js.map +1 -1
- package/dist/invite-extensions/registry.js +5 -6
- package/dist/invite-extensions/registry.js.map +1 -1
- package/dist/invite-resolution.d.ts +5 -1
- package/dist/invite-resolution.js +10 -26
- package/dist/invite-resolution.js.map +1 -1
- package/dist/invites.d.ts +5 -0
- package/dist/invites.js +27 -1
- package/dist/invites.js.map +1 -1
- package/dist/notifications/builder.js +17 -21
- package/dist/notifications/builder.js.map +1 -1
- package/dist/notifications/internal.d.ts +0 -1
- package/dist/notifications/internal.js +0 -1
- package/dist/notifications/internal.js.map +1 -1
- package/dist/notifications/sendable.d.ts +1 -2
- package/dist/notifications/sendable.js +1 -12
- package/dist/notifications/sendable.js.map +1 -1
- package/dist/notifications/types.d.ts +1 -4
- package/dist/page/categories.d.ts +6 -0
- package/dist/page/categories.js +10 -3
- package/dist/page/categories.js.map +1 -1
- package/dist/page/controllers.d.ts +6 -9
- package/dist/page/controllers.js +9 -7
- package/dist/page/controllers.js.map +1 -1
- package/dist/page/internal/categories.js +43 -32
- package/dist/page/internal/categories.js.map +1 -1
- package/dist/page/internal/category-resolution.d.ts +31 -0
- package/dist/page/internal/category-resolution.js +63 -0
- package/dist/page/internal/category-resolution.js.map +1 -0
- package/dist/page/internal/component-target.js +2 -2
- package/dist/page/internal/component-target.js.map +1 -1
- package/dist/page/internal/controller-options.js +2 -2
- package/dist/page/internal/controller-options.js.map +1 -1
- package/dist/page/internal/extension-assembly.js +6 -9
- package/dist/page/internal/extension-assembly.js.map +1 -1
- package/dist/page/internal/layout-filter.js +5 -5
- package/dist/page/internal/layout-filter.js.map +1 -1
- package/dist/page/internal/metadata-extension-contributions.js +1 -2
- package/dist/page/internal/metadata-extension-contributions.js.map +1 -1
- package/dist/page/internal/metadata-info.js +19 -7
- package/dist/page/internal/metadata-info.js.map +1 -1
- package/dist/page/internal/metadata-layout.d.ts +3 -2
- package/dist/page/internal/metadata-layout.js.map +1 -1
- package/dist/page/internal/metadata-lifecycle.js +1 -4
- package/dist/page/internal/metadata-lifecycle.js.map +1 -1
- package/dist/page/internal/metadata-publish.js +7 -6
- package/dist/page/internal/metadata-publish.js.map +1 -1
- package/dist/page/internal/metadata-registration.js +8 -6
- package/dist/page/internal/metadata-registration.js.map +1 -1
- package/dist/page/internal/metadata-upload-registration.js +4 -8
- package/dist/page/internal/metadata-upload-registration.js.map +1 -1
- package/dist/page/internal/metadata-uploads.js +4 -7
- package/dist/page/internal/metadata-uploads.js.map +1 -1
- package/dist/page/internal/nav-badges.js +2 -3
- package/dist/page/internal/nav-badges.js.map +1 -1
- package/dist/page/internal/page-controller.d.ts +18 -0
- package/dist/page/internal/page-controller.js +36 -0
- package/dist/page/internal/page-controller.js.map +1 -0
- package/dist/page/internal/page-record.js +11 -22
- package/dist/page/internal/page-record.js.map +1 -1
- package/dist/page/internal/table-view-ids.js +4 -3
- package/dist/page/internal/table-view-ids.js.map +1 -1
- package/dist/page/metadata.d.ts +3 -3
- package/dist/page/metadata.js +6 -4
- package/dist/page/metadata.js.map +1 -1
- package/dist/page/types.d.ts +8 -2
- package/dist/page.d.ts +1 -1
- package/dist/page.js +2 -1
- package/dist/page.js.map +1 -1
- package/dist/permissions.d.ts +2 -1
- package/dist/permissions.js +5 -2
- package/dist/permissions.js.map +1 -1
- package/dist/request-tenant.js +2 -2
- package/dist/request-tenant.js.map +1 -1
- package/dist/tenant-lifecycle.js +7 -6
- package/dist/tenant-lifecycle.js.map +1 -1
- package/dist/tenant-provisioning.js +1 -1
- package/dist/tenant-provisioning.js.map +1 -1
- package/dist/types.d.ts +7 -3
- package/dist/uploads.js +7 -8
- package/dist/uploads.js.map +1 -1
- package/dist/utils/internal/controller-class.d.ts +9 -0
- package/dist/utils/internal/controller-class.js +19 -0
- package/dist/utils/internal/controller-class.js.map +1 -0
- package/dist/utils/internal/row-instance.js +10 -2
- package/dist/utils/internal/row-instance.js.map +1 -1
- package/dist/utils/internal/value-parser.js +1 -6
- package/dist/utils/internal/value-parser.js.map +1 -1
- package/docs/1.core/11.modules-and-dynamic-menus.md +3 -3
- package/docs/1.core/2.pages-and-modules.md +2 -1
- package/docs/1.core/4.permissions.md +2 -2
- package/docs/1.core/5.tenancy.md +1 -1
- package/docs/1.core/6.invites.md +3 -1
- package/docs/2.auth/2.authentication.md +1 -1
- package/docs/2.auth/3.tokens-and-sessions.md +1 -1
- package/docs/3.base/1.introduction.md +1 -1
- package/docs/3.base/14.table-events-and-helpers.md +1 -1
- package/docs/3.base/15.table-sources-and-gates.md +14 -2
- package/docs/3.base/3.forms.md +1 -1
- package/docs/3.base/4.tables.md +1 -1
- package/docs/3.base/5.charts-and-widgets.md +3 -3
- package/docs/3.base/8.data-types.md +1 -1
- package/docs/3.base/9.helpers.md +16 -5
- package/docs/4.notifications/3.sending.md +0 -11
- package/docs/index.md +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.installTableViewMeta = installTableViewMeta;
|
|
4
|
+
exports.installedTableViewMeta = installedTableViewMeta;
|
|
5
|
+
let tableViewMeta;
|
|
6
|
+
/**
|
|
7
|
+
* Hand the data types the class they read a controller's table metadata
|
|
8
|
+
* through. `TableViewMeta` installs itself as it evaluates: `table-view/meta`
|
|
9
|
+
* reaches the data types through its own imports, so they cannot import it.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
function installTableViewMeta(meta) {
|
|
14
|
+
tableViewMeta = meta;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The installed `TableViewMeta`, or undefined while `table-view/meta` has not
|
|
18
|
+
* evaluated, when no controller can carry table metadata yet.
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
function installedTableViewMeta() {
|
|
23
|
+
return tableViewMeta;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=table-view-meta-slot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-view-meta-slot.js","sourceRoot":"","sources":["../../../../src/base/data-types/internal/table-view-meta-slot.ts"],"names":[],"mappings":";;AAYA,oDAEC;AAQD,wDAEC;AArBD,IAAI,aAA+C,CAAC;AAEpD;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,IAA0B;IAC7D,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB;IACpC,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -130,8 +130,8 @@ export declare const EmptyStateSchema: z.ZodObject<{
|
|
|
130
130
|
} | undefined;
|
|
131
131
|
size?: "sm" | "md" | "lg" | undefined;
|
|
132
132
|
variant?: "error" | "no-data" | "no-result" | "no-access" | undefined;
|
|
133
|
-
tone?: "primary" | "neutral" | "secondary" | "success" | "warning" | "error" | "info" | undefined;
|
|
134
133
|
card?: boolean | undefined;
|
|
134
|
+
tone?: "primary" | "neutral" | "secondary" | "success" | "warning" | "error" | "info" | undefined;
|
|
135
135
|
actions?: {
|
|
136
136
|
label: string;
|
|
137
137
|
to: string;
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import type { RequestContext } from "@antelopejs/interface-api";
|
|
11
11
|
import type { User } from "../auth/db";
|
|
12
|
+
import type { ZodType, ZodTypeDef } from "zod";
|
|
12
13
|
import type { ExportJob } from "../db/tables/exportJobs.table";
|
|
13
14
|
import type { ExportStatus } from "./types/export-status";
|
|
14
15
|
/** Lifetime of a stored export, enforced by the `sweep-stale-exports` cron. */
|
|
@@ -56,7 +57,8 @@ export interface ExportJobGenerateContext<TContext = unknown> {
|
|
|
56
57
|
jobId: string;
|
|
57
58
|
tenantId: string;
|
|
58
59
|
localPath: string;
|
|
59
|
-
context
|
|
60
|
+
/** The `context` passed to `runExportJob`: `undefined` when it passed none. */
|
|
61
|
+
context: TContext | undefined;
|
|
60
62
|
reportProgress: (progress: number) => Promise<void>;
|
|
61
63
|
/** Aborted when the job exceeds `maxExecutionTimeMs`. */
|
|
62
64
|
signal: AbortSignal;
|
|
@@ -87,13 +89,30 @@ export interface RunExportJobOptions<TContext = unknown> {
|
|
|
87
89
|
*/
|
|
88
90
|
generate: (ctx: ExportJobGenerateContext<TContext>) => Promise<ExportJobResultSummary | void>;
|
|
89
91
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
/**
|
|
93
|
+
* An access check of your own, run after the owner and scope checks: the
|
|
94
|
+
* context the job was started with is read back through `contextSchema`, and
|
|
95
|
+
* `isOwnedBy` decides on it.
|
|
96
|
+
*/
|
|
97
|
+
export interface ExportJobContextCheck<TContext> {
|
|
98
|
+
/**
|
|
99
|
+
* A zod 3 schema that reads back the `context` the job was started with,
|
|
100
|
+
* from the JSON it was stored as: `null` for a job started without one, a
|
|
101
|
+
* `Date` as its ISO string. A stored context the schema refuses refuses the
|
|
102
|
+
* job.
|
|
103
|
+
*/
|
|
104
|
+
contextSchema: ZodType<TContext, ZodTypeDef, unknown>;
|
|
105
|
+
/** Extra ACL beyond the userId check, on the context `contextSchema` read. */
|
|
106
|
+
isOwnedBy: (record: ExportJob, context: TContext, user: User) => boolean;
|
|
107
|
+
}
|
|
108
|
+
/** An optional {@link ExportJobContextCheck}: both of its members, or neither. */
|
|
109
|
+
export type ExportJobOwnership<TContext = unknown> = ExportJobContextCheck<TContext> | {
|
|
110
|
+
contextSchema?: undefined;
|
|
111
|
+
isOwnedBy?: undefined;
|
|
112
|
+
};
|
|
113
|
+
export type ExportJobAccessOptions<TContext = unknown> = ExportJobOwnership<TContext> & {
|
|
95
114
|
scope?: string;
|
|
96
|
-
}
|
|
115
|
+
};
|
|
97
116
|
export interface ExportJobTicket {
|
|
98
117
|
jobId: string;
|
|
99
118
|
extension: string;
|
|
@@ -124,19 +143,13 @@ export declare const getExporter: (format: string) => Promise<Exporter>;
|
|
|
124
143
|
/** Looks up a delivery mode by id; the DMS ships `download` and `email`. */
|
|
125
144
|
export declare const getDeliverer: (delivery: string) => Promise<Deliverer>;
|
|
126
145
|
/**
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
* is why the erased shape widens the value and narrows the callbacks -- that
|
|
131
|
-
* way every `TContext` fits it without an assertion.
|
|
146
|
+
* The access options a proxy takes: the caller's
|
|
147
|
+
* {@link ExportJobContextCheck} folded into one check that reads the job's
|
|
148
|
+
* context itself, so no context type crosses the proxy.
|
|
132
149
|
*/
|
|
133
|
-
interface ErasedRunExportJobOptions extends Omit<RunExportJobOptions, "context" | "generate"> {
|
|
134
|
-
context?: unknown;
|
|
135
|
-
generate: (ctx: ExportJobGenerateContext<never>) => Promise<ExportJobResultSummary | void>;
|
|
136
|
-
}
|
|
137
150
|
interface ErasedExportJobAccessOptions {
|
|
138
151
|
scope?: string;
|
|
139
|
-
isOwnedBy?: (record: ExportJob,
|
|
152
|
+
isOwnedBy?: (record: ExportJob, user: User) => boolean;
|
|
140
153
|
}
|
|
141
154
|
/**
|
|
142
155
|
* The proxies behind the generic entry points below. `ImplementInterface`
|
|
@@ -146,17 +159,32 @@ interface ErasedExportJobAccessOptions {
|
|
|
146
159
|
*
|
|
147
160
|
* @internal
|
|
148
161
|
*/
|
|
149
|
-
export declare const runExportJobProxy: (options:
|
|
162
|
+
export declare const runExportJobProxy: (options: RunExportJobOptions<unknown>) => Promise<ExportJobTicket>;
|
|
150
163
|
/** @internal */
|
|
151
164
|
export declare const getExportJobStatusProxy: (ctx: RequestContext, user: User, jobId: string, access?: ErasedExportJobAccessOptions | undefined) => Promise<ExportJobStatus>;
|
|
152
165
|
/** @internal */
|
|
153
166
|
export declare const downloadExportJobProxy: (ctx: RequestContext, user: User, jobId: string, access?: ErasedExportJobAccessOptions | undefined) => Promise<void>;
|
|
154
|
-
/**
|
|
167
|
+
/**
|
|
168
|
+
* Starts an export job and returns the ticket its caller polls.
|
|
169
|
+
*
|
|
170
|
+
* A proxy carries no type parameter of its own, so the context type is erased
|
|
171
|
+
* on the way in: `generate` closes over the caller's own `context` and the
|
|
172
|
+
* engine stores it only.
|
|
173
|
+
*/
|
|
155
174
|
export declare function runExportJob<TContext = unknown>(options: RunExportJobOptions<TContext>): Promise<ExportJobTicket>;
|
|
175
|
+
/**
|
|
176
|
+
* The status of an export job its caller may read.
|
|
177
|
+
*
|
|
178
|
+
* @throws TypeError, at the call, when `access` gives `isOwnedBy` without
|
|
179
|
+
* `contextSchema`.
|
|
180
|
+
*/
|
|
156
181
|
export declare function getExportJobStatus<TContext = unknown>(ctx: RequestContext, user: User, jobId: string, access?: ExportJobAccessOptions<TContext>): Promise<ExportJobStatus>;
|
|
157
182
|
/**
|
|
158
183
|
* Streams a completed export job to the response. Returns once the pipe is
|
|
159
184
|
* started, not once it has drained.
|
|
185
|
+
*
|
|
186
|
+
* @throws TypeError, at the call, when `access` gives `isOwnedBy` without
|
|
187
|
+
* `contextSchema`.
|
|
160
188
|
*/
|
|
161
189
|
export declare function downloadExportJob<TContext = unknown>(ctx: RequestContext, user: User, jobId: string, access?: ExportJobAccessOptions<TContext>): Promise<void>;
|
|
162
190
|
/** Lists the caller's own export jobs, most recent first. */
|
package/dist/base/export-jobs.js
CHANGED
|
@@ -6,6 +6,7 @@ exports.getExportJobStatus = getExportJobStatus;
|
|
|
6
6
|
exports.downloadExportJob = downloadExportJob;
|
|
7
7
|
const interface_core_1 = require("@antelopejs/interface-core");
|
|
8
8
|
const time_1 = require("../utils/internal/time");
|
|
9
|
+
const export_jobs_1 = require("./internal/export-jobs");
|
|
9
10
|
/** Lifetime of a stored export, enforced by the `sweep-stale-exports` cron. */
|
|
10
11
|
exports.EXPORT_TTL_MS = time_1.MILLISECONDS_PER_DAY;
|
|
11
12
|
/** Query parameter carrying the job id on a delivered download link. */
|
|
@@ -17,6 +18,21 @@ exports.EMAIL_DELIVERY = "email";
|
|
|
17
18
|
exports.getExporter = (0, interface_core_1.InterfaceFunction)();
|
|
18
19
|
/** Looks up a delivery mode by id; the DMS ships `download` and `email`. */
|
|
19
20
|
exports.getDeliverer = (0, interface_core_1.InterfaceFunction)();
|
|
21
|
+
function eraseAccess(access) {
|
|
22
|
+
if (!access?.isOwnedBy)
|
|
23
|
+
return access;
|
|
24
|
+
const { contextSchema, isOwnedBy } = access;
|
|
25
|
+
if (!contextSchema) {
|
|
26
|
+
throw new TypeError("An export job access check gives isOwnedBy without the contextSchema it reads the job's context through");
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
scope: access.scope,
|
|
30
|
+
isOwnedBy: (record, user) => {
|
|
31
|
+
const context = (0, export_jobs_1.readExportJobContext)(record, contextSchema);
|
|
32
|
+
return context.success && isOwnedBy(record, context.data, user);
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
20
36
|
/**
|
|
21
37
|
* The proxies behind the generic entry points below. `ImplementInterface`
|
|
22
38
|
* binds a proxy only by walking this subpath's exports, so a module-private
|
|
@@ -30,19 +46,38 @@ exports.runExportJobProxy = (0, interface_core_1.InterfaceFunction)();
|
|
|
30
46
|
exports.getExportJobStatusProxy = (0, interface_core_1.InterfaceFunction)();
|
|
31
47
|
/** @internal */
|
|
32
48
|
exports.downloadExportJobProxy = (0, interface_core_1.InterfaceFunction)();
|
|
33
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* Starts an export job and returns the ticket its caller polls.
|
|
51
|
+
*
|
|
52
|
+
* A proxy carries no type parameter of its own, so the context type is erased
|
|
53
|
+
* on the way in: `generate` closes over the caller's own `context` and the
|
|
54
|
+
* engine stores it only.
|
|
55
|
+
*/
|
|
34
56
|
function runExportJob(options) {
|
|
35
|
-
|
|
57
|
+
const { context, generate } = options;
|
|
58
|
+
return (0, exports.runExportJobProxy)({
|
|
59
|
+
...options,
|
|
60
|
+
generate: (job) => generate({ ...job, context }),
|
|
61
|
+
});
|
|
36
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* The status of an export job its caller may read.
|
|
65
|
+
*
|
|
66
|
+
* @throws TypeError, at the call, when `access` gives `isOwnedBy` without
|
|
67
|
+
* `contextSchema`.
|
|
68
|
+
*/
|
|
37
69
|
function getExportJobStatus(ctx, user, jobId, access) {
|
|
38
|
-
return (0, exports.getExportJobStatusProxy)(ctx, user, jobId, access);
|
|
70
|
+
return (0, exports.getExportJobStatusProxy)(ctx, user, jobId, eraseAccess(access));
|
|
39
71
|
}
|
|
40
72
|
/**
|
|
41
73
|
* Streams a completed export job to the response. Returns once the pipe is
|
|
42
74
|
* started, not once it has drained.
|
|
75
|
+
*
|
|
76
|
+
* @throws TypeError, at the call, when `access` gives `isOwnedBy` without
|
|
77
|
+
* `contextSchema`.
|
|
43
78
|
*/
|
|
44
79
|
function downloadExportJob(ctx, user, jobId, access) {
|
|
45
|
-
return (0, exports.downloadExportJobProxy)(ctx, user, jobId, access);
|
|
80
|
+
return (0, exports.downloadExportJobProxy)(ctx, user, jobId, eraseAccess(access));
|
|
46
81
|
}
|
|
47
82
|
/** Lists the caller's own export jobs, most recent first. */
|
|
48
83
|
exports.listExportJobs = (0, interface_core_1.InterfaceFunction)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-jobs.js","sourceRoot":"","sources":["../../src/base/export-jobs.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"export-jobs.js","sourceRoot":"","sources":["../../src/base/export-jobs.ts"],"names":[],"mappings":";;;AA+OA,oCAQC;AAQD,gDAOC;AASD,8CAOC;AA5QD,+DAA+D;AAI/D,iDAA8D;AAC9D,wDAA8D;AAG9D,+EAA+E;AAClE,QAAA,aAAa,GAAG,2BAAoB,CAAC;AAElD,wEAAwE;AAC3D,QAAA,sBAAsB,GAAG,WAAW,CAAC;AACrC,QAAA,qBAAqB,GAAG,KAAK,CAAC;AAC9B,QAAA,gBAAgB,GAAG,UAAU,CAAC;AAC9B,QAAA,cAAc,GAAG,OAAO,CAAC;AA0ItC,4DAA4D;AAC/C,QAAA,WAAW,GAAG,IAAA,kCAAiB,GAAgC,CAAC;AAE7E,4EAA4E;AAC/D,QAAA,YAAY,GACvB,IAAA,kCAAiB,GAAmC,CAAC;AAYvD,SAAS,WAAW,CAClB,MAAoD;IAEpD,IAAI,CAAC,MAAM,EAAE,SAAS;QAAE,OAAO,MAAM,CAAC;IACtC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,SAAS,CACjB,yGAAyG,CAC1G,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAA,kCAAoB,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC5D,OAAO,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAC5B,IAAA,kCAAiB,GAAqD,CAAC;AAEzE,gBAAgB;AACH,QAAA,uBAAuB,GAClC,IAAA,kCAAiB,GAOd,CAAC;AAEN,gBAAgB;AACH,QAAA,sBAAsB,GACjC,IAAA,kCAAiB,GAOd,CAAC;AAEN;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,OAAsC;IAEtC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtC,OAAO,IAAA,yBAAiB,EAAC;QACvB,GAAG,OAAO;QACV,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC;KACjD,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,GAAmB,EACnB,IAAU,EACV,KAAa,EACb,MAAyC;IAEzC,OAAO,IAAA,+BAAuB,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC/B,GAAmB,EACnB,IAAU,EACV,KAAa,EACb,MAAyC;IAEzC,OAAO,IAAA,8BAAsB,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,6DAA6D;AAChD,QAAA,cAAc,GACzB,IAAA,kCAAiB,GAMd,CAAC"}
|
package/dist/base/form-schema.js
CHANGED
|
@@ -53,7 +53,7 @@ function adaptFieldValidationSchema(baseSchema, options) {
|
|
|
53
53
|
return schema;
|
|
54
54
|
}
|
|
55
55
|
const BOOLEAN_TYPE_ID = "boolean";
|
|
56
|
-
const ACCEPTANCE_COMPONENTS = new Set(["dms-checkbox"]);
|
|
56
|
+
const ACCEPTANCE_COMPONENTS = new Set(["dms-input-checkbox"]);
|
|
57
57
|
/** Whether a field is a box to tick: required, only `true` passes. */
|
|
58
58
|
function isAcceptanceField(field) {
|
|
59
59
|
if ((0, core_1.getDataTypeId)(field.type) !== BOOLEAN_TYPE_ID)
|
|
@@ -101,7 +101,7 @@ exports.Form = Form;
|
|
|
101
101
|
var FormComponents;
|
|
102
102
|
(function (FormComponents) {
|
|
103
103
|
function InputCheckbox(options) {
|
|
104
|
-
return (0, form_schema_components_1.formComponent)("dms-checkbox", options);
|
|
104
|
+
return (0, form_schema_components_1.formComponent)("dms-input-checkbox", options);
|
|
105
105
|
}
|
|
106
106
|
FormComponents.InputCheckbox = InputCheckbox;
|
|
107
107
|
/** A boolean as a bordered card: an icon, a title and a switch. */
|
|
@@ -121,7 +121,7 @@ var FormComponents;
|
|
|
121
121
|
FormComponents.InputSegmentedSelect = InputSegmentedSelect;
|
|
122
122
|
/** Rows of fields, added, removed and reordered (`ArrayType`). */
|
|
123
123
|
function InputRepeater(options) {
|
|
124
|
-
return (0, form_schema_components_1.formComponent)("dms-repeater", options);
|
|
124
|
+
return (0, form_schema_components_1.formComponent)("dms-input-repeater", options);
|
|
125
125
|
}
|
|
126
126
|
FormComponents.InputRepeater = InputRepeater;
|
|
127
127
|
/** Pairs of a name and a value (`KeyValueType`). */
|
|
@@ -186,31 +186,31 @@ var FormComponents;
|
|
|
186
186
|
}
|
|
187
187
|
FormComponents.InputRadioGroup = InputRadioGroup;
|
|
188
188
|
function InputSelect(options) {
|
|
189
|
-
return (0, form_schema_components_1.formComponent)("dms-select", options);
|
|
189
|
+
return (0, form_schema_components_1.formComponent)("dms-input-select", options);
|
|
190
190
|
}
|
|
191
191
|
FormComponents.InputSelect = InputSelect;
|
|
192
192
|
function InputRelation(options) {
|
|
193
|
-
return (0, form_schema_components_1.formComponent)("dms-relation", options);
|
|
193
|
+
return (0, form_schema_components_1.formComponent)("dms-input-relation", options);
|
|
194
194
|
}
|
|
195
195
|
FormComponents.InputRelation = InputRelation;
|
|
196
196
|
function InputCascader(options) {
|
|
197
|
-
return (0, form_schema_components_1.formComponent)("dms-cascader", options);
|
|
197
|
+
return (0, form_schema_components_1.formComponent)("dms-input-cascader", options);
|
|
198
198
|
}
|
|
199
199
|
FormComponents.InputCascader = InputCascader;
|
|
200
200
|
function InputSlider(options) {
|
|
201
|
-
return (0, form_schema_components_1.formComponent)("dms-slider", options);
|
|
201
|
+
return (0, form_schema_components_1.formComponent)("dms-input-slider", options);
|
|
202
202
|
}
|
|
203
203
|
FormComponents.InputSlider = InputSlider;
|
|
204
204
|
function InputSwitch(options) {
|
|
205
|
-
return (0, form_schema_components_1.formComponent)("dms-switch", options);
|
|
205
|
+
return (0, form_schema_components_1.formComponent)("dms-input-switch", options);
|
|
206
206
|
}
|
|
207
207
|
FormComponents.InputSwitch = InputSwitch;
|
|
208
208
|
function InputTextarea(options) {
|
|
209
|
-
return (0, form_schema_components_1.formComponent)("dms-textarea", options);
|
|
209
|
+
return (0, form_schema_components_1.formComponent)("dms-input-textarea", options);
|
|
210
210
|
}
|
|
211
211
|
FormComponents.InputTextarea = InputTextarea;
|
|
212
212
|
function Calendar(options) {
|
|
213
|
-
return (0, form_schema_components_1.formComponent)("dms-calendar", options);
|
|
213
|
+
return (0, form_schema_components_1.formComponent)("dms-input-calendar", options);
|
|
214
214
|
}
|
|
215
215
|
FormComponents.Calendar = Calendar;
|
|
216
216
|
function DatePicker(options) {
|
|
@@ -230,11 +230,11 @@ var FormComponents;
|
|
|
230
230
|
}
|
|
231
231
|
FormComponents.RichText = RichText;
|
|
232
232
|
function File(options) {
|
|
233
|
-
return (0, form_schema_components_1.formComponent)("dms-file", options);
|
|
233
|
+
return (0, form_schema_components_1.formComponent)("dms-input-file", options);
|
|
234
234
|
}
|
|
235
235
|
FormComponents.File = File;
|
|
236
236
|
function Image(options) {
|
|
237
|
-
return (0, form_schema_components_1.formComponent)("dms-image", options);
|
|
237
|
+
return (0, form_schema_components_1.formComponent)("dms-input-image", options);
|
|
238
238
|
}
|
|
239
239
|
FormComponents.Image = Image;
|
|
240
240
|
})(FormComponents || (exports.FormComponents = FormComponents = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-schema.js","sourceRoot":"","sources":["../../src/base/form-schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAgDA,gEAsBC;AAMD,8CAIC;AAED,0CAIC;AAGD,kCAOC;AAID,gCAOC;AAED,kDAIC;AAhHD,wBAAsB;AACtB,sBAAoB;AACpB,6BAAwB;AACxB,8BAA4B;AAC5B,4CAAkD;AAIlD,wCAAsC;AAWtC,8EAI2C;AAC3C,8EAK2C;AAE3C,sDAAoC;AAapC;;GAEG;AACH,SAAgB,0BAA0B,CACxC,UAAwB,EACxB,OAA+B;IAE/B,IAAI,MAAM,GAAG,UAAU,CAAC;IAExB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,GAAG,IAAA,2CAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;SAAM,IAAI,MAAM,YAAY,OAAC,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;SAAM,IAAI,MAAM,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,eAAe,GAAG,SAAS,CAAC;AAClC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"form-schema.js","sourceRoot":"","sources":["../../src/base/form-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/base/grid.js
CHANGED
|
@@ -6,7 +6,7 @@ exports.GridRow = GridRow;
|
|
|
6
6
|
const component_1 = require("../component");
|
|
7
7
|
const zod_1 = require("zod");
|
|
8
8
|
const block_registry_1 = require("./block-registry");
|
|
9
|
-
const GRID_COMPONENT_NAME = "dms-grid";
|
|
9
|
+
const GRID_COMPONENT_NAME = "dms-grid-block";
|
|
10
10
|
const GRID_ROW_COMPONENT_NAME = "dms-grid-row";
|
|
11
11
|
const GRID_DEFAULT_GAP = "1rem";
|
|
12
12
|
const GRID_DEFAULT_MIN_COLUMN_WIDTH = "240px";
|
package/dist/base/grid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../src/base/grid.ts"],"names":[],"mappings":";;;AAyFA,oBAaC;AAiBD,0BAMC;AA7HD,4CAAgD;AAChD,6BAAwB;AACxB,qDAA+E;AAE/E,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../src/base/grid.ts"],"names":[],"mappings":";;;AAyFA,oBAaC;AAiBD,0BAMC;AA7HD,4CAAgD;AAChD,6BAAwB;AACxB,qDAA+E;AAE/E,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAC7C,MAAM,uBAAuB,GAAG,cAAc,CAAC;AAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,6BAA6B,GAAG,OAAO,CAAC;AAqB9C,kCAAkC;AACrB,QAAA,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,GAAG,EAAE,IAAA,mBAAE,EACL,OAAC;SACE,MAAM,EAAE;SACR,OAAO,CAAC,gBAAgB,CAAC;SACzB,QAAQ,CAAC,gDAAgD,CAAC,EAC7D,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAClC;IACD,cAAc,EAAE,IAAA,mBAAE,EAChB,OAAC;SACE,MAAM,EAAE;SACR,OAAO,CAAC,6BAA6B,CAAC;SACtC,QAAQ,CAAC,yDAAyD,CAAC,EACtE,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,CACnD;CACF,CAAwC,CAAC;AAE1C;;;;GAIG;AACU,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,IAAA,mBAAE,EACT,OAAC;SACE,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,oCAAoC,CAAC,EACjD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CACpE;CACF,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,IAAI,CAAC,OAAqB;IACxC,OAAO,IAAI,4BAAgB,CAAc,mBAAmB,CAAC;SAC1D,OAAO,CAAC;QACP,GAAG,EAAE,gBAAgB;QACrB,cAAc,EAAE,6BAA6B;QAC7C,GAAG,OAAO;KACX,CAAC;SACD,IAAI,CAAC;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,6DAA6D;KAChE,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,OAAO;IACrB,OAAO,IAAI,4BAAgB,CAAU,uBAAuB,CAAC,CAAC,IAAI,CAAC;QACjE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,6BAA6B;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,IAAA,kCAAiB,EAAC;IAChB,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,mBAAmB;IAClC,MAAM,EAAE,kBAAU;IAClB,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,CAAC,SAAS,CAAC;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,6CAA6C;QAC1D,KAAK,EAAE,QAAQ;KAChB;CACF,CAAC,CAAC;AAEH,IAAA,kCAAiB,EAAC;IAChB,IAAI,EAAE,SAAS;IACf,aAAa,EAAE,uBAAuB;IACtC,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,uBAAe;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,8CAA8C;QAC3D,KAAK,EAAE,QAAQ;KAChB;CACF,CAAC,CAAC"}
|
package/dist/base/guard.d.ts
CHANGED
|
@@ -106,8 +106,8 @@ export declare const GuardSchema: z.ZodObject<{
|
|
|
106
106
|
} | undefined;
|
|
107
107
|
size?: "sm" | "md" | "lg" | undefined;
|
|
108
108
|
variant?: "error" | "no-data" | "no-result" | "no-access" | undefined;
|
|
109
|
-
tone?: "primary" | "neutral" | "secondary" | "success" | "warning" | "error" | "info" | undefined;
|
|
110
109
|
card?: boolean | undefined;
|
|
110
|
+
tone?: "primary" | "neutral" | "secondary" | "success" | "warning" | "error" | "info" | undefined;
|
|
111
111
|
actions?: {
|
|
112
112
|
label: string;
|
|
113
113
|
to: string;
|
|
@@ -127,8 +127,8 @@ export declare const GuardSchema: z.ZodObject<{
|
|
|
127
127
|
} | undefined;
|
|
128
128
|
size?: "sm" | "md" | "lg" | undefined;
|
|
129
129
|
variant?: "error" | "no-data" | "no-result" | "no-access" | undefined;
|
|
130
|
-
tone?: "primary" | "neutral" | "secondary" | "success" | "warning" | "error" | "info" | undefined;
|
|
131
130
|
card?: boolean | undefined;
|
|
131
|
+
tone?: "primary" | "neutral" | "secondary" | "success" | "warning" | "error" | "info" | undefined;
|
|
132
132
|
actions?: {
|
|
133
133
|
label: string;
|
|
134
134
|
to: string;
|
|
@@ -153,8 +153,8 @@ export declare const GuardSchema: z.ZodObject<{
|
|
|
153
153
|
} | undefined;
|
|
154
154
|
size?: "sm" | "md" | "lg" | undefined;
|
|
155
155
|
variant?: "error" | "no-data" | "no-result" | "no-access" | undefined;
|
|
156
|
-
tone?: "primary" | "neutral" | "secondary" | "success" | "warning" | "error" | "info" | undefined;
|
|
157
156
|
card?: boolean | undefined;
|
|
157
|
+
tone?: "primary" | "neutral" | "secondary" | "success" | "warning" | "error" | "info" | undefined;
|
|
158
158
|
actions?: {
|
|
159
159
|
label: string;
|
|
160
160
|
to: string;
|
|
@@ -181,8 +181,8 @@ export declare const GuardSchema: z.ZodObject<{
|
|
|
181
181
|
} | undefined;
|
|
182
182
|
size?: "sm" | "md" | "lg" | undefined;
|
|
183
183
|
variant?: "error" | "no-data" | "no-result" | "no-access" | undefined;
|
|
184
|
-
tone?: "primary" | "neutral" | "secondary" | "success" | "warning" | "error" | "info" | undefined;
|
|
185
184
|
card?: boolean | undefined;
|
|
185
|
+
tone?: "primary" | "neutral" | "secondary" | "success" | "warning" | "error" | "info" | undefined;
|
|
186
186
|
actions?: {
|
|
187
187
|
label: string;
|
|
188
188
|
to: string;
|
package/dist/base/guard.js
CHANGED
|
@@ -10,7 +10,7 @@ const empty_state_1 = require("./empty-state");
|
|
|
10
10
|
const realtime_topics_1 = require("./internal/realtime-topics");
|
|
11
11
|
/** What a `Guard` checks its route for: see `GuardOptions.when`. */
|
|
12
12
|
exports.GUARD_CONDITIONS = ["empty", "notFound"];
|
|
13
|
-
const GUARD_COMPONENT_NAME = "dms-guard";
|
|
13
|
+
const GUARD_COMPONENT_NAME = "dms-guard-block";
|
|
14
14
|
const GUARD_ICON = "i-ph-shield-check";
|
|
15
15
|
const GUARD_DEFAULT_CONDITION = "empty";
|
|
16
16
|
/** The options `Guard` accepts. */
|
package/dist/base/guard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/base/guard.ts"],"names":[],"mappings":";;;AAyIA,sBAWC;AApJD,4CAAgD;AAChD,6BAAwB;AACxB,qDAA+E;AAC/E,uCAImB;AACnB,+CAAuE;AACvE,gEAAsE;AAItE,oEAAoE;AACvD,QAAA,gBAAgB,GAAG,CAAC,OAAO,EAAE,UAAU,CAAU,CAAC;AA8C/D,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/base/guard.ts"],"names":[],"mappings":";;;AAyIA,sBAWC;AApJD,4CAAgD;AAChD,6BAAwB;AACxB,qDAA+E;AAC/E,uCAImB;AACnB,+CAAuE;AACvE,gEAAsE;AAItE,oEAAoE;AACvD,QAAA,gBAAgB,GAAG,CAAC,OAAO,EAAE,UAAU,CAAU,CAAC;AA8C/D,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAC/C,MAAM,UAAU,GAAG,mBAAmB,CAAC;AACvC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAExC,mCAAmC;AACtB,QAAA,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAE,IAAA,mBAAE,EACV,OAAC;SACE,MAAM,EAAE;SACR,QAAQ,CAAC,uDAAuD,CAAC,EACpE;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,YAAY;QACpB,YAAY,EAAE,aAAa;KAC5B,CACF;IACD,cAAc,EAAE,IAAA,mCAAyB,GAAE;IAC3C,WAAW,EAAE,IAAA,gCAAsB,GAAE;IACrC,aAAa,EAAE,IAAA,kCAAwB,GAAE;IACzC,IAAI,EAAE,IAAA,mBAAE,EACN,OAAC;SACE,IAAI,CAAC,wBAAgB,CAAC;SACtB,OAAO,CAAC,uBAAuB,CAAC;SAChC,QAAQ,CAAC,0CAA0C,CAAC,EACvD;QACE,KAAK,EAAE,wBAAwB;QAC/B,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,iBAAiB,EAAE;KAC1E,CACF;IACD,KAAK,EAAE,IAAA,mBAAE,EACP,OAAC;SACE,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC,EAC/D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAClC;IACD,QAAQ,EAAE,IAAA,mBAAE,EACV,8BAAgB,CAAC,OAAO,EAAE;SACvB,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC,EAC1D,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CACxC;CACF,CAAyC,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,KAAK,CAAC,OAAqB;IACzC,OAAO,IAAA,0CAAwB,EAC7B,IAAI,4BAAgB,CAAe,oBAAoB,CAAC;SACrD,OAAO,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,OAAO,EAAE,CAAC;SACtD,IAAI,CAAC;QACJ,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,yDAAyD;KACvE,CAAC,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;AACJ,CAAC;AAED,IAAA,kCAAiB,EAAC;IAChB,IAAI,EAAE,OAAO;IACb,aAAa,EAAE,oBAAoB;IACnC,MAAM,EAAE,mBAAW;IACnB,SAAS,EAAE,IAAI;IACf,IAAI,EAAE;QACJ,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,4EAA4E;QAC9E,KAAK,EAAE,QAAQ;KAChB;CACF,CAAC,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.applyArchiveModeDefaultRules = applyArchiveModeDefaultRules;
|
|
4
|
+
const type_check_1 = require("../../utils/internal/type-check");
|
|
4
5
|
function applyArchiveModeDefaultRules(rowActions, archiveField) {
|
|
5
6
|
const result = { ...rowActions };
|
|
6
|
-
//
|
|
7
|
+
// SAFETY: The rules are RowActionRule<T> exactly when archiveField names a member of T whose declared type admits true. The table-view factory, the one caller in this package, passes meta.archiveField, the member @ArchiveField decorated, which the archive filter compares with the boolean true; nothing checks that member's declared type, and a module calling this helper with another string breaks the claim.
|
|
7
8
|
const rules = [
|
|
8
9
|
["edit", { field: archiveField, notEquals: true }],
|
|
9
10
|
["duplicate", { field: archiveField, notEquals: true }],
|
|
@@ -21,8 +22,7 @@ function applyArchiveModeDefaultRules(rowActions, archiveField) {
|
|
|
21
22
|
continue;
|
|
22
23
|
}
|
|
23
24
|
if (userConfig === false ||
|
|
24
|
-
|
|
25
|
-
(typeof userConfig === "object" && userConfig.isEnabled === false)) {
|
|
25
|
+
((0, type_check_1.isObject)(userConfig) && userConfig.isEnabled === false)) {
|
|
26
26
|
continue;
|
|
27
27
|
}
|
|
28
28
|
if (userConfig === true) {
|
|
@@ -32,8 +32,7 @@ function applyArchiveModeDefaultRules(rowActions, archiveField) {
|
|
|
32
32
|
};
|
|
33
33
|
continue;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
if (typeof userConfig === "object") {
|
|
35
|
+
if ((0, type_check_1.isObject)(userConfig)) {
|
|
37
36
|
result[actionKey] = {
|
|
38
37
|
...userConfig,
|
|
39
38
|
rule: userConfig.rule
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive-mode-helpers.js","sourceRoot":"","sources":["../../../src/base/helpers/archive-mode-helpers.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"archive-mode-helpers.js","sourceRoot":"","sources":["../../../src/base/helpers/archive-mode-helpers.ts"],"names":[],"mappings":";;AAWA,oEAoDC;AA7DD,gEAA2D;AAS3D,SAAgB,4BAA4B,CAC1C,UAAoD,EACpD,YAAoB;IAEpB,MAAM,MAAM,GAAiC,EAAE,GAAG,UAAU,EAAE,CAAC;IAE/D,0ZAA0Z;IAC1Z,MAAM,KAAK,GAAG;QACZ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAClD,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACvD,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACrD,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAClD,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KACF,CAAC;IAElD,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,SAAS,CAAC,GAAG;gBAClB,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,WAAW;aACW,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,IACE,UAAU,KAAK,KAAK;YACpB,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,IAAI,UAAU,CAAC,SAAS,KAAK,KAAK,CAAC,EACxD,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,SAAS,CAAC,GAAG;gBAClB,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,WAAW;aACW,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,IAAI,IAAA,qBAAQ,EAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,CAAC,GAAG;gBAClB,GAAG,UAAU;gBACb,IAAI,EAAE,UAAU,CAAC,IAAI;oBACnB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE;oBACzC,CAAC,CAAC,WAAW;aACa,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -6,22 +6,21 @@ exports.dedupeRefs = dedupeRefs;
|
|
|
6
6
|
exports.diffRemovedRefs = diffRemovedRefs;
|
|
7
7
|
exports.remapRecordFileKeys = remapRecordFileKeys;
|
|
8
8
|
const data_types_1 = require("../data-types");
|
|
9
|
+
const type_check_1 = require("../../utils/internal/type-check");
|
|
9
10
|
const IMAGE_TYPE_ID = "image";
|
|
10
11
|
const FILE_TYPE_ID = "file";
|
|
11
12
|
const collectImageKeys = (value) => {
|
|
12
13
|
const keys = [];
|
|
13
14
|
// oxlint-disable-next-line anti-slop/no-unknown-parameters -- Visits that column value node by node, so a node is a key, an image object, a list or object of them, or any other leaf it skips.
|
|
14
15
|
const visit = (node) => {
|
|
15
|
-
|
|
16
|
-
if (!node || typeof node !== "object")
|
|
16
|
+
if (!node || !(0, type_check_1.isObject)(node))
|
|
17
17
|
return;
|
|
18
18
|
if (Array.isArray(node)) {
|
|
19
19
|
node.forEach(visit);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
const { key: candidate } = node;
|
|
23
|
-
|
|
24
|
-
if (typeof candidate === "string") {
|
|
23
|
+
if ((0, type_check_1.isString)(candidate)) {
|
|
25
24
|
keys.push(candidate);
|
|
26
25
|
return;
|
|
27
26
|
}
|
|
@@ -34,13 +33,11 @@ const collectFileKeys = (value) => {
|
|
|
34
33
|
const keys = [];
|
|
35
34
|
// oxlint-disable-next-line anti-slop/no-unknown-parameters -- Visits that column value node by node, so a node is a key, an image object, a list or object of them, or any other leaf it skips.
|
|
36
35
|
const visit = (node) => {
|
|
37
|
-
|
|
38
|
-
if (typeof node === "string") {
|
|
36
|
+
if ((0, type_check_1.isString)(node)) {
|
|
39
37
|
keys.push(node);
|
|
40
38
|
return;
|
|
41
39
|
}
|
|
42
|
-
|
|
43
|
-
if (!node || typeof node !== "object")
|
|
40
|
+
if (!node || !(0, type_check_1.isObject)(node))
|
|
44
41
|
return;
|
|
45
42
|
(Array.isArray(node) ? node : Object.values(node)).forEach(visit);
|
|
46
43
|
};
|
|
@@ -53,8 +50,7 @@ const KEY_EXTRACTORS = new Map([
|
|
|
53
50
|
]);
|
|
54
51
|
function resolveStorage(type) {
|
|
55
52
|
const options = type.options;
|
|
56
|
-
|
|
57
|
-
return typeof options?.storage === "string" ? options.storage : undefined;
|
|
53
|
+
return (0, type_check_1.isString)(options?.storage) ? options.storage : undefined;
|
|
58
54
|
}
|
|
59
55
|
function refIdentity(ref) {
|
|
60
56
|
return `${ref.storage ?? ""}:${ref.key}`;
|
|
@@ -95,37 +91,31 @@ function diffRemovedRefs(before, after) {
|
|
|
95
91
|
const retained = new Set(after.map(refIdentity));
|
|
96
92
|
return dedupeRefs(before).filter((ref) => !retained.has(refIdentity(ref)));
|
|
97
93
|
}
|
|
98
|
-
async function
|
|
99
|
-
|
|
100
|
-
value, mapKey, remap) {
|
|
101
|
-
const entries = await Promise.all(Object.entries(value).map(async ([key, item]) => [key, await remap(item, mapKey)]));
|
|
94
|
+
async function remapEntries(source, mapKey, remap) {
|
|
95
|
+
const entries = await Promise.all(source.map(async ([key, item]) => [key, await remap(item, mapKey)]));
|
|
102
96
|
return Object.fromEntries(entries);
|
|
103
97
|
}
|
|
104
98
|
const remapImageValue = async (value, mapKey) => {
|
|
105
|
-
|
|
106
|
-
if (!value || typeof value !== "object")
|
|
99
|
+
if (!value || !(0, type_check_1.isObject)(value))
|
|
107
100
|
return value;
|
|
108
101
|
if (Array.isArray(value)) {
|
|
109
102
|
return Promise.all(value.map((item) => remapImageValue(item, mapKey)));
|
|
110
103
|
}
|
|
111
104
|
const { key: candidate } = value;
|
|
112
|
-
|
|
113
|
-
if (typeof candidate === "string") {
|
|
105
|
+
if ((0, type_check_1.isString)(candidate)) {
|
|
114
106
|
return { ...value, key: await mapKey(candidate) };
|
|
115
107
|
}
|
|
116
|
-
return
|
|
108
|
+
return remapEntries(Object.entries(value), mapKey, remapImageValue);
|
|
117
109
|
};
|
|
118
110
|
const remapFileValue = async (value, mapKey) => {
|
|
119
|
-
|
|
120
|
-
if (typeof value === "string")
|
|
111
|
+
if ((0, type_check_1.isString)(value))
|
|
121
112
|
return mapKey(value);
|
|
122
113
|
if (Array.isArray(value)) {
|
|
123
114
|
return Promise.all(value.map((item) => remapFileValue(item, mapKey)));
|
|
124
115
|
}
|
|
125
|
-
|
|
126
|
-
if (!value || typeof value !== "object")
|
|
116
|
+
if (!value || !(0, type_check_1.isObject)(value))
|
|
127
117
|
return value;
|
|
128
|
-
return
|
|
118
|
+
return remapEntries(Object.entries(value), mapKey, remapFileValue);
|
|
129
119
|
};
|
|
130
120
|
const VALUE_REMAPPERS = new Map([
|
|
131
121
|
[IMAGE_TYPE_ID, remapImageValue],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-refs.js","sourceRoot":"","sources":["../../../src/base/helpers/file-refs.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"file-refs.js","sourceRoot":"","sources":["../../../src/base/helpers/file-refs.ts"],"names":[],"mappings":"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"}
|