@nest-my-admin/core 0.3.2 → 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.
Files changed (101) hide show
  1. package/README.md +29 -0
  2. package/dist/admin.module.js +6 -0
  3. package/dist/admin.module.js.map +1 -1
  4. package/dist/api/action.service.js +3 -0
  5. package/dist/api/action.service.js.map +1 -1
  6. package/dist/api/admin-api.service.d.ts +34 -2
  7. package/dist/api/admin-api.service.js +208 -10
  8. package/dist/api/admin-api.service.js.map +1 -1
  9. package/dist/api/menu-routes.d.ts +16 -0
  10. package/dist/api/menu-routes.js +10 -0
  11. package/dist/api/menu-routes.js.map +1 -0
  12. package/dist/api/menu.d.ts +15 -0
  13. package/dist/api/menu.js +85 -0
  14. package/dist/api/menu.js.map +1 -0
  15. package/dist/appearance/appearance.service.d.ts +28 -0
  16. package/dist/appearance/appearance.service.js +88 -0
  17. package/dist/appearance/appearance.service.js.map +1 -0
  18. package/dist/appearance/entities.d.ts +8 -0
  19. package/dist/appearance/entities.js +35 -0
  20. package/dist/appearance/entities.js.map +1 -0
  21. package/dist/constants.d.ts +1 -0
  22. package/dist/constants.js +1 -0
  23. package/dist/constants.js.map +1 -1
  24. package/dist/contract.d.ts +243 -7
  25. package/dist/crud/computed-columns.d.ts +65 -0
  26. package/dist/crud/computed-columns.js +264 -0
  27. package/dist/crud/computed-columns.js.map +1 -0
  28. package/dist/crud/list-query-builder.d.ts +3 -1
  29. package/dist/crud/list-query-builder.js +5 -2
  30. package/dist/crud/list-query-builder.js.map +1 -1
  31. package/dist/crud/list-query.js +6 -1
  32. package/dist/crud/list-query.js.map +1 -1
  33. package/dist/crud/list-tabs.d.ts +7 -0
  34. package/dist/crud/list-tabs.js +44 -0
  35. package/dist/crud/list-tabs.js.map +1 -0
  36. package/dist/dashboard/dashboard-routes.d.ts +18 -0
  37. package/dist/dashboard/dashboard-routes.js +13 -0
  38. package/dist/dashboard/dashboard-routes.js.map +1 -0
  39. package/dist/dashboard/dashboard.service.d.ts +20 -0
  40. package/dist/dashboard/dashboard.service.js +80 -0
  41. package/dist/dashboard/dashboard.service.js.map +1 -0
  42. package/dist/dashboard/widget-registry.d.ts +22 -0
  43. package/dist/dashboard/widget-registry.js +77 -0
  44. package/dist/dashboard/widget-registry.js.map +1 -0
  45. package/dist/decorators/admin-action.d.ts +15 -2
  46. package/dist/decorators/admin-action.js +21 -2
  47. package/dist/decorators/admin-action.js.map +1 -1
  48. package/dist/decorators/admin-field.d.ts +23 -3
  49. package/dist/decorators/admin-field.js +1 -1
  50. package/dist/decorators/admin-field.js.map +1 -1
  51. package/dist/decorators/admin-resource.d.ts +7 -0
  52. package/dist/decorators/admin-resource.js.map +1 -1
  53. package/dist/decorators/admin-widget.d.ts +27 -0
  54. package/dist/decorators/admin-widget.js +14 -0
  55. package/dist/decorators/admin-widget.js.map +1 -0
  56. package/dist/http/admin-http.server.d.ts +5 -1
  57. package/dist/http/admin-http.server.js +17 -2
  58. package/dist/http/admin-http.server.js.map +1 -1
  59. package/dist/index.d.ts +4 -2
  60. package/dist/index.js +2 -0
  61. package/dist/index.js.map +1 -1
  62. package/dist/inlines/inline-config.d.ts +3 -0
  63. package/dist/inlines/inline-config.js +11 -3
  64. package/dist/inlines/inline-config.js.map +1 -1
  65. package/dist/inlines/inline-reader.d.ts +5 -0
  66. package/dist/inlines/inline-reader.js +9 -2
  67. package/dist/inlines/inline-reader.js.map +1 -1
  68. package/dist/inlines/inline-writer.js +4 -0
  69. package/dist/inlines/inline-writer.js.map +1 -1
  70. package/dist/internal.d.ts +3 -0
  71. package/dist/internal.js +2 -0
  72. package/dist/internal.js.map +1 -1
  73. package/dist/options.d.ts +49 -0
  74. package/dist/options.js +31 -0
  75. package/dist/options.js.map +1 -1
  76. package/dist/policy/admin-policy.service.d.ts +10 -1
  77. package/dist/policy/admin-policy.service.js +107 -8
  78. package/dist/policy/admin-policy.service.js.map +1 -1
  79. package/dist/policy/catalog.d.ts +2 -2
  80. package/dist/policy/catalog.js +3 -3
  81. package/dist/policy/catalog.js.map +1 -1
  82. package/dist/policy/explain.js +3 -1
  83. package/dist/policy/explain.js.map +1 -1
  84. package/dist/rbac/rbac.service.d.ts +3 -1
  85. package/dist/rbac/rbac.service.js +8 -4
  86. package/dist/rbac/rbac.service.js.map +1 -1
  87. package/dist/registry/resource-registry.d.ts +17 -0
  88. package/dist/registry/resource-registry.js +75 -0
  89. package/dist/registry/resource-registry.js.map +1 -1
  90. package/dist/resource/admin-resource-base.d.ts +111 -9
  91. package/dist/resource/admin-resource-base.js +16 -2
  92. package/dist/resource/admin-resource-base.js.map +1 -1
  93. package/dist/schema/build-resource-schema.js +103 -6
  94. package/dist/schema/build-resource-schema.js.map +1 -1
  95. package/dist/schema/currency.d.ts +9 -0
  96. package/dist/schema/currency.js +11 -0
  97. package/dist/schema/currency.js.map +1 -0
  98. package/dist/schema/field-config.d.ts +33 -4
  99. package/dist/schema/field-config.js +68 -3
  100. package/dist/schema/field-config.js.map +1 -1
  101. 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
- /** Currency code shown with the `money` widget (display only). */
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;AAGvD,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;CAChE,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;AAwDjG,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"}
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
@@ -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;AAwC1D,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"}
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":";;;;;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAqB,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAqB,MAAM,8BAA8B,CAAC;AACxG,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAqB,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAWhD,kHAAkH;AAClH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAEzE,kIAAkI;AAClI,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAEvD,SAAS,iBAAiB,CAAC,MAA0B;IACnD,OAAO,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,kBAAkB,CAAC;AAC5E,CAAC;AAED,mHAAmH;AACnH,SAAS,UAAU,CAAC,KAAc;IAChC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAyC,CAAC;IAC/E,IAAI,IAAI,KAAK,qBAAqB;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;IAC3H,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACnH,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QAChE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAClH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAe;IAOP,WAAW;IACX,GAAG;IACH,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,KAAK;IACL,KAAK;IAEkB,OAAO;IAfhC,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;IACnC,MAAM,GAAG,IAAI,MAAM,EAAgB,CAAC;IAC7C,EAAE,CAAY;IACL,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1D,YACmB,WAA4B,EAC5B,GAAoB,EACpB,QAA0B,EAC1B,IAAsB,EACtB,MAAmB,EACnB,IAAe,EACf,KAAmB,EACnB,KAAiB,EAClC,WAAwB,EACgB,OAA6B;2BATpD,WAAW;mBACX,GAAG;wBACH,QAAQ;oBACR,IAAI;sBACJ,MAAM;oBACN,IAAI;qBACJ,KAAK;qBACL,KAAK;uBAEkB,OAAO;QAE/C,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;YAC5D,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,yBAAyB,EAAE,CAAC;YACtD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC;aACD,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;YACvC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,kBAAkB,CAAC,6CAA6C,CAAC,CAAC;YACxF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAA8D,CAAC;YAC9G,MAAM,MAAM,GAA6B,EAAE,CAAC;YAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG;gBAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,aAAa,CAAC,CAAC;YACvH,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI;gBAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,aAAa,CAAC,CAAC;YACjH,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;gBAAE,MAAM,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACvG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC3E,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAG,QAAmB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAkB,EAAE,GAAG,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACpK,IAAI,SAAyB,CAAC;YAC9B,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACvE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wGAAwG;gBACxG,2GAA2G;gBAC3G,kEAAkE;gBAClE,qFAAqF;gBACrF,MAAM,SAAS,GAAG,KAAK,YAAY,2BAA2B,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC;gBAC1F,IAAI,KAAK,YAAY,yBAAyB,IAAI,KAAK,YAAY,mBAAmB,IAAI,SAAS,EAAE,CAAC;oBACpG,MAAM,OAAO,GAAG,KAAK,YAAY,mBAAmB,CAAC;oBACrD,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,KAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAChJ,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACvI,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;aACD,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,MAAM;gBAAE,MAAM,IAAI,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;YACjF,MAAM,OAAO,CAAC,MAAM,CAAC,SAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,SAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACzI,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,GAAG,CAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,YAAY;gBAAE,MAAM,IAAI,kBAAkB,CAAC,mCAAmC,CAAC,CAAC;YAC9F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,SAAU,CAAC,CAAC;YACxD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAChC,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,OAAO,EAAE,OAAO,CAAC,EAAE,KAAK,SAAU,CAAC,SAAS;oBAC5C,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;oBAC1C,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE;oBAC5C,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;oBAC1C,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC,CAAC;aACD,GAAG,CAAC,QAAQ,EAAE,uBAAuB,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,mBAAmB;gBAAE,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;YACxG,MAAM,OAAO,CAAC,mBAAmB,CAAC,SAAU,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,SAAU,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1F,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,GAAG,CAAC,QAAQ,EAAE,2BAA2B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,aAAa;gBAAE,MAAM,IAAI,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;YAC5F,MAAM,OAAO,CAAC,aAAa,CAAC,SAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,SAAU,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACvF,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,GAAG,CAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;YAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,cAAc;gBAAE,MAAM,IAAI,kBAAkB,CAAC,oCAAoC,CAAC,CAAC;YACjG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAA0C,CAAC;YACrG,MAAM,MAAM,GAA6B,EAAE,CAAC;YAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI;gBAAE,MAAM,CAAC,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC;YAC7G,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;gBAAE,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;YACjG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC3E,MAAM,OAAO,CAAC,cAAc,CAAC,SAAU,EAAE,EAAE,OAAO,EAAE,OAAiB,EAAE,IAAI,EAAE,IAAc,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7G,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,SAAU,EAAE,GAAG,CAAC,CAAC;YAClE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,GAAG,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;YAC3D,MAAM,MAAM,GAA4B,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAU,CAAC,CAAC;YACpH,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC/F,CAAC,CAAC;aACD,GAAG,CAAC,MAAM,EAAE,wBAAwB,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;YAClE,MAAM,KAAK,GAA2B,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAU,CAAC,CAAC;YACjH,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7E,CAAC,CAAC;aACD,GAAG,CAAC,MAAM,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;YAC9E,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAuB,CAAC;YACzE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;gBAAE,MAAM,IAAI,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAClI,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAU,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAClI,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,SAAU,EAAE,GAAG,CAAC,CAAC;YACpE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC;aACD,GAAG,CAAC,MAAM,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;YAC9E,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAU,EAAE,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACpG,MAAM,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,SAAU,EAAE,GAAG,CAAC,CAAC;YACrE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,GAAG,CAAC,MAAM,EAAE,iCAAiC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;YACrF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,gBAAgB;gBAAE,MAAM,IAAI,kBAAkB,CAAC,wCAAwC,CAAC,CAAC;YACvG,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,SAAU,EAAE,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5F,MAAM,IAAI,CAAC,YAAY,CAAC,iCAAiC,EAAE,SAAU,EAAE,GAAG,CAAC,CAAC;YAC5E,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC;aACD,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;aAC7F,GAAG,CAAC,KAAK,EAAE,+BAA+B,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;aAClI,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;aACxH,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CACrE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAC3E;aACA,GAAG,CAAC,KAAK,EAAE,gDAAgD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAC3F,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAC5F;aACA,GAAG,CAAC,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CACpE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAC9D;aACA,GAAG,CAAC,MAAM,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CACtE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CACpF;aACA,GAAG,CAAC,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAC3E,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CACxG;aACA,GAAG,CAAC,MAAM,EAAE,sCAAsC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAClF,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CACxF;aACA,GAAG,CAAC,MAAM,EAAE,sCAAsC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAC7E,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAClE;YACD,iHAAiH;aAChH,GAAG,CAAC,MAAM,EAAE,0CAA0C,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CACtF,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CACjG;aACA,GAAG,CAAC,QAAQ,EAAE,8BAA8B,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACjF,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM;gBAAE,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YAC7F,IAAI,KAAK,KAAK,MAAM;gBAAE,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;;gBAC3E,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACL,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9C,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACrD,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACnJ,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,KAAa,EAAE,SAAyB,EAAE,GAAiB,EAAE,IAAI,GAAc,EAAE;QACpG,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxL,CAAC;IAED,+DAA+D;IACvD,SAAS,CAA2F,IAAO;QACjH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;QACvH,OAAO,MAA0C,CAAC;IACpD,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,MAAM,CAAC,SAAyB,EAAE,MAAyB,EAAE,KAAa,EAAE,GAAiB;QACzG,IAAI,KAAK,KAAK,qBAAqB;YAAE,OAAO,SAAS,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,mBAAmB,CAAC,oDAAoD,CAAC,CAAC;QACrH,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,6DAA6D,CAAC,CAAC;QAClJ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,sCAAsC,CAAC,CAAC;QACrG,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,yGAAyG;QACzG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,EAAE,CAAC;YACxD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7H,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAClG,CAAC;;gBAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,iCAAiC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9F,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,SAAyB,EAAE,MAA+B;QACtF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC;YACnC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;YAC5B,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YACvJ,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACjG,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAChD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC;IACJ,CAAC;IAED,YAAY;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,mDAAmD;QACzE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,mEAAmE,CAAC,CAAC;QAClH,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CACpB,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,aAAa,EAAE,EAC1C;YACE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAC3B,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM;YACnC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAChF,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAA0C;SAClE,EACD,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAC9B,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAiB,EAAE,GAAmB,EAAE,IAA+B,EAAE,EAAE;YACzG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACnD,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,aAAa,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1I,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;oBACpB,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAc,EAAE,GAAiB,EAAE,GAAmB,EAAE,IAA+B,EAAE,EAAE;YACzH,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC;YAC5D,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;gBAClE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBACvH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,KAAK,EAAE,CAAC;gBACV,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;gBACzF,OAAO;YACT,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACvH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,GAAiB,EAAE,GAAmB,EAAE,IAA+B;QAC1F,IAAI,GAA6B,CAAC;QAClC,IAAI,YAAgC,CAAC;QACrC,IAAI,CAAC;YACH,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC9B,kGAAkG;YAClG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,qBAAqB,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACtD,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC/D,IAAI,CAAC,KAAK;oBAAE,MAAM,IAAI,kBAAkB,CAAC,0BAA0B,GAAG,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;gBAC7F,iHAAiH;gBACjH,2FAA2F;gBAC3F,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC9D,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,YAAY,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;oBACpH,MAAM,IAAI,8BAA8B,CAAC,uCAAuC,CAAC,CAAC;gBACpF,CAAC;gBACD,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACrC,mGAAmG;gBACnG,IAAI,SAAqC,CAAC;gBAC1C,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;;oBACnF,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,SAAS;oBAAE,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBACxI,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,IAAI,CAAC;gBAC3B,IAAI,SAAS;oBAAE,GAAG,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC3E,uEAAuE;gBACvE,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnG,GAAG,CAAC,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9C,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,8CAA8C;gBACtE,MAAM,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtH,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClD,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,CAAC,EAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,GAAG,EAAE,aAAa,IAAI,SAAS,CAAC;YACtD,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,aAAa,mCAAmC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvF,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YACD,IAAI,KAAK,YAAY,mBAAmB;gBAAE,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACzH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE;gBAC1E,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;gBAC7E,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBACrC,QAAQ,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ;aAClC,CAAC,CAAC;YACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF,CAAA;AApVY,eAAe;IAD3B,UAAU,EAAE;IAiBR,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;qCATQ,eAAe;QACvB,eAAe;QACV,gBAAgB;QACpB,gBAAgB;QACd,WAAW;QACb,SAAS;QACR,YAAY;QACZ,UAAU;QACrB,WAAW;GAff,eAAe,CAoV3B;;AAED,yEAAyE;AACzE,KAAK,UAAU,UAAU,CAAC,GAAiB;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAA2B,CAAC;IACjF,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI;QAAE,MAAM,IAAI,oBAAoB,CAAC,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC7I,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,gGAAgG;AAChG,SAAS,OAAO,CAAC,GAAiB;IAChC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvG,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,oBAAoB,CAAC,6CAA6C,CAAC,CAAC;IAC1F,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC"}
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,GAUlB,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"}
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":"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"}
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.deps.serialize(child, items, ctx), total, truncated };
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.deps.serialize(child, rows, ctx), total, truncated: total > rows.length };
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":"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"}
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));