@questpie/admin 3.5.2 → 3.5.4
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 +8 -0
- package/dist/client/blocks/block-renderer.d.mts +2 -2
- package/dist/client/builder/index.d.mts +1 -1
- package/dist/client/builder/types/collection-types.d.mts +89 -5
- package/dist/client/builder/types/common.d.mts +5 -0
- package/dist/client/builder/types/field-types.d.mts +41 -1
- package/dist/client/builder/view/view.d.mts +3 -2
- package/dist/client/components/actions/action-dialog.mjs +5 -0
- package/dist/client/components/admin-link.d.mts +2 -2
- package/dist/client/components/fields/boolean-field.mjs +2 -1
- package/dist/client/components/fields/date-field.mjs +2 -1
- package/dist/client/components/fields/datetime-field.mjs +2 -1
- package/dist/client/components/fields/email-field.mjs +2 -1
- package/dist/client/components/fields/field-utils.d.mts +11 -0
- package/dist/client/components/fields/field-utils.mjs +3 -1
- package/dist/client/components/fields/field-wrapper.mjs +3 -3
- package/dist/client/components/fields/number-field.mjs +2 -1
- package/dist/client/components/fields/object-field.mjs +2 -1
- package/dist/client/components/fields/relation/displays/types.mjs +3 -3
- package/dist/client/components/fields/rich-text-editor/bubble-menu.mjs +7 -0
- package/dist/client/components/fields/rich-text-editor/extensions.mjs +19 -2
- package/dist/client/components/fields/rich-text-editor/image-popover.mjs +6 -2
- package/dist/client/components/fields/rich-text-editor/image-upload.mjs +2 -1
- package/dist/client/components/fields/rich-text-editor/index.d.mts +5 -3
- package/dist/client/components/fields/rich-text-editor/index.mjs +38 -76
- package/dist/client/components/fields/rich-text-editor/slash-commands.mjs +30 -7
- package/dist/client/components/fields/rich-text-editor/toolbar.mjs +1 -312
- package/dist/client/components/fields/rich-text-editor/types.d.mts +4 -0
- package/dist/client/components/fields/rich-text-editor/types.mjs +1 -1
- package/dist/client/components/fields/rich-text-editor/utils.mjs +6 -12
- package/dist/client/components/fields/select-field.mjs +2 -1
- package/dist/client/components/fields/text-field.mjs +2 -1
- package/dist/client/components/fields/textarea-field.mjs +2 -1
- package/dist/client/components/fields/time-field.mjs +2 -1
- package/dist/client/components/filter-builder/filter-builder-sheet.mjs +75 -22
- package/dist/client/components/layout/field-layout-renderer.mjs +4 -4
- package/dist/client/components/media/media-grid.mjs +2 -1
- package/dist/client/components/primitives/asset-preview.mjs +4 -2
- package/dist/client/components/primitives/dropzone.d.mts +100 -0
- package/dist/client/components/primitives/field-select-control.mjs +2 -1
- package/dist/client/components/ui/button.d.mts +23 -0
- package/dist/client/components/ui/button.mjs +2 -2
- package/dist/client/components/ui/dropdown-menu.d.mts +49 -0
- package/dist/client/components/ui/dropdown-menu.mjs +7 -19
- package/dist/client/components/ui/popover.mjs +1 -1
- package/dist/client/components/ui/search-input.d.mts +56 -0
- package/dist/client/components/ui/select.mjs +2 -2
- package/dist/client/components/ui/sheet.d.mts +40 -0
- package/dist/client/components/ui/table.d.mts +49 -0
- package/dist/client/components/ui/table.mjs +15 -1
- package/dist/client/components/ui/tooltip.d.mts +21 -0
- package/dist/client/contexts/focus-context.d.mts +2 -2
- package/dist/client/hooks/query-access.d.mts +9 -0
- package/dist/client/hooks/query-access.mjs +20 -0
- package/dist/client/hooks/typed-hooks.d.mts +4 -2
- package/dist/client/hooks/typed-hooks.mjs +30 -29
- package/dist/client/hooks/use-admin-config.mjs +20 -1
- package/dist/client/hooks/use-autosave.mjs +91 -0
- package/dist/client/hooks/use-collection.mjs +65 -23
- package/dist/client/hooks/use-reactive-fields.d.mts +1 -0
- package/dist/client/hooks/use-reactive-fields.mjs +16 -1
- package/dist/client/hooks/use-server-actions.mjs +12 -1
- package/dist/client/hooks/use-upload.d.mts +40 -0
- package/dist/client/hooks/use-upload.mjs +4 -2
- package/dist/client/hooks/use-view-state.mjs +15 -7
- package/dist/client/i18n/hooks.d.mts +20 -0
- package/dist/client/lib/utils.d.mts +6 -0
- package/dist/client/lib/view-filter-utils.mjs +30 -0
- package/dist/client/preview/block-scope-context.d.mts +2 -2
- package/dist/client/preview/preview-banner.d.mts +2 -2
- package/dist/client/preview/preview-field.d.mts +4 -4
- package/dist/client/runtime/provider.mjs +22 -3
- package/dist/client/scope/picker.d.mts +2 -2
- package/dist/client/scope/provider.d.mts +2 -2
- package/dist/client/styles/base.css +75 -79
- package/dist/client/utils/asset-url.mjs +27 -0
- package/dist/client/utils/build-field-definitions-from-schema.mjs +1 -0
- package/dist/client/views/auth/accept-invite-form.d.mts +2 -2
- package/dist/client/views/auth/auth-layout.d.mts +3 -3
- package/dist/client/views/auth/forgot-password-form.d.mts +2 -2
- package/dist/client/views/auth/login-form.d.mts +2 -2
- package/dist/client/views/auth/reset-password-form.d.mts +2 -2
- package/dist/client/views/auth/setup-form.d.mts +2 -2
- package/dist/client/views/collection/auto-form-fields.mjs +7 -6
- package/dist/client/views/collection/cells/primitive-cells.mjs +9 -6
- package/dist/client/views/collection/cells/shared/asset-thumbnail.d.mts +7 -0
- package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs +3 -2
- package/dist/client/views/collection/cells/shared/cell-helpers.mjs +3 -2
- package/dist/client/views/collection/cells/upload-cells.mjs +2 -1
- package/dist/client/views/collection/columns/build-columns.mjs +3 -1
- package/dist/client/views/collection/document-view.d.mts +30 -0
- package/dist/client/views/collection/document-view.mjs +377 -0
- package/dist/client/views/collection/field-context.mjs +3 -2
- package/dist/client/views/collection/field-renderer.mjs +13 -5
- package/dist/client/views/collection/form-view.mjs +221 -282
- package/dist/client/views/collection/list-view.mjs +592 -190
- package/dist/client/views/collection/outline.mjs +44 -19
- package/dist/client/views/collection/quick-filter-bar.mjs +45 -0
- package/dist/client/views/collection/table-view.mjs +61 -17
- package/dist/client/views/globals/global-form-view.mjs +12 -9
- package/dist/client/views/layout/admin-layout-provider.mjs +4 -3
- package/dist/client/views/layout/admin-layout.mjs +108 -21
- package/dist/client/views/layout/admin-router.mjs +19 -3
- package/dist/client/views/layout/admin-sidebar.mjs +70 -20
- package/dist/client/views/layout/admin-theme.mjs +5 -4
- package/dist/client/views/layout/admin-view-layout.d.mts +36 -0
- package/dist/client/views/pages/accept-invite-page.d.mts +2 -2
- package/dist/client/views/pages/dashboard-page.d.mts +2 -2
- package/dist/client/views/pages/forgot-password-page.d.mts +2 -2
- package/dist/client/views/pages/invite-page.d.mts +2 -2
- package/dist/client/views/pages/login-page.d.mts +2 -2
- package/dist/client/views/pages/reset-password-page.d.mts +2 -2
- package/dist/client/views/pages/setup-page.d.mts +2 -2
- package/dist/client.d.mts +17 -2
- package/dist/client.mjs +17 -2
- package/dist/components/rich-text/rich-text-renderer.d.mts +5 -5
- package/dist/components/rich-text/rich-text-renderer.mjs +5 -2
- package/dist/factories.d.mts +4 -2
- package/dist/factories.mjs +2 -2
- package/dist/index.d.mts +17 -3
- package/dist/index.mjs +17 -2
- package/dist/modules/admin.d.mts +1 -1
- package/dist/server/adapters/index.d.mts +2 -0
- package/dist/server/adapters/nextjs.d.mts +1 -0
- package/dist/server/augmentation/actions.d.mts +9 -3
- package/dist/server/augmentation/dashboard.d.mts +11 -11
- package/dist/server/augmentation/form-layout.d.mts +16 -6
- package/dist/server/augmentation/index.d.mts +7 -0
- package/dist/server/augmentation/sidebar.d.mts +8 -8
- package/dist/server/augmentation/views.d.mts +4 -1
- package/dist/server/auth-helpers.d.mts +1 -0
- package/dist/server/codegen/admin-client-template.mjs +7 -6
- package/dist/server/fields/blocks.mjs +4 -1
- package/dist/server/fields/index.d.mts +1 -1
- package/dist/server/fields/reactive-runtime.mjs +3 -0
- package/dist/server/fields/rich-text.d.mts +16 -17
- package/dist/server/fields/rich-text.mjs +18 -7
- package/dist/server/i18n/messages/cs.mjs +2 -0
- package/dist/server/i18n/messages/de.mjs +2 -0
- package/dist/server/i18n/messages/en.mjs +4 -0
- package/dist/server/i18n/messages/es.mjs +2 -0
- package/dist/server/i18n/messages/fr.mjs +2 -0
- package/dist/server/i18n/messages/pl.mjs +2 -0
- package/dist/server/i18n/messages/pt.mjs +2 -0
- package/dist/server/i18n/messages/sk.mjs +2 -0
- package/dist/server/modules/admin/.generated/module.d.mts +1 -1
- package/dist/server/modules/admin/auth-helpers.mjs +7 -1
- package/dist/server/modules/admin/block/block-builder.d.mts +0 -8
- package/dist/server/modules/admin/block/introspection.d.mts +2 -2
- package/dist/server/modules/admin/block/introspection.mjs +28 -4
- package/dist/server/modules/admin/block/prefetch.d.mts +11 -0
- package/dist/server/modules/admin/block/prefetch.mjs +108 -27
- package/dist/server/modules/admin/client/.generated/module.d.mts +68 -67
- package/dist/server/modules/admin/client/.generated/module.mjs +2 -0
- package/dist/server/modules/admin/client/views/collection-document.d.mts +6 -0
- package/dist/server/modules/admin/client/views/collection-document.mjs +10 -0
- package/dist/server/modules/admin/collections/account.d.mts +53 -52
- package/dist/server/modules/admin/collections/admin-locks.d.mts +57 -56
- package/dist/server/modules/admin/collections/admin-preferences.d.mts +38 -37
- package/dist/server/modules/admin/collections/admin-saved-views.d.mts +50 -49
- package/dist/server/modules/admin/collections/apikey.d.mts +76 -67
- package/dist/server/modules/admin/collections/assets.d.mts +37 -36
- package/dist/server/modules/admin/collections/session.d.mts +42 -41
- package/dist/server/modules/admin/collections/user.d.mts +57 -56
- package/dist/server/modules/admin/collections/verification.d.mts +34 -33
- package/dist/server/modules/admin/dto/admin-config.dto.mjs +34 -4
- package/dist/server/modules/admin/factories.mjs +4 -34
- package/dist/server/modules/admin/index.d.mts +3 -3
- package/dist/server/modules/admin/routes/admin-config.d.mts +4 -2
- package/dist/server/modules/admin/routes/admin-config.mjs +56 -24
- package/dist/server/modules/admin/routes/execute-action.d.mts +9 -9
- package/dist/server/modules/admin/routes/execute-action.mjs +35 -9
- package/dist/server/modules/admin/routes/locales.mjs +1 -1
- package/dist/server/modules/admin/routes/preview.d.mts +11 -11
- package/dist/server/modules/admin/routes/preview.mjs +6 -5
- package/dist/server/modules/admin/routes/reactive.d.mts +9 -9
- package/dist/server/modules/admin/routes/reactive.mjs +2 -2
- package/dist/server/modules/admin/routes/route-helpers.d.mts +11 -7
- package/dist/server/modules/admin/routes/route-helpers.mjs +1 -1
- package/dist/server/modules/admin/routes/setup.d.mts +7 -7
- package/dist/server/modules/admin/routes/translations.d.mts +4 -4
- package/dist/server/modules/admin/routes/widget-data.d.mts +5 -5
- package/dist/server/modules/admin/routes/widget-data.mjs +12 -4
- package/dist/server/modules/admin-preferences/collections/saved-views.d.mts +45 -45
- package/dist/server/modules/audit/.generated/module.d.mts +6 -6
- package/dist/server/modules/audit/collections/audit-log.d.mts +81 -80
- package/dist/server/modules/audit/jobs/audit-cleanup.d.mts +2 -2
- package/dist/server/plugin.mjs +10 -5
- package/dist/server/proxy-factories.d.mts +8 -1
- package/dist/server/proxy-factories.mjs +33 -1
- package/dist/server.d.mts +3 -1
- package/dist/shared/types/index.d.mts +1 -0
- package/dist/shared/types/saved-views.types.d.mts +14 -7
- package/dist/shared.d.mts +3 -2
- package/package.json +5 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as questpie82 from "questpie";
|
|
2
2
|
|
|
3
3
|
//#region src/server/modules/admin/routes/reactive.d.ts
|
|
4
4
|
|
|
@@ -13,7 +13,7 @@ import * as questpie125 from "questpie";
|
|
|
13
13
|
* Batch reactive endpoint.
|
|
14
14
|
* Executes multiple reactive handlers in a single request.
|
|
15
15
|
*/
|
|
16
|
-
declare const batchReactive:
|
|
16
|
+
declare const batchReactive: questpie82.JsonRouteDefinition<{
|
|
17
17
|
collection: string;
|
|
18
18
|
type: "collection" | "global";
|
|
19
19
|
requests: {
|
|
@@ -27,12 +27,12 @@ declare const batchReactive: questpie125.JsonRouteDefinition<{
|
|
|
27
27
|
}[];
|
|
28
28
|
formData?: Record<string, unknown> | undefined;
|
|
29
29
|
prevData?: Record<string, unknown> | null | undefined;
|
|
30
|
-
}, any,
|
|
30
|
+
}, any, questpie82.JsonRouteParams>;
|
|
31
31
|
/**
|
|
32
32
|
* Dynamic options endpoint.
|
|
33
33
|
* Fetches options for select/relation fields with search and pagination.
|
|
34
34
|
*/
|
|
35
|
-
declare const fieldOptions:
|
|
35
|
+
declare const fieldOptions: questpie82.JsonRouteDefinition<{
|
|
36
36
|
collection: string;
|
|
37
37
|
type: "collection" | "global";
|
|
38
38
|
field: string;
|
|
@@ -41,12 +41,12 @@ declare const fieldOptions: questpie125.JsonRouteDefinition<{
|
|
|
41
41
|
page: number;
|
|
42
42
|
limit: number;
|
|
43
43
|
siblingData?: Record<string, unknown> | null | undefined;
|
|
44
|
-
}, any,
|
|
44
|
+
}, any, questpie82.JsonRouteParams>;
|
|
45
45
|
/**
|
|
46
46
|
* Reactive functions bundle.
|
|
47
47
|
*/
|
|
48
48
|
declare const reactiveFunctions: {
|
|
49
|
-
readonly batchReactive:
|
|
49
|
+
readonly batchReactive: questpie82.JsonRouteDefinition<{
|
|
50
50
|
collection: string;
|
|
51
51
|
type: "collection" | "global";
|
|
52
52
|
requests: {
|
|
@@ -60,8 +60,8 @@ declare const reactiveFunctions: {
|
|
|
60
60
|
}[];
|
|
61
61
|
formData?: Record<string, unknown> | undefined;
|
|
62
62
|
prevData?: Record<string, unknown> | null | undefined;
|
|
63
|
-
}, any,
|
|
64
|
-
readonly fieldOptions:
|
|
63
|
+
}, any, questpie82.JsonRouteParams>;
|
|
64
|
+
readonly fieldOptions: questpie82.JsonRouteDefinition<{
|
|
65
65
|
collection: string;
|
|
66
66
|
type: "collection" | "global";
|
|
67
67
|
field: string;
|
|
@@ -70,7 +70,7 @@ declare const reactiveFunctions: {
|
|
|
70
70
|
page: number;
|
|
71
71
|
limit: number;
|
|
72
72
|
siblingData?: Record<string, unknown> | null | undefined;
|
|
73
|
-
}, any,
|
|
73
|
+
}, any, questpie82.JsonRouteParams>;
|
|
74
74
|
};
|
|
75
75
|
//#endregion
|
|
76
76
|
export { batchReactive, fieldOptions, reactiveFunctions };
|
|
@@ -306,7 +306,7 @@ const optionsOutputSchema = z.object({
|
|
|
306
306
|
* Batch reactive endpoint.
|
|
307
307
|
* Executes multiple reactive handlers in a single request.
|
|
308
308
|
*/
|
|
309
|
-
const batchReactive = route().post().schema(batchReactiveInputSchema).outputSchema(batchReactiveOutputSchema).handler(async (ctx) => {
|
|
309
|
+
const batchReactive = route().post().access((ctx) => ctx.session?.user?.role === "admin").schema(batchReactiveInputSchema).outputSchema(batchReactiveOutputSchema).handler(async (ctx) => {
|
|
310
310
|
const app = getApp(ctx);
|
|
311
311
|
const { collection: entityName, type: entityType, requests, formData: sharedFormData, prevData: sharedPrevData } = ctx.input;
|
|
312
312
|
const serverCtx = buildServerContext(ctx);
|
|
@@ -359,7 +359,7 @@ const batchReactive = route().post().schema(batchReactiveInputSchema).outputSche
|
|
|
359
359
|
* Dynamic options endpoint.
|
|
360
360
|
* Fetches options for select/relation fields with search and pagination.
|
|
361
361
|
*/
|
|
362
|
-
const fieldOptions = route().post().schema(optionsInputSchema).outputSchema(optionsOutputSchema).handler(async (ctx) => {
|
|
362
|
+
const fieldOptions = route().post().access((ctx) => ctx.session?.user?.role === "admin").schema(optionsInputSchema).outputSchema(optionsOutputSchema).handler(async (ctx) => {
|
|
363
363
|
const app = getApp(ctx);
|
|
364
364
|
const { collection: entityName, type: entityType, field: field$1, formData, siblingData, search, page, limit } = ctx.input;
|
|
365
365
|
const serverCtx = buildServerContext(ctx);
|
|
@@ -3,14 +3,18 @@ import { Questpie } from "questpie";
|
|
|
3
3
|
//#region src/server/modules/admin/routes/route-helpers.d.ts
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Minimal
|
|
7
|
-
*
|
|
8
|
-
* but AppContext is empty in the admin package (augmented by user's codegen).
|
|
9
|
-
*
|
|
10
|
-
* These helpers safely extract the known properties at runtime.
|
|
11
|
-
* Uses Record<string, any> base to accept JsonRouteHandlerArgs without index signature issues.
|
|
6
|
+
* Minimal route handler context for admin helpers.
|
|
7
|
+
* Accepts full `JsonRouteHandlerArgs` and narrower resolver contexts (e.g. preview).
|
|
12
8
|
*/
|
|
13
|
-
type RouteHandlerContext =
|
|
9
|
+
type RouteHandlerContext = {
|
|
10
|
+
app?: unknown;
|
|
11
|
+
db?: unknown;
|
|
12
|
+
session?: unknown;
|
|
13
|
+
locale?: unknown;
|
|
14
|
+
input?: unknown;
|
|
15
|
+
request?: Request;
|
|
16
|
+
params?: Record<string, string>;
|
|
17
|
+
};
|
|
14
18
|
/**
|
|
15
19
|
* Typed app instance type used throughout admin routes.
|
|
16
20
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as questpie90 from "questpie";
|
|
2
2
|
|
|
3
3
|
//#region src/server/modules/admin/routes/setup.d.ts
|
|
4
4
|
|
|
@@ -13,7 +13,7 @@ import * as questpie133 from "questpie";
|
|
|
13
13
|
* }
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
|
-
declare const isSetupRequired:
|
|
16
|
+
declare const isSetupRequired: questpie90.JsonRouteDefinition<Record<string, never>, any, questpie90.JsonRouteParams>;
|
|
17
17
|
/**
|
|
18
18
|
* Create the first admin user in the system.
|
|
19
19
|
* This function only works when no admin users exist (setup mode).
|
|
@@ -36,21 +36,21 @@ declare const isSetupRequired: questpie133.JsonRouteDefinition<Record<string, ne
|
|
|
36
36
|
* }
|
|
37
37
|
* ```
|
|
38
38
|
*/
|
|
39
|
-
declare const createFirstAdmin:
|
|
39
|
+
declare const createFirstAdmin: questpie90.JsonRouteDefinition<{
|
|
40
40
|
email: string;
|
|
41
41
|
password: string;
|
|
42
42
|
name: string;
|
|
43
|
-
}, any,
|
|
43
|
+
}, any, questpie90.JsonRouteParams>;
|
|
44
44
|
/**
|
|
45
45
|
* Bundle of setup-related functions.
|
|
46
46
|
*/
|
|
47
47
|
declare const setupFunctions: {
|
|
48
|
-
readonly isSetupRequired:
|
|
49
|
-
readonly createFirstAdmin:
|
|
48
|
+
readonly isSetupRequired: questpie90.JsonRouteDefinition<Record<string, never>, any, questpie90.JsonRouteParams>;
|
|
49
|
+
readonly createFirstAdmin: questpie90.JsonRouteDefinition<{
|
|
50
50
|
email: string;
|
|
51
51
|
password: string;
|
|
52
52
|
name: string;
|
|
53
|
-
}, any,
|
|
53
|
+
}, any, questpie90.JsonRouteParams>;
|
|
54
54
|
};
|
|
55
55
|
//#endregion
|
|
56
56
|
export { createFirstAdmin, isSetupRequired, setupFunctions };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as questpie462 from "questpie";
|
|
2
2
|
|
|
3
3
|
//#region src/server/modules/admin/routes/translations.d.ts
|
|
4
4
|
|
|
@@ -17,10 +17,10 @@ import * as questpie456 from "questpie";
|
|
|
17
17
|
* Bundle of translation-related functions.
|
|
18
18
|
*/
|
|
19
19
|
declare const translationFunctions: {
|
|
20
|
-
readonly getAdminTranslations:
|
|
20
|
+
readonly getAdminTranslations: questpie462.JsonRouteDefinition<{
|
|
21
21
|
locale: string;
|
|
22
|
-
}, any,
|
|
23
|
-
readonly getAdminLocales:
|
|
22
|
+
}, any, questpie462.JsonRouteParams>;
|
|
23
|
+
readonly getAdminLocales: questpie462.JsonRouteDefinition<Record<string, never> | undefined, any, questpie462.JsonRouteParams>;
|
|
24
24
|
};
|
|
25
25
|
//#endregion
|
|
26
26
|
export { translationFunctions };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as questpie16 from "questpie";
|
|
2
2
|
|
|
3
3
|
//#region src/server/modules/admin/routes/widget-data.d.ts
|
|
4
4
|
|
|
@@ -20,13 +20,13 @@ import * as questpie121 from "questpie";
|
|
|
20
20
|
* const data = await client.routes.fetchWidgetData({ widgetId: "my-widget" });
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
declare const fetchWidgetData:
|
|
23
|
+
declare const fetchWidgetData: questpie16.JsonRouteDefinition<{
|
|
24
24
|
widgetId: string;
|
|
25
|
-
}, any,
|
|
25
|
+
}, any, questpie16.JsonRouteParams>;
|
|
26
26
|
declare const widgetDataFunctions: {
|
|
27
|
-
readonly fetchWidgetData:
|
|
27
|
+
readonly fetchWidgetData: questpie16.JsonRouteDefinition<{
|
|
28
28
|
widgetId: string;
|
|
29
|
-
}, any,
|
|
29
|
+
}, any, questpie16.JsonRouteParams>;
|
|
30
30
|
};
|
|
31
31
|
//#endregion
|
|
32
32
|
export { fetchWidgetData, widgetDataFunctions };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { ApiError, route, tryGetContext } from "questpie";
|
|
2
|
+
import { ApiError, route, runWithContext, tryGetContext } from "questpie";
|
|
3
3
|
|
|
4
4
|
//#region src/server/modules/admin/routes/widget-data.ts
|
|
5
5
|
/**
|
|
@@ -39,8 +39,10 @@ const fetchWidgetDataSchema = z.object({ widgetId: z.string() });
|
|
|
39
39
|
* const data = await client.routes.fetchWidgetData({ widgetId: "my-widget" });
|
|
40
40
|
* ```
|
|
41
41
|
*/
|
|
42
|
-
const fetchWidgetData = route().post().schema(fetchWidgetDataSchema).outputSchema(z.unknown()).handler(async (ctx) => {
|
|
43
|
-
const
|
|
42
|
+
const fetchWidgetData = route().post().access((ctx) => ctx.session?.user?.role === "admin").schema(fetchWidgetDataSchema).outputSchema(z.unknown()).handler(async (ctx) => {
|
|
43
|
+
const stored = tryGetContext();
|
|
44
|
+
const routeApp = ctx.app ?? stored?.app;
|
|
45
|
+
const appState = routeApp?.state || {};
|
|
44
46
|
const dashboard = appState.config?.admin?.dashboard ?? appState.dashboard;
|
|
45
47
|
if (!dashboard?.items) throw ApiError.internal("No dashboard configured");
|
|
46
48
|
const widget = findWidgetById(dashboard.items, ctx.input.widgetId);
|
|
@@ -54,7 +56,13 @@ const fetchWidgetData = route().post().schema(fetchWidgetDataSchema).outputSchem
|
|
|
54
56
|
reason: "Access denied"
|
|
55
57
|
});
|
|
56
58
|
}
|
|
57
|
-
return
|
|
59
|
+
return runWithContext({
|
|
60
|
+
app: routeApp,
|
|
61
|
+
db: ctx.db,
|
|
62
|
+
session: ctx.session,
|
|
63
|
+
locale: ctx.locale,
|
|
64
|
+
accessMode: "user"
|
|
65
|
+
}, () => widget.loader(widgetCtx));
|
|
58
66
|
});
|
|
59
67
|
const widgetDataFunctions = { fetchWidgetData };
|
|
60
68
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { FilterOperator, FilterRule, SortConfig, ViewConfiguration } from "../../../../shared/types/saved-views.types.mjs";
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
4
|
-
import * as
|
|
5
|
-
import * as
|
|
6
|
-
import * as
|
|
7
|
-
import * as
|
|
2
|
+
import * as questpie_shared0 from "questpie/shared";
|
|
3
|
+
import * as questpie36 from "questpie";
|
|
4
|
+
import * as questpie_src_server_modules_core_fields_email_js1 from "questpie/src/server/modules/core/fields/email.js";
|
|
5
|
+
import * as questpie_src_server_modules_core_fields_json_js1 from "questpie/src/server/modules/core/fields/json.js";
|
|
6
|
+
import * as drizzle_orm_pg_core0 from "drizzle-orm/pg-core";
|
|
7
|
+
import * as drizzle_orm0 from "drizzle-orm";
|
|
8
8
|
|
|
9
9
|
//#region src/server/modules/admin-preferences/collections/saved-views.d.ts
|
|
10
10
|
|
|
@@ -31,61 +31,61 @@ import * as drizzle_orm5 from "drizzle-orm";
|
|
|
31
31
|
* });
|
|
32
32
|
* ```
|
|
33
33
|
*/
|
|
34
|
-
declare const savedViewsCollection:
|
|
35
|
-
readonly text: typeof
|
|
36
|
-
readonly textarea: typeof
|
|
37
|
-
readonly email: typeof
|
|
38
|
-
readonly url: typeof
|
|
39
|
-
readonly number: typeof
|
|
40
|
-
readonly boolean: typeof
|
|
41
|
-
readonly date: typeof
|
|
42
|
-
readonly datetime: typeof
|
|
43
|
-
readonly time: typeof
|
|
44
|
-
readonly select: typeof
|
|
45
|
-
readonly upload: typeof
|
|
46
|
-
readonly relation: typeof
|
|
47
|
-
readonly object: typeof
|
|
48
|
-
readonly json: typeof
|
|
49
|
-
readonly from: typeof
|
|
34
|
+
declare const savedViewsCollection: questpie36.CollectionBuilder<questpie_shared0.Override<questpie_shared0.Override<questpie36.EmptyCollectionState<"admin_saved_views", undefined, {
|
|
35
|
+
readonly text: typeof questpie36.text;
|
|
36
|
+
readonly textarea: typeof questpie36.textarea;
|
|
37
|
+
readonly email: typeof questpie_src_server_modules_core_fields_email_js1.email;
|
|
38
|
+
readonly url: typeof questpie36.url;
|
|
39
|
+
readonly number: typeof questpie36.number;
|
|
40
|
+
readonly boolean: typeof questpie36.boolean;
|
|
41
|
+
readonly date: typeof questpie36.date;
|
|
42
|
+
readonly datetime: typeof questpie36.datetime;
|
|
43
|
+
readonly time: typeof questpie36.time;
|
|
44
|
+
readonly select: typeof questpie36.select;
|
|
45
|
+
readonly upload: typeof questpie36.upload;
|
|
46
|
+
readonly relation: typeof questpie36.relation;
|
|
47
|
+
readonly object: typeof questpie36.object;
|
|
48
|
+
readonly json: typeof questpie_src_server_modules_core_fields_json_js1.json;
|
|
49
|
+
readonly from: typeof questpie36.from;
|
|
50
50
|
}>, {
|
|
51
51
|
fields: {
|
|
52
|
-
readonly userId:
|
|
53
|
-
readonly collectionName:
|
|
54
|
-
readonly name:
|
|
55
|
-
readonly configuration:
|
|
56
|
-
readonly isDefault:
|
|
52
|
+
readonly userId: drizzle_orm0.NotNull<drizzle_orm_pg_core0.PgVarcharBuilder<[string, ...string[]]>>;
|
|
53
|
+
readonly collectionName: drizzle_orm0.NotNull<drizzle_orm_pg_core0.PgVarcharBuilder<[string, ...string[]]>>;
|
|
54
|
+
readonly name: drizzle_orm0.NotNull<drizzle_orm_pg_core0.PgVarcharBuilder<[string, ...string[]]>>;
|
|
55
|
+
readonly configuration: drizzle_orm0.NotNull<drizzle_orm_pg_core0.PgJsonbBuilder>;
|
|
56
|
+
readonly isDefault: drizzle_orm0.HasDefault<drizzle_orm_pg_core0.PgBooleanBuilder>;
|
|
57
57
|
};
|
|
58
58
|
localized: readonly string[];
|
|
59
59
|
fieldDefinitions: {
|
|
60
|
-
readonly userId:
|
|
60
|
+
readonly userId: questpie36.FieldWithMethods<Omit<questpie36.TextFieldState, "notNull" | "column"> & {
|
|
61
61
|
notNull: true;
|
|
62
|
-
column:
|
|
62
|
+
column: drizzle_orm0.NotNull<drizzle_orm_pg_core0.PgVarcharBuilder<[string, ...string[]]>>;
|
|
63
63
|
} & {
|
|
64
|
-
label:
|
|
65
|
-
},
|
|
66
|
-
readonly collectionName:
|
|
64
|
+
label: questpie_shared0.I18nText;
|
|
65
|
+
}, questpie36.TextFieldMethods>;
|
|
66
|
+
readonly collectionName: questpie36.FieldWithMethods<Omit<questpie36.TextFieldState, "notNull" | "column"> & {
|
|
67
67
|
notNull: true;
|
|
68
|
-
column:
|
|
68
|
+
column: drizzle_orm0.NotNull<drizzle_orm_pg_core0.PgVarcharBuilder<[string, ...string[]]>>;
|
|
69
69
|
} & {
|
|
70
|
-
label:
|
|
71
|
-
},
|
|
72
|
-
readonly name:
|
|
70
|
+
label: questpie_shared0.I18nText;
|
|
71
|
+
}, questpie36.TextFieldMethods>;
|
|
72
|
+
readonly name: questpie36.FieldWithMethods<Omit<questpie36.TextFieldState, "notNull" | "column"> & {
|
|
73
73
|
notNull: true;
|
|
74
|
-
column:
|
|
74
|
+
column: drizzle_orm0.NotNull<drizzle_orm_pg_core0.PgVarcharBuilder<[string, ...string[]]>>;
|
|
75
75
|
} & {
|
|
76
|
-
label:
|
|
77
|
-
},
|
|
78
|
-
readonly configuration:
|
|
76
|
+
label: questpie_shared0.I18nText;
|
|
77
|
+
}, questpie36.TextFieldMethods>;
|
|
78
|
+
readonly configuration: questpie36.Field<Omit<questpie36.JsonFieldState, "notNull" | "column"> & {
|
|
79
79
|
notNull: true;
|
|
80
|
-
column:
|
|
80
|
+
column: drizzle_orm0.NotNull<drizzle_orm_pg_core0.PgJsonbBuilder>;
|
|
81
81
|
} & {
|
|
82
|
-
label:
|
|
82
|
+
label: questpie_shared0.I18nText;
|
|
83
83
|
}>;
|
|
84
|
-
readonly isDefault:
|
|
84
|
+
readonly isDefault: questpie36.Field<Omit<questpie36.BooleanFieldState, "column" | "hasDefault"> & {
|
|
85
85
|
hasDefault: true;
|
|
86
|
-
column:
|
|
86
|
+
column: drizzle_orm0.HasDefault<drizzle_orm_pg_core0.PgBooleanBuilder>;
|
|
87
87
|
} & {
|
|
88
|
-
label:
|
|
88
|
+
label: questpie_shared0.I18nText;
|
|
89
89
|
}>;
|
|
90
90
|
};
|
|
91
91
|
}>, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { auditLogCollection } from "../collections/audit-log.mjs";
|
|
2
2
|
import { auditCleanupJob } from "../jobs/audit-cleanup.mjs";
|
|
3
|
-
import * as
|
|
3
|
+
import * as questpie146 from "questpie";
|
|
4
4
|
|
|
5
5
|
//#region src/server/modules/audit/.generated/module.d.ts
|
|
6
6
|
interface AuditCollections {
|
|
@@ -43,13 +43,13 @@ declare const _module: {
|
|
|
43
43
|
app: {
|
|
44
44
|
hooks: {
|
|
45
45
|
collections: {
|
|
46
|
-
afterChange: (ctx:
|
|
47
|
-
afterDelete: (ctx:
|
|
48
|
-
afterTransition: (ctx:
|
|
46
|
+
afterChange: (ctx: questpie146.GlobalCollectionHookContext) => Promise<void>;
|
|
47
|
+
afterDelete: (ctx: questpie146.GlobalCollectionHookContext) => Promise<void>;
|
|
48
|
+
afterTransition: (ctx: questpie146.GlobalCollectionTransitionHookContext) => Promise<void>;
|
|
49
49
|
};
|
|
50
50
|
globals: {
|
|
51
|
-
afterChange: (ctx:
|
|
52
|
-
afterTransition: (ctx:
|
|
51
|
+
afterChange: (ctx: questpie146.GlobalGlobalHookContext) => Promise<void>;
|
|
52
|
+
afterTransition: (ctx: questpie146.GlobalGlobalTransitionHookContext) => Promise<void>;
|
|
53
53
|
};
|
|
54
54
|
};
|
|
55
55
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
4
|
-
import * as
|
|
5
|
-
import * as
|
|
6
|
-
import * as
|
|
1
|
+
import * as questpie_shared6 from "questpie/shared";
|
|
2
|
+
import * as questpie98 from "questpie";
|
|
3
|
+
import * as questpie_src_server_modules_core_fields_email_js2 from "questpie/src/server/modules/core/fields/email.js";
|
|
4
|
+
import * as questpie_src_server_modules_core_fields_json_js2 from "questpie/src/server/modules/core/fields/json.js";
|
|
5
|
+
import * as drizzle_orm_pg_core9 from "drizzle-orm/pg-core";
|
|
6
|
+
import * as drizzle_orm9 from "drizzle-orm";
|
|
7
|
+
import * as questpie_src_server_collection_builder_types_js0 from "questpie/src/server/collection/builder/types.js";
|
|
7
8
|
import * as questpie_src_server_fields_operators_builtin_js0 from "questpie/src/server/fields/operators/builtin.js";
|
|
8
9
|
|
|
9
10
|
//#region src/server/modules/audit/collections/audit-log.d.ts
|
|
@@ -24,142 +25,142 @@ declare const AUDIT_LOG_COLLECTION: "admin_audit_log";
|
|
|
24
25
|
* - update: disallowed
|
|
25
26
|
* - read: allowed (for admin UI display)
|
|
26
27
|
*/
|
|
27
|
-
declare const auditLogCollection:
|
|
28
|
-
readonly text: typeof
|
|
29
|
-
readonly textarea: typeof
|
|
30
|
-
readonly email: typeof
|
|
31
|
-
readonly url: typeof
|
|
32
|
-
readonly number: typeof
|
|
33
|
-
readonly boolean: typeof
|
|
34
|
-
readonly date: typeof
|
|
35
|
-
readonly datetime: typeof
|
|
36
|
-
readonly time: typeof
|
|
37
|
-
readonly select: typeof
|
|
38
|
-
readonly upload: typeof
|
|
39
|
-
readonly relation: typeof
|
|
40
|
-
readonly object: typeof
|
|
41
|
-
readonly json: typeof
|
|
42
|
-
readonly from: typeof
|
|
28
|
+
declare const auditLogCollection: questpie98.CollectionBuilder<questpie_shared6.Override<questpie_shared6.Override<questpie_shared6.Override<questpie_shared6.Override<questpie_shared6.Override<questpie_shared6.Override<questpie98.EmptyCollectionState<"admin_audit_log", undefined, {
|
|
29
|
+
readonly text: typeof questpie98.text;
|
|
30
|
+
readonly textarea: typeof questpie98.textarea;
|
|
31
|
+
readonly email: typeof questpie_src_server_modules_core_fields_email_js2.email;
|
|
32
|
+
readonly url: typeof questpie98.url;
|
|
33
|
+
readonly number: typeof questpie98.number;
|
|
34
|
+
readonly boolean: typeof questpie98.boolean;
|
|
35
|
+
readonly date: typeof questpie98.date;
|
|
36
|
+
readonly datetime: typeof questpie98.datetime;
|
|
37
|
+
readonly time: typeof questpie98.time;
|
|
38
|
+
readonly select: typeof questpie98.select;
|
|
39
|
+
readonly upload: typeof questpie98.upload;
|
|
40
|
+
readonly relation: typeof questpie98.relation;
|
|
41
|
+
readonly object: typeof questpie98.object;
|
|
42
|
+
readonly json: typeof questpie_src_server_modules_core_fields_json_js2.json;
|
|
43
|
+
readonly from: typeof questpie98.from;
|
|
43
44
|
}>, {
|
|
44
45
|
fields: {
|
|
45
|
-
readonly action:
|
|
46
|
-
readonly resourceType:
|
|
47
|
-
readonly resource:
|
|
48
|
-
readonly resourceId:
|
|
49
|
-
readonly resourceLabel:
|
|
50
|
-
readonly userId:
|
|
51
|
-
readonly userName:
|
|
52
|
-
readonly locale:
|
|
53
|
-
readonly changes:
|
|
54
|
-
readonly metadata:
|
|
55
|
-
readonly title:
|
|
46
|
+
readonly action: drizzle_orm9.NotNull<drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>>;
|
|
47
|
+
readonly resourceType: drizzle_orm9.NotNull<drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>>;
|
|
48
|
+
readonly resource: drizzle_orm9.NotNull<drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>>;
|
|
49
|
+
readonly resourceId: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
50
|
+
readonly resourceLabel: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
51
|
+
readonly userId: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
52
|
+
readonly userName: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
53
|
+
readonly locale: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
54
|
+
readonly changes: drizzle_orm_pg_core9.PgJsonbBuilder;
|
|
55
|
+
readonly metadata: drizzle_orm_pg_core9.PgJsonbBuilder;
|
|
56
|
+
readonly title: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
56
57
|
};
|
|
57
58
|
localized: readonly string[];
|
|
58
59
|
fieldDefinitions: {
|
|
59
60
|
/** Action performed: create, update, delete, transition, custom */
|
|
60
|
-
readonly action:
|
|
61
|
+
readonly action: questpie98.FieldWithMethods<Omit<questpie98.TextFieldState, "notNull" | "column"> & {
|
|
61
62
|
notNull: true;
|
|
62
|
-
column:
|
|
63
|
+
column: drizzle_orm9.NotNull<drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>>;
|
|
63
64
|
} & {
|
|
64
|
-
label:
|
|
65
|
-
},
|
|
65
|
+
label: questpie_shared6.I18nText;
|
|
66
|
+
}, questpie98.TextFieldMethods>;
|
|
66
67
|
/** Resource type: collection, global, auth, system, custom */
|
|
67
|
-
readonly resourceType:
|
|
68
|
+
readonly resourceType: questpie98.FieldWithMethods<Omit<questpie98.TextFieldState, "notNull" | "column"> & {
|
|
68
69
|
notNull: true;
|
|
69
|
-
column:
|
|
70
|
+
column: drizzle_orm9.NotNull<drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>>;
|
|
70
71
|
} & {
|
|
71
|
-
label:
|
|
72
|
-
},
|
|
72
|
+
label: questpie_shared6.I18nText;
|
|
73
|
+
}, questpie98.TextFieldMethods>;
|
|
73
74
|
/** Resource slug (collection/global name) */
|
|
74
|
-
readonly resource:
|
|
75
|
+
readonly resource: questpie98.FieldWithMethods<Omit<questpie98.TextFieldState, "notNull" | "column"> & {
|
|
75
76
|
notNull: true;
|
|
76
|
-
column:
|
|
77
|
+
column: drizzle_orm9.NotNull<drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>>;
|
|
77
78
|
} & {
|
|
78
|
-
label:
|
|
79
|
-
},
|
|
79
|
+
label: questpie_shared6.I18nText;
|
|
80
|
+
}, questpie98.TextFieldMethods>;
|
|
80
81
|
/** ID of the specific record (null for globals) */
|
|
81
|
-
readonly resourceId:
|
|
82
|
+
readonly resourceId: questpie98.FieldWithMethods<questpie98.DefaultFieldState & {
|
|
82
83
|
type: "text";
|
|
83
84
|
data: string;
|
|
84
|
-
column:
|
|
85
|
+
column: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
85
86
|
operators: typeof questpie_src_server_fields_operators_builtin_js0.stringOps;
|
|
86
87
|
} & {
|
|
87
|
-
label:
|
|
88
|
-
},
|
|
88
|
+
label: questpie_shared6.I18nText;
|
|
89
|
+
}, questpie98.TextFieldMethods>;
|
|
89
90
|
/** Denormalized display label for the affected record */
|
|
90
|
-
readonly resourceLabel:
|
|
91
|
+
readonly resourceLabel: questpie98.FieldWithMethods<questpie98.DefaultFieldState & {
|
|
91
92
|
type: "text";
|
|
92
93
|
data: string;
|
|
93
|
-
column:
|
|
94
|
+
column: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
94
95
|
operators: typeof questpie_src_server_fields_operators_builtin_js0.stringOps;
|
|
95
96
|
} & {
|
|
96
|
-
label:
|
|
97
|
-
},
|
|
97
|
+
label: questpie_shared6.I18nText;
|
|
98
|
+
}, questpie98.TextFieldMethods>;
|
|
98
99
|
/** User who performed the action */
|
|
99
|
-
readonly userId:
|
|
100
|
+
readonly userId: questpie98.FieldWithMethods<questpie98.DefaultFieldState & {
|
|
100
101
|
type: "text";
|
|
101
102
|
data: string;
|
|
102
|
-
column:
|
|
103
|
+
column: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
103
104
|
operators: typeof questpie_src_server_fields_operators_builtin_js0.stringOps;
|
|
104
105
|
} & {
|
|
105
|
-
label:
|
|
106
|
-
},
|
|
106
|
+
label: questpie_shared6.I18nText;
|
|
107
|
+
}, questpie98.TextFieldMethods>;
|
|
107
108
|
/** Denormalized user display name */
|
|
108
|
-
readonly userName:
|
|
109
|
+
readonly userName: questpie98.FieldWithMethods<questpie98.DefaultFieldState & {
|
|
109
110
|
type: "text";
|
|
110
111
|
data: string;
|
|
111
|
-
column:
|
|
112
|
+
column: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
112
113
|
operators: typeof questpie_src_server_fields_operators_builtin_js0.stringOps;
|
|
113
114
|
} & {
|
|
114
|
-
label:
|
|
115
|
-
},
|
|
115
|
+
label: questpie_shared6.I18nText;
|
|
116
|
+
}, questpie98.TextFieldMethods>;
|
|
116
117
|
/** Locale context of the operation */
|
|
117
|
-
readonly locale:
|
|
118
|
+
readonly locale: questpie98.FieldWithMethods<questpie98.DefaultFieldState & {
|
|
118
119
|
type: "text";
|
|
119
120
|
data: string;
|
|
120
|
-
column:
|
|
121
|
+
column: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
121
122
|
operators: typeof questpie_src_server_fields_operators_builtin_js0.stringOps;
|
|
122
123
|
} & {
|
|
123
|
-
label:
|
|
124
|
-
},
|
|
124
|
+
label: questpie_shared6.I18nText;
|
|
125
|
+
}, questpie98.TextFieldMethods>;
|
|
125
126
|
/** Field-level diffs: { field: { from, to } } or null */
|
|
126
|
-
readonly changes:
|
|
127
|
+
readonly changes: questpie98.Field<questpie98.DefaultFieldState & {
|
|
127
128
|
type: "json";
|
|
128
|
-
data:
|
|
129
|
-
column:
|
|
129
|
+
data: questpie98.JsonValue;
|
|
130
|
+
column: drizzle_orm_pg_core9.PgJsonbBuilder;
|
|
130
131
|
operators: typeof questpie_src_server_fields_operators_builtin_js0.basicOps;
|
|
131
132
|
} & {
|
|
132
|
-
label:
|
|
133
|
+
label: questpie_shared6.I18nText;
|
|
133
134
|
}>;
|
|
134
135
|
/** Extra context metadata */
|
|
135
|
-
readonly metadata:
|
|
136
|
+
readonly metadata: questpie98.Field<questpie98.DefaultFieldState & {
|
|
136
137
|
type: "json";
|
|
137
|
-
data:
|
|
138
|
-
column:
|
|
138
|
+
data: questpie98.JsonValue;
|
|
139
|
+
column: drizzle_orm_pg_core9.PgJsonbBuilder;
|
|
139
140
|
operators: typeof questpie_src_server_fields_operators_builtin_js0.basicOps;
|
|
140
141
|
} & {
|
|
141
|
-
label:
|
|
142
|
+
label: questpie_shared6.I18nText;
|
|
142
143
|
}>;
|
|
143
144
|
/** Human-readable title: "User Action ResourceType 'ResourceLabel'" */
|
|
144
|
-
readonly title:
|
|
145
|
+
readonly title: questpie98.FieldWithMethods<questpie98.DefaultFieldState & {
|
|
145
146
|
type: "text";
|
|
146
147
|
data: string;
|
|
147
|
-
column:
|
|
148
|
+
column: drizzle_orm_pg_core9.PgVarcharBuilder<[string, ...string[]]>;
|
|
148
149
|
operators: typeof questpie_src_server_fields_operators_builtin_js0.stringOps;
|
|
149
150
|
} & {
|
|
150
|
-
label:
|
|
151
|
-
},
|
|
151
|
+
label: questpie_shared6.I18nText;
|
|
152
|
+
}, questpie98.TextFieldMethods>;
|
|
152
153
|
};
|
|
153
154
|
}>, {
|
|
154
155
|
options: {
|
|
155
156
|
timestamps: true;
|
|
156
157
|
};
|
|
157
158
|
}>, {
|
|
158
|
-
indexes:
|
|
159
|
+
indexes: drizzle_orm_pg_core9.IndexBuilder[];
|
|
159
160
|
}>, {
|
|
160
|
-
access:
|
|
161
|
+
access: questpie_src_server_collection_builder_types_js0.CollectionAccessStorage;
|
|
161
162
|
}>, {
|
|
162
|
-
hooks:
|
|
163
|
+
hooks: questpie_src_server_collection_builder_types_js0.CollectionHooksStorage;
|
|
163
164
|
}> & Record<"admin", {
|
|
164
165
|
label: {
|
|
165
166
|
key: string;
|