rimecms 0.31.4 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/adapter-sqlite/area.server.d.ts +10 -46
- package/dist/adapter-sqlite/area.server.js +31 -309
- package/dist/adapter-sqlite/auth.server.d.ts +11 -19
- package/dist/adapter-sqlite/auth.server.js +20 -77
- package/dist/adapter-sqlite/blocks.server.d.ts +7 -8
- package/dist/adapter-sqlite/blocks.server.js +17 -12
- package/dist/adapter-sqlite/collection.server.d.ts +10 -67
- package/dist/adapter-sqlite/collection.server.js +22 -418
- package/dist/adapter-sqlite/columns.server.d.ts +140 -0
- package/dist/adapter-sqlite/columns.server.js +307 -0
- package/dist/adapter-sqlite/generate-schema/column.server.js +1 -1
- package/dist/adapter-sqlite/generate-schema/index.server.d.ts +3 -3
- package/dist/adapter-sqlite/generate-schema/index.server.js +64 -139
- package/dist/adapter-sqlite/generate-schema/relations/junction.server.d.ts +3 -2
- package/dist/adapter-sqlite/generate-schema/relations/junction.server.js +14 -7
- package/dist/adapter-sqlite/generate-schema/root.server.d.ts +31 -7
- package/dist/adapter-sqlite/generate-schema/root.server.js +35 -19
- package/dist/adapter-sqlite/generate-schema/templates.server.d.ts +55 -60
- package/dist/adapter-sqlite/generate-schema/templates.server.js +110 -169
- package/dist/adapter-sqlite/generate-schema/write.server.js +19 -6
- package/dist/adapter-sqlite/index.server.d.ts +17 -23
- package/dist/adapter-sqlite/index.server.js +33 -36
- package/dist/adapter-sqlite/locales.server.d.ts +31 -0
- package/dist/adapter-sqlite/locales.server.js +57 -0
- package/dist/adapter-sqlite/naming.server.d.ts +134 -0
- package/dist/adapter-sqlite/naming.server.js +98 -0
- package/dist/adapter-sqlite/order-by.server.d.ts +29 -0
- package/dist/adapter-sqlite/order-by.server.js +115 -0
- package/dist/adapter-sqlite/read.server.d.ts +78 -0
- package/dist/adapter-sqlite/read.server.js +188 -0
- package/dist/adapter-sqlite/registry.server.d.ts +45 -0
- package/dist/adapter-sqlite/registry.server.js +63 -0
- package/dist/adapter-sqlite/relations.server.d.ts +10 -12
- package/dist/adapter-sqlite/relations.server.js +24 -8
- package/dist/adapter-sqlite/rows.server.d.ts +36 -0
- package/dist/adapter-sqlite/rows.server.js +6 -0
- package/dist/adapter-sqlite/select.server.d.ts +25 -0
- package/dist/adapter-sqlite/select.server.js +274 -0
- package/dist/adapter-sqlite/table.server.d.ts +18 -0
- package/dist/adapter-sqlite/table.server.js +63 -0
- package/dist/adapter-sqlite/transform.server.d.ts +13 -12
- package/dist/adapter-sqlite/transform.server.js +118 -197
- package/dist/adapter-sqlite/tree.server.d.ts +7 -8
- package/dist/adapter-sqlite/tree.server.js +13 -12
- package/dist/adapter-sqlite/types.server.d.ts +6 -5
- package/dist/adapter-sqlite/where.server.d.ts +25 -3
- package/dist/adapter-sqlite/where.server.js +46 -36
- package/dist/adapter-sqlite/write.server.d.ts +166 -0
- package/dist/adapter-sqlite/write.server.js +272 -0
- package/dist/core/adapter.d.ts +456 -0
- package/dist/core/adapter.js +13 -0
- package/dist/core/auth/access.d.ts +73 -0
- package/dist/core/auth/augment.d.ts +18 -0
- package/dist/core/auth/augment.js +110 -0
- package/dist/core/auth/augment.server.d.ts +3 -0
- package/dist/core/auth/augment.server.js +23 -0
- package/dist/core/auth/better-auth/config.server.d.ts +2122 -0
- package/dist/core/auth/better-auth/config.server.js +81 -0
- package/dist/core/auth/better-auth/hooks.server.js +132 -0
- package/dist/core/auth/better-auth/instance.server.d.ts +4215 -0
- package/dist/core/auth/better-auth/instance.server.js +26 -0
- package/dist/core/auth/better-auth-tables.server.d.ts +33 -0
- package/dist/core/auth/better-auth-tables.server.js +50 -0
- package/dist/core/auth/configure.d.ts +21 -0
- package/dist/core/auth/configure.js +21 -0
- package/dist/core/auth/constant.server.d.ts +28 -0
- package/dist/core/auth/constant.server.js +43 -0
- package/dist/core/auth/enabled.d.ts +10 -0
- package/dist/core/auth/enabled.js +10 -0
- package/dist/core/auth/handler/index.server.js +159 -0
- package/dist/core/auth/hooks/augment-fields-password.server.d.ts +20 -0
- package/dist/core/auth/hooks/augment-fields-password.server.js +44 -0
- package/dist/core/auth/hooks/create-better-auth-user.server.d.ts +4 -0
- package/dist/core/auth/hooks/create-better-auth-user.server.js +212 -0
- package/dist/core/auth/hooks/delete-better-auth-user.server.d.ts +4 -0
- package/dist/core/auth/hooks/delete-better-auth-user.server.js +25 -0
- package/dist/core/auth/hooks/forward-roles.server.d.ts +12 -0
- package/dist/core/auth/hooks/forward-roles.server.js +58 -0
- package/dist/core/auth/hooks/index.server.d.ts +18 -0
- package/dist/core/auth/hooks/index.server.js +18 -0
- package/dist/core/auth/hooks/populate-api-key.server.d.ts +5 -0
- package/dist/core/auth/hooks/populate-api-key.server.js +22 -0
- package/dist/core/auth/hooks/prevent-superadmin-deletion.server.d.ts +6 -0
- package/dist/core/auth/hooks/prevent-superadmin-deletion.server.js +16 -0
- package/dist/core/auth/hooks/prevent-superadmin-mutation.server.d.ts +5 -0
- package/dist/core/auth/hooks/prevent-superadmin-mutation.server.js +28 -0
- package/dist/core/auth/hooks/prevent-user-mutations.server.d.ts +5 -0
- package/dist/core/auth/hooks/prevent-user-mutations.server.js +13 -0
- package/dist/core/auth/hooks/remove-private-fields.server.d.ts +7 -0
- package/dist/core/auth/hooks/remove-private-fields.server.js +11 -0
- package/dist/core/auth/hooks/sign-in-new-user.server.d.ts +12 -0
- package/dist/core/auth/hooks/sign-in-new-user.server.js +29 -0
- package/dist/core/auth/module.d.ts +2 -0
- package/dist/core/auth/module.js +2 -0
- package/dist/core/auth/module.server.d.ts +2 -0
- package/dist/core/auth/module.server.js +2 -0
- package/dist/core/auth/staff/configure.d.ts +7 -0
- package/dist/core/auth/staff/configure.js +13 -0
- package/dist/core/auth/staff/configure.server.d.ts +7 -0
- package/dist/core/auth/staff/configure.server.js +14 -0
- package/dist/core/auth/staff/derive.d.ts +23 -0
- package/dist/core/auth/staff/derive.js +58 -0
- package/dist/core/auth/tables.d.ts +38 -0
- package/dist/core/auth/tables.js +157 -0
- package/dist/core/auth/types.d.ts +47 -0
- package/dist/core/auth/user.server.d.ts +43 -0
- package/dist/core/auth/user.server.js +73 -0
- package/dist/core/auth/util.d.ts +13 -0
- package/dist/core/auth/validate-config.d.ts +13 -0
- package/dist/core/auth/validate-config.js +42 -0
- package/dist/core/boot.server.d.ts +4227 -0
- package/dist/core/boot.server.js +61 -0
- package/dist/core/codegen.server.d.ts +22 -0
- package/dist/core/codegen.server.js +58 -0
- package/dist/core/config/build.d.ts +23 -0
- package/dist/core/config/build.js +22 -0
- package/dist/core/config/build.server.d.ts +70 -0
- package/dist/core/config/build.server.js +33 -0
- package/dist/core/config/configure.d.ts +26 -0
- package/dist/core/config/configure.js +40 -0
- package/dist/core/config/context.server.d.ts +82 -0
- package/dist/core/config/context.server.js +118 -0
- package/dist/core/config/index.d.ts +4 -0
- package/dist/core/config/index.js +4 -0
- package/dist/core/config/index.server.d.ts +9 -0
- package/dist/core/config/index.server.js +11 -0
- package/dist/core/config/types.d.ts +88 -170
- package/dist/core/config/validate.server.d.ts +3 -0
- package/dist/core/config/validate.server.js +259 -0
- package/dist/core/constants.d.ts +69 -0
- package/dist/core/constants.js +69 -0
- package/dist/core/constants.server.d.ts +5 -0
- package/dist/core/constants.server.js +6 -0
- package/dist/core/cors/configure.server.d.ts +11 -0
- package/dist/core/cors/configure.server.js +14 -0
- package/dist/core/cors/handler.server.js +75 -0
- package/dist/core/cors/module.browser.js +1 -0
- package/dist/core/cors/module.server.d.ts +1 -0
- package/dist/core/cors/module.server.js +7 -0
- package/dist/core/dev/cache.server.d.ts +17 -0
- package/dist/core/dev/cache.server.js +65 -0
- package/dist/core/dev/cli/commands/build.js +70 -0
- package/dist/core/dev/cli/commands/clear.server.js +42 -0
- package/dist/core/dev/cli/commands/generate-exports.server.d.ts +26 -0
- package/dist/core/dev/cli/commands/generate-exports.server.js +155 -0
- package/dist/core/dev/cli/commands/generate.server.js +98 -0
- package/dist/core/dev/cli/commands/init.server.js +242 -0
- package/dist/core/dev/cli/index.js +16 -16
- package/dist/core/dev/cli/templates/build.js +45 -0
- package/dist/core/dev/cli/templates/init.d.ts +18 -0
- package/dist/core/dev/cli/templates/init.js +117 -0
- package/dist/core/dev/cli/util/package-manager.server.js +7 -3
- package/dist/core/dev/cli/util/package.server.d.ts +0 -8
- package/dist/core/dev/cli/util/package.server.js +0 -10
- package/dist/core/dev/codegen/routes/common.server.d.ts +35 -0
- package/dist/core/dev/codegen/routes/common.server.js +437 -0
- package/dist/core/dev/codegen/routes/custom-css.server.js +86 -0
- package/dist/core/dev/codegen/routes/index.server.d.ts +17 -0
- package/dist/core/dev/codegen/routes/index.server.js +110 -0
- package/dist/core/dev/codegen/routes/util.server.d.ts +52 -0
- package/dist/core/dev/codegen/routes/util.server.js +118 -0
- package/dist/core/dev/codegen/runtime/index.server.d.ts +78 -0
- package/dist/core/dev/codegen/runtime/index.server.js +92 -0
- package/dist/core/dev/codegen/runtime/parse-exports.server.d.ts +16 -0
- package/dist/core/dev/codegen/runtime/parse-exports.server.js +60 -0
- package/dist/core/dev/codegen/sanitize/index.server.js +834 -0
- package/dist/core/dev/codegen/types/contributions.server.d.ts +37 -0
- package/dist/core/dev/codegen/types/contributions.server.js +25 -0
- package/dist/core/dev/codegen/types/index.server.js +132 -0
- package/dist/core/dev/codegen/types/templates.server.d.ts +13 -0
- package/dist/core/dev/codegen/types/templates.server.js +134 -0
- package/dist/core/dev/config-memo.server.js +85 -0
- package/dist/core/dev/constants.server.d.ts +20 -0
- package/dist/core/dev/constants.server.js +63 -0
- package/dist/core/dev/ensure.server.d.ts +30 -0
- package/dist/core/dev/ensure.server.js +82 -0
- package/dist/core/dev/prototype-routes.server.d.ts +16 -0
- package/dist/core/dev/prototype-routes.server.js +23 -0
- package/dist/core/dev/version.server.d.ts +12 -0
- package/dist/core/dev/version.server.js +27 -0
- package/dist/core/dev/vite.server.js +237 -0
- package/dist/core/errors/handler.server.d.ts +17 -1
- package/dist/core/errors/handler.server.js +4 -23
- package/dist/core/fields/builders/boolean-builder.d.ts +1 -1
- package/dist/core/fields/builders/field-builder.d.ts +12 -1
- package/dist/core/fields/builders/form-field-builder.d.ts +16 -5
- package/dist/core/fields/builders/form-field-builder.js +19 -8
- package/dist/core/fields/builders/select-builder.d.ts +1 -1
- package/dist/core/fields/types.d.ts +16 -0
- package/dist/core/fields/util.d.ts +60 -0
- package/dist/core/fields/util.js +84 -1
- package/dist/core/fields/validate.js +171 -0
- package/dist/core/handler.server.d.ts +4 -0
- package/dist/core/handler.server.js +25 -0
- package/dist/core/i18n/en/common.d.ts +18 -0
- package/dist/core/i18n/en/common.js +20 -1
- package/dist/core/i18n/fr/common.d.ts +18 -0
- package/dist/core/i18n/fr/common.js +20 -1
- package/dist/core/i18n/index.d.ts +0 -1
- package/dist/core/i18n/index.js +0 -1
- package/dist/core/locale/copy.server.d.ts +35 -0
- package/dist/core/locale/copy.server.js +93 -0
- package/dist/core/locale/types.d.ts +20 -0
- package/dist/core/panel/configure.d.ts +63 -0
- package/dist/core/panel/configure.js +56 -0
- package/dist/core/panel/types.d.ts +61 -0
- package/dist/core/pipeline/build-document.server.d.ts +26 -0
- package/dist/core/pipeline/build-document.server.js +83 -0
- package/dist/core/pipeline/build.server.d.ts +23 -0
- package/dist/core/pipeline/build.server.js +76 -0
- package/dist/core/pipeline/config-map/build-tree-map.d.ts +4 -0
- package/dist/core/pipeline/config-map/index.d.ts +6 -0
- package/dist/core/pipeline/config-map/index.js +54 -0
- package/dist/core/pipeline/define-hook.d.ts +42 -0
- package/dist/core/pipeline/define-hook.js +40 -0
- package/dist/core/pipeline/extract-data.server.d.ts +18 -0
- package/dist/core/pipeline/extract-data.server.js +78 -0
- package/dist/core/pipeline/hook-name.server.d.ts +11 -0
- package/dist/core/pipeline/hook-name.server.js +14 -0
- package/dist/core/pipeline/hooks/authorize.server.d.ts +6 -0
- package/dist/core/pipeline/hooks/authorize.server.js +37 -0
- package/dist/core/pipeline/hooks/data-config-map.server.d.ts +8 -0
- package/dist/core/pipeline/hooks/data-config-map.server.js +19 -0
- package/dist/core/pipeline/hooks/get-original-document.server.d.ts +9 -0
- package/dist/core/pipeline/hooks/get-original-document.server.js +34 -0
- package/dist/core/pipeline/hooks/normalize-resolved-references.server.d.ts +16 -0
- package/dist/core/pipeline/hooks/normalize-resolved-references.server.js +40 -0
- package/dist/core/pipeline/hooks/original-config-map.server.d.ts +8 -0
- package/dist/core/pipeline/hooks/original-config-map.server.js +23 -0
- package/dist/core/pipeline/hooks/process-document-fields.server.d.ts +5 -0
- package/dist/core/pipeline/hooks/process-document-fields.server.js +62 -0
- package/dist/core/pipeline/hooks/resolve-content-owner.server.d.ts +17 -0
- package/dist/core/pipeline/hooks/resolve-content-owner.server.js +24 -0
- package/dist/core/pipeline/hooks/set-default-values.server.d.ts +16 -0
- package/dist/core/pipeline/hooks/set-default-values.server.js +79 -0
- package/dist/core/pipeline/hooks/set-document-locale.server.d.ts +5 -0
- package/dist/core/pipeline/hooks/set-document-locale.server.js +19 -0
- package/dist/core/pipeline/hooks/set-document-type.server.d.ts +6 -0
- package/dist/core/pipeline/hooks/set-document-type.server.js +19 -0
- package/dist/core/pipeline/hooks/sort-document-props.server.d.ts +7 -0
- package/dist/core/pipeline/hooks/sort-document-props.server.js +71 -0
- package/dist/core/pipeline/hooks/validate-fields.server.d.ts +12 -0
- package/dist/core/pipeline/hooks/validate-fields.server.js +170 -0
- package/dist/core/pipeline/persist/blocks/diff.server.d.ts +15 -0
- package/dist/core/pipeline/persist/blocks/diff.server.js +69 -0
- package/dist/core/pipeline/persist/blocks/extract.server.d.ts +9 -0
- package/dist/core/pipeline/persist/blocks/extract.server.js +33 -0
- package/dist/core/pipeline/persist/blocks/index.server.d.ts +27 -0
- package/dist/core/pipeline/persist/blocks/index.server.js +68 -0
- package/dist/core/pipeline/persist/relations/diff.server.d.ts +14 -0
- package/dist/core/pipeline/persist/relations/diff.server.js +47 -0
- package/dist/core/pipeline/persist/relations/extract.server.d.ts +11 -0
- package/dist/core/pipeline/persist/relations/extract.server.js +59 -0
- package/dist/core/pipeline/persist/relations/index.server.d.ts +26 -0
- package/dist/core/pipeline/persist/relations/index.server.js +66 -0
- package/dist/core/pipeline/persist/tree/diff.server.d.ts +20 -0
- package/dist/core/pipeline/persist/tree/diff.server.js +51 -0
- package/dist/core/pipeline/persist/tree/extract.server.d.ts +9 -0
- package/dist/core/pipeline/persist/tree/extract.server.js +34 -0
- package/dist/core/pipeline/persist/tree/index.server.d.ts +14 -0
- package/dist/core/pipeline/persist/tree/index.server.js +50 -0
- package/dist/core/pipeline/query.d.ts +14 -0
- package/dist/core/pipeline/query.js +36 -0
- package/dist/core/pipeline/run.server.d.ts +146 -0
- package/dist/core/pipeline/run.server.js +256 -0
- package/dist/core/pipeline/types.d.ts +140 -0
- package/dist/core/pipeline/types.js +10 -0
- package/dist/core/plugins/api-init/index.server.js +84 -0
- package/dist/core/plugins/cache/cache.server.js +1 -1
- package/dist/core/plugins/cache/handler.server.js +1 -1
- package/dist/core/plugins/cache/index.d.ts +1 -2
- package/dist/core/plugins/cache/index.js +3 -1
- package/dist/core/plugins/cache/types.d.ts +5 -0
- package/dist/core/plugins/configure.d.ts +12 -0
- package/dist/core/plugins/configure.js +26 -0
- package/dist/core/plugins/defaults/index.d.ts +1 -0
- package/dist/core/plugins/defaults/index.js +3 -0
- package/dist/core/plugins/defaults/module.d.ts +12 -0
- package/dist/core/plugins/defaults/module.js +14 -0
- package/dist/core/plugins/defaults/module.server.d.ts +4 -0
- package/dist/core/plugins/defaults/module.server.js +15 -0
- package/dist/core/plugins/defaults/types.d.ts +18 -0
- package/dist/core/plugins/defaults/types.js +1 -0
- package/dist/core/plugins/mailer/index.server.js +29 -0
- package/dist/core/plugins/plugins.server.js +10 -0
- package/dist/core/plugins/sse/bus.server.d.ts +16 -0
- package/dist/core/plugins/sse/bus.server.js +69 -0
- package/dist/core/plugins/sse/client.d.ts +14 -16
- package/dist/core/plugins/sse/client.js +42 -34
- package/dist/core/plugins/sse/index.d.ts +10 -2
- package/dist/core/plugins/sse/index.js +9 -1
- package/dist/core/plugins/sse/index.server.d.ts +29 -0
- package/dist/core/plugins/sse/index.server.js +18 -0
- package/dist/core/plugins/sse/types.d.ts +15 -7
- package/dist/core/prototype/area/api.server.d.ts +91 -0
- package/dist/core/prototype/area/api.server.js +117 -0
- package/dist/core/prototype/area/augment-label.d.ts +16 -0
- package/dist/core/prototype/area/augment-label.js +13 -0
- package/dist/core/prototype/area/definition.d.ts +18 -0
- package/dist/core/prototype/area/definition.js +44 -0
- package/dist/core/prototype/area/definition.server.d.ts +9 -0
- package/dist/core/prototype/area/definition.server.js +40 -0
- package/dist/core/prototype/area/hooks.server.d.ts +17 -0
- package/dist/core/prototype/area/hooks.server.js +61 -0
- package/dist/core/prototype/area/index.d.ts +1 -0
- package/dist/core/prototype/area/index.js +1 -0
- package/dist/core/prototype/area/operations/find.d.ts +18 -0
- package/dist/core/prototype/area/operations/find.js +43 -0
- package/dist/core/prototype/area/operations/update.d.ts +29 -0
- package/dist/core/prototype/area/operations/update.js +44 -0
- package/dist/core/prototype/area/rest/endpoint.server.d.ts +14 -0
- package/dist/core/prototype/area/rest/endpoint.server.js +15 -0
- package/dist/core/prototype/area/rest/get.server.d.ts +4 -0
- package/dist/core/prototype/area/rest/get.server.js +31 -0
- package/dist/core/prototype/area/rest/index.server.d.ts +9 -0
- package/dist/core/prototype/area/rest/index.server.js +14 -0
- package/dist/core/prototype/area/rest/lock.server.d.ts +2 -0
- package/dist/core/prototype/area/rest/lock.server.js +38 -0
- package/dist/core/prototype/area/rest/update.server.d.ts +4 -0
- package/dist/core/prototype/area/rest/update.server.js +38 -0
- package/dist/core/prototype/area/types.js +1 -0
- package/dist/core/prototype/collection/api.server.d.ts +173 -0
- package/dist/core/prototype/collection/api.server.js +224 -0
- package/dist/core/prototype/collection/augment-label.d.ts +6 -0
- package/dist/core/prototype/collection/definition.d.ts +26 -0
- package/dist/core/prototype/collection/definition.js +74 -0
- package/dist/core/prototype/collection/definition.server.d.ts +8 -0
- package/dist/core/prototype/collection/definition.server.js +24 -0
- package/dist/core/prototype/collection/hooks/merge-with-blank.server.d.ts +5 -0
- package/dist/core/prototype/collection/hooks/merge-with-blank.server.js +28 -0
- package/dist/core/prototype/collection/hooks.server.d.ts +28 -0
- package/dist/core/prototype/collection/hooks.server.js +133 -0
- package/dist/core/prototype/collection/index.d.ts +1 -0
- package/dist/core/prototype/collection/index.js +1 -0
- package/dist/core/prototype/collection/nested/enabled.d.ts +8 -0
- package/dist/core/prototype/collection/nested/enabled.js +7 -0
- package/dist/core/prototype/collection/nested/hooks/add-children.server.d.ts +4 -0
- package/dist/core/prototype/collection/nested/hooks/add-children.server.js +40 -0
- package/dist/core/prototype/collection/nested/hooks/index.server.d.ts +9 -0
- package/dist/core/prototype/collection/nested/hooks/index.server.js +9 -0
- package/dist/core/prototype/collection/nested/module.d.ts +15 -0
- package/dist/core/prototype/collection/nested/module.js +17 -0
- package/dist/core/prototype/collection/nested/module.server.d.ts +16 -0
- package/dist/core/prototype/collection/nested/module.server.js +21 -0
- package/dist/core/prototype/collection/operations/create.d.ts +18 -0
- package/dist/core/prototype/collection/operations/create.js +68 -0
- package/dist/core/prototype/collection/operations/delete-by-id.d.ts +11 -0
- package/dist/core/prototype/collection/operations/delete-by-id.js +44 -0
- package/dist/core/prototype/collection/operations/delete.d.ts +15 -0
- package/dist/core/prototype/collection/operations/delete.js +34 -0
- package/dist/core/prototype/collection/operations/duplicate.d.ts +12 -0
- package/dist/core/prototype/collection/operations/duplicate.js +112 -0
- package/dist/core/prototype/collection/operations/find-by-id.d.ts +22 -0
- package/dist/core/prototype/collection/operations/find-by-id.js +47 -0
- package/dist/core/prototype/collection/operations/find.d.ts +22 -0
- package/dist/core/prototype/collection/operations/find.js +65 -0
- package/dist/core/prototype/collection/operations/update-by-id.d.ts +30 -0
- package/dist/core/prototype/collection/operations/update-by-id.js +52 -0
- package/dist/core/prototype/collection/rest/create.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/create.server.js +26 -0
- package/dist/core/prototype/collection/rest/delete-by-id.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/delete-by-id.server.js +16 -0
- package/dist/core/prototype/collection/rest/delete.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/delete.server.js +33 -0
- package/dist/core/prototype/collection/rest/duplicate.server.d.ts +1 -0
- package/dist/core/prototype/collection/rest/duplicate.server.js +17 -0
- package/dist/core/prototype/collection/rest/endpoint.server.d.ts +27 -0
- package/dist/core/prototype/collection/rest/endpoint.server.js +23 -0
- package/dist/core/prototype/collection/rest/get-by-id.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/get-by-id.server.js +40 -0
- package/dist/core/prototype/collection/rest/get.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/get.server.js +38 -0
- package/dist/core/prototype/collection/rest/index.server.d.ts +12 -0
- package/dist/core/prototype/collection/rest/index.server.js +24 -0
- package/dist/core/prototype/collection/rest/lock.server.d.ts +2 -0
- package/dist/core/prototype/collection/rest/lock.server.js +59 -0
- package/dist/core/prototype/collection/rest/update-by-id.server.d.ts +4 -0
- package/dist/core/prototype/collection/rest/update-by-id.server.js +44 -0
- package/dist/core/prototype/collection/thumbnail/augment.d.ts +13 -0
- package/dist/core/prototype/collection/thumbnail/augment.js +15 -0
- package/dist/core/prototype/collection/thumbnail/find-thumbnail.d.ts +9 -0
- package/dist/core/prototype/collection/thumbnail/find-thumbnail.js +34 -0
- package/dist/core/prototype/collection/thumbnail/hooks/index.server.d.ts +9 -0
- package/dist/core/prototype/collection/thumbnail/hooks/index.server.js +9 -0
- package/dist/core/prototype/collection/thumbnail/hooks/set-document-thumbnail.server.d.ts +7 -0
- package/dist/core/prototype/collection/thumbnail/hooks/set-document-thumbnail.server.js +40 -0
- package/dist/core/prototype/collection/types.d.ts +14 -0
- package/dist/core/prototype/collection/types.js +1 -0
- package/dist/core/prototype/collection/upload/boot/index.server.d.ts +13 -0
- package/dist/core/prototype/collection/upload/boot/index.server.js +11 -0
- package/dist/core/prototype/collection/upload/constant.d.ts +10 -0
- package/dist/core/prototype/collection/upload/constant.js +10 -0
- package/dist/core/prototype/collection/upload/directories/configure.d.ts +14 -0
- package/dist/core/prototype/collection/upload/directories/configure.js +19 -0
- package/dist/core/prototype/collection/upload/directories/configure.server.d.ts +12 -0
- package/dist/core/prototype/collection/upload/directories/configure.server.js +35 -0
- package/dist/core/prototype/collection/upload/directories/derive.d.ts +7 -0
- package/dist/core/prototype/collection/upload/directories/derive.js +56 -0
- package/dist/core/prototype/collection/upload/directories/pipeline.server.d.ts +10 -0
- package/dist/core/prototype/collection/upload/directories/pipeline.server.js +22 -0
- package/dist/core/prototype/collection/upload/disk/delete.server.d.ts +9 -0
- package/dist/core/prototype/collection/upload/disk/delete.server.js +106 -0
- package/dist/core/prototype/collection/upload/disk/save.server.d.ts +32 -0
- package/dist/core/prototype/collection/upload/disk/save.server.js +190 -0
- package/dist/core/prototype/collection/upload/doc-type.d.ts +14 -0
- package/dist/core/prototype/collection/upload/doc-type.js +28 -0
- package/dist/core/prototype/collection/upload/enabled.d.ts +8 -0
- package/dist/core/prototype/collection/upload/enabled.js +7 -0
- package/dist/core/prototype/collection/upload/ensure.server.d.ts +12 -0
- package/dist/core/prototype/collection/upload/ensure.server.js +19 -0
- package/dist/core/prototype/collection/upload/hooks/clean-up-files.server.d.ts +10 -0
- package/dist/core/prototype/collection/upload/hooks/clean-up-files.server.js +17 -0
- package/dist/core/prototype/collection/upload/hooks/convert-base64.server.d.ts +13 -0
- package/dist/core/prototype/collection/upload/hooks/convert-base64.server.js +36 -0
- package/dist/core/prototype/collection/upload/hooks/extract-path.server.d.ts +6 -0
- package/dist/core/prototype/collection/upload/hooks/extract-path.server.js +25 -0
- package/dist/core/prototype/collection/upload/hooks/handle-path-creation.server.d.ts +6 -0
- package/dist/core/prototype/collection/upload/hooks/handle-path-creation.server.js +82 -0
- package/dist/core/prototype/collection/upload/hooks/index.server.d.ts +13 -0
- package/dist/core/prototype/collection/upload/hooks/index.server.js +13 -0
- package/dist/core/prototype/collection/upload/hooks/populate-sizes.server.d.ts +4 -0
- package/dist/core/prototype/collection/upload/hooks/populate-sizes.server.js +48 -0
- package/dist/core/prototype/collection/upload/hooks/process-file-upload.server.d.ts +20 -0
- package/dist/core/prototype/collection/upload/hooks/process-file-upload.server.js +60 -0
- package/dist/core/prototype/collection/upload/hooks/update-directory-children.server.d.ts +10 -0
- package/dist/core/prototype/collection/upload/hooks/update-directory-children.server.js +47 -0
- package/dist/core/prototype/collection/upload/module.d.ts +15 -0
- package/dist/core/prototype/collection/upload/module.js +92 -0
- package/dist/core/prototype/collection/upload/module.server.d.ts +24 -0
- package/dist/core/prototype/collection/upload/module.server.js +36 -0
- package/dist/core/prototype/collection/upload/naming.d.ts +23 -0
- package/dist/core/prototype/collection/upload/naming.js +37 -0
- package/dist/core/prototype/collection/upload/types.d.ts +102 -0
- package/dist/core/prototype/collection/upload/types.js +1 -0
- package/dist/core/prototype/collection/upload/util/config.d.ts +16 -0
- package/dist/core/prototype/collection/upload/util/converter.server.d.ts +29 -0
- package/dist/core/prototype/collection/upload/util/converter.server.js +127 -0
- package/dist/core/prototype/collection/upload/util/path.d.ts +69 -0
- package/dist/core/prototype/collection/upload/util/path.js +143 -0
- package/dist/core/prototype/define.d.ts +112 -0
- package/dist/core/prototype/define.js +50 -0
- package/dist/core/prototype/doc.d.ts +31 -0
- package/dist/core/prototype/doc.js +118 -0
- package/dist/core/prototype/index.d.ts +14 -0
- package/dist/core/prototype/index.js +14 -0
- package/dist/core/prototype/naming.d.ts +22 -0
- package/dist/core/prototype/naming.js +23 -0
- package/dist/core/prototype/shared/metas/constant.d.ts +16 -0
- package/dist/core/prototype/shared/metas/constant.js +16 -0
- package/dist/core/prototype/shared/metas/fields.d.ts +8 -0
- package/dist/core/prototype/shared/metas/fields.js +27 -0
- package/dist/core/prototype/shared/metas/hooks/delete-panel-lock-metas.server.d.ts +9 -0
- package/dist/core/prototype/shared/metas/hooks/delete-panel-lock-metas.server.js +20 -0
- package/dist/core/prototype/shared/metas/hooks/index.server.d.ts +7 -0
- package/dist/core/prototype/shared/metas/hooks/index.server.js +7 -0
- package/dist/core/prototype/shared/metas/hooks/stamp-authorship.server.d.ts +2 -0
- package/dist/core/prototype/shared/metas/hooks/stamp-authorship.server.js +27 -0
- package/dist/core/prototype/shared/metas/lock.d.ts +15 -0
- package/dist/core/prototype/shared/metas/lock.js +30 -0
- package/dist/core/prototype/shared/metas/lock.server.d.ts +46 -0
- package/dist/core/prototype/shared/metas/lock.server.js +91 -0
- package/dist/core/prototype/shared/metas/module.d.ts +38 -0
- package/dist/core/prototype/shared/metas/module.js +38 -0
- package/dist/core/prototype/shared/metas/module.server.d.ts +30 -0
- package/dist/core/prototype/shared/metas/module.server.js +38 -0
- package/dist/core/prototype/shared/title/augment.d.ts +27 -0
- package/dist/core/prototype/shared/title/augment.js +19 -0
- package/dist/core/prototype/shared/title/find-title.d.ts +14 -0
- package/dist/core/prototype/shared/title/find-title.js +35 -0
- package/dist/core/prototype/shared/title/hooks/index.server.d.ts +9 -0
- package/dist/core/prototype/shared/title/hooks/index.server.js +9 -0
- package/dist/core/prototype/shared/title/hooks/set-document-title.server.d.ts +4 -0
- package/dist/core/prototype/shared/title/hooks/set-document-title.server.js +32 -0
- package/dist/core/prototype/shared/title/select.d.ts +16 -0
- package/dist/core/prototype/shared/title/select.js +24 -0
- package/dist/core/prototype/shared/url/augment.d.ts +13 -0
- package/dist/core/prototype/shared/url/augment.js +11 -0
- package/dist/core/prototype/shared/url/enabled.d.ts +8 -0
- package/dist/core/prototype/shared/url/enabled.js +7 -0
- package/dist/core/prototype/shared/url/hooks/index.server.d.ts +9 -0
- package/dist/core/prototype/shared/url/hooks/index.server.js +9 -0
- package/dist/core/prototype/shared/url/hooks/populate-url.server.d.ts +4 -0
- package/dist/core/prototype/shared/url/hooks/populate-url.server.js +120 -0
- package/dist/core/prototype/shared/versions/augment.d.ts +23 -0
- package/dist/core/prototype/shared/versions/augment.js +47 -0
- package/dist/core/prototype/shared/versions/auto-saves.server.d.ts +16 -0
- package/dist/core/prototype/shared/versions/auto-saves.server.js +29 -0
- package/dist/core/prototype/shared/versions/blank.d.ts +13 -0
- package/dist/core/prototype/shared/versions/blank.js +15 -0
- package/dist/core/prototype/shared/versions/configure.server.d.ts +7 -0
- package/dist/core/prototype/shared/versions/configure.server.js +75 -0
- package/dist/core/prototype/shared/versions/constant.d.ts +14 -0
- package/dist/core/prototype/shared/versions/constant.js +13 -0
- package/dist/core/prototype/shared/versions/doc-type.d.ts +8 -0
- package/dist/core/prototype/shared/versions/doc-type.js +9 -0
- package/dist/core/prototype/shared/versions/enabled.d.ts +10 -0
- package/dist/core/prototype/shared/versions/enabled.js +9 -0
- package/dist/core/prototype/shared/versions/hooks/define-version-operation.server.d.ts +19 -0
- package/dist/core/prototype/shared/versions/hooks/define-version-operation.server.js +37 -0
- package/dist/core/prototype/shared/versions/hooks/demote-other-versions.d.ts +17 -0
- package/dist/core/prototype/shared/versions/hooks/demote-other-versions.js +37 -0
- package/dist/core/prototype/shared/versions/hooks/discard-auto-saves-of.server.d.ts +8 -0
- package/dist/core/prototype/shared/versions/hooks/discard-auto-saves-of.server.js +17 -0
- package/dist/core/prototype/shared/versions/hooks/expose-version-id.d.ts +12 -0
- package/dist/core/prototype/shared/versions/hooks/expose-version-id.js +17 -0
- package/dist/core/prototype/shared/versions/hooks/fallback-data-from-original.d.ts +9 -0
- package/dist/core/prototype/shared/versions/hooks/fallback-data-from-original.js +31 -0
- package/dist/core/prototype/shared/versions/hooks/handle-new-version.server.d.ts +32 -0
- package/dist/core/prototype/shared/versions/hooks/handle-new-version.server.js +194 -0
- package/dist/core/prototype/shared/versions/hooks/index.server.d.ts +15 -0
- package/dist/core/prototype/shared/versions/hooks/index.server.js +15 -0
- package/dist/core/prototype/shared/versions/hooks/prevent-last-version-deletion.server.d.ts +7 -0
- package/dist/core/prototype/shared/versions/hooks/prevent-last-version-deletion.server.js +21 -0
- package/dist/core/prototype/shared/versions/hooks/strip-auto-save-flag.server.d.ts +7 -0
- package/dist/core/prototype/shared/versions/hooks/strip-auto-save-flag.server.js +14 -0
- package/dist/core/prototype/shared/versions/module.browser.js +1 -0
- package/dist/core/prototype/shared/versions/module.server.d.ts +1 -0
- package/dist/core/prototype/shared/versions/module.server.js +4 -0
- package/dist/core/prototype/shared/versions/naming.d.ts +7 -0
- package/dist/core/prototype/shared/versions/naming.js +21 -0
- package/dist/core/prototype/shared/versions/read-query.d.ts +27 -0
- package/dist/core/prototype/shared/versions/read-query.js +35 -0
- package/dist/core/prototype/shared/versions/retire-auto-saves.server.d.ts +16 -0
- package/dist/core/prototype/shared/versions/retire-auto-saves.server.js +29 -0
- package/dist/core/prototype/shared/versions/strategy.d.ts +86 -0
- package/dist/core/prototype/shared/versions/strategy.js +93 -0
- package/dist/core/prototype/shared/versions/types.d.ts +37 -0
- package/dist/core/prototype/shared/versions/types.js +1 -0
- package/dist/core/prototype/shared/versions/validate-config.server.d.ts +8 -0
- package/dist/core/prototype/shared/versions/validate-config.server.js +21 -0
- package/dist/core/prototype/shared/versions/write-plan.d.ts +30 -0
- package/dist/core/prototype/shared/versions/write-plan.js +38 -0
- package/dist/core/prototype/types.d.ts +79 -0
- package/dist/core/prototype/types.js +1 -0
- package/dist/core/prototype/when.d.ts +25 -0
- package/dist/core/prototype/when.js +32 -0
- package/dist/core/rime.server.d.ts +64 -4363
- package/dist/core/rime.server.js +45 -93
- package/dist/core/routes/constants.d.ts +12 -0
- package/dist/core/routes/constants.js +16 -0
- package/dist/core/routes/constants.server.d.ts +5 -0
- package/dist/core/routes/constants.server.js +9 -0
- package/dist/core/routes/context.server.d.ts +17 -0
- package/dist/core/routes/context.server.js +29 -0
- package/dist/core/routes/handler.server.d.ts +58 -0
- package/dist/core/routes/handler.server.js +107 -0
- package/dist/core/routes/panel-navigation.d.ts +18 -0
- package/dist/core/routes/panel-navigation.js +64 -0
- package/dist/core/routes/util.d.ts +24 -0
- package/dist/core/routes/util.js +44 -0
- package/dist/fields/blocks/component/AddBlockButton.svelte +1 -1
- package/dist/fields/blocks/component/AddBlockButton.svelte.d.ts +1 -1
- package/dist/fields/blocks/component/Block.svelte +1 -1
- package/dist/fields/blocks/component/Blocks.svelte +1 -1
- package/dist/fields/blocks/index.d.ts +2 -1
- package/dist/fields/blocks/index.js +18 -2
- package/dist/fields/email/index.js +1 -1
- package/dist/fields/group/component/Group.svelte +1 -1
- package/dist/fields/group/component/Group.svelte.d.ts +1 -1
- package/dist/fields/group/index.d.ts +2 -2
- package/dist/fields/link/component/RessourceInput.svelte +2 -2
- package/dist/fields/link/index.d.ts +1 -1
- package/dist/fields/link/index.js +57 -60
- package/dist/fields/link/module.server.js +1 -1
- package/dist/fields/number/index.d.ts +1 -1
- package/dist/fields/relation/component/Cell.svelte +2 -2
- package/dist/fields/relation/component/Relation.svelte +13 -22
- package/dist/fields/relation/component/default/Default.svelte +4 -3
- package/dist/fields/relation/component/types.d.ts +2 -1
- package/dist/fields/relation/component/upload/Browse.svelte +4 -4
- package/dist/fields/relation/component/upload/Upload.svelte +2 -2
- package/dist/fields/relation/index.d.ts +11 -1
- package/dist/fields/relation/index.js +81 -63
- package/dist/fields/relation/module.server.js +3 -8
- package/dist/fields/rich-text/core/features/link/component/link-selector.svelte +2 -2
- package/dist/fields/rich-text/core/features/resource/resource-extension.d.ts +1 -1
- package/dist/fields/rich-text/core/features/resource/resource.svelte +2 -2
- package/dist/fields/rich-text/core/features/upload/upload.svelte +2 -2
- package/dist/fields/slug/index.d.ts +1 -1
- package/dist/fields/tabs/index.d.ts +1 -1
- package/dist/fields/text/index.d.ts +1 -1
- package/dist/fields/textarea/index.d.ts +1 -1
- package/dist/fields/toggle/index.d.ts +1 -1
- package/dist/fields/tree/component/TreeBlock.svelte +1 -1
- package/dist/fields/tree/component/TreeBlock.svelte.d.ts +1 -1
- package/dist/fields/tree/component/props.d.ts +1 -1
- package/dist/fields/tree/index.d.ts +1 -1
- package/dist/fields/tree/index.js +12 -1
- package/dist/fields/types.d.ts +4 -9
- package/dist/index.d.ts +5 -2
- package/dist/index.js +2 -1
- package/dist/panel/components/Root.svelte +12 -8
- package/dist/panel/components/Root.svelte.d.ts +1 -1
- package/dist/panel/components/sections/auth/AuthForm.svelte +3 -0
- package/dist/panel/components/sections/collection/StatusDot.svelte +2 -1
- package/dist/panel/components/sections/collection/StatusDot.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/bulk-upload/DropZone.svelte +1 -1
- package/dist/panel/components/sections/collection/folder/FolderEdit.svelte +2 -2
- package/dist/panel/components/sections/collection/folder/FolderEdit.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte +8 -8
- package/dist/panel/components/sections/collection/folder/FolderWithActions.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/grid/create-directory-dialog/CreateDirectoryDialog.svelte +1 -1
- package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte +7 -5
- package/dist/panel/components/sections/collection/grid/grid-item/GridItem.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/header/ButtonCreate.svelte +9 -6
- package/dist/panel/components/sections/collection/header/DisplayMode.svelte +1 -2
- package/dist/panel/components/sections/collection/header/Header.svelte +2 -5
- package/dist/panel/components/sections/collection/list/CollectionList.svelte +1 -1
- package/dist/panel/components/sections/collection/list/header/Header.svelte +7 -1
- package/dist/panel/components/sections/collection/list/row/Row.svelte +9 -3
- package/dist/panel/components/sections/collection/list/row/Row.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte +3 -2
- package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/upload-thumb-cell/UploadThumbCell.svelte +1 -1
- package/dist/panel/components/sections/document/AuthFooter.svelte +4 -3
- package/dist/panel/components/sections/document/AutoSaveBanner.svelte +115 -0
- package/dist/panel/components/sections/document/AutoSaveBanner.svelte.d.ts +16 -0
- package/dist/panel/components/sections/document/ButtonStatus.svelte +12 -5
- package/dist/panel/components/sections/document/CurrentlyEdited.svelte +10 -27
- package/dist/panel/components/sections/document/CurrentlyEdited.svelte.d.ts +6 -5
- package/dist/panel/components/sections/document/Document.svelte +220 -18
- package/dist/panel/components/sections/document/Document.svelte.d.ts +1 -1
- package/dist/panel/components/sections/document/Header.svelte +49 -5
- package/dist/panel/components/sections/document/Header.svelte.d.ts +2 -0
- package/dist/panel/components/sections/document/Settings.svelte +77 -21
- package/dist/panel/components/sections/document/Versions.svelte +140 -51
- package/dist/panel/components/sections/document/Versions.svelte.d.ts +11 -8
- package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte +4 -2
- package/dist/panel/components/sections/document/upload-header/UploadHeader.svelte.d.ts +1 -1
- package/dist/panel/components/sections/document/upload-header/drop-zone/DropZone.svelte +1 -1
- package/dist/panel/components/sections/document/upload-header/drop-zone/DropZone.svelte.d.ts +2 -2
- package/dist/panel/components/sections/document/versions-list.d.ts +10 -0
- package/dist/panel/components/sections/document/versions-list.js +10 -0
- package/dist/panel/components/sections/live/Consumer.svelte +1 -1
- package/dist/panel/components/sections/live/Consumer.svelte.d.ts +1 -1
- package/dist/panel/components/sections/live/LiveEdit.svelte +1 -1
- package/dist/panel/components/ui/card-resource/card-resource.svelte +13 -1
- package/dist/panel/components/ui/nav/Nav.svelte +3 -3
- package/dist/panel/components/ui/nav/NavItem.svelte +5 -3
- package/dist/panel/components/ui/nav/UserButton.svelte +3 -3
- package/dist/panel/context/collection.svelte.d.ts +2 -2
- package/dist/panel/context/collection.svelte.js +6 -7
- package/dist/panel/context/config.svelte.d.ts +1 -1
- package/dist/panel/context/documentForm.svelte.d.ts +19 -3
- package/dist/panel/context/documentForm.svelte.js +214 -41
- package/dist/panel/context/live.svelte.d.ts +1 -1
- package/dist/panel/context/live.svelte.js +2 -2
- package/dist/panel/context/user.svelte.d.ts +1 -1
- package/dist/panel/context/versions.svelte.d.ts +8 -0
- package/dist/panel/context/versions.svelte.js +34 -0
- package/dist/panel/index.d.ts +15 -12
- package/dist/panel/index.js +1 -3
- package/dist/panel/pages/area/Area.svelte +7 -2
- package/dist/panel/pages/area/Area.svelte.d.ts +1 -1
- package/dist/panel/pages/area/actions.server.js +31 -16
- package/dist/panel/pages/area/load.server.d.ts +1 -1
- package/dist/panel/pages/area/load.server.js +10 -24
- package/dist/panel/pages/auth/fields.js +1 -1
- package/dist/panel/pages/auth/forgot-password/ForgotPassword.svelte +2 -1
- package/dist/panel/pages/auth/forgot-password/load.server.js +3 -2
- package/dist/panel/pages/auth/reset-password/ResetPassword.svelte +2 -1
- package/dist/panel/pages/auth/reset-password/load.server.js +3 -2
- package/dist/panel/pages/auth/sign-in/SignIn.svelte +3 -2
- package/dist/panel/pages/auth/sign-in/actions.server.js +2 -2
- package/dist/panel/pages/auth/sign-in/load.server.js +4 -3
- package/dist/panel/pages/collection/Collection.svelte +15 -138
- package/dist/panel/pages/collection/Collection.svelte.d.ts +5 -8
- package/dist/panel/pages/collection/CollectionPage.svelte +146 -0
- package/dist/panel/pages/collection/CollectionPage.svelte.d.ts +18 -0
- package/dist/panel/pages/collection/load.server.d.ts +3 -3
- package/dist/panel/pages/collection/load.server.js +12 -9
- package/dist/panel/pages/collection-document/CollectionDocument.svelte +7 -2
- package/dist/panel/pages/collection-document/CollectionDocument.svelte.d.ts +1 -1
- package/dist/panel/pages/collection-document/actions.server.js +28 -10
- package/dist/panel/pages/collection-document/load.server.d.ts +1 -1
- package/dist/panel/pages/collection-document/load.server.js +19 -24
- package/dist/panel/pages/dashboard/Dashboard.svelte +1 -1
- package/dist/panel/pages/dashboard/Dashboard.svelte.d.ts +1 -1
- package/dist/panel/pages/dashboard/load.server.js +23 -20
- package/dist/panel/pages/dashboard/types.d.ts +1 -1
- package/dist/panel/pages/live/Live.svelte +3 -8
- package/dist/panel/pages/live/load.server.js +1 -1
- package/dist/panel/types.d.ts +2 -2
- package/dist/panel/util/live.server.d.ts +1 -1
- package/dist/panel/util/live.server.js +2 -2
- package/dist/panel/util/url.d.ts +0 -6
- package/dist/panel/util/url.js +1 -9
- package/dist/server.d.ts +6 -5
- package/dist/server.js +6 -5
- package/dist/types.d.ts +12 -6
- package/dist/util/coerce.d.ts +12 -0
- package/dist/util/coerce.js +38 -0
- package/dist/util/index.d.ts +16 -9
- package/dist/util/index.js +14 -12
- package/dist/util/object.d.ts +10 -0
- package/dist/util/object.js +14 -1
- package/dist/util/path.d.ts +16 -0
- package/dist/util/path.js +19 -0
- package/dist/util/string.d.ts +25 -0
- package/dist/util/string.js +30 -0
- package/dist/util/types.d.ts +5 -10
- package/dist/util/types.js +5 -0
- package/package.json +83 -21
- package/dist/.rime-modules.d.ts +0 -23
- package/dist/.rime-modules.json +0 -1
- package/dist/adapter-sqlite/generate-schema/relations/definition.server.d.ts +0 -55
- package/dist/adapter-sqlite/generate-schema/relations/definition.server.js +0 -52
- package/dist/adapter-sqlite/generate-schema/util.server.d.ts +0 -49
- package/dist/adapter-sqlite/generate-schema/util.server.js +0 -58
- package/dist/adapter-sqlite/orderBy.server.d.ts +0 -11
- package/dist/adapter-sqlite/orderBy.server.js +0 -98
- package/dist/adapter-sqlite/url.server.d.ts +0 -14
- package/dist/adapter-sqlite/url.server.js +0 -77
- package/dist/adapter-sqlite/util.server.d.ts +0 -174
- package/dist/adapter-sqlite/util.server.js +0 -357
- package/dist/adapter-sqlite/with.server.d.ts +0 -9
- package/dist/adapter-sqlite/with.server.js +0 -266
- package/dist/core/areas/config/augment-hooks.server.d.ts +0 -10
- package/dist/core/areas/config/augment-hooks.server.js +0 -51
- package/dist/core/areas/config/augment-metas.d.ts +0 -10
- package/dist/core/areas/config/augment-metas.js +0 -13
- package/dist/core/areas/config/augment-title.d.ts +0 -9
- package/dist/core/areas/config/augment-title.js +0 -8
- package/dist/core/areas/config/augment-url.d.ts +0 -10
- package/dist/core/areas/config/augment-url.js +0 -14
- package/dist/core/areas/config/augment-versions.d.ts +0 -14
- package/dist/core/areas/config/augment-versions.js +0 -25
- package/dist/core/areas/config/builder.d.ts +0 -3
- package/dist/core/areas/config/builder.js +0 -33
- package/dist/core/areas/config/builder.server.d.ts +0 -15
- package/dist/core/areas/config/builder.server.js +0 -35
- package/dist/core/areas/local-api.server.d.ts +0 -80
- package/dist/core/areas/local-api.server.js +0 -126
- package/dist/core/areas/operations/find.d.ts +0 -15
- package/dist/core/areas/operations/find.js +0 -52
- package/dist/core/areas/operations/update.d.ts +0 -15
- package/dist/core/areas/operations/update.js +0 -101
- package/dist/core/areas/rest/get.server.d.ts +0 -18
- package/dist/core/areas/rest/get.server.js +0 -45
- package/dist/core/areas/rest/index.server.d.ts +0 -6
- package/dist/core/areas/rest/index.server.js +0 -3
- package/dist/core/areas/rest/update.server.d.ts +0 -18
- package/dist/core/areas/rest/update.server.js +0 -43
- package/dist/core/collections/auth/constant.server.d.ts +0 -9
- package/dist/core/collections/auth/constant.server.js +0 -9
- package/dist/core/collections/auth/fields.d.ts +0 -13
- package/dist/core/collections/auth/fields.js +0 -55
- package/dist/core/collections/auth/hooks/after-create/populate-api-key.server.d.ts +0 -5
- package/dist/core/collections/auth/hooks/after-create/populate-api-key.server.js +0 -22
- package/dist/core/collections/auth/hooks/after-delete/delete-better-auth-user.server.d.ts +0 -4
- package/dist/core/collections/auth/hooks/after-delete/delete-better-auth-user.server.js +0 -25
- package/dist/core/collections/auth/hooks/before-create/create-better-auth-user.server.d.ts +0 -4
- package/dist/core/collections/auth/hooks/before-create/create-better-auth-user.server.js +0 -187
- package/dist/core/collections/auth/hooks/before-delete/prevent-superadmin-deletion.server.d.ts +0 -1
- package/dist/core/collections/auth/hooks/before-delete/prevent-superadmin-deletion.server.js +0 -10
- package/dist/core/collections/auth/hooks/before-read/remove-private-fields.server.d.ts +0 -1
- package/dist/core/collections/auth/hooks/before-read/remove-private-fields.server.js +0 -8
- package/dist/core/collections/auth/hooks/before-update/forward-roles.server.d.ts +0 -4
- package/dist/core/collections/auth/hooks/before-update/forward-roles.server.js +0 -54
- package/dist/core/collections/auth/hooks/before-update/prevent-superadmin-mutation.server.d.ts +0 -5
- package/dist/core/collections/auth/hooks/before-update/prevent-superadmin-mutation.server.js +0 -27
- package/dist/core/collections/auth/hooks/before-update/prevent-user-mutations.server.d.ts +0 -5
- package/dist/core/collections/auth/hooks/before-update/prevent-user-mutations.server.js +0 -18
- package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.d.ts +0 -6
- package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.js +0 -21
- package/dist/core/collections/auth/hooks/hooks.server.d.ts +0 -8
- package/dist/core/collections/auth/hooks/hooks.server.js +0 -8
- package/dist/core/collections/auth/types.d.ts +0 -8
- package/dist/core/collections/auth/util.d.ts +0 -13
- package/dist/core/collections/config/augment-auth.d.ts +0 -17
- package/dist/core/collections/config/augment-auth.js +0 -88
- package/dist/core/collections/config/augment-auth.server.d.ts +0 -3
- package/dist/core/collections/config/augment-auth.server.js +0 -23
- package/dist/core/collections/config/augment-hooks.server.d.ts +0 -14
- package/dist/core/collections/config/augment-hooks.server.js +0 -98
- package/dist/core/collections/config/augment-label.d.ts +0 -6
- package/dist/core/collections/config/augment-metas.d.ts +0 -9
- package/dist/core/collections/config/augment-metas.js +0 -12
- package/dist/core/collections/config/augment-nested.d.ts +0 -12
- package/dist/core/collections/config/augment-nested.js +0 -15
- package/dist/core/collections/config/augment-nested.server.d.ts +0 -12
- package/dist/core/collections/config/augment-nested.server.js +0 -18
- package/dist/core/collections/config/augment-panel.d.ts +0 -13
- package/dist/core/collections/config/augment-panel.js +0 -19
- package/dist/core/collections/config/augment-thumbnail.d.ts +0 -16
- package/dist/core/collections/config/augment-thumbnail.js +0 -15
- package/dist/core/collections/config/augment-title.d.ts +0 -16
- package/dist/core/collections/config/augment-title.js +0 -27
- package/dist/core/collections/config/augment-upload.d.ts +0 -10
- package/dist/core/collections/config/augment-upload.js +0 -59
- package/dist/core/collections/config/augment-upload.server.d.ts +0 -7
- package/dist/core/collections/config/augment-upload.server.js +0 -19
- package/dist/core/collections/config/augment-url.d.ts +0 -10
- package/dist/core/collections/config/augment-url.js +0 -14
- package/dist/core/collections/config/augment-versions.d.ts +0 -14
- package/dist/core/collections/config/augment-versions.js +0 -24
- package/dist/core/collections/config/builder.d.ts +0 -3
- package/dist/core/collections/config/builder.js +0 -51
- package/dist/core/collections/config/builder.server.d.ts +0 -15
- package/dist/core/collections/config/builder.server.js +0 -47
- package/dist/core/collections/config/types.d.ts +0 -3
- package/dist/core/collections/local-api.server.d.ts +0 -166
- package/dist/core/collections/local-api.server.js +0 -303
- package/dist/core/collections/nested/hooks/index.server.d.ts +0 -4
- package/dist/core/collections/nested/hooks/index.server.js +0 -33
- package/dist/core/collections/operations/create.d.ts +0 -16
- package/dist/core/collections/operations/create.js +0 -119
- package/dist/core/collections/operations/delete.d.ts +0 -17
- package/dist/core/collections/operations/delete.js +0 -32
- package/dist/core/collections/operations/deleteById.d.ts +0 -13
- package/dist/core/collections/operations/deleteById.js +0 -48
- package/dist/core/collections/operations/duplicate.d.ts +0 -12
- package/dist/core/collections/operations/duplicate.js +0 -142
- package/dist/core/collections/operations/find.d.ts +0 -21
- package/dist/core/collections/operations/find.js +0 -70
- package/dist/core/collections/operations/findById.d.ts +0 -16
- package/dist/core/collections/operations/findById.js +0 -53
- package/dist/core/collections/operations/updateById.d.ts +0 -20
- package/dist/core/collections/operations/updateById.js +0 -111
- package/dist/core/collections/rest/create.server.d.ts +0 -18
- package/dist/core/collections/rest/create.server.js +0 -37
- package/dist/core/collections/rest/delete.server.d.ts +0 -18
- package/dist/core/collections/rest/delete.server.js +0 -37
- package/dist/core/collections/rest/deleteById.server.d.ts +0 -18
- package/dist/core/collections/rest/deleteById.server.js +0 -21
- package/dist/core/collections/rest/duplicate.server.d.ts +0 -15
- package/dist/core/collections/rest/duplicate.server.js +0 -20
- package/dist/core/collections/rest/get.server.d.ts +0 -18
- package/dist/core/collections/rest/get.server.js +0 -50
- package/dist/core/collections/rest/getById.server.d.ts +0 -18
- package/dist/core/collections/rest/getById.server.js +0 -35
- package/dist/core/collections/rest/index.server.d.ts +0 -16
- package/dist/core/collections/rest/index.server.js +0 -16
- package/dist/core/collections/rest/updateById.server.d.ts +0 -18
- package/dist/core/collections/rest/updateById.server.js +0 -44
- package/dist/core/collections/upload/disk/delete.server.d.ts +0 -9
- package/dist/core/collections/upload/disk/delete.server.js +0 -77
- package/dist/core/collections/upload/disk/save.server.d.ts +0 -32
- package/dist/core/collections/upload/disk/save.server.js +0 -190
- package/dist/core/collections/upload/hooks/clean-up-files.server.d.ts +0 -10
- package/dist/core/collections/upload/hooks/clean-up-files.server.js +0 -17
- package/dist/core/collections/upload/hooks/convert-base64.server.d.ts +0 -13
- package/dist/core/collections/upload/hooks/convert-base64.server.js +0 -36
- package/dist/core/collections/upload/hooks/extract-path.server.d.ts +0 -6
- package/dist/core/collections/upload/hooks/extract-path.server.js +0 -25
- package/dist/core/collections/upload/hooks/handle-path-creation.server.d.ts +0 -6
- package/dist/core/collections/upload/hooks/handle-path-creation.server.js +0 -64
- package/dist/core/collections/upload/hooks/populate-sizes.server.d.ts +0 -1
- package/dist/core/collections/upload/hooks/populate-sizes.server.js +0 -45
- package/dist/core/collections/upload/hooks/process-file-upload.server.d.ts +0 -20
- package/dist/core/collections/upload/hooks/process-file-upload.server.js +0 -60
- package/dist/core/collections/upload/hooks/update-directory-children.server.d.ts +0 -2
- package/dist/core/collections/upload/hooks/update-directory-children.server.js +0 -41
- package/dist/core/collections/upload/upload.d.ts +0 -16
- package/dist/core/collections/upload/util/config.d.ts +0 -16
- package/dist/core/collections/upload/util/converter.server.d.ts +0 -16
- package/dist/core/collections/upload/util/converter.server.js +0 -105
- package/dist/core/collections/upload/util/path.d.ts +0 -65
- package/dist/core/collections/upload/util/path.js +0 -139
- package/dist/core/collections/versions/operations.d.ts +0 -93
- package/dist/core/collections/versions/operations.js +0 -117
- package/dist/core/config/auth/better-auth-hooks.server.js +0 -138
- package/dist/core/config/auth/better-auth.server.d.ts +0 -2121
- package/dist/core/config/auth/better-auth.server.js +0 -81
- package/dist/core/config/client/augment-directories.d.ts +0 -6
- package/dist/core/config/client/augment-directories.js +0 -11
- package/dist/core/config/client/augment-panel.d.ts +0 -35
- package/dist/core/config/client/augment-panel.js +0 -22
- package/dist/core/config/client/augment-plugins.d.ts +0 -4
- package/dist/core/config/client/augment-plugins.js +0 -13
- package/dist/core/config/client/augment-staff.d.ts +0 -7
- package/dist/core/config/client/augment-staff.js +0 -6
- package/dist/core/config/client/build-config.d.ts +0 -41
- package/dist/core/config/client/build-config.js +0 -13
- package/dist/core/config/client/index.d.ts +0 -4
- package/dist/core/config/client/index.js +0 -4
- package/dist/core/config/config-context.server.d.ts +0 -70
- package/dist/core/config/config-context.server.js +0 -113
- package/dist/core/config/server/augment-cors.server.d.ts +0 -4
- package/dist/core/config/server/augment-cors.server.js +0 -7
- package/dist/core/config/server/augment-directories.server.d.ts +0 -6
- package/dist/core/config/server/augment-directories.server.js +0 -37
- package/dist/core/config/server/augment-panel-access.server.d.ts +0 -28
- package/dist/core/config/server/augment-panel-access.server.js +0 -8
- package/dist/core/config/server/augment-plugins.server.d.ts +0 -5
- package/dist/core/config/server/augment-plugins.server.js +0 -45
- package/dist/core/config/server/augment-staff.server.d.ts +0 -7
- package/dist/core/config/server/augment-staff.server.js +0 -6
- package/dist/core/config/server/build-config.server.d.ts +0 -123
- package/dist/core/config/server/build-config.server.js +0 -28
- package/dist/core/config/server/index.server.d.ts +0 -9
- package/dist/core/config/server/index.server.js +0 -11
- package/dist/core/config/server/validate.server.d.ts +0 -3
- package/dist/core/config/server/validate.server.js +0 -234
- package/dist/core/config/server/write.server.js +0 -77
- package/dist/core/config/shared/augment-icons.d.ts +0 -9
- package/dist/core/config/shared/augment-icons.js +0 -11
- package/dist/core/config/shared/augment-prototypes.d.ts +0 -8
- package/dist/core/config/shared/augment-prototypes.js +0 -7
- package/dist/core/config/shared/compile.d.ts +0 -19
- package/dist/core/config/shared/compile.js +0 -26
- package/dist/core/config/shared/find-thumbnail.d.ts +0 -9
- package/dist/core/config/shared/find-thumbnail.js +0 -34
- package/dist/core/config/shared/find-title.d.ts +0 -14
- package/dist/core/config/shared/find-title.js +0 -35
- package/dist/core/config/shared/get-staff-collection.d.ts +0 -22
- package/dist/core/config/shared/get-staff-collection.js +0 -55
- package/dist/core/config/shared/upload-directories.d.ts +0 -7
- package/dist/core/config/shared/upload-directories.js +0 -55
- package/dist/core/config/shared/versions-alias.server.d.ts +0 -10
- package/dist/core/config/shared/versions-alias.server.js +0 -59
- package/dist/core/constant.d.ts +0 -52
- package/dist/core/constant.js +0 -51
- package/dist/core/constant.server.d.ts +0 -2
- package/dist/core/constant.server.js +0 -3
- package/dist/core/dev/cache/index.server.d.ts +0 -11
- package/dist/core/dev/cache/index.server.js +0 -37
- package/dist/core/dev/cli/build/index.js +0 -70
- package/dist/core/dev/cli/build/templates.js +0 -43
- package/dist/core/dev/cli/clear/index.server.js +0 -42
- package/dist/core/dev/cli/generate/index.server.js +0 -98
- package/dist/core/dev/cli/generate-manifest/index.server.d.ts +0 -17
- package/dist/core/dev/cli/generate-manifest/index.server.js +0 -221
- package/dist/core/dev/cli/init/index.server.js +0 -240
- package/dist/core/dev/cli/init/templates.d.ts +0 -16
- package/dist/core/dev/cli/init/templates.js +0 -105
- package/dist/core/dev/cli/util/log.server.d.ts +0 -1
- package/dist/core/dev/cli/util/log.server.js +0 -4
- package/dist/core/dev/constants.d.ts +0 -29
- package/dist/core/dev/constants.js +0 -67
- package/dist/core/dev/generate/routes/common.server.d.ts +0 -17
- package/dist/core/dev/generate/routes/common.server.js +0 -500
- package/dist/core/dev/generate/routes/custom-css.server.js +0 -86
- package/dist/core/dev/generate/routes/index.server.d.ts +0 -12
- package/dist/core/dev/generate/routes/index.server.js +0 -83
- package/dist/core/dev/generate/routes/util.server.d.ts +0 -42
- package/dist/core/dev/generate/routes/util.server.js +0 -101
- package/dist/core/dev/generate/runtime/index.server.d.ts +0 -44
- package/dist/core/dev/generate/runtime/index.server.js +0 -92
- package/dist/core/dev/generate/runtime/parse-exports.server.d.ts +0 -7
- package/dist/core/dev/generate/runtime/parse-exports.server.js +0 -40
- package/dist/core/dev/generate/sanitize/index.server.js +0 -834
- package/dist/core/dev/generate/types/index.server.js +0 -368
- package/dist/core/dev/vite/index.server.js +0 -308
- package/dist/core/ensure.server.d.ts +0 -34
- package/dist/core/ensure.server.js +0 -91
- package/dist/core/handlers/auth.server.js +0 -154
- package/dist/core/handlers/cors.server.js +0 -73
- package/dist/core/handlers/index.d.ts +0 -3
- package/dist/core/handlers/index.js +0 -16
- package/dist/core/handlers/main.server.d.ts +0 -4
- package/dist/core/handlers/main.server.js +0 -14
- package/dist/core/handlers/plugins.server.js +0 -10
- package/dist/core/handlers/routes.server.d.ts +0 -71
- package/dist/core/handlers/routes.server.js +0 -88
- package/dist/core/naming.d.ts +0 -82
- package/dist/core/naming.js +0 -86
- package/dist/core/operations/blocks/diff.server.d.ts +0 -15
- package/dist/core/operations/blocks/diff.server.js +0 -82
- package/dist/core/operations/blocks/extract.server.d.ts +0 -9
- package/dist/core/operations/blocks/extract.server.js +0 -33
- package/dist/core/operations/blocks/index.server.d.ts +0 -26
- package/dist/core/operations/blocks/index.server.js +0 -71
- package/dist/core/operations/configMap/buildTreeMap.d.ts +0 -4
- package/dist/core/operations/configMap/index.d.ts +0 -6
- package/dist/core/operations/configMap/index.js +0 -54
- package/dist/core/operations/extract-data.server.d.ts +0 -37
- package/dist/core/operations/extract-data.server.js +0 -101
- package/dist/core/operations/hooks/before-create/merge-with-blank.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-create/merge-with-blank.server.js +0 -24
- package/dist/core/operations/hooks/before-operation/authorize.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-operation/authorize.server.js +0 -32
- package/dist/core/operations/hooks/before-read/populate-url.server.d.ts +0 -4
- package/dist/core/operations/hooks/before-read/populate-url.server.js +0 -107
- package/dist/core/operations/hooks/before-read/process-document-fields.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/process-document-fields.server.js +0 -58
- package/dist/core/operations/hooks/before-read/set-document-locale.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/set-document-locale.server.js +0 -15
- package/dist/core/operations/hooks/before-read/set-document-thumbnail.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/set-document-thumbnail.server.js +0 -34
- package/dist/core/operations/hooks/before-read/set-document-title.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/set-document-title.server.js +0 -29
- package/dist/core/operations/hooks/before-read/set-document-type.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/set-document-type.server.js +0 -14
- package/dist/core/operations/hooks/before-read/sort-document-props.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-read/sort-document-props.server.js +0 -63
- package/dist/core/operations/hooks/before-update/define-version-operation.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-update/define-version-operation.server.js +0 -18
- package/dist/core/operations/hooks/before-update/get-original-document.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-update/get-original-document.server.js +0 -37
- package/dist/core/operations/hooks/before-upsert/data-config-map.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-upsert/data-config-map.server.js +0 -12
- package/dist/core/operations/hooks/before-upsert/handle-new-version.server.d.ts +0 -5
- package/dist/core/operations/hooks/before-upsert/handle-new-version.server.js +0 -98
- package/dist/core/operations/hooks/before-upsert/original-config-map.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-upsert/original-config-map.server.js +0 -16
- package/dist/core/operations/hooks/before-upsert/set-default-values.server.d.ts +0 -10
- package/dist/core/operations/hooks/before-upsert/set-default-values.server.js +0 -70
- package/dist/core/operations/hooks/before-upsert/validate-fields.server.d.ts +0 -1
- package/dist/core/operations/hooks/before-upsert/validate-fields.server.js +0 -150
- package/dist/core/operations/hooks/index.server.d.ts +0 -128
- package/dist/core/operations/hooks/index.server.js +0 -45
- package/dist/core/operations/relations/diff.server.d.ts +0 -14
- package/dist/core/operations/relations/diff.server.js +0 -47
- package/dist/core/operations/relations/extract.server.d.ts +0 -11
- package/dist/core/operations/relations/extract.server.js +0 -59
- package/dist/core/operations/relations/index.server.d.ts +0 -25
- package/dist/core/operations/relations/index.server.js +0 -68
- package/dist/core/operations/shared/fallback-data-from-original.d.ts +0 -9
- package/dist/core/operations/shared/fallback-data-from-original.js +0 -31
- package/dist/core/operations/tree/diff.server.d.ts +0 -20
- package/dist/core/operations/tree/diff.server.js +0 -64
- package/dist/core/operations/tree/extract.server.d.ts +0 -9
- package/dist/core/operations/tree/extract.server.js +0 -34
- package/dist/core/operations/tree/index.server.d.ts +0 -12
- package/dist/core/operations/tree/index.server.js +0 -52
- package/dist/core/plugins/api-init/index.d.ts +0 -2
- package/dist/core/plugins/api-init/index.js +0 -1
- package/dist/core/plugins/api-init/module.server.js +0 -83
- package/dist/core/plugins/mailer/index.d.ts +0 -2
- package/dist/core/plugins/mailer/index.js +0 -1
- package/dist/core/plugins/mailer/module.server.js +0 -32
- package/dist/core/plugins/sse/broadcast.d.ts +0 -13
- package/dist/core/plugins/sse/broadcast.js +0 -30
- package/dist/core/plugins/sse/module.server.d.ts +0 -16
- package/dist/core/plugins/sse/module.server.js +0 -52
- package/dist/core/types/doc.d.ts +0 -74
- package/dist/core/types/index.d.ts +0 -5
- package/dist/panel/navigation.d.ts +0 -13
- package/dist/panel/navigation.js +0 -59
- package/dist/panel/pages/area/AreaVersionsDoc.svelte +0 -24
- package/dist/panel/pages/area/AreaVersionsDoc.svelte.d.ts +0 -7
- package/dist/panel/pages/collection-document/CollectionDocVersions.svelte +0 -29
- package/dist/panel/pages/collection-document/CollectionDocVersions.svelte.d.ts +0 -7
- package/dist/util/access/index.d.ts +0 -73
- package/dist/util/cases.d.ts +0 -39
- package/dist/util/cases.js +0 -58
- package/dist/util/doc.d.ts +0 -50
- package/dist/util/doc.js +0 -140
- package/dist/util/validate.js +0 -171
- /package/dist/{util/access/index.js → core/auth/access.js} +0 -0
- /package/dist/core/{config/auth/better-auth-hooks.server.d.ts → auth/better-auth/hooks.server.d.ts} +0 -0
- /package/dist/core/{config/auth/better-auth-permissions.d.ts → auth/better-auth/permissions.d.ts} +0 -0
- /package/dist/core/{config/auth/better-auth-permissions.js → auth/better-auth/permissions.js} +0 -0
- /package/dist/core/{handlers/auth.server.d.ts → auth/handler/index.server.d.ts} +0 -0
- /package/dist/core/{areas/config → auth}/types.js +0 -0
- /package/dist/core/{collections/auth → auth}/util.js +0 -0
- /package/dist/core/{handlers/cors.server.d.ts → cors/handler.server.d.ts} +0 -0
- /package/dist/core/dev/cli/{build/index.d.ts → commands/build.d.ts} +0 -0
- /package/dist/core/dev/cli/{clear/index.server.d.ts → commands/clear.server.d.ts} +0 -0
- /package/dist/core/dev/cli/{generate/index.server.d.ts → commands/generate.server.d.ts} +0 -0
- /package/dist/core/dev/cli/{init/index.server.d.ts → commands/init.server.d.ts} +0 -0
- /package/dist/core/dev/cli/{build/templates.d.ts → templates/build.d.ts} +0 -0
- /package/dist/core/dev/{generate → codegen}/routes/custom-css.server.d.ts +0 -0
- /package/dist/core/dev/{generate → codegen}/sanitize/index.server.d.ts +0 -0
- /package/dist/core/dev/{generate → codegen}/types/index.server.d.ts +0 -0
- /package/dist/core/{config/server/write.server.d.ts → dev/config-memo.server.d.ts} +0 -0
- /package/dist/core/dev/{vite/index.server.d.ts → vite.server.d.ts} +0 -0
- /package/dist/core/{collections/auth → fields}/types.js +0 -0
- /package/dist/{util → core/fields}/validate.d.ts +0 -0
- /package/dist/core/{collections/config → locale}/types.js +0 -0
- /package/dist/core/{logger/index.server.d.ts → logger.server.d.ts} +0 -0
- /package/dist/core/{logger/index.server.js → logger.server.js} +0 -0
- /package/dist/core/{operations/configMap → panel}/types.js +0 -0
- /package/dist/core/{operations/configMap/buildTreeMap.js → pipeline/config-map/build-tree-map.js} +0 -0
- /package/dist/core/{operations/configMap → pipeline/config-map}/types.d.ts +0 -0
- /package/dist/core/{types/doc.js → pipeline/config-map/types.js} +0 -0
- /package/dist/core/plugins/api-init/{module.server.d.ts → index.server.d.ts} +0 -0
- /package/dist/core/{types/index.js → plugins/cache/types.js} +0 -0
- /package/dist/core/plugins/mailer/{module.server.d.ts → index.server.d.ts} +0 -0
- /package/dist/core/{handlers → plugins}/plugins.server.d.ts +0 -0
- /package/dist/core/{areas/config → prototype/area}/types.d.ts +0 -0
- /package/dist/core/{collections/config → prototype/collection}/augment-label.js +0 -0
- /package/dist/core/{collections → prototype/collection}/upload/util/client.d.ts +0 -0
- /package/dist/core/{collections → prototype/collection}/upload/util/client.js +0 -0
- /package/dist/core/{collections → prototype/collection}/upload/util/config.js +0 -0
- /package/dist/core/{collections → prototype/collection}/upload/util/mime.d.ts +0 -0
- /package/dist/core/{collections → prototype/collection}/upload/util/mime.js +0 -0
|
@@ -1,19 +1,39 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
1
|
+
import type { TableDeclaration, VersionsTable } from '../adapter.js';
|
|
2
|
+
import type { LocalizationConfig } from '../locale/types.js';
|
|
3
|
+
import type { PanelConfig, CollectionPanelConfig, CustomPanelRoute, NavigationConfig } from '../panel/types.js';
|
|
4
|
+
import type { CacheConfig } from '../plugins/cache/types.js';
|
|
5
|
+
import type { CollectionAuthConfig, AdditionalStaffConfig } from '../auth/types.js';
|
|
6
|
+
import type { CollectionLabel } from '../prototype/collection/types.js';
|
|
7
|
+
import type { UploadConfig } from '../prototype/collection/upload/types.js';
|
|
8
|
+
import type { VersionsConfig } from '../prototype/shared/versions/types.js';
|
|
9
|
+
import type { Adapter } from '../adapter.js';
|
|
10
|
+
import type { Hook, HookBeforeOperation } from '../pipeline/types.js';
|
|
4
11
|
import type { Plugin } from '../plugins/index.js';
|
|
5
|
-
import type { SMTPConfig } from '../plugins/mailer/
|
|
6
|
-
import type { Field
|
|
12
|
+
import type { SMTPConfig } from '../plugins/mailer/index.server.js';
|
|
13
|
+
import type { Field } from '../../fields/types.js';
|
|
7
14
|
import type { RegisterArea, RegisterCollection } from '../../index.js';
|
|
8
15
|
import type { DashboardEntry } from '../../panel/pages/dashboard/types.js';
|
|
9
16
|
import type { AreaSlug, CollectionSlug, User } from '../../types.js';
|
|
10
|
-
import type {
|
|
17
|
+
import type { Dic, WithRequired } from '../../util/types.js';
|
|
11
18
|
import type { IconProps } from '@lucide/svelte';
|
|
12
19
|
import type { RequestEvent, RequestHandler } from '@sveltejs/kit';
|
|
13
20
|
import type { Component } from 'svelte';
|
|
14
21
|
import type { FieldBuilder } from '../fields/builders/index.js';
|
|
15
|
-
import type {
|
|
22
|
+
import type { DocType } from '../prototype/types.js';
|
|
23
|
+
/**
|
|
24
|
+
* What an author writes.
|
|
25
|
+
*
|
|
26
|
+
* The two prototype lists were merged in from beside each definition, through a
|
|
27
|
+
* `PrototypeMembers` interface this extended. That kept core from naming a kind and made the
|
|
28
|
+
* authoring surface of every config in the repo depend on a declaration-merging target whose
|
|
29
|
+
* failure mode is silence: an augmentation that stops being reachable leaves the interface empty
|
|
30
|
+
* and `config.collections` starts reading `any`, far from the cause.
|
|
31
|
+
*/
|
|
16
32
|
export interface Config {
|
|
33
|
+
/** The collections an author writes. Optional here, defaulted to `[]` by the config chain. */
|
|
34
|
+
collections?: BuiltCollection[];
|
|
35
|
+
/** The areas an author writes. Same. */
|
|
36
|
+
areas?: BuiltArea[];
|
|
17
37
|
/** If config.siteUrl is defined, a preview button is added
|
|
18
38
|
on the panel dahsboard, pointing to this url */
|
|
19
39
|
siteUrl?: string;
|
|
@@ -32,10 +52,6 @@ export interface Config {
|
|
|
32
52
|
$auth?: {
|
|
33
53
|
plugins: any;
|
|
34
54
|
};
|
|
35
|
-
/** List of Collection */
|
|
36
|
-
collections?: BuiltCollection[];
|
|
37
|
-
/** List of Area */
|
|
38
|
-
areas?: BuiltArea[];
|
|
39
55
|
/** List of locales for document i18£n
|
|
40
56
|
* @example
|
|
41
57
|
* localization: {
|
|
@@ -97,78 +113,12 @@ export type Access = {
|
|
|
97
113
|
update?: (user: User | undefined, options: AccessOptions) => boolean;
|
|
98
114
|
delete?: (user: User | undefined, options: AccessOptions) => boolean;
|
|
99
115
|
};
|
|
100
|
-
export type AdditionalStaffConfig = {
|
|
101
|
-
roles?: (string | Option)[];
|
|
102
|
-
panel?: {
|
|
103
|
-
group?: string;
|
|
104
|
-
};
|
|
105
|
-
access?: Access;
|
|
106
|
-
label?: CollectionLabel;
|
|
107
|
-
fields?: FieldBuilder<Field>[];
|
|
108
|
-
};
|
|
109
|
-
export type PanelConfig = {
|
|
110
|
-
/** who can accesss the panel */
|
|
111
|
-
$access?: (user: User | undefined) => boolean;
|
|
112
|
-
/** Custom panel routes that render a given component */
|
|
113
|
-
routes?: Record<string, CustomPanelRoute>;
|
|
114
|
-
/** The panel language, "en" or "fr" supports only */
|
|
115
|
-
language?: PanelLanguage;
|
|
116
|
-
/** Sidebar navigation groups labels and icons */
|
|
117
|
-
navigation?: NavigationConfig;
|
|
118
|
-
/** Specific components */
|
|
119
|
-
components?: {
|
|
120
|
-
/** Dashboard header */
|
|
121
|
-
header?: Component[];
|
|
122
|
-
/** Collection header */
|
|
123
|
-
collectionHeader?: Component<{
|
|
124
|
-
config: BuiltCollectionClient;
|
|
125
|
-
}>[];
|
|
126
|
-
/** Full dashboard component */
|
|
127
|
-
dashboard?: Component<{
|
|
128
|
-
entries: DashboardEntry[];
|
|
129
|
-
user?: User;
|
|
130
|
-
}>;
|
|
131
|
-
};
|
|
132
|
-
/** a relative path from the "static" directory or an external url
|
|
133
|
-
* @example
|
|
134
|
-
* // for static/assets/custom.css
|
|
135
|
-
* css : '/assets/custom.css'
|
|
136
|
-
*/
|
|
137
|
-
css?: string;
|
|
138
|
-
};
|
|
139
|
-
export type CacheConfig = {
|
|
140
|
-
isEnabled?: (event: RequestEvent) => boolean;
|
|
141
|
-
};
|
|
142
116
|
export type RouteConfig = {
|
|
143
117
|
POST?: RequestHandler;
|
|
144
118
|
GET?: RequestHandler;
|
|
145
119
|
PATCH?: RequestHandler;
|
|
146
120
|
DELETE?: RequestHandler;
|
|
147
121
|
};
|
|
148
|
-
export type LocalizationConfig = {
|
|
149
|
-
locales: LocaleConfig[];
|
|
150
|
-
default: string;
|
|
151
|
-
};
|
|
152
|
-
export type LocaleConfig = {
|
|
153
|
-
code: string;
|
|
154
|
-
label: string;
|
|
155
|
-
};
|
|
156
|
-
export type CollectionLabel = {
|
|
157
|
-
singular: string;
|
|
158
|
-
plural: string;
|
|
159
|
-
/** Label to search document, ex: Search for pages... */
|
|
160
|
-
search?: string;
|
|
161
|
-
/** Label for creation ex: New page */
|
|
162
|
-
create?: string;
|
|
163
|
-
/** Label when no document found, ex: No pages found */
|
|
164
|
-
none?: string;
|
|
165
|
-
};
|
|
166
|
-
export type VersionsConfig = {
|
|
167
|
-
draft?: boolean;
|
|
168
|
-
autoSave?: boolean;
|
|
169
|
-
maxVersions?: number;
|
|
170
|
-
};
|
|
171
|
-
export type UrlDefinition<T extends BaseDoc = BaseDoc> = (document: T) => string;
|
|
172
122
|
type PrototypeConfig<S extends string = string> = {
|
|
173
123
|
slug: S;
|
|
174
124
|
/** Document fields definition */
|
|
@@ -181,62 +131,6 @@ type PrototypeConfig<S extends string = string> = {
|
|
|
181
131
|
/** If the document can be edited live, if enabled the url prop must be set also. */
|
|
182
132
|
live?: boolean;
|
|
183
133
|
};
|
|
184
|
-
export type UploadConfig = {
|
|
185
|
-
/**
|
|
186
|
-
* Define image sizes that will be generated when an image is uploaded.
|
|
187
|
-
* A 'thumbnail' size will be added, if none provided with this name.
|
|
188
|
-
* @example
|
|
189
|
-
* ```typescript
|
|
190
|
-
* imageSizes: [
|
|
191
|
-
* {
|
|
192
|
-
* name: 'thumbnail',
|
|
193
|
-
* width: 200,
|
|
194
|
-
* height: 200,
|
|
195
|
-
* out: ['jpg', 'webp'],
|
|
196
|
-
* compression: 80
|
|
197
|
-
* },
|
|
198
|
-
* {
|
|
199
|
-
* name: 'medium',
|
|
200
|
-
* width: 800,
|
|
201
|
-
* compression: 85
|
|
202
|
-
* }
|
|
203
|
-
* ]
|
|
204
|
-
* ```
|
|
205
|
-
*/
|
|
206
|
-
imageSizes?: ImageSizesConfig[];
|
|
207
|
-
/**
|
|
208
|
-
* Allowed mimeTypes
|
|
209
|
-
* @example
|
|
210
|
-
* ```typescript
|
|
211
|
-
* accept: ['image/jpeg', 'image/svg']
|
|
212
|
-
* ```
|
|
213
|
-
*/
|
|
214
|
-
accept?: string[];
|
|
215
|
-
/** Directories */
|
|
216
|
-
directories?: {
|
|
217
|
-
fields: FieldBuilder<Field>[];
|
|
218
|
-
access?: Access;
|
|
219
|
-
$hooks?: CollectionHooks<any>;
|
|
220
|
-
};
|
|
221
|
-
};
|
|
222
|
-
export type CollectionAuthConfig = ({
|
|
223
|
-
type: 'password';
|
|
224
|
-
} | {
|
|
225
|
-
type: 'apiKey';
|
|
226
|
-
}) & {
|
|
227
|
-
roles?: (string | Option)[];
|
|
228
|
-
};
|
|
229
|
-
export type CollectionPanelConfig = false | {
|
|
230
|
-
/** Description for the collection/area, basically displayed on the dashboard */
|
|
231
|
-
description?: string;
|
|
232
|
-
/** Sidebar navigation group */
|
|
233
|
-
group?: string;
|
|
234
|
-
/** Dashboard settings */
|
|
235
|
-
dashboard?: {
|
|
236
|
-
layout?: 'rows' | 'grid';
|
|
237
|
-
maxEntries?: number;
|
|
238
|
-
} | false;
|
|
239
|
-
};
|
|
240
134
|
export type Collection<S> = {
|
|
241
135
|
slug: S;
|
|
242
136
|
/** The collection label */
|
|
@@ -269,28 +163,6 @@ export type Area<S> = PrototypeConfig & {
|
|
|
269
163
|
group?: string;
|
|
270
164
|
};
|
|
271
165
|
};
|
|
272
|
-
type NavigationConfig = {
|
|
273
|
-
groups: Array<{
|
|
274
|
-
label: string;
|
|
275
|
-
icon: Component<IconProps>;
|
|
276
|
-
}>;
|
|
277
|
-
};
|
|
278
|
-
export type CustomPanelRoute = {
|
|
279
|
-
group?: string;
|
|
280
|
-
label: string;
|
|
281
|
-
icon?: Component<IconProps>;
|
|
282
|
-
component: Component;
|
|
283
|
-
};
|
|
284
|
-
export type ImageSizesConfig = {
|
|
285
|
-
name: string;
|
|
286
|
-
/** If none provided, will fallback to original file extesion */
|
|
287
|
-
out?: Array<'jpg' | 'webp'>;
|
|
288
|
-
/** Default compression: 60 */
|
|
289
|
-
compression?: number;
|
|
290
|
-
} & AtLeastOne<{
|
|
291
|
-
width: number;
|
|
292
|
-
height: number;
|
|
293
|
-
}>;
|
|
294
166
|
export type BuiltCollection = Omit<Collection<string>, 'icon' | 'versions' | 'upload' | 'auth'> & {
|
|
295
167
|
slug: CollectionSlug;
|
|
296
168
|
type: 'collection';
|
|
@@ -303,12 +175,46 @@ export type BuiltCollection = Omit<Collection<string>, 'icon' | 'versions' | 'up
|
|
|
303
175
|
asThumbnail: string | null;
|
|
304
176
|
auth?: CollectionAuthConfig;
|
|
305
177
|
versions?: Required<VersionsConfig>;
|
|
178
|
+
/**
|
|
179
|
+
* Where this config's content lives, when it is not its own row.
|
|
180
|
+
*
|
|
181
|
+
* Stamped by `augmentVersions` on a versioned config; `undefined` otherwise, which reads as
|
|
182
|
+
* "the document's own row". Declared here beside `versions` because it is the same statement,
|
|
183
|
+
* and because five callers read it — two of them in `adapter-sqlite/`, which is what keeps the
|
|
184
|
+
* adapter reading data rather than calling a feature.
|
|
185
|
+
*/
|
|
186
|
+
_versions?: VersionsTable;
|
|
306
187
|
upload?: UploadConfig;
|
|
307
188
|
icon: Component<IconProps>;
|
|
308
189
|
access: WithRequired<Access, 'create' | 'read' | 'update' | 'delete'>;
|
|
190
|
+
/**
|
|
191
|
+
* How the panel's dashboard should list this collection, when a feature has an opinion.
|
|
192
|
+
*
|
|
193
|
+
* Off the authoring surface — a config author writes `panel.dashboard.layout` — and the same
|
|
194
|
+
* device as `_titleFallback`: the feature that knows states its preference, and whoever renders
|
|
195
|
+
* reads it. `upload` sets `'grid'`, because a collection of files reads better as thumbnails.
|
|
196
|
+
* The dashboard's own default is `'rows'`, and what an author wrote beats both.
|
|
197
|
+
*
|
|
198
|
+
* It replaced `augment-panel.ts`, where the collection prototype tested `config.upload` to pick
|
|
199
|
+
* this — a prototype knowing what a feature is, and the whole reason this member exists.
|
|
200
|
+
*/
|
|
201
|
+
_dashboardLayout?: 'rows' | 'grid';
|
|
309
202
|
_generateTypes?: false;
|
|
310
203
|
_generateSchema?: false;
|
|
311
204
|
_generateRoutes?: false;
|
|
205
|
+
/**
|
|
206
|
+
* Whose content this config holds, in slug space — the inverse of `_versions`.
|
|
207
|
+
*
|
|
208
|
+
* ```
|
|
209
|
+
* pages _shadowOf: undefined
|
|
210
|
+
* $pages__versions _shadowOf: 'pages'
|
|
211
|
+
* ```
|
|
212
|
+
*
|
|
213
|
+
* Set by whichever feature derived the second table, so nothing has to read it off how the slug
|
|
214
|
+
* is spelled. `undefined` on every config an author wrote, which makes
|
|
215
|
+
* `config._shadowOf ?? config.slug` read as "the document this row belongs to".
|
|
216
|
+
*/
|
|
217
|
+
_shadowOf?: string;
|
|
312
218
|
};
|
|
313
219
|
export type BuiltAreaClient = BuiltArea;
|
|
314
220
|
export type BuiltArea = Omit<Area<string>, 'versions'> & {
|
|
@@ -321,6 +227,15 @@ export type BuiltArea = Omit<Area<string>, 'versions'> & {
|
|
|
321
227
|
label: string;
|
|
322
228
|
asTitle: string;
|
|
323
229
|
versions?: Required<VersionsConfig>;
|
|
230
|
+
/**
|
|
231
|
+
* Where this config's content lives, when it is not its own row.
|
|
232
|
+
*
|
|
233
|
+
* Stamped by `augmentVersions` on a versioned config; `undefined` otherwise, which reads as
|
|
234
|
+
* "the document's own row". Declared here beside `versions` because it is the same statement,
|
|
235
|
+
* and because five callers read it — two of them in `adapter-sqlite/`, which is what keeps the
|
|
236
|
+
* adapter reading data rather than calling a feature.
|
|
237
|
+
*/
|
|
238
|
+
_versions?: VersionsTable;
|
|
324
239
|
icon: Component<IconProps>;
|
|
325
240
|
access: WithRequired<Access, 'create' | 'read' | 'update' | 'delete'>;
|
|
326
241
|
_generateTypes?: false;
|
|
@@ -328,23 +243,31 @@ export type BuiltArea = Omit<Area<string>, 'versions'> & {
|
|
|
328
243
|
_generateRoutes?: false;
|
|
329
244
|
};
|
|
330
245
|
export type BuiltCollectionClient = BuiltCollection;
|
|
246
|
+
/**
|
|
247
|
+
* What the config chain produced.
|
|
248
|
+
*
|
|
249
|
+
* The two lists with the optionality gone — which is what the chain guarantees by defaulting each
|
|
250
|
+
* to `[]`, so downstream reads `config.collections` without a guard.
|
|
251
|
+
*/
|
|
331
252
|
export type BuiltConfig = {
|
|
253
|
+
collections: BuiltCollection[];
|
|
254
|
+
areas: BuiltArea[];
|
|
332
255
|
/** Database location relative to the root project ex: ./db/my-app.sqlite */
|
|
333
256
|
$database: string;
|
|
334
257
|
/** The database location */
|
|
335
258
|
siteUrl?: string;
|
|
336
|
-
/** list of collections */
|
|
337
|
-
collections: BuiltCollection[];
|
|
338
|
-
/** list of areas */
|
|
339
|
-
areas: BuiltArea[];
|
|
340
259
|
/** Define wich language the cms support */
|
|
341
260
|
localization?: LocalizationConfig;
|
|
342
261
|
icons: Record<string, any>;
|
|
343
262
|
$trustedOrigins: string[];
|
|
263
|
+
/**
|
|
264
|
+
* Tables no prototype declares — better-auth's own, and whatever a plugin adds.
|
|
265
|
+
*
|
|
266
|
+
* Filled during the configure phase and appended to, so a consumer adding a better-auth plugin
|
|
267
|
+
* can declare that plugin's storage. The schema generator emits exactly what is here.
|
|
268
|
+
*/
|
|
269
|
+
$tables: TableDeclaration[];
|
|
344
270
|
$routes?: Record<string, RouteConfig>;
|
|
345
|
-
/** Fully-resolved plugin list, computed by augmentPluginsServer — internal, not the
|
|
346
|
-
* consumer-facing config key (that's just `plugins`) */
|
|
347
|
-
$plugins?: Plugin[];
|
|
348
271
|
plugins?: Plugin[];
|
|
349
272
|
panel: {
|
|
350
273
|
routes: Record<string, CustomPanelRoute>;
|
|
@@ -371,14 +294,9 @@ export type BuiltConfig = {
|
|
|
371
294
|
$custom?: Record<string, any>;
|
|
372
295
|
custom?: Record<string, any>;
|
|
373
296
|
};
|
|
374
|
-
export type ServerConfigProps = '$adapter' | '$database' | '$trustedOrigins' | '$routes' | '$smtp' | '$custom' | '$auth';
|
|
375
|
-
export type SanitizedConfigClient = Omit<Config, ServerConfigProps
|
|
376
|
-
|
|
377
|
-
areas?: BuiltAreaClient[];
|
|
378
|
-
};
|
|
379
|
-
export type BuiltConfigClient = Omit<BuiltConfig, ServerConfigProps | '$plugins' | 'panel' | 'collections' | 'areas'> & {
|
|
380
|
-
collections: BuiltCollectionClient[];
|
|
381
|
-
areas: BuiltAreaClient[];
|
|
297
|
+
export type ServerConfigProps = '$adapter' | '$database' | '$trustedOrigins' | '$tables' | '$routes' | '$smtp' | '$custom' | '$auth';
|
|
298
|
+
export type SanitizedConfigClient = Omit<Config, ServerConfigProps>;
|
|
299
|
+
export type BuiltConfigClient = Omit<BuiltConfig, ServerConfigProps | 'panel'> & {
|
|
382
300
|
icons: Dic<Component<IconProps>>;
|
|
383
301
|
panel: {
|
|
384
302
|
routes: Record<string, CustomPanelRoute>;
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { validateAuth } from '../auth/validate-config.js';
|
|
2
|
+
import { validateVersions } from '../prototype/shared/versions/validate-config.server.js';
|
|
3
|
+
import cache from '../dev/cache.server.js';
|
|
4
|
+
import { isFormField } from '../fields/util.js';
|
|
5
|
+
import { logger } from '../logger.server.js';
|
|
6
|
+
import { BlocksBuilder } from '../../fields/blocks/index.js';
|
|
7
|
+
import { GroupFieldBuilder } from '../../fields/group/index.js';
|
|
8
|
+
import { RelationFieldBuilder } from '../../fields/relation/index.js';
|
|
9
|
+
import { TabsBuilder } from '../../fields/tabs/index.js';
|
|
10
|
+
import { TreeBuilder } from '../../fields/tree/index.js';
|
|
11
|
+
import { prototypeKebab } from '../prototype/naming.js';
|
|
12
|
+
import { isCamelCase } from '../../util/string.js';
|
|
13
|
+
function hasDuplicates(arr) {
|
|
14
|
+
return [...new Set(arr.filter((e, i, a) => a.indexOf(e) !== i))];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Check if there are multiple occurences
|
|
18
|
+
* of the same slug inside collections and areas
|
|
19
|
+
*/
|
|
20
|
+
function hasDuplicateSlug(config) {
|
|
21
|
+
const slugs = [];
|
|
22
|
+
for (const collection of config.collections || []) {
|
|
23
|
+
slugs.push(collection.slug);
|
|
24
|
+
}
|
|
25
|
+
for (const area of config.areas || []) {
|
|
26
|
+
slugs.push(area.slug);
|
|
27
|
+
}
|
|
28
|
+
const duplicates = hasDuplicates(slugs);
|
|
29
|
+
if (duplicates.length) {
|
|
30
|
+
return ['Duplicated collection/area slugs :' + duplicates.join(', ')];
|
|
31
|
+
}
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check that all area/collection slugs are camelCase
|
|
36
|
+
*/
|
|
37
|
+
function validateSlugs(config) {
|
|
38
|
+
const errors = [];
|
|
39
|
+
const slugs = [
|
|
40
|
+
...(config.collections || []).map((c) => c.slug),
|
|
41
|
+
...(config.areas || []).map((a) => a.slug)
|
|
42
|
+
];
|
|
43
|
+
for (const slug of slugs) {
|
|
44
|
+
// `$` marks a slug rime derived itself ($pages__versions, $mediasDirectories), built from an
|
|
45
|
+
// author slug that was already validated. Skipped by the marker rather than by suffix, so core
|
|
46
|
+
// never has to know what a feature appends.
|
|
47
|
+
if (slug.startsWith('$'))
|
|
48
|
+
continue;
|
|
49
|
+
if (slug.includes('__')) {
|
|
50
|
+
errors.push(`Slug ${slug} may not contain "__": it marks a derived table (pages__versions), and a slug containing it would collide with one.`);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (!isCamelCase(slug)) {
|
|
54
|
+
errors.push(`Slug ${slug} is not a valid prototype slug, it must be camelCase`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return errors;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Prevent the panel user collection slug
|
|
61
|
+
* to be used elsewhere
|
|
62
|
+
*/
|
|
63
|
+
function hasUsersSlug(config) {
|
|
64
|
+
const invalid = (config.collections || []).filter((collection) => collection.slug === 'staff').length > 1;
|
|
65
|
+
if (invalid) {
|
|
66
|
+
return [`staff is a reserved slug for panel users`];
|
|
67
|
+
}
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Validate documents fields for each collections
|
|
72
|
+
* and areas
|
|
73
|
+
*/
|
|
74
|
+
const validateFields = (config) => {
|
|
75
|
+
let errors = [];
|
|
76
|
+
for (const collection of config.collections || []) {
|
|
77
|
+
const collectionErrors = validateDocumentFields(collection, config);
|
|
78
|
+
errors = [...errors, ...collectionErrors];
|
|
79
|
+
}
|
|
80
|
+
for (const area of config.areas || []) {
|
|
81
|
+
const collectionErrors = validateDocumentFields(area, config);
|
|
82
|
+
errors = [...errors, ...collectionErrors];
|
|
83
|
+
}
|
|
84
|
+
return errors;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
*
|
|
88
|
+
*/
|
|
89
|
+
const validateDocumentFields = (documentConfig, config) => {
|
|
90
|
+
const errors = [];
|
|
91
|
+
const registeredBlocks = {};
|
|
92
|
+
const validateBlockField = (fields, blockType) => {
|
|
93
|
+
const reserved = ['path', 'type', 'ownerId', 'position', 'locale'];
|
|
94
|
+
for (const key of reserved) {
|
|
95
|
+
if (fields
|
|
96
|
+
.filter(isFormField)
|
|
97
|
+
.map((f) => f.name)
|
|
98
|
+
.filter((name) => name === key).length > 1) {
|
|
99
|
+
errors.push(`${key} is a reserved field in blocks (block ${blockType})`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const validateRelationField = (field) => {
|
|
104
|
+
const collectionsSlugs = (config.collections || []).map((c) => c.slug);
|
|
105
|
+
if (!collectionsSlugs.includes(field.get.relationTo)) {
|
|
106
|
+
errors.push(`Relation field ${field.name} references unknown collection ${field.get.relationTo}, in ${documentConfig.type} ${documentConfig.slug}`);
|
|
107
|
+
}
|
|
108
|
+
// A relation is junction rows, and the base row has no junction. A reference that must sit
|
|
109
|
+
// there is a text column with `$references(slug, { resolve: true })`.
|
|
110
|
+
if (field.get.root) {
|
|
111
|
+
errors.push(`Relation field ${field.name} can't be $root(), in ${documentConfig.type} ${documentConfig.slug}`);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const validateFields = (fields) => {
|
|
115
|
+
// Check for field name duplication at this level
|
|
116
|
+
const duplicates = hasDuplicates(fields.filter(isFormField).map((f) => f.name));
|
|
117
|
+
if (duplicates.length) {
|
|
118
|
+
for (const duplicate of duplicates) {
|
|
119
|
+
errors.push(`Duplicate field '${duplicate}' in ${documentConfig.type} '${documentConfig.slug}'`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function validateFieldName(name) {
|
|
123
|
+
// Regular expression to match
|
|
124
|
+
// __group_foo__truc, fooBlablaBla, _hello_guys
|
|
125
|
+
const pattern = /^(_+)?[a-zA-Z][a-zA-Z0-9_]*$/;
|
|
126
|
+
// Check if string matches pattern and doesn't contain spaces or hyphens
|
|
127
|
+
return pattern.test(name) && !name.includes('-') && !name.includes(' ');
|
|
128
|
+
}
|
|
129
|
+
function validateTabs(field) {
|
|
130
|
+
const duplicates = hasDuplicates(field.get.tabs.map((t) => t.name));
|
|
131
|
+
if (duplicates.length) {
|
|
132
|
+
errors.push(`Dupplicate tab name ${duplicates} in ${documentConfig.slug}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
for (const field of fields) {
|
|
136
|
+
// Recursive check first into Tabs since tabs are not Formfields
|
|
137
|
+
if (field instanceof TabsBuilder) {
|
|
138
|
+
validateTabs(field);
|
|
139
|
+
for (const tab of field.get.tabs) {
|
|
140
|
+
validateFields(tab.get.fields);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// If field is not a Formfield eg. Separator then continue
|
|
144
|
+
if (!isFormField(field)) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
// A `$root()` field sits on the base row, which has no locales branch.
|
|
148
|
+
if (field.get.root && field.get.localized) {
|
|
149
|
+
errors.push(`Field ${field.name} of ${documentConfig.type} ${documentConfig.slug} with $root(), can't be localized`);
|
|
150
|
+
}
|
|
151
|
+
// A resolved reference is joined from a column of the row; a localized column is on the
|
|
152
|
+
// locales branch, where no join reaches it.
|
|
153
|
+
if (field._references?.resolve && field.get.localized) {
|
|
154
|
+
errors.push(`Field ${field.name} of ${documentConfig.type} ${documentConfig.slug} with a resolved reference, can't be localized`);
|
|
155
|
+
}
|
|
156
|
+
// Check for malformed field.name
|
|
157
|
+
if (!validateFieldName(field.name)) {
|
|
158
|
+
errors.push(`Field ${field.name} of ${documentConfig.type} ${documentConfig.slug} should be camelCase`);
|
|
159
|
+
}
|
|
160
|
+
// Recursive check into Blocks
|
|
161
|
+
if (field instanceof BlocksBuilder) {
|
|
162
|
+
for (const block of field.get.blocks) {
|
|
163
|
+
if (block.name in registeredBlocks) {
|
|
164
|
+
const blockDefinedButDiffer = JSON.stringify(registeredBlocks[block.name]) !== JSON.stringify(block);
|
|
165
|
+
if (blockDefinedButDiffer) {
|
|
166
|
+
errors.push(`Each block with same name should be identique (block ${block.name})`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
registeredBlocks[block.name] = block;
|
|
171
|
+
}
|
|
172
|
+
validateFields(block.get.fields.filter(isFormField));
|
|
173
|
+
validateBlockField(block.get.fields.filter(isFormField), block.name);
|
|
174
|
+
}
|
|
175
|
+
// Recursive check into Tree
|
|
176
|
+
}
|
|
177
|
+
else if (field instanceof TreeBuilder) {
|
|
178
|
+
validateFields(field.get.fields.filter(isFormField));
|
|
179
|
+
// Recursive check into Tabs
|
|
180
|
+
}
|
|
181
|
+
else if (field instanceof GroupFieldBuilder) {
|
|
182
|
+
validateFields(field.get.fields.filter(isFormField));
|
|
183
|
+
// Check relation field
|
|
184
|
+
}
|
|
185
|
+
else if (field instanceof RelationFieldBuilder) {
|
|
186
|
+
validateRelationField(field);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
validateFields(documentConfig.fields);
|
|
191
|
+
return errors;
|
|
192
|
+
};
|
|
193
|
+
const hasDatabase = (config) => {
|
|
194
|
+
const hasDatabaseName = '$adapter' in config;
|
|
195
|
+
if (!hasDatabaseName) {
|
|
196
|
+
return ['config.$adapter not defined'];
|
|
197
|
+
}
|
|
198
|
+
return [];
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* What each feature requires of a config that declares it. Every rule set guards its own
|
|
202
|
+
* not-declared case, so this only says which kinds of config each one is asked of.
|
|
203
|
+
*
|
|
204
|
+
* ```
|
|
205
|
+
* validateAuth core/auth/validate-config.ts collections
|
|
206
|
+
* validateVersions core/prototype/shared/versions/validate-config.server.ts collections and areas
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
function validateFeatures(config) {
|
|
210
|
+
const collections = config.collections || [];
|
|
211
|
+
const areas = config.areas || [];
|
|
212
|
+
return [
|
|
213
|
+
...collections.flatMap((c) => validateAuth(c)),
|
|
214
|
+
...[...collections, ...areas].flatMap((c) => validateVersions(c))
|
|
215
|
+
];
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Every prototype's `kebab` must actually be kebab.
|
|
219
|
+
*
|
|
220
|
+
* It is what the generated param matchers and every REST/panel URL are built from, so a slug
|
|
221
|
+
* leaking into it produces routes like `/api/$mediasDirectories` — and a 404, since the matcher
|
|
222
|
+
* and the link disagree with the config. That happened twice while the naming convention was
|
|
223
|
+
* being switched: both features that derive a prototype built its kebab from a *slug* helper
|
|
224
|
+
* instead of prototypeKebab. Neither is a type error, and neither shows up until a request is
|
|
225
|
+
* made, so it is checked here where codegen already runs.
|
|
226
|
+
*/
|
|
227
|
+
function validateKebabs(config) {
|
|
228
|
+
const errors = [];
|
|
229
|
+
const prototypes = [...(config.collections || []), ...(config.areas || [])];
|
|
230
|
+
for (const prototype of prototypes) {
|
|
231
|
+
const expected = prototypeKebab(prototype.slug);
|
|
232
|
+
if (prototype.kebab !== expected) {
|
|
233
|
+
errors.push(`Prototype ${prototype.slug} has kebab "${prototype.kebab}", expected "${expected}" — build it with prototypeKebab().`);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return errors;
|
|
237
|
+
}
|
|
238
|
+
function validate(config) {
|
|
239
|
+
const validateFunctions = [
|
|
240
|
+
hasDuplicateSlug,
|
|
241
|
+
validateSlugs,
|
|
242
|
+
validateKebabs,
|
|
243
|
+
hasUsersSlug,
|
|
244
|
+
validateFields,
|
|
245
|
+
validateFeatures,
|
|
246
|
+
hasDatabase
|
|
247
|
+
];
|
|
248
|
+
for (const isValid of validateFunctions) {
|
|
249
|
+
const errors = isValid(config);
|
|
250
|
+
if (errors.length) {
|
|
251
|
+
cache.clear();
|
|
252
|
+
errors.map((err) => logger.error(err));
|
|
253
|
+
return false;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
logger.debug('Config is valid');
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
259
|
+
export default validate;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export declare const PARAMS: {
|
|
2
|
+
/**
|
|
3
|
+
* The panel typing over a document: the update lands on the caller's own auto-saved row of the
|
|
4
|
+
* version `versionId` names, on a config with `versions: { draft: true, autoSave: true }`.
|
|
5
|
+
* Read by the panel form actions only; the REST API ignores it.
|
|
6
|
+
*
|
|
7
|
+
* @example ?/update&autoSave=true&versionId=abc
|
|
8
|
+
*/
|
|
9
|
+
readonly AUTO_SAVE: "autoSave";
|
|
10
|
+
/** Fetch nested documents in relation / link at a specific depth */
|
|
11
|
+
readonly DEPTH: "depth";
|
|
12
|
+
/**
|
|
13
|
+
* Make a new version. The update starts from the row the other parameters select — the
|
|
14
|
+
* published one, the newest with `latest`, a named one with `versionId` — copies it into a new
|
|
15
|
+
* row, a draft unless the body says otherwise, and writes the body onto that row. Without it an
|
|
16
|
+
* update writes the selected row in place.
|
|
17
|
+
*
|
|
18
|
+
* A config with versions and no drafts keeps a version per save: there, an update that names
|
|
19
|
+
* no `versionId` is a fork whether it says so or not. Every case is tabled on
|
|
20
|
+
* `defineVersionUpdateOperation` in `core/prototype/shared/versions/strategy.ts`.
|
|
21
|
+
*
|
|
22
|
+
* @example PATCH /api/pages/<id>?fork=true
|
|
23
|
+
*/
|
|
24
|
+
readonly FORK: "fork";
|
|
25
|
+
/**
|
|
26
|
+
* The newest version, whatever its status, where the published one is meant otherwise. The
|
|
27
|
+
* same on a read and on a write: `GET ?latest=true` returns it, `PATCH ?latest=true` writes
|
|
28
|
+
* it. `versionId` names a row and makes this moot. Only a config with drafts has a published
|
|
29
|
+
* row to prefer, and only staff may ask; anyone else gets the published version.
|
|
30
|
+
*
|
|
31
|
+
* @example GET /api/pages/<id>?latest=true
|
|
32
|
+
*/
|
|
33
|
+
readonly LATEST: "latest";
|
|
34
|
+
/**
|
|
35
|
+
* GET operations limit number of documents
|
|
36
|
+
* @example ?limit=4
|
|
37
|
+
*/
|
|
38
|
+
readonly LIMIT: "limit";
|
|
39
|
+
/** GET / CREATE / UPDATE a specific document locale
|
|
40
|
+
* @example ?locale=en
|
|
41
|
+
*/
|
|
42
|
+
readonly LOCALE: "locale";
|
|
43
|
+
/** GET documents with an offset number
|
|
44
|
+
* @example ?limit=4&offset=4
|
|
45
|
+
*/
|
|
46
|
+
readonly OFFSET: "offset";
|
|
47
|
+
/**
|
|
48
|
+
* Redirect or not after creation operation
|
|
49
|
+
* @example ?redirect=false
|
|
50
|
+
*/
|
|
51
|
+
readonly REDIRECT: "redirect";
|
|
52
|
+
/** On fetch operation fields to be fetched
|
|
53
|
+
* @example ?depth=3
|
|
54
|
+
*/
|
|
55
|
+
readonly SELECT: "select";
|
|
56
|
+
/** On fetch list operation order documents
|
|
57
|
+
* @example ?sort=-title
|
|
58
|
+
*/
|
|
59
|
+
readonly SORT: "sort";
|
|
60
|
+
/** GET / UPDATE a specific version*/
|
|
61
|
+
readonly VERSION_ID: "versionId";
|
|
62
|
+
/** On fetch (upload) list operation filter out documents from a specific uploadPath */
|
|
63
|
+
readonly UPLOAD_PATH: "uploadPath";
|
|
64
|
+
/**
|
|
65
|
+
* Disable validation on CREATE / UPDATE operations
|
|
66
|
+
* @example ?skipValidation=true
|
|
67
|
+
*/
|
|
68
|
+
readonly SKIP_VALIDATION: "skipValidation";
|
|
69
|
+
};
|