@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,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterArchiveField = filterArchiveField;
|
|
4
|
+
exports.assertArchiveFieldFilter = assertArchiveFieldFilter;
|
|
5
|
+
const interface_api_util_1 = require("@antelopejs/interface-api-util");
|
|
6
|
+
const interface_core_1 = require("@antelopejs/interface-core");
|
|
7
|
+
const metadata_1 = require("@antelopejs/interface-data-api/metadata");
|
|
8
|
+
const type_check_1 = require("../../../utils/internal/type-check");
|
|
9
|
+
const HTTP_BAD_REQUEST = 400;
|
|
10
|
+
const ARCHIVED_BY_TEXT = new Map([
|
|
11
|
+
["true", true],
|
|
12
|
+
["false", false],
|
|
13
|
+
]);
|
|
14
|
+
/**
|
|
15
|
+
* The filter `@ArchiveField` registers. A list request carries its value as
|
|
16
|
+
* text, so this reads `true` or `false` as the boolean the field stores, takes
|
|
17
|
+
* a boolean a server caller passes as it is, then compares with `eq` or `ne`.
|
|
18
|
+
*
|
|
19
|
+
* @throws HTTPResult 400 when the value is not `true` or `false`, or the mode
|
|
20
|
+
* is not `eq` or `ne`
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
function filterArchiveField(_context, proxy, _key, value, mode) {
|
|
24
|
+
const archived = (0, type_check_1.isBoolean)(value) ? value : ARCHIVED_BY_TEXT.get(value);
|
|
25
|
+
(0, interface_api_util_1.assert)(archived !== undefined, HTTP_BAD_REQUEST, `Filter the archive field with true or false, not "${value}".`);
|
|
26
|
+
(0, interface_api_util_1.assert)(mode === "eq" || mode === "ne", HTTP_BAD_REQUEST, `Filter the archive field with eq or ne, not "${mode}".`);
|
|
27
|
+
return mode === "eq" ? proxy.eq(archived) : proxy.ne(archived);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Refuses a controller whose archive field another filter serves, such as a
|
|
31
|
+
* `Filter()` declared above `@ArchiveField`. The archive filter is sent as
|
|
32
|
+
* text, so a filter that does not read it would list archived rows as active.
|
|
33
|
+
*
|
|
34
|
+
* @throws Error when the archive field's filter is not {@link filterArchiveField}
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
function assertArchiveFieldFilter(controller, archiveField) {
|
|
38
|
+
if (archiveField === undefined)
|
|
39
|
+
return;
|
|
40
|
+
const { filters } = (0, interface_core_1.GetMetadata)(controller, metadata_1.DataAPIMeta);
|
|
41
|
+
const filter = Object.hasOwn(filters, archiveField)
|
|
42
|
+
? filters[archiveField]
|
|
43
|
+
: undefined;
|
|
44
|
+
if (filter !== filterArchiveField) {
|
|
45
|
+
throw new Error(`The archive field "${archiveField}" of ${controller.name} declares its own Filter, which replaces the one @ArchiveField registers: remove that Filter.`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=archive-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive-filter.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/archive-filter.ts"],"names":[],"mappings":";;AA6BA,gDAmBC;AAUD,4DAcC;AApED,uEAAwD;AACxD,+DAAyD;AACzD,sEAAsE;AAKtE,mEAA+D;AAE/D,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,OAAO,EAAE,KAAK,CAAC;CACjB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAChC,QAAwB,EACxB,KAA0B,EAC1B,IAAY,EACZ,KAAuB,EACvB,IAAY;IAEZ,MAAM,QAAQ,GAAG,IAAA,sBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxE,IAAA,2BAAM,EACJ,QAAQ,KAAK,SAAS,EACtB,gBAAgB,EAChB,qDAAqD,KAAK,IAAI,CAC/D,CAAC;IACF,IAAA,2BAAM,EACJ,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAC9B,gBAAgB,EAChB,gDAAgD,IAAI,IAAI,CACzD,CAAC;IACF,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,wBAAwB,CACtC,UAA2B,EAC3B,YAAgC;IAEhC,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,4BAAW,EAAC,UAAU,EAAE,sBAAW,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC;QACjD,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QACvB,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,sBAAsB,YAAY,QAAQ,UAAU,CAAC,IAAI,+FAA+F,CACzJ,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RequestContext } from "@antelopejs/interface-api";
|
|
2
|
-
import type { DataControllerCallback, DataControllerCallbackWithOptions } from "@antelopejs/interface-data-api";
|
|
2
|
+
import type { DataControllerCallback, DataControllerCallbackWithOptions, DataControllerInstance } from "@antelopejs/interface-data-api";
|
|
3
3
|
import type { User } from "../../../auth/db";
|
|
4
4
|
/**
|
|
5
5
|
* The read actions of a table view, named once so the route that checks one,
|
|
@@ -29,7 +29,7 @@ export declare const VIEW_ARCHIVED_ACTION = "viewArchived";
|
|
|
29
29
|
*/
|
|
30
30
|
export declare const GATE_BYPASSABLE_ACTIONS: string[];
|
|
31
31
|
/** @internal */
|
|
32
|
-
export declare function authorizeAction(thisObj:
|
|
32
|
+
export declare function authorizeAction(thisObj: DataControllerInstance, actionId: string, user: User, tenantId: string): Promise<Set<string> | undefined>;
|
|
33
33
|
/**
|
|
34
34
|
* `baseRoute` behind the permission check of `actionId`: the route takes the
|
|
35
35
|
* user after the arguments of `baseRoute`, and runs `baseRoute` only once the
|
|
@@ -49,9 +49,7 @@ function isGateBypassableAction(actionId, permissionIds) {
|
|
|
49
49
|
return permissionIds.length > 0 && exports.GATE_BYPASSABLE_ACTIONS.includes(actionId);
|
|
50
50
|
}
|
|
51
51
|
/** @internal */
|
|
52
|
-
async function authorizeAction(
|
|
53
|
-
// oxlint-disable-next-line anti-slop/no-unknown-parameters -- The published authorization helper accepts a dispatcher-bound controller receiver without a class validation step.
|
|
54
|
-
thisObj, actionId, user, tenantId) {
|
|
52
|
+
async function authorizeAction(thisObj, actionId, user, tenantId) {
|
|
55
53
|
const meta = (0, meta_1.getTableViewMetaFor)(thisObj);
|
|
56
54
|
const permissionIds = meta.actionPermissionIds(actionId);
|
|
57
55
|
if (!meta.bypassTenantAccessGate ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/auth.ts"],"names":[],"mappings":";;;AA6DA,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,17 +10,11 @@ const data_functions_1 = require("../data-functions");
|
|
|
10
10
|
const options_1 = require("../options");
|
|
11
11
|
const meta_1 = require("./meta");
|
|
12
12
|
/** The value `row` holds under `key`; a key it does not hold itself reads as absent, whatever `Object.prototype` answers. */
|
|
13
|
-
const ownValue = (
|
|
14
|
-
// oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- The stored row merged with the request body holds whichever table's module-defined fields, read by the column names its conditions declare.
|
|
15
|
-
row, key) => (Object.hasOwn(row, key) ? row[key] : undefined);
|
|
13
|
+
const ownValue = (row, key) => Object.hasOwn(row, key) ? row[key] : undefined;
|
|
16
14
|
/** Whether `row` meets `condition`: a field it lacks counts as empty. */
|
|
17
|
-
const meetsFieldCondition = (condition,
|
|
18
|
-
// oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- The stored row merged with the request body holds whichever table's module-defined fields, read by the column names its conditions declare.
|
|
19
|
-
row) => condition.in.includes(ownValue(row, condition.field) ?? null);
|
|
15
|
+
const meetsFieldCondition = (condition, row) => condition.in.includes(ownValue(row, condition.field) ?? null);
|
|
20
16
|
/** The columns whose form field `row` hides or disables. */
|
|
21
|
-
function inactiveColumns(columns,
|
|
22
|
-
// oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- The stored row merged with the request body holds whichever table's module-defined fields, read by the column names its conditions declare.
|
|
23
|
-
row) {
|
|
17
|
+
function inactiveColumns(columns, row) {
|
|
24
18
|
const entries = Object.entries(columns);
|
|
25
19
|
return {
|
|
26
20
|
hidden: entries
|
|
@@ -55,14 +49,11 @@ const withColumnConditions = (baseRoute, mode) => ({
|
|
|
55
49
|
return baseRoute.func.call(this, ctx, params, rawBody, ...rest);
|
|
56
50
|
}
|
|
57
51
|
const body = components_1.Validation.ParseBody(rawBody);
|
|
58
|
-
// oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- The request body, merged below with the stored row of an edit, holds whichever table's module-defined fields, read by the column names its conditions declare.
|
|
59
52
|
let row = body;
|
|
60
|
-
// oxlint-disable-next-line anti-slop/no-unsafe-dictionary-type -- The stored row fetchRowForGuard reads for an edit holds whichever table's module-defined fields, read by the column names its conditions declare.
|
|
61
53
|
let current;
|
|
62
54
|
if (mode === "edit") {
|
|
63
55
|
current = await (0, data_functions_1.fetchRowForGuard)(this, String(params.id), tableMeta.options.rowIdKey || options_1.DEFAULT_ROW_ID_FIELD);
|
|
64
56
|
(0, interface_api_util_1.assert)(current, 404, "Not Found");
|
|
65
|
-
// oxlint-disable-next-line anti-slop/no-known-value-widening -- The stored row merged with the request body widens into the open row the conditions read, whose fields hold whatever that table's module declares.
|
|
66
57
|
row = { ...current, ...body };
|
|
67
58
|
}
|
|
68
59
|
const { hidden, disabled } = inactiveColumns(columns, row);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-conditions.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/column-conditions.ts"],"names":[],"mappings":";;;AAAA,6DAA4E;AAC5E,uEAA2E;AAC3E,+DAAyD;AAEzD,0EAAuE;AACvE,sEAAsE;AAEtE,sDAAqD;AAErD,wCAAkD;AAClD,iCAA6C;
|
|
1
|
+
{"version":3,"file":"column-conditions.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/column-conditions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RequestContext } from "@antelopejs/interface-api";
|
|
2
|
-
import type {
|
|
2
|
+
import type { DataControllerInstance } from "@antelopejs/interface-data-api";
|
|
3
3
|
/**
|
|
4
4
|
* The figures of a footer, by summary id.
|
|
5
5
|
*
|
|
@@ -8,7 +8,7 @@ import type { DataControllerCallback, DataControllerCallbackWithOptions } from "
|
|
|
8
8
|
export type FooterSummaryValues = Record<string, number>;
|
|
9
9
|
/** @internal */
|
|
10
10
|
export type RowBulkOperationParams = [
|
|
11
|
-
thisObj:
|
|
11
|
+
thisObj: DataControllerInstance,
|
|
12
12
|
ctx: RequestContext,
|
|
13
13
|
ids: string | string[]
|
|
14
14
|
];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.eraseRowType = eraseRowType;
|
|
4
|
+
const row_rule_shape_1 = require("./row-rule-shape");
|
|
5
|
+
/** @internal */
|
|
6
|
+
function eraseRowType(rule) {
|
|
7
|
+
if (rule === undefined)
|
|
8
|
+
return undefined;
|
|
9
|
+
(0, row_rule_shape_1.assertRowRule)(rule, "A table view's row rule");
|
|
10
|
+
return rule;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=erase-row-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"erase-row-type.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/erase-row-type.ts"],"names":[],"mappings":";;AAKA,oCAMC;AATD,qDAAiD;AAEjD,gBAAgB;AAChB,SAAgB,YAAY,CAC1B,IAAkC;IAElC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,IAAA,8BAAa,EAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -26,6 +26,7 @@ const factory_helpers_1 = require("../factory-helpers");
|
|
|
26
26
|
const factory_private_actions_1 = require("./factory-private-actions");
|
|
27
27
|
const factory_private_displays_1 = require("./factory-private-displays");
|
|
28
28
|
const factory_private_urls_1 = require("./factory-private-urls");
|
|
29
|
+
const type_check_1 = require("../../../utils/internal/type-check");
|
|
29
30
|
/** @internal */
|
|
30
31
|
function applyFormRedirect(formBuilder, redirectUrl, preserveQuery) {
|
|
31
32
|
const params = {
|
|
@@ -173,9 +174,7 @@ function serializeExpandable(controllerName, meta, expandable) {
|
|
|
173
174
|
if (!expandable.fields) {
|
|
174
175
|
throw new Error(`TableView expandable on ${controllerName} gives neither fields nor a component to show in the band`);
|
|
175
176
|
}
|
|
176
|
-
const fields = expandable.fields.map((field) =>
|
|
177
|
-
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- Expandable fields declare a string shorthand or a configured field; this normalizes that declared union.
|
|
178
|
-
typeof field === "string" ? { key: field } : field);
|
|
177
|
+
const fields = expandable.fields.map((field) => (0, type_check_1.isString)(field) ? { key: field } : field);
|
|
179
178
|
(0, validation_1.assertKnownColumns)(controllerName, meta, "expandable fields", fields.map(({ key }) => key));
|
|
180
179
|
return { ...behavior, fields, fieldsLabel: expandable.fieldsLabel };
|
|
181
180
|
}
|
|
@@ -267,9 +266,14 @@ function resolveFormPageTexts(kind, pages) {
|
|
|
267
266
|
description: page?.description || definition.description,
|
|
268
267
|
};
|
|
269
268
|
}
|
|
269
|
+
/** Every form page kind once, keyed by itself, so a new kind cannot be left out of the list. */
|
|
270
|
+
const FORM_PAGE_KIND_NAMES = {
|
|
271
|
+
new: "new",
|
|
272
|
+
edit: "edit",
|
|
273
|
+
view: "view",
|
|
274
|
+
};
|
|
270
275
|
/** @internal */
|
|
271
|
-
|
|
272
|
-
exports.FORM_PAGE_KINDS = Object.keys(exports.FORM_PAGE_DEFINITIONS);
|
|
276
|
+
exports.FORM_PAGE_KINDS = Object.values(FORM_PAGE_KIND_NAMES);
|
|
273
277
|
/**
|
|
274
278
|
* Append a form page slug to the slug of the page carrying the table view.
|
|
275
279
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory-helpers.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-helpers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"factory-helpers.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ const logging_1 = require("@antelopejs/interface-core/logging");
|
|
|
5
5
|
const page_1 = require("../../../page");
|
|
6
6
|
const form_page_routes_1 = require("../../../page/internal/form-page-routes");
|
|
7
7
|
const categories_1 = require("../../../page/internal/categories");
|
|
8
|
+
const page_controller_1 = require("../../../page/internal/page-controller");
|
|
8
9
|
const fire_and_forget_1 = require("../../../utils/fire-and-forget");
|
|
9
10
|
const layouts_1 = require("../../layouts");
|
|
10
11
|
const factory_helpers_1 = require("./factory-helpers");
|
|
@@ -39,7 +40,7 @@ function tableViewCreated(state, parentPage) {
|
|
|
39
40
|
if (!isPageMode) {
|
|
40
41
|
return;
|
|
41
42
|
}
|
|
42
|
-
const routeKey = (0, factory_helpers_1.formRouteKey)(tableViewPermissionId, (0, page_1.GetPermissionId)(parentPage.target) ?? parentInfo.fullId);
|
|
43
|
+
const routeKey = (0, factory_helpers_1.formRouteKey)(tableViewPermissionId, (0, page_1.GetPermissionId)((0, page_controller_1.pageController)(parentPage.target)) ?? parentInfo.fullId);
|
|
43
44
|
builder.mergeOptions({
|
|
44
45
|
formPages: (0, factory_helpers_1.buildFormPageUrls)(parentInfo.fullSlug, routeKey, customPages),
|
|
45
46
|
});
|
|
@@ -60,7 +61,7 @@ function tableViewCreated(state, parentPage) {
|
|
|
60
61
|
fullSlug,
|
|
61
62
|
});
|
|
62
63
|
const texts = (0, factory_helpers_1.resolveFormPageTexts)(kind, customPages);
|
|
63
|
-
const FormController = class extends parentPage.target {
|
|
64
|
+
const FormController = class extends (0, page_controller_1.pageController)(parentPage.target) {
|
|
64
65
|
};
|
|
65
66
|
const formMeta = new page_1.PageMetadata(FormController);
|
|
66
67
|
formMeta.SetInfo(id, fullSlug, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory-lifecycle-created.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-lifecycle-created.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"factory-lifecycle-created.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-lifecycle-created.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ const interface_core_1 = require("@antelopejs/interface-core");
|
|
|
6
6
|
const metadata_1 = require("@antelopejs/interface-data-api/metadata");
|
|
7
7
|
const searchable_1 = require("../../internal/searchable");
|
|
8
8
|
const factory_helpers_1 = require("./factory-helpers");
|
|
9
|
+
const erase_row_type_1 = require("./erase-row-type");
|
|
9
10
|
const tabs_1 = require("./tabs");
|
|
10
11
|
const views_1 = require("./views");
|
|
11
12
|
const footer_1 = require("./footer");
|
|
@@ -56,8 +57,7 @@ function serializeTableViewOptions(state) {
|
|
|
56
57
|
archiveMode: options.archiveMode,
|
|
57
58
|
archivedCountLabel: options.archivedCountLabel,
|
|
58
59
|
defaultSort: options.defaultSort,
|
|
59
|
-
|
|
60
|
-
pinnedRows: options.pinnedRows,
|
|
60
|
+
pinnedRows: (0, erase_row_type_1.eraseRowType)(options.pinnedRows),
|
|
61
61
|
queryParamFilters: options.queryParamFilters,
|
|
62
62
|
routeParamFilters: options.routeParamFilters,
|
|
63
63
|
customButtons: serializedCustomButtons,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory-lifecycle-options.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-lifecycle-options.ts"],"names":[],"mappings":";;AAiCA,sEAgCC;AAGD,
|
|
1
|
+
{"version":3,"file":"factory-lifecycle-options.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-lifecycle-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,16 +7,16 @@ exports.tableViewActionDependencies = tableViewActionDependencies;
|
|
|
7
7
|
const action_target_1 = require("../../types/internal/action-target");
|
|
8
8
|
const confirm_dialog_1 = require("../../internal/confirm-dialog");
|
|
9
9
|
const auth_1 = require("./auth");
|
|
10
|
+
const erase_row_type_1 = require("./erase-row-type");
|
|
11
|
+
const type_check_1 = require("../../../utils/internal/type-check");
|
|
10
12
|
/** A built-in row action as the options carry it: its confirmation serialized. */
|
|
11
13
|
function serializeRowActionConfig(config) {
|
|
12
|
-
|
|
13
|
-
if (config === undefined || typeof config === "boolean")
|
|
14
|
+
if (config === undefined || (0, type_check_1.isBoolean)(config))
|
|
14
15
|
return config;
|
|
15
16
|
const { confirm, rule, ...rest } = config;
|
|
16
17
|
const served = rest;
|
|
17
|
-
// oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- Serialization erases the module row generic into the published untyped rule envelope without checking field values.
|
|
18
18
|
if (rule)
|
|
19
|
-
served.rule = rule;
|
|
19
|
+
served.rule = (0, erase_row_type_1.eraseRowType)(rule);
|
|
20
20
|
if (confirm)
|
|
21
21
|
served.confirm = (0, confirm_dialog_1.serializeActionConfirm)(confirm);
|
|
22
22
|
return served;
|
|
@@ -27,8 +27,7 @@ function serializeCustomRowAction(action) {
|
|
|
27
27
|
id: action.id,
|
|
28
28
|
label: action.label,
|
|
29
29
|
icon: action.icon,
|
|
30
|
-
|
|
31
|
-
rule: action.rule,
|
|
30
|
+
rule: (0, erase_row_type_1.eraseRowType)(action.rule),
|
|
32
31
|
target: (0, action_target_1.serializeActionTarget)(action.target),
|
|
33
32
|
isVisible: action.isVisible,
|
|
34
33
|
isDefault: action.isDefault,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory-private-actions.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-private-actions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"factory-private-actions.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-private-actions.ts"],"names":[],"mappings":";;AAgBA,4DASC;AAGD,4DAmBC;AAkBD,kEAiBC;AAlFD,sCAAsC;AACtC,sEAA2E;AAC3E,kEAAuE;AAQvE,iCAAwE;AAExE,qDAAgD;AAChD,mEAA+D;AAE/D,kFAAkF;AAClF,SAAgB,wBAAwB,CACtC,MAA4E;IAE5E,IAAI,MAAM,KAAK,SAAS,IAAI,IAAA,sBAAS,EAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAC1C,MAAM,MAAM,GAA8B,IAAI,CAAC;IAC/C,IAAI,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,IAAA,6BAAY,EAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,OAAO;QAAE,MAAM,CAAC,OAAO,GAAG,IAAA,uCAAsB,EAAC,OAAO,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mDAAmD;AACnD,SAAgB,wBAAwB,CACtC,MAA0B;IAE1B,MAAM,MAAM,GAA8B;QACxC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,IAAA,6BAAY,EAAC,MAAM,CAAC,IAAI,CAAC;QAC/B,MAAM,EAAE,IAAA,qCAAqB,EAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;IACF,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,CAAC,OAAO,GAAG,IAAA,uCAAsB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,2BAA2B,CACzC,YAAmC;IAEnC,MAAM,MAAM,GAAG,CAAC,kBAAW,CAAC,CAAC;IAC7B,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,WAAW,GAAG,CAAC,GAAa,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1E,OAAO;QACL,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC;QAC5B,IAAI,EAAE,WAAW,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAC,CAAC;QAC/C,CAAC,kBAAW,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC;QACtC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,CAAC,2BAAoB,CAAC;QAC/B,CAAC,2BAAoB,CAAC,EAAE,MAAM;QAC9B,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -10,6 +10,10 @@ const row_action_operators_1 = require("../../types/row-action-operators");
|
|
|
10
10
|
const row_rule_shape_1 = require("./row-rule-shape");
|
|
11
11
|
const tabs_1 = require("./tabs");
|
|
12
12
|
const LEGEND_TYPE_ID = "select";
|
|
13
|
+
const SUMMARY_OPERATIONS = [
|
|
14
|
+
"sum",
|
|
15
|
+
"count",
|
|
16
|
+
];
|
|
13
17
|
/**
|
|
14
18
|
* The columns a row rule reads, nested rules included.
|
|
15
19
|
*
|
|
@@ -29,23 +33,28 @@ function operandRules(operand) {
|
|
|
29
33
|
return [];
|
|
30
34
|
return Array.isArray(operand) ? operand : [operand];
|
|
31
35
|
}
|
|
32
|
-
function
|
|
33
|
-
const where
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
function checkedSummary(controllerName, meta, summary) {
|
|
37
|
+
const { where, ...figure } = summary;
|
|
38
|
+
const subject = `TableView footer summary "${figure.label}" on ${controllerName}`;
|
|
39
|
+
if (!SUMMARY_OPERATIONS.includes(figure.op)) {
|
|
40
|
+
throw new Error(`${subject} has op ${JSON.stringify(figure.op)}: give it ${SUMMARY_OPERATIONS.map((op) => `"${op}"`).join(" or ")}`);
|
|
36
41
|
}
|
|
37
|
-
if (
|
|
38
|
-
|
|
42
|
+
if (figure.op === "sum" && !figure.field) {
|
|
43
|
+
throw new Error(`${subject} sums no field: give it a field`);
|
|
44
|
+
}
|
|
45
|
+
if (where) {
|
|
46
|
+
(0, row_rule_shape_1.assertRowRule)(where, `${subject} has a malformed rule`, "where");
|
|
39
47
|
}
|
|
40
48
|
const fields = [
|
|
41
|
-
...(
|
|
42
|
-
...(
|
|
49
|
+
...(figure.field ? [figure.field] : []),
|
|
50
|
+
...(where ? ruleFields(where) : []),
|
|
43
51
|
];
|
|
44
52
|
for (const field of fields) {
|
|
45
53
|
if (!meta.columns[field]) {
|
|
46
|
-
throw new Error(`${
|
|
54
|
+
throw new Error(`${subject} references unknown column "${field}"`);
|
|
47
55
|
}
|
|
48
56
|
}
|
|
57
|
+
return where ? { ...figure, where } : figure;
|
|
49
58
|
}
|
|
50
59
|
/**
|
|
51
60
|
* The footer as it reaches the client: its summaries checked, recorded on
|
|
@@ -65,12 +74,11 @@ function serializeFooter(controllerName, meta, footer) {
|
|
|
65
74
|
}
|
|
66
75
|
if (!summary)
|
|
67
76
|
return texts;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const ids = meta.registerFooterSummaries(summary);
|
|
77
|
+
const checked = summary.map((entry) => checkedSummary(controllerName, meta, entry));
|
|
78
|
+
const ids = meta.registerFooterSummaries(checked);
|
|
71
79
|
return {
|
|
72
80
|
...texts,
|
|
73
|
-
summary:
|
|
81
|
+
summary: checked.map(({ where: _where, ...entry }, index) => ({
|
|
74
82
|
...entry,
|
|
75
83
|
id: ids[index],
|
|
76
84
|
})),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/footer.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/footer.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ interface GuardedActionParams {
|
|
|
12
12
|
new: Parameters.NewParameters;
|
|
13
13
|
}
|
|
14
14
|
/** @internal */
|
|
15
|
-
export declare const guardedGetRoute: DataControllerCallback<Parameters.GetParameters, import("@antelopejs/interface-data-api/metadata").
|
|
15
|
+
export declare const guardedGetRoute: DataControllerCallback<Parameters.GetParameters, import("@antelopejs/interface-data-api/metadata").StoredRow, [RequestContext, Parameters.GetParameters]>;
|
|
16
16
|
/**
|
|
17
17
|
* `baseRoute` behind the `actionName` guard, given the body the confirmation
|
|
18
18
|
* answered: the route takes it after the arguments of `baseRoute`.
|
|
@@ -8,6 +8,7 @@ const interface_data_api_1 = require("@antelopejs/interface-data-api");
|
|
|
8
8
|
const components_1 = require("@antelopejs/interface-data-api/components");
|
|
9
9
|
const logging_1 = require("@antelopejs/interface-core/logging");
|
|
10
10
|
const zod_1 = require("zod");
|
|
11
|
+
const connection_access_1 = require("../../../connection-access");
|
|
11
12
|
const data_functions_1 = require("../data-functions");
|
|
12
13
|
const meta_1 = require("../meta");
|
|
13
14
|
const options_1 = require("../options");
|
|
@@ -99,24 +100,27 @@ const parseJsonObject = (text) => {
|
|
|
99
100
|
* archive or restore; unset when the request carried none.
|
|
100
101
|
*/
|
|
101
102
|
const parseConfirmValues = (raw) => raw.length === 0 ? undefined : parseJsonObject(raw.toString());
|
|
103
|
+
const isBodyObject = (raw) => !!raw && typeof raw === "object";
|
|
102
104
|
/** @internal */
|
|
103
105
|
// oxlint-disable-next-line anti-slop/no-unknown-parameters, anti-slop/no-unsafe-dictionary-type -- The published permissive body decoder accepts transport values and returns module-owned fields without a fixed schema; narrowing either side would change its contract.
|
|
104
106
|
const parseGuardBody = (raw) => {
|
|
105
107
|
if (Buffer.isBuffer(raw))
|
|
106
108
|
return parseJsonObject(raw.toString());
|
|
107
|
-
|
|
108
|
-
if (typeof raw === "string" && raw.length > 0)
|
|
109
|
+
if ((0, type_check_1.isString)(raw) && raw.length > 0)
|
|
109
110
|
return parseJsonObject(raw);
|
|
110
|
-
|
|
111
|
-
if (raw && typeof raw === "object")
|
|
111
|
+
if (isBodyObject(raw))
|
|
112
112
|
return raw;
|
|
113
113
|
return {};
|
|
114
114
|
};
|
|
115
115
|
exports.parseGuardBody = parseGuardBody;
|
|
116
|
+
const getIdField = (controller) => {
|
|
117
|
+
const meta = (0, interface_core_1.GetMetadata)(controller.constructor, meta_1.TableViewMeta);
|
|
118
|
+
return meta.options.rowIdKey || options_1.DEFAULT_ROW_ID_FIELD;
|
|
119
|
+
};
|
|
116
120
|
const ACTION_GUARD_CONFIGS = {
|
|
117
121
|
edit: {
|
|
118
|
-
|
|
119
|
-
|
|
122
|
+
invokeGuard: async (controller, ctx, params, body, guard) => {
|
|
123
|
+
const idField = getIdField(controller);
|
|
120
124
|
const id = String(params.id);
|
|
121
125
|
const current = await (0, data_functions_1.fetchRowForGuard)(controller, id, idField);
|
|
122
126
|
(0, interface_api_util_1.assert)(current, 404, "Not Found");
|
|
@@ -167,10 +171,6 @@ exports.guardedGetRoute = interface_data_api_1.DefaultRoutes.WithGetGuard(async
|
|
|
167
171
|
current,
|
|
168
172
|
});
|
|
169
173
|
});
|
|
170
|
-
const getIdField = (controller) => {
|
|
171
|
-
const meta = (0, interface_core_1.GetMetadata)(controller.constructor, meta_1.TableViewMeta);
|
|
172
|
-
return meta.options.rowIdKey || options_1.DEFAULT_ROW_ID_FIELD;
|
|
173
|
-
};
|
|
174
174
|
async function runAfterWrite(afterWrite, actionName) {
|
|
175
175
|
try {
|
|
176
176
|
await afterWrite();
|
|
@@ -189,9 +189,10 @@ const createGuardedConfirmRoute = (baseRoute, actionName) => {
|
|
|
189
189
|
const config = ACTION_GUARD_CONFIGS[actionName];
|
|
190
190
|
return {
|
|
191
191
|
func: async function (ctx, params, confirmBody) {
|
|
192
|
+
await (0, connection_access_1.AssertConnectionWritable)(this.constructor);
|
|
192
193
|
const guard = getGuardForAction(this, actionName);
|
|
193
194
|
const afterWrite = guard
|
|
194
|
-
? await config.invokeGuard(this, ctx, params, confirmBody, guard
|
|
195
|
+
? await config.invokeGuard(this, ctx, params, confirmBody, guard)
|
|
195
196
|
: undefined;
|
|
196
197
|
const result = await baseRoute.func.call(this, ctx, params);
|
|
197
198
|
if (afterWrite)
|
|
@@ -215,11 +216,12 @@ const createGuardedWriteRoute = (baseRoute, actionName) => {
|
|
|
215
216
|
const config = ACTION_GUARD_CONFIGS[actionName];
|
|
216
217
|
return {
|
|
217
218
|
func: async function (ctx, params, body, ...rest) {
|
|
219
|
+
await (0, connection_access_1.AssertConnectionWritable)(this.constructor);
|
|
218
220
|
const guard = getGuardForAction(this, actionName);
|
|
219
221
|
if (!guard)
|
|
220
222
|
return baseRoute.func.call(this, ctx, params, body, ...rest);
|
|
221
223
|
const writtenBody = components_1.Validation.ParseBody(body);
|
|
222
|
-
const afterWrite = await config.invokeGuard(this, ctx, params, writtenBody, guard
|
|
224
|
+
const afterWrite = await config.invokeGuard(this, ctx, params, writtenBody, guard);
|
|
223
225
|
const result = await baseRoute.func.call(this, ctx, params, writtenBody, ...rest);
|
|
224
226
|
if (afterWrite)
|
|
225
227
|
await runAfterWrite(afterWrite, actionName);
|