@nest-my-admin/core 0.3.1 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -0
- package/dist/admin.module.js +6 -0
- package/dist/admin.module.js.map +1 -1
- package/dist/api/action.service.js +3 -0
- package/dist/api/action.service.js.map +1 -1
- package/dist/api/admin-api.service.d.ts +34 -2
- package/dist/api/admin-api.service.js +210 -11
- package/dist/api/admin-api.service.js.map +1 -1
- package/dist/api/menu-routes.d.ts +16 -0
- package/dist/api/menu-routes.js +10 -0
- package/dist/api/menu-routes.js.map +1 -0
- package/dist/api/menu.d.ts +15 -0
- package/dist/api/menu.js +85 -0
- package/dist/api/menu.js.map +1 -0
- package/dist/appearance/appearance.service.d.ts +28 -0
- package/dist/appearance/appearance.service.js +88 -0
- package/dist/appearance/appearance.service.js.map +1 -0
- package/dist/appearance/entities.d.ts +8 -0
- package/dist/appearance/entities.js +35 -0
- package/dist/appearance/entities.js.map +1 -0
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/contract.d.ts +245 -7
- package/dist/crud/computed-columns.d.ts +65 -0
- package/dist/crud/computed-columns.js +264 -0
- package/dist/crud/computed-columns.js.map +1 -0
- package/dist/crud/list-query-builder.d.ts +3 -1
- package/dist/crud/list-query-builder.js +5 -2
- package/dist/crud/list-query-builder.js.map +1 -1
- package/dist/crud/list-query.js +6 -1
- package/dist/crud/list-query.js.map +1 -1
- package/dist/crud/list-tabs.d.ts +7 -0
- package/dist/crud/list-tabs.js +44 -0
- package/dist/crud/list-tabs.js.map +1 -0
- package/dist/dashboard/dashboard-routes.d.ts +18 -0
- package/dist/dashboard/dashboard-routes.js +13 -0
- package/dist/dashboard/dashboard-routes.js.map +1 -0
- package/dist/dashboard/dashboard.service.d.ts +20 -0
- package/dist/dashboard/dashboard.service.js +80 -0
- package/dist/dashboard/dashboard.service.js.map +1 -0
- package/dist/dashboard/widget-registry.d.ts +22 -0
- package/dist/dashboard/widget-registry.js +77 -0
- package/dist/dashboard/widget-registry.js.map +1 -0
- package/dist/decorators/admin-action.d.ts +15 -2
- package/dist/decorators/admin-action.js +21 -2
- package/dist/decorators/admin-action.js.map +1 -1
- package/dist/decorators/admin-field.d.ts +23 -3
- package/dist/decorators/admin-field.js +1 -1
- package/dist/decorators/admin-field.js.map +1 -1
- package/dist/decorators/admin-resource.d.ts +14 -0
- package/dist/decorators/admin-resource.js.map +1 -1
- package/dist/decorators/admin-widget.d.ts +27 -0
- package/dist/decorators/admin-widget.js +14 -0
- package/dist/decorators/admin-widget.js.map +1 -0
- package/dist/http/admin-http.server.d.ts +5 -1
- package/dist/http/admin-http.server.js +17 -2
- package/dist/http/admin-http.server.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/inlines/inline-config.d.ts +3 -0
- package/dist/inlines/inline-config.js +11 -3
- package/dist/inlines/inline-config.js.map +1 -1
- package/dist/inlines/inline-reader.d.ts +5 -0
- package/dist/inlines/inline-reader.js +9 -2
- package/dist/inlines/inline-reader.js.map +1 -1
- package/dist/inlines/inline-writer.js +4 -0
- package/dist/inlines/inline-writer.js.map +1 -1
- package/dist/internal.d.ts +3 -0
- package/dist/internal.js +2 -0
- package/dist/internal.js.map +1 -1
- package/dist/options.d.ts +49 -0
- package/dist/options.js +31 -0
- package/dist/options.js.map +1 -1
- package/dist/policy/admin-policy.service.d.ts +10 -1
- package/dist/policy/admin-policy.service.js +112 -11
- package/dist/policy/admin-policy.service.js.map +1 -1
- package/dist/policy/catalog.d.ts +2 -2
- package/dist/policy/catalog.js +3 -3
- package/dist/policy/catalog.js.map +1 -1
- package/dist/policy/explain.js +3 -1
- package/dist/policy/explain.js.map +1 -1
- package/dist/rbac/rbac.service.d.ts +3 -1
- package/dist/rbac/rbac.service.js +8 -4
- package/dist/rbac/rbac.service.js.map +1 -1
- package/dist/registry/resource-registry.d.ts +17 -0
- package/dist/registry/resource-registry.js +75 -0
- package/dist/registry/resource-registry.js.map +1 -1
- package/dist/resource/admin-resource-base.d.ts +111 -9
- package/dist/resource/admin-resource-base.js +16 -2
- package/dist/resource/admin-resource-base.js.map +1 -1
- package/dist/schema/build-resource-schema.js +105 -7
- package/dist/schema/build-resource-schema.js.map +1 -1
- package/dist/schema/currency.d.ts +9 -0
- package/dist/schema/currency.js +11 -0
- package/dist/schema/currency.js.map +1 -0
- package/dist/schema/field-config.d.ts +33 -4
- package/dist/schema/field-config.js +68 -3
- package/dist/schema/field-config.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import type { LocalizedText } from '../i18n/localized-text.js';
|
|
3
|
+
import type { AdminCurrency } from '../schema/currency.js';
|
|
3
4
|
/** Inputs and displays the UI has (spec §5.6). */
|
|
4
|
-
export declare const WIDGETS: readonly ['text', 'textarea', 'number', 'money', 'switch', 'checkbox', 'select', 'radio', 'date', 'datetime', 'json', 'color', 'badge', 'slug', 'password', 'email', 'url', 'file', 'image', 'richtext'];
|
|
5
|
+
export declare const WIDGETS: readonly ['text', 'textarea', 'number', 'money', 'switch', 'checkbox', 'select', 'radio', 'date', 'datetime', 'json', 'color', 'badge', 'slug', 'password', 'email', 'url', 'file', 'image', 'richtext', 'stepper'];
|
|
5
6
|
export type WidgetName = (typeof WIDGETS)[number];
|
|
6
7
|
/** Colours a badge value can take; the UI maps them to its palette in light and dark themes. */
|
|
7
8
|
export declare const BADGE_COLORS: readonly ['gray', 'red', 'amber', 'green', 'blue', 'purple', 'pink'];
|
|
@@ -31,10 +32,29 @@ export interface AdminFieldOptions {
|
|
|
31
32
|
showIf?: Record<string, ShowIfValue | ShowIfValue[]>;
|
|
32
33
|
/** Shown on edit forms but never written by update. */
|
|
33
34
|
readonly?: boolean;
|
|
35
|
+
/** `stepper`: the steps in order (default: the enum's order). */
|
|
36
|
+
steps?: string[];
|
|
37
|
+
/** `stepper`: values that are not steps (cancelled): shown as a badge, with no current step. */
|
|
38
|
+
exclude?: string[];
|
|
39
|
+
/**
|
|
40
|
+
* `stepper`: when each step was reached, from a child resource logging the changes (one row per change: `value` is
|
|
41
|
+
* the value reached, `at` when; `where` narrows to this field's rows when the log holds several fields).
|
|
42
|
+
*/
|
|
43
|
+
history?: {
|
|
44
|
+
inline: abstract new (...args: any[]) => unknown;
|
|
45
|
+
value: string;
|
|
46
|
+
at: string;
|
|
47
|
+
where?: Record<string, string>;
|
|
48
|
+
};
|
|
49
|
+
/** A soft warning under the input while the field is empty (an image without alt text): it never stops a save. */
|
|
50
|
+
warnIf?: {
|
|
51
|
+
empty: true;
|
|
52
|
+
message: LocalizedText;
|
|
53
|
+
};
|
|
34
54
|
/** The `slug` widget fills itself from this field until someone edits it. */
|
|
35
55
|
slugFrom?: string;
|
|
36
|
-
/**
|
|
37
|
-
currency?: string;
|
|
56
|
+
/** The unit shown with the `money` widget (display only): a code such as `USD`, or a unit and its position. Wins over the global `currency`. */
|
|
57
|
+
currency?: string | AdminCurrency;
|
|
38
58
|
/** `file` and `image` widgets: type, size and visibility limits; `richtext`: `maxBytes` and `visibility` of editor images. */
|
|
39
59
|
file?: FileFieldOptions;
|
|
40
60
|
/** `file` and `image` widgets on a json column: a list of files instead of one. */
|
|
@@ -3,7 +3,7 @@ import { ADMIN_FIELD_METADATA } from '../constants.js';
|
|
|
3
3
|
/** Inputs and displays the UI has (spec §5.6). */
|
|
4
4
|
export const WIDGETS = [
|
|
5
5
|
'text', 'textarea', 'number', 'money', 'switch', 'checkbox', 'select', 'radio', 'date', 'datetime', 'json', 'color',
|
|
6
|
-
'badge', 'slug', 'password', 'email', 'url', 'file', 'image', 'richtext',
|
|
6
|
+
'badge', 'slug', 'password', 'email', 'url', 'file', 'image', 'richtext', 'stepper',
|
|
7
7
|
];
|
|
8
8
|
/** Colours a badge value can take; the UI maps them to its palette in light and dark themes. */
|
|
9
9
|
export const BADGE_COLORS = ['gray', 'red', 'amber', 'green', 'blue', 'purple', 'pink'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-field.js","sourceRoot":"","sources":["../../src/decorators/admin-field.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-field.js","sourceRoot":"","sources":["../../src/decorators/admin-field.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAIvD,kDAAkD;AAClD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO;IACnH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS;CAC3E,CAAC;AAGX,gGAAgG;AAChG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAmEjG,gHAAgH;AAChH,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;QACjC,MAAM,SAAS,GAAI,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,KAAK,CAAmD,IAAI,EAAE,CAAC;QAC5H,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5I,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAA4B;IAC/D,OAAO,CAAC,MAAM,IAAK,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,MAAM,CAAmD,CAAC,IAAI,EAAE,CAAC;AAChI,CAAC"}
|
|
@@ -14,6 +14,13 @@ export interface AdminResourceOptions {
|
|
|
14
14
|
* (A group lists its resources first, then its settings pages.)
|
|
15
15
|
*/
|
|
16
16
|
order?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the resource has its own entry in the sidebar, home, group pages, palette and global search. Default
|
|
19
|
+
* `true`, except for a resource another resource edits inline (`{ inline: ThisAdmin }` in a form layout): those are
|
|
20
|
+
* edited on their parent's page and default to `false`. Either way the resource keeps its URLs, permissions,
|
|
21
|
+
* history and audit entries.
|
|
22
|
+
*/
|
|
23
|
+
nav?: boolean;
|
|
17
24
|
/**
|
|
18
25
|
* The record's display name in lists, pickers and headers: a column name, or a function of the entity.
|
|
19
26
|
* Functions see columns (relations only when the loader joined them). Default: the first string column called
|
|
@@ -22,6 +29,13 @@ export interface AdminResourceOptions {
|
|
|
22
29
|
title?: TitleDefinition;
|
|
23
30
|
/** TypeORM DataSource name. Defaults to the default DataSource. */
|
|
24
31
|
dataSource?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Nothing is created, changed or deleted through the admin, whatever the roles say: no New, Save, Delete, editable
|
|
34
|
+
* cells or inline add and remove are offered, and the API answers 403. Its `@AdminAction`s still run (they need
|
|
35
|
+
* `<resource>.action.<name>` and, on records, `<resource>.update` as usual). For logs, snapshots like orders, and
|
|
36
|
+
* records only the host's own code writes.
|
|
37
|
+
*/
|
|
38
|
+
readonly?: boolean;
|
|
25
39
|
/** Custom permission codes of this resource: `['view_all']` declares `<name>.view_all` for roles and `ctx.can()`. */
|
|
26
40
|
permissions?: string[];
|
|
27
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-resource.js","sourceRoot":"","sources":["../../src/decorators/admin-resource.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-resource.js","sourceRoot":"","sources":["../../src/decorators/admin-resource.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AA+C1D,mGAAmG;AACnG,MAAM,UAAU,aAAa,CAAC,MAAgB,EAAE,OAAO,GAAyB,EAAE;IAChF,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,MAAM,UAAU,GAA4B,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC;QACnE,OAAO,CAAC,cAAc,CAAC,uBAAuB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACpE,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAgB;IACzD,OAAO,OAAO,CAAC,cAAc,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import type { WidgetData, WidgetParams, WidgetType } from '../contract.js';
|
|
3
|
+
import type { LocalizedText } from '../i18n/localized-text.js';
|
|
4
|
+
import type { AdminContext } from '../resource/admin-context.js';
|
|
5
|
+
export interface AdminWidgetOptions {
|
|
6
|
+
type: WidgetType;
|
|
7
|
+
title: LocalizedText;
|
|
8
|
+
/** Lower comes first on the dashboard. Default 100. */
|
|
9
|
+
order?: number;
|
|
10
|
+
/** Columns it spans on the desktop grid (4 columns; phones show one). Default 1. */
|
|
11
|
+
size?: 1 | 2 | 3 | 4;
|
|
12
|
+
/** The permission that shows it. Default `dashboard.<name>`; widgets may share one. */
|
|
13
|
+
permission?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* What a dashboard widget class implements: its data for a period (spec §5.8). Return the shape of its `type`:
|
|
17
|
+
* `stat`, `chart`, `table`, `progress` or `list` (`WidgetData`). The admin checks the permission and the period first.
|
|
18
|
+
*/
|
|
19
|
+
export interface AdminWidgetSource {
|
|
20
|
+
load(params: WidgetParams, ctx: AdminContext): Promise<WidgetData>;
|
|
21
|
+
}
|
|
22
|
+
export interface AdminWidgetDefinition extends AdminWidgetOptions {
|
|
23
|
+
name: string;
|
|
24
|
+
}
|
|
25
|
+
/** A dashboard widget: a provider whose `load` answers its data. The dashboard replaces the home page once one exists. */
|
|
26
|
+
export declare function AdminWidget(name: string, options: AdminWidgetOptions): ClassDecorator;
|
|
27
|
+
export declare function getAdminWidgetDefinition(target: Function): AdminWidgetDefinition | undefined;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { Injectable } from '@nestjs/common';
|
|
3
|
+
import { ADMIN_WIDGET_METADATA } from '../constants.js';
|
|
4
|
+
/** A dashboard widget: a provider whose `load` answers its data. The dashboard replaces the home page once one exists. */
|
|
5
|
+
export function AdminWidget(name, options) {
|
|
6
|
+
return (target) => {
|
|
7
|
+
Reflect.defineMetadata(ADMIN_WIDGET_METADATA, { ...options, name }, target);
|
|
8
|
+
Injectable()(target);
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export function getAdminWidgetDefinition(target) {
|
|
12
|
+
return Reflect.getOwnMetadata(ADMIN_WIDGET_METADATA, target);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=admin-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-widget.js","sourceRoot":"","sources":["../../src/decorators/admin-widget.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AA4BxD,0HAA0H;AAC1H,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAA2B;IACnE,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAkC,EAAE,MAAM,CAAC,CAAC;QAC5G,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAgB;IACvD,OAAO,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type OnModuleInit } from '@nestjs/common';
|
|
2
2
|
import { HttpAdapterHost } from '@nestjs/core';
|
|
3
3
|
import { AuditReader } from '../audit/audit-reader.js';
|
|
4
|
+
import { AdminAppearance } from '../appearance/appearance.service.js';
|
|
5
|
+
import { DashboardService } from '../dashboard/dashboard.service.js';
|
|
4
6
|
import { AdminAudit } from '../audit/audit.service.js';
|
|
5
7
|
import { AdminAuthService } from '../auth/auth.service.js';
|
|
6
8
|
import { AdminPolicy } from '../policy/admin-policy.service.js';
|
|
@@ -24,11 +26,13 @@ export declare class AdminHttpServer implements OnModuleInit {
|
|
|
24
26
|
private readonly files;
|
|
25
27
|
private readonly audit;
|
|
26
28
|
private readonly options;
|
|
29
|
+
private readonly dashboard;
|
|
30
|
+
private readonly appearance;
|
|
27
31
|
private readonly logger;
|
|
28
32
|
private readonly router;
|
|
29
33
|
private ui?;
|
|
30
34
|
private readonly viewAsLogged;
|
|
31
|
-
constructor(adapterHost: HttpAdapterHost, api: AdminApiService, registry: ResourceRegistry, auth: AdminAuthService, policy: AdminPolicy, rbac: AdminRbac, files: FilesService, audit: AdminAudit, auditReader: AuditReader, options: ResolvedAdminOptions);
|
|
35
|
+
constructor(adapterHost: HttpAdapterHost, api: AdminApiService, registry: ResourceRegistry, auth: AdminAuthService, policy: AdminPolicy, rbac: AdminRbac, files: FilesService, audit: AdminAudit, auditReader: AuditReader, options: ResolvedAdminOptions, dashboard: DashboardService, appearance: AdminAppearance);
|
|
32
36
|
/**
|
|
33
37
|
* Someone changed how their own account signs in (`/api/account/*`), after the adapter did it: the user is both
|
|
34
38
|
* the actor and the record (`recordId`). Never the password, a code or a session id.
|
|
@@ -18,6 +18,10 @@ import { pickLocale, resolveText } from '../i18n/localized-text.js';
|
|
|
18
18
|
import { AdminBadRequestError, AdminError, AdminForbiddenError, AdminNotFoundError, AdminRateLimitError, AdminTwoFactorRequiredError, AdminUnauthenticatedError, AdminUnsupportedMediaTypeError, AdminValidationError, } from '../errors.js';
|
|
19
19
|
import { AuditReader } from '../audit/audit-reader.js';
|
|
20
20
|
import { addAuditRoutes } from '../audit/audit-routes.js';
|
|
21
|
+
import { addMenuRoutes } from '../api/menu-routes.js';
|
|
22
|
+
import { addDashboardRoutes } from '../dashboard/dashboard-routes.js';
|
|
23
|
+
import { AdminAppearance } from '../appearance/appearance.service.js';
|
|
24
|
+
import { DashboardService } from '../dashboard/dashboard.service.js';
|
|
21
25
|
import { AdminAudit, clientOf } from '../audit/audit.service.js';
|
|
22
26
|
import { AdminAuthService } from '../auth/auth.service.js';
|
|
23
27
|
import { AdminPolicy } from '../policy/admin-policy.service.js';
|
|
@@ -68,11 +72,13 @@ let AdminHttpServer = class AdminHttpServer {
|
|
|
68
72
|
files;
|
|
69
73
|
audit;
|
|
70
74
|
options;
|
|
75
|
+
dashboard;
|
|
76
|
+
appearance;
|
|
71
77
|
logger = new Logger('NestMyAdmin');
|
|
72
78
|
router = new Router();
|
|
73
79
|
ui;
|
|
74
80
|
viewAsLogged = new Map();
|
|
75
|
-
constructor(adapterHost, api, registry, auth, policy, rbac, files, audit, auditReader, options) {
|
|
81
|
+
constructor(adapterHost, api, registry, auth, policy, rbac, files, audit, auditReader, options, dashboard, appearance) {
|
|
76
82
|
this.adapterHost = adapterHost;
|
|
77
83
|
this.api = api;
|
|
78
84
|
this.registry = registry;
|
|
@@ -82,6 +88,8 @@ let AdminHttpServer = class AdminHttpServer {
|
|
|
82
88
|
this.files = files;
|
|
83
89
|
this.audit = audit;
|
|
84
90
|
this.options = options;
|
|
91
|
+
this.dashboard = dashboard;
|
|
92
|
+
this.appearance = appearance;
|
|
85
93
|
this.router
|
|
86
94
|
.add('GET', '/api/session', async ({ res, principal, ctx }) => {
|
|
87
95
|
if (!principal)
|
|
@@ -216,6 +224,7 @@ let AdminHttpServer = class AdminHttpServer {
|
|
|
216
224
|
})
|
|
217
225
|
.add('GET', '/api/meta', ({ res, ctx }) => sendJson(res, 200, this.api.meta(ctx.locale, ctx)))
|
|
218
226
|
.add('GET', '/api/meta/resources/:resource', ({ res, ctx }, p) => sendJson(res, 200, this.api.schema(p.resource, ctx.locale, ctx)))
|
|
227
|
+
.add('GET', '/api/resources/:resource/tab-counts', async ({ res, ctx }, p) => sendJson(res, 200, await this.api.tabCounts(p.resource, ctx)))
|
|
219
228
|
.add('GET', '/api/search', async ({ res, url, ctx }) => sendJson(res, 200, await this.api.search(url.searchParams, ctx)))
|
|
220
229
|
.add('GET', '/api/resources/:resource', async ({ res, url, ctx }, p) => sendJson(res, 200, await this.api.list(p.resource, url.searchParams, ctx)))
|
|
221
230
|
.add('GET', '/api/resources/:resource/fields/:field/options', async ({ res, url, ctx }, p) => sendJson(res, 200, await this.api.fieldOptions(p.resource, p.field, url.searchParams, ctx)))
|
|
@@ -240,6 +249,9 @@ let AdminHttpServer = class AdminHttpServer {
|
|
|
240
249
|
addFileRoutes(this.router, { files: this.files });
|
|
241
250
|
addPageRoutes(this.router, { api: this.api });
|
|
242
251
|
addAuditRoutes(this.router, { reader: auditReader });
|
|
252
|
+
addMenuRoutes(this.router, { api: this.api });
|
|
253
|
+
addDashboardRoutes(this.router, { dashboard: this.dashboard });
|
|
254
|
+
this.router.add('PUT', '/api/appearance', async ({ req, res, ctx }) => sendJson(res, 200, await this.appearance.setAccent(((await readJsonBody(req)) ?? {}).accent ?? null, ctx)));
|
|
243
255
|
addRbacRoutes(this.router, { rbac: this.rbac, auth: this.auth, api: this.api, policy: this.policy, registry: this.registry, audit: this.audit });
|
|
244
256
|
}
|
|
245
257
|
/**
|
|
@@ -302,6 +314,7 @@ let AdminHttpServer = class AdminHttpServer {
|
|
|
302
314
|
auth: this.auth.capabilities,
|
|
303
315
|
rbac: { enabled, view: enabled && (permissions.can('rbac.view') || permissions.can('rbac.manage')), manage: enabled && permissions.can('rbac.manage') },
|
|
304
316
|
audit: { enabled: this.audit.enabled, view: this.audit.enabled && permissions.can('audit.view') },
|
|
317
|
+
...(this.appearance.enabled ? { appearance: { accent: this.appearance.current(), manage: !viewAs && permissions.can('appearance.manage') } } : {}),
|
|
305
318
|
permissionsVersion: this.rbac.permissionsVersion,
|
|
306
319
|
...(viewAs ? { viewAs: { by: toSessionUser(viewAs.by) } } : {}),
|
|
307
320
|
};
|
|
@@ -321,6 +334,7 @@ let AdminHttpServer = class AdminHttpServer {
|
|
|
321
334
|
locale: this.options.locale,
|
|
322
335
|
locales: this.options.locales,
|
|
323
336
|
branding: this.options.branding,
|
|
337
|
+
...(this.options.currency ? { currency: this.options.currency } : {}),
|
|
324
338
|
}, { title: this.options.title });
|
|
325
339
|
adapter.use(this.options.path, (req, res, next) => {
|
|
326
340
|
this.handle(req, res, next).catch((error) => {
|
|
@@ -427,7 +441,8 @@ AdminHttpServer = __decorate([
|
|
|
427
441
|
AdminRbac,
|
|
428
442
|
FilesService,
|
|
429
443
|
AdminAudit,
|
|
430
|
-
AuditReader, Object
|
|
444
|
+
AuditReader, Object, DashboardService,
|
|
445
|
+
AdminAppearance])
|
|
431
446
|
], AdminHttpServer);
|
|
432
447
|
export { AdminHttpServer };
|
|
433
448
|
/** `{ password }` of a request that must confirm the user's password. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-http.server.js","sourceRoot":"","sources":["../../src/http/admin-http.server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin-http.server.js","sourceRoot":"","sources":["../../src/http/admin-http.server.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export { AdminModule } from './admin.module.js';
|
|
2
|
-
export type { AdminAuditOptions, AdminBranding, AdminFilesOptions, AdminModuleOptions, ErrorMapper, GlobalScope } from './options.js';
|
|
2
|
+
export type { AdminAuditOptions, AdminBranding, AdminCurrency, AdminFilesOptions, AdminMenuItem, AdminMenuOptions, AdminMenuSection, AdminModuleOptions, ErrorMapper, GlobalScope } from './options.js';
|
|
3
3
|
export type { LocalizedText } from './i18n/localized-text.js';
|
|
4
4
|
export { ResourceRegistry, type RegisteredGroup, type RegisteredResource } from './registry/resource-registry.js';
|
|
5
5
|
export type { DbNames } from './registry/db-names.js';
|
|
6
6
|
export { AdminGroup, type AdminGroupOptions } from './decorators/admin-group.js';
|
|
7
7
|
export { AdminResource, type AdminResourceOptions } from './decorators/admin-resource.js';
|
|
8
|
-
export { AdminResourceBase, type FilterCondition, type FilterValue, type FindManyResult, type CountMode, type FormConfig, type ListConfig, type ListParams, type RecordId, type RecordLinkConfig, } from './resource/admin-resource-base.js';
|
|
8
|
+
export { AdminResourceBase, type FilterCondition, type FilterValue, type FindManyResult, type CountMode, type FormConfig, type ComputedColumn, type ComputedSource, type ListConfig, type ListTab, type ListParams, type RecordId, type RecordLinkConfig, } from './resource/admin-resource-base.js';
|
|
9
9
|
export { AdminField, BADGE_COLORS, WIDGETS, type AdminFieldOptions, type FileFieldOptions, type BadgeColor, type WidgetName } from './decorators/admin-field.js';
|
|
10
10
|
export type { FieldConfig, FieldsConfig, LayoutConfig, LayoutInlineConfig, LayoutSectionConfig, LayoutTabConfig } from './schema/field-config.js';
|
|
11
11
|
export type { RegisteredInline } from './inlines/inline-config.js';
|
|
@@ -31,3 +31,5 @@ export { AdminAuth, type AdminAuthAdapter, type AdminAuthConfig, type AdminPrinc
|
|
|
31
31
|
export { appendSetCookie, isSecureRequest, parseCookies, serializeCookie, type CookieOptions } from './http/cookies.js';
|
|
32
32
|
export { AfterSave, BeforeDelete, BeforeSave, type DeleteMode, type HookKind, type SaveMode } from './decorators/hooks.js';
|
|
33
33
|
export type * from './contract.js';
|
|
34
|
+
export { AdminWidget, type AdminWidgetOptions, type AdminWidgetSource } from './decorators/admin-widget.js';
|
|
35
|
+
export { ADMIN_SETTING_ENTITIES, NmaSetting } from './appearance/entities.js';
|
package/dist/index.js
CHANGED
|
@@ -19,4 +19,6 @@ export { AdminBadRequestError, AdminConflictError, AdminError, AdminFieldError,
|
|
|
19
19
|
export { AdminAuth, } from './auth/auth-adapter.js';
|
|
20
20
|
export { appendSetCookie, isSecureRequest, parseCookies, serializeCookie } from './http/cookies.js';
|
|
21
21
|
export { AfterSave, BeforeDelete, BeforeSave } from './decorators/hooks.js';
|
|
22
|
+
export { AdminWidget } from './decorators/admin-widget.js';
|
|
23
|
+
export { ADMIN_SETTING_ENTITIES, NmaSetting } from './appearance/entities.js';
|
|
22
24
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAiD,MAAM,iCAAiC,CAAC;AAElH,OAAO,EAAE,UAAU,EAA0B,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,aAAa,EAA6B,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EACL,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAiD,MAAM,iCAAiC,CAAC;AAElH,OAAO,EAAE,UAAU,EAA0B,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,aAAa,EAA6B,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EACL,iBAAiB,GAalB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAmF,MAAM,6BAA6B,CAAC;AAGjK,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAA6C,MAAM,6BAA6B,CAAC;AAC9G,OAAO,EAAE,WAAW,EAA+C,MAAM,8BAA8B,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAA2D,MAAM,qCAAqC,CAAC;AAEjI,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACvH,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAG1F,OAAO,EAAE,UAAU,EAAkD,MAAM,gCAAgC,CAAC;AAE5G,OAAO,EAAE,YAAY,EAA+C,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAyB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,SAAS,GAYV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAsB,MAAM,mBAAmB,CAAC;AACxH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAiD,MAAM,uBAAuB,CAAC;AAE3H,OAAO,EAAE,WAAW,EAAmD,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -23,6 +23,9 @@ export interface RegisteredInline {
|
|
|
23
23
|
label?: LocalizedText;
|
|
24
24
|
/** The layout node it was declared by. */
|
|
25
25
|
node: LayoutInlineConfig;
|
|
26
|
+
readonly: boolean;
|
|
27
|
+
/** The child's `list.computed` keys shown in the table. */
|
|
28
|
+
computed: string[];
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
31
|
* Resolves the inline nodes of every resource's layout, once every resource is registered (a child may be registered
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveText } from '../i18n/localized-text.js';
|
|
2
|
-
import { DEFAULT_INLINE_MAX, layoutInlines, localizeLayout } from '../schema/field-config.js';
|
|
2
|
+
import { DEFAULT_INLINE_MAX, layoutInlines, localizeLayout, mainLayout } from '../schema/field-config.js';
|
|
3
3
|
import { isToOne } from '../schema/relation-fields.js';
|
|
4
4
|
import { didYouMean } from '../schema/suggest.js';
|
|
5
5
|
/**
|
|
@@ -9,7 +9,7 @@ import { didYouMean } from '../schema/suggest.js';
|
|
|
9
9
|
*/
|
|
10
10
|
export function resolveInlines(entries) {
|
|
11
11
|
for (const entry of entries) {
|
|
12
|
-
const layout = entry.resource.form?.layout;
|
|
12
|
+
const layout = mainLayout(entry.resource.form?.layout);
|
|
13
13
|
const nodes = layoutInlines(layout);
|
|
14
14
|
if (!layout || nodes.length === 0)
|
|
15
15
|
continue;
|
|
@@ -45,6 +45,9 @@ export function toLayoutInline(inline, label, locale, defaultLocale) {
|
|
|
45
45
|
...(inline.min !== undefined ? { min: inline.min } : {}),
|
|
46
46
|
max: inline.max,
|
|
47
47
|
link: inline.link,
|
|
48
|
+
...(inline.readonly ? { readonly: true } : {}),
|
|
49
|
+
...(inline.computed.length > 0 ? { computed: [...inline.computed] } : {}),
|
|
50
|
+
...(inline.node.cards?.markFirst !== undefined ? { markFirst: resolveText(inline.node.cards.markFirst, locale, defaultLocale) } : {}),
|
|
48
51
|
};
|
|
49
52
|
}
|
|
50
53
|
function resolveInline(entry, node, entries, fail) {
|
|
@@ -57,7 +60,7 @@ function resolveInline(entry, node, entries, fail) {
|
|
|
57
60
|
// A link holds one value: the parent's key (relations to composite keys are not fields either).
|
|
58
61
|
if (entry.schema.primaryKeys.length !== 1)
|
|
59
62
|
fail(`${where}: inlines need a parent with a single-column primary key`);
|
|
60
|
-
if (layoutInlines(child.resource.form?.layout).length > 0)
|
|
63
|
+
if (layoutInlines(mainLayout(child.resource.form?.layout)).length > 0)
|
|
61
64
|
fail(`${where}: ${child.className} declares inlines itself; inlines are one level deep`);
|
|
62
65
|
const childName = entityName(child.metadata);
|
|
63
66
|
const parentName = entityName(entry.metadata);
|
|
@@ -96,6 +99,9 @@ function resolveInline(entry, node, entries, fail) {
|
|
|
96
99
|
if (!formNames.includes(name))
|
|
97
100
|
fail(`${where}: fields: "${name}" is not on the ${childName} form${didYouMean(name, formNames)}`);
|
|
98
101
|
}
|
|
102
|
+
for (const key of node.computed ?? [])
|
|
103
|
+
if (!child.computed.has(key))
|
|
104
|
+
fail(`${where}: computed: "${key}" is not a list.computed column of ${childName}${didYouMean(key, [...child.computed.keys()])}`);
|
|
99
105
|
const referenced = relation.joinColumns[0].referencedColumn?.propertyName ?? entry.schema.primaryKeys[0];
|
|
100
106
|
return {
|
|
101
107
|
name: child.schema.name,
|
|
@@ -110,6 +116,8 @@ function resolveInline(entry, node, entries, fail) {
|
|
|
110
116
|
max: node.max ?? DEFAULT_INLINE_MAX,
|
|
111
117
|
...(node.section !== undefined ? { label: node.section } : {}),
|
|
112
118
|
node,
|
|
119
|
+
readonly: node.readonly === true,
|
|
120
|
+
computed: [...(node.computed ?? [])],
|
|
113
121
|
};
|
|
114
122
|
}
|
|
115
123
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-config.js","sourceRoot":"","sources":["../../src/inlines/inline-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAsB,MAAM,2BAA2B,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAA2B,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"inline-config.js","sourceRoot":"","sources":["../../src/inlines/inline-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,13 @@ import type { AdminRecord } from '../contract.js';
|
|
|
2
2
|
import type { AdminPolicy } from '../policy/admin-policy.service.js';
|
|
3
3
|
import type { RegisteredResource } from '../registry/resource-registry.js';
|
|
4
4
|
import type { AdminContext } from '../resource/admin-context.js';
|
|
5
|
+
import type { RegisteredInline } from './inline-config.js';
|
|
5
6
|
export interface InlineReaderDeps {
|
|
6
7
|
policy: AdminPolicy;
|
|
7
8
|
/** Serializes the child's entities exactly as its own record endpoint does (fields cut, `_perm`, `_files`…). */
|
|
8
9
|
serialize: (entry: RegisteredResource, entities: object[], ctx: AdminContext) => Promise<AdminRecord[]>;
|
|
10
|
+
/** Sets `_computed` on the rows for the inline's computed columns this user may see (one batch per inline). */
|
|
11
|
+
computed?: (inline: RegisteredInline, entities: object[], records: AdminRecord[], ctx: AdminContext) => Promise<void>;
|
|
9
12
|
}
|
|
10
13
|
/**
|
|
11
14
|
* `_inlines` of a record: for each inline the user may see (`AdminPolicy.canSeeInline`: the child's `view` and its link
|
|
@@ -25,6 +28,8 @@ export declare class InlineReader {
|
|
|
25
28
|
* own queries, and its rows are re-checked in one more query (see `overridden`).
|
|
26
29
|
*/
|
|
27
30
|
private rows;
|
|
31
|
+
/** The child's records, with the inline's computed columns. */
|
|
32
|
+
private serialize;
|
|
28
33
|
/**
|
|
29
34
|
* A `findMany` override may ignore the link filter and the scopes: its rows are kept only when they are children of
|
|
30
35
|
* THIS parent inside the user's view scopes and the child's `query()` (one query, `children()` with their keys), in
|
|
@@ -49,7 +49,14 @@ export class InlineReader {
|
|
|
49
49
|
const truncated = found.hasMore === true || found.items.length > inline.max;
|
|
50
50
|
const items = found.items.slice(0, inline.max);
|
|
51
51
|
const total = truncated ? await this.children(inline, value, ctx).getCount() : items.length;
|
|
52
|
-
return { rows: await this.
|
|
52
|
+
return { rows: await this.serialize(inline, items, ctx), total, truncated };
|
|
53
|
+
}
|
|
54
|
+
/** The child's records, with the inline's computed columns. */
|
|
55
|
+
async serialize(inline, entities, ctx) {
|
|
56
|
+
const records = await this.deps.serialize(inline.child, entities, ctx);
|
|
57
|
+
if (inline.computed.length > 0 && entities.length > 0)
|
|
58
|
+
await this.deps.computed?.(inline, entities, records, ctx);
|
|
59
|
+
return records;
|
|
53
60
|
}
|
|
54
61
|
/**
|
|
55
62
|
* A `findMany` override may ignore the link filter and the scopes: its rows are kept only when they are children of
|
|
@@ -71,7 +78,7 @@ export class InlineReader {
|
|
|
71
78
|
const more = found.hasMore === true || (found.total ?? 0) > found.items.length;
|
|
72
79
|
const total = more || items.length > inline.max ? await this.children(inline, value, ctx).getCount() : items.length;
|
|
73
80
|
const rows = items.slice(0, inline.max);
|
|
74
|
-
return { rows: await this.
|
|
81
|
+
return { rows: await this.serialize(inline, rows, ctx), total, truncated: total > rows.length };
|
|
75
82
|
}
|
|
76
83
|
/** This parent's children as the user may view them: the child's `query()`, the user's view scopes, the link. */
|
|
77
84
|
children(inline, value, ctx) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-reader.js","sourceRoot":"","sources":["../../src/inlines/inline-reader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,EAAE,iBAAiB,EAAoD,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"inline-reader.js","sourceRoot":"","sources":["../../src/inlines/inline-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -136,6 +136,10 @@ export class InlineWriter {
|
|
|
136
136
|
const positions = new Map();
|
|
137
137
|
const moves = new Map();
|
|
138
138
|
const rows = new Map();
|
|
139
|
+
// A read-only inline is shown, never written through its parent.
|
|
140
|
+
if (inline.readonly && (creates.length > 0 || updates.length > 0 || deletes.length > 0 || order !== undefined)) {
|
|
141
|
+
throw new AdminValidationError({ [at]: [`${label} rows are read-only here`] });
|
|
142
|
+
}
|
|
139
143
|
if (!parentEntity || linkValue === null || linkValue === undefined) {
|
|
140
144
|
// No children can be named: a new parent (or one whose referenced value is empty) has none.
|
|
141
145
|
const first = updates[0]?.raw ?? deletes[0]?.raw ?? order?.find((item) => !creates.some((entry) => entry.key === item));
|