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
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { augmentAuth } from 'rimecms/core/auth/module';
|
|
2
|
+
import { isAuth } from '../../auth/enabled.js';
|
|
3
|
+
import { augmentMetas } from 'rimecms/core/prototype/shared/metas/module';
|
|
4
|
+
import { augmentNested } from 'rimecms/core/prototype/collection/nested/module';
|
|
5
|
+
import { isNested } from './nested/enabled.js';
|
|
6
|
+
import { augmentThumbnail } from './thumbnail/augment.js';
|
|
7
|
+
import { augmentTitle } from '../shared/title/augment.js';
|
|
8
|
+
import { augmentUpload } from 'rimecms/core/prototype/collection/upload/module';
|
|
9
|
+
import { isUpload } from './upload/enabled.js';
|
|
10
|
+
import { augmentUrl } from '../shared/url/augment.js';
|
|
11
|
+
import { hasUrl } from '../shared/url/enabled.js';
|
|
12
|
+
import { augmentVersions } from '../shared/versions/augment.js';
|
|
13
|
+
import { when } from '../when.js';
|
|
14
|
+
import { definePrototype } from '../define.js';
|
|
15
|
+
import { augmentLabel } from './augment-label.js';
|
|
16
|
+
/**
|
|
17
|
+
* A collection: many documents, addressed by id, with the full set of operations.
|
|
18
|
+
*
|
|
19
|
+
* The client half of the pair. It carries everything a client build needs — what a collection
|
|
20
|
+
* *is* — and none of what only a server can do: `api` and `rest` are declared in
|
|
21
|
+
* `definition.server.ts`, which re-exports this with those added.
|
|
22
|
+
*
|
|
23
|
+
* That split is what lets the definition hold `features` and `augments`: `create` runs them on
|
|
24
|
+
* both sides, so both lists have to be reachable from a client build, which a `.server.ts`
|
|
25
|
+
* definition never was.
|
|
26
|
+
*/
|
|
27
|
+
export const collection = definePrototype({
|
|
28
|
+
/** The name it is exported under, and the `type` every collection config carries. */
|
|
29
|
+
name: 'collection',
|
|
30
|
+
/**
|
|
31
|
+
* **Everything that shapes a collection config, in the order it runs** — which is the order the
|
|
32
|
+
* fields land in, and therefore column order (CONTRIBUTING rule 2).
|
|
33
|
+
*
|
|
34
|
+
* This was two declarations: `augments: [augmentLabel]` for the prototype's own, and
|
|
35
|
+
* `features: [auth, panel, upload, …]` for the rest, folded by `applyAugments`, each entry
|
|
36
|
+
* gated by a `FeatureDefinition.enabled` predicate declared in its own file. Reading the chain
|
|
37
|
+
* meant opening ten of them. It is one list now, and the guard is beside the step.
|
|
38
|
+
*
|
|
39
|
+
* `auth` is first because `title` resolves `asTitle` from the fallback `auth` and `upload` each
|
|
40
|
+
* offer, so both have to have run before it. `metas` is last because metas close the table.
|
|
41
|
+
* `augmentVersions` carries its own guard on its first line; the four `when`s are the rest of
|
|
42
|
+
* what `enabled` used to answer, and the unguarded steps are the six that answered `() => true`.
|
|
43
|
+
*
|
|
44
|
+
* `panel` and `cors` are not here: neither has an augment. They shape the whole config and are
|
|
45
|
+
* called by the config chain — see `config/build.ts`.
|
|
46
|
+
*/
|
|
47
|
+
augments: () => [
|
|
48
|
+
augmentLabel,
|
|
49
|
+
when(isAuth, augmentAuth),
|
|
50
|
+
when(isUpload, augmentUpload),
|
|
51
|
+
when(isNested, augmentNested),
|
|
52
|
+
augmentVersions,
|
|
53
|
+
when(hasUrl, augmentUrl),
|
|
54
|
+
augmentTitle,
|
|
55
|
+
augmentThumbnail,
|
|
56
|
+
augmentMetas
|
|
57
|
+
]
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* The public authoring API: `Collection.create('pages', {…})`.
|
|
61
|
+
*
|
|
62
|
+
* One line over `collection.create`, and it exists for the one thing a definition prop cannot
|
|
63
|
+
* state: the authoring type is generic in the slug — `Collection<S>` types `$hooks` and `$url`
|
|
64
|
+
* from it — and no type parameter can carry a generic type. So the composition lives in
|
|
65
|
+
* `definePrototype` and the signature lives here, next to the kind it belongs to.
|
|
66
|
+
*
|
|
67
|
+
* Isomorphic on purpose. A feature that derives a collection (`auth`'s `staff`) imports this file
|
|
68
|
+
* and not `definition.server.ts` — see rule 3 in CONTRIBUTING.md.
|
|
69
|
+
*/
|
|
70
|
+
export const create = (slug, config) =>
|
|
71
|
+
// The same erasure the registry casts through: a definition's `create` is typed by the kind the
|
|
72
|
+
// definition is, and the client half is written against `BuiltPrototype` so that the registry
|
|
73
|
+
// can hold both in one list.
|
|
74
|
+
collection.create(slug, config);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BuiltCollection } from '../../config/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* The server half: the same collection, plus what only a server can provide.
|
|
4
|
+
*
|
|
5
|
+
* Same export name as `module.js` — that is what makes the pair resolve — and it takes the
|
|
6
|
+
* client half whole rather than restating it, so the features and hooks are declared once.
|
|
7
|
+
*/
|
|
8
|
+
export declare const collection: import("../define.js").PrototypeDefinition<BuiltCollection>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { definePrototype } from '../define.js';
|
|
2
|
+
import { collection as base } from './definition.js';
|
|
3
|
+
import { collectionHooks } from './hooks.server.js';
|
|
4
|
+
import { rest } from './rest/index.server.js';
|
|
5
|
+
/**
|
|
6
|
+
* The server half: the same collection, plus what only a server can provide.
|
|
7
|
+
*
|
|
8
|
+
* Same export name as `module.js` — that is what makes the pair resolve — and it takes the
|
|
9
|
+
* client half whole rather than restating it, so the features and hooks are declared once.
|
|
10
|
+
*/
|
|
11
|
+
export const collection = definePrototype({
|
|
12
|
+
...base,
|
|
13
|
+
rest,
|
|
14
|
+
/**
|
|
15
|
+
* The prototype's own document hooks, listed in `hooks.server.ts` beside this file.
|
|
16
|
+
*
|
|
17
|
+
* On the **server half**, and that is a constraint rather than tidiness. The config factory runs
|
|
18
|
+
* on both sides and needs `features`, so it imports the client half — and a hook is typed through
|
|
19
|
+
* `HookContext → event.locals.rime`, which resolves through the config the factory is building.
|
|
20
|
+
* Putting hooks on the client half therefore made every one of them reference itself.
|
|
21
|
+
* They are server-only code regardless; nothing client-side runs a document hook.
|
|
22
|
+
*/
|
|
23
|
+
hooks: collectionHooks
|
|
24
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merges the incoming data onto a blank document, so a create starts from every field the config
|
|
3
|
+
* declares rather than only the ones the caller sent.
|
|
4
|
+
*/
|
|
5
|
+
export declare const mergeWithBlankDocument: import("../../../pipeline/types").Hook<"raw", "create", "before">;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Hooks } from '../../../pipeline/define-hook.js';
|
|
2
|
+
import { createBlankDocument } from '../../doc.js';
|
|
3
|
+
import { omit, pick } from '../../../../util/object.js';
|
|
4
|
+
import deepmerge from 'deepmerge';
|
|
5
|
+
/**
|
|
6
|
+
* Merges the incoming data onto a blank document, so a create starts from every field the config
|
|
7
|
+
* declares rather than only the ones the caller sent.
|
|
8
|
+
*/
|
|
9
|
+
export const mergeWithBlankDocument = Hooks.beforeCreate(async function mergeWithBlankDocument(args) {
|
|
10
|
+
const blank = createBlankDocument(args.config, args.event);
|
|
11
|
+
const known = Object.keys(blank);
|
|
12
|
+
const data = args.data;
|
|
13
|
+
/**
|
|
14
|
+
* The blank is built from the config's fields, so only the keys it has are keys there is
|
|
15
|
+
* anything to merge *with*. Everything else is carried across rather than through.
|
|
16
|
+
*
|
|
17
|
+
* That is what keeps a `File` a `File`. `deepmerge` clones every plain object it walks, so an
|
|
18
|
+
* upload payload passed through it would come out with none of a `File`'s methods — and `file`
|
|
19
|
+
* is not a field on any config, so the blank has no key for it and nothing to merge it into.
|
|
20
|
+
*/
|
|
21
|
+
return {
|
|
22
|
+
...args,
|
|
23
|
+
data: {
|
|
24
|
+
...deepmerge(blank, pick(known, data), { arrayMerge: (_, incoming) => incoming }),
|
|
25
|
+
...omit(known, data)
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AnyHook, HookTiming } from '../../pipeline/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Every hook a collection can run, in the order it runs them.
|
|
4
|
+
*
|
|
5
|
+
* **The order is written here, not computed**, and in `beforeUpdate` that is a security question:
|
|
6
|
+
* `preventUserMutations` rejects on `'name' in args.data`, so a default filled in above it turns
|
|
7
|
+
* an ordinary update into a 401. Two adjacent lines you can read.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* when(isAuth, auth.removePrivateFields) // runs only on a collection that declares `auth`
|
|
11
|
+
* processDocumentFields // runs always
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* A feature owns its hooks; this says when they run and what they run on.
|
|
15
|
+
*
|
|
16
|
+
* A hook a feature owns and this list does not place never runs, and nothing throws: placing it
|
|
17
|
+
* here is what runs it.
|
|
18
|
+
*
|
|
19
|
+
* A consumer's hooks are appended after these, per timing, and before the finaliser.
|
|
20
|
+
*
|
|
21
|
+
* **In its own file rather than in `definition.server.ts`, and that is load-bearing.** A derived
|
|
22
|
+
* collection needs the same list — `upload` derives a `<slug>Directories`, `versions` one per
|
|
23
|
+
* versioned area, and both must run authorize, validation and the rest as an authored collection
|
|
24
|
+
* does. This file depends on nothing, so anything can import it; `definition.server.ts` spreads
|
|
25
|
+
* `{ ...base }` at module scope, so importing *that* makes the importer's correctness depend on
|
|
26
|
+
* evaluation order, and the spread can come out without `features`.
|
|
27
|
+
*/
|
|
28
|
+
export declare const collectionHooks: Partial<Record<HookTiming, AnyHook[]>>;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { isAuth, isStaffCollection } from '../../auth/enabled.js';
|
|
2
|
+
import * as auth from '../../auth/hooks/index.server.js';
|
|
3
|
+
import { authorize } from '../../pipeline/hooks/authorize.server.js';
|
|
4
|
+
import { buildDataConfigMap } from '../../pipeline/hooks/data-config-map.server.js';
|
|
5
|
+
import { getOriginalDocument } from '../../pipeline/hooks/get-original-document.server.js';
|
|
6
|
+
import { normalizeResolvedReferences } from '../../pipeline/hooks/normalize-resolved-references.server.js';
|
|
7
|
+
import { buildOriginalDocConfigMap } from '../../pipeline/hooks/original-config-map.server.js';
|
|
8
|
+
import { processDocumentFields } from '../../pipeline/hooks/process-document-fields.server.js';
|
|
9
|
+
import { resolveContentOwner } from '../../pipeline/hooks/resolve-content-owner.server.js';
|
|
10
|
+
import { setDefaultValues } from '../../pipeline/hooks/set-default-values.server.js';
|
|
11
|
+
import { setDocumentLocale } from '../../pipeline/hooks/set-document-locale.server.js';
|
|
12
|
+
import { setDocumentType } from '../../pipeline/hooks/set-document-type.server.js';
|
|
13
|
+
import { validateFields } from '../../pipeline/hooks/validate-fields.server.js';
|
|
14
|
+
import { isNested } from './nested/enabled.js';
|
|
15
|
+
import * as nested from './nested/hooks/index.server.js';
|
|
16
|
+
import * as thumbnail from './thumbnail/hooks/index.server.js';
|
|
17
|
+
import { isUpload } from './upload/enabled.js';
|
|
18
|
+
import * as upload from './upload/hooks/index.server.js';
|
|
19
|
+
import * as metas from '../shared/metas/hooks/index.server.js';
|
|
20
|
+
import * as title from '../shared/title/hooks/index.server.js';
|
|
21
|
+
import { hasUrl } from '../shared/url/enabled.js';
|
|
22
|
+
import * as url from '../shared/url/hooks/index.server.js';
|
|
23
|
+
import { isVersioned, isVersionsCollection } from '../shared/versions/enabled.js';
|
|
24
|
+
import * as versions from '../shared/versions/hooks/index.server.js';
|
|
25
|
+
import { when } from '../when.js';
|
|
26
|
+
import { mergeWithBlankDocument } from './hooks/merge-with-blank.server.js';
|
|
27
|
+
/**
|
|
28
|
+
* Every hook a collection can run, in the order it runs them.
|
|
29
|
+
*
|
|
30
|
+
* **The order is written here, not computed**, and in `beforeUpdate` that is a security question:
|
|
31
|
+
* `preventUserMutations` rejects on `'name' in args.data`, so a default filled in above it turns
|
|
32
|
+
* an ordinary update into a 401. Two adjacent lines you can read.
|
|
33
|
+
*
|
|
34
|
+
* ```ts
|
|
35
|
+
* when(isAuth, auth.removePrivateFields) // runs only on a collection that declares `auth`
|
|
36
|
+
* processDocumentFields // runs always
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* A feature owns its hooks; this says when they run and what they run on.
|
|
40
|
+
*
|
|
41
|
+
* A hook a feature owns and this list does not place never runs, and nothing throws: placing it
|
|
42
|
+
* here is what runs it.
|
|
43
|
+
*
|
|
44
|
+
* A consumer's hooks are appended after these, per timing, and before the finaliser.
|
|
45
|
+
*
|
|
46
|
+
* **In its own file rather than in `definition.server.ts`, and that is load-bearing.** A derived
|
|
47
|
+
* collection needs the same list — `upload` derives a `<slug>Directories`, `versions` one per
|
|
48
|
+
* versioned area, and both must run authorize, validation and the rest as an authored collection
|
|
49
|
+
* does. This file depends on nothing, so anything can import it; `definition.server.ts` spreads
|
|
50
|
+
* `{ ...base }` at module scope, so importing *that* makes the importer's correctness depend on
|
|
51
|
+
* evaluation order, and the spread can come out without `features`.
|
|
52
|
+
*/
|
|
53
|
+
export const collectionHooks = {
|
|
54
|
+
beforeOperation: [authorize],
|
|
55
|
+
beforeRead: [
|
|
56
|
+
// First, so nothing deriving from the document can copy a private value into derived data.
|
|
57
|
+
when(isAuth, auth.removePrivateFields),
|
|
58
|
+
processDocumentFields,
|
|
59
|
+
setDocumentLocale,
|
|
60
|
+
setDocumentType,
|
|
61
|
+
when(isUpload, upload.populateSizes),
|
|
62
|
+
when(isNested, nested.addChildrenProperty),
|
|
63
|
+
when(isVersioned, versions.exposeVersionId),
|
|
64
|
+
title.setDocumentTitle,
|
|
65
|
+
// After the title: `config.$url(document)` is the author's own function, and a slug built
|
|
66
|
+
// from the title is the ordinary case.
|
|
67
|
+
when(hasUrl, url.populateURL),
|
|
68
|
+
// After the sizes: it takes the thumbnail `upload.populateSizes` derived when there is one.
|
|
69
|
+
thumbnail.setDocumentThumbnail,
|
|
70
|
+
metas.deletePanelLockMetas
|
|
71
|
+
],
|
|
72
|
+
beforeCreate: [
|
|
73
|
+
// First, on the submission as sent. Unconditional: the derived versions collection carries
|
|
74
|
+
// the flag and is not itself versioned.
|
|
75
|
+
versions.stripAutoSaveFlag,
|
|
76
|
+
mergeWithBlankDocument,
|
|
77
|
+
// After the merge: it appends the password field, and the config map below has to see it.
|
|
78
|
+
when(isAuth, auth.augmentFieldsPassword),
|
|
79
|
+
// Above `buildDataConfigMap`: that map is what the write turns into `incomingPaths`, the set
|
|
80
|
+
// of paths the request may touch, so a field added to `data` below it is dropped in silence.
|
|
81
|
+
metas.stampCreatedBy,
|
|
82
|
+
buildDataConfigMap,
|
|
83
|
+
setDefaultValues,
|
|
84
|
+
// Above validation, which reads an id where a read handed back the document.
|
|
85
|
+
normalizeResolvedReferences,
|
|
86
|
+
validateFields,
|
|
87
|
+
when(isAuth, auth.createBetterAuthUser),
|
|
88
|
+
when(isUpload, upload.handlePathCreation),
|
|
89
|
+
when(isUpload, upload.castBase64ToFile),
|
|
90
|
+
when(isUpload, upload.processFileUpload)
|
|
91
|
+
],
|
|
92
|
+
afterCreate: [when(isAuth, auth.populateAPIKey), when(isAuth, auth.signInNewUser)],
|
|
93
|
+
beforeUpdate: [
|
|
94
|
+
versions.stripAutoSaveFlag,
|
|
95
|
+
getOriginalDocument,
|
|
96
|
+
buildOriginalDocConfigMap,
|
|
97
|
+
resolveContentOwner,
|
|
98
|
+
when(isAuth, auth.augmentFieldsPassword),
|
|
99
|
+
// The three guards read the caller's submission *as sent*, so they run before anything adds
|
|
100
|
+
// to it. `auth.preventUserMutations` rejects on `'name' in args.data` and
|
|
101
|
+
// `auth.preventSuperAdminMutation` on `'isSuperAdmin' in args.data` — a default filled in above
|
|
102
|
+
// either of them turns an ordinary update into a 401.
|
|
103
|
+
when(isAuth, auth.preventSuperAdminMutation),
|
|
104
|
+
when(isAuth, auth.preventUserMutations),
|
|
105
|
+
when(isAuth, auth.forwardRolesToBetterAuth),
|
|
106
|
+
// Also reads the submission as sent, and overrides the content row core resolved above.
|
|
107
|
+
when(isVersioned, versions.defineVersionOperation),
|
|
108
|
+
when(isVersioned, versions.handleNewVersion),
|
|
109
|
+
// Between the two: below `handleNewVersion`, which reads the submission *as sent* to work out
|
|
110
|
+
// what the previous version did not carry, and above `buildDataConfigMap`, whose keys are the
|
|
111
|
+
// paths the write may touch — a stamp below that is dropped in silence.
|
|
112
|
+
metas.stampUpdatedBy,
|
|
113
|
+
buildDataConfigMap,
|
|
114
|
+
setDefaultValues,
|
|
115
|
+
normalizeResolvedReferences,
|
|
116
|
+
validateFields,
|
|
117
|
+
when(isUpload, upload.handlePathCreation),
|
|
118
|
+
when(isUpload, upload.castBase64ToFile),
|
|
119
|
+
when(isUpload, upload.processFileUpload),
|
|
120
|
+
// Last: it demotes the other versions once this one is known to be valid and published.
|
|
121
|
+
when(isVersioned, versions.demoteOtherVersions)
|
|
122
|
+
],
|
|
123
|
+
beforeDelete: [
|
|
124
|
+
// On the versions collection only, where the document *is* the row. On the base collection
|
|
125
|
+
// a delete means the whole document, whichever row was read for it.
|
|
126
|
+
when(isVersionsCollection, versions.preventLastVersionDeletion),
|
|
127
|
+
when(isAuth, auth.preventSupperAdminDeletion),
|
|
128
|
+
// After the refusal above: a user who cannot be deleted keeps their auto-saves.
|
|
129
|
+
when(isStaffCollection, versions.discardAutoSavesOf),
|
|
130
|
+
when(isUpload, upload.cleanUpFiles)
|
|
131
|
+
],
|
|
132
|
+
afterDelete: [when(isAuth, auth.deleteBetterAuthUser)]
|
|
133
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { collection, create } from './definition.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { collection, create } from './definition.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Dic } from '../../../../util/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A collection nests its documents by declaring `nested`.
|
|
4
|
+
*
|
|
5
|
+
* `Dic`, not a narrow shape: an area has no `nested` member at all, and every caller that guards
|
|
6
|
+
* a step here holds one config or the other.
|
|
7
|
+
*/
|
|
8
|
+
export declare const isNested: (config: Dic) => boolean;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A collection nests its documents by declaring `nested`.
|
|
3
|
+
*
|
|
4
|
+
* `Dic`, not a narrow shape: an area has no `nested` member at all, and every caller that guards
|
|
5
|
+
* a step here holds one config or the other.
|
|
6
|
+
*/
|
|
7
|
+
export const isNested = (config) => !!config.nested;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Hooks } from '../../../../pipeline/define-hook.js';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to populate _children property on document from a nested collection
|
|
4
|
+
*/
|
|
5
|
+
export const addChildrenProperty = Hooks.beforeRead(async function addChildrenProperty(args) {
|
|
6
|
+
// No `config.nested` check: the feature's `enabled` decides that, and the pipeline only asks
|
|
7
|
+
// for this hook on a collection. See features/nested/index.ts.
|
|
8
|
+
const select = args.context.params.select && Array.isArray(args.context.params.select)
|
|
9
|
+
? args.context.params.select
|
|
10
|
+
: [];
|
|
11
|
+
const emptySelect = select.length === 0;
|
|
12
|
+
// If there is a select param do not populate _children just return args
|
|
13
|
+
if (!emptySelect && !select.includes('_children'))
|
|
14
|
+
return args;
|
|
15
|
+
// Else populate _children
|
|
16
|
+
const { rime } = args.event.locals;
|
|
17
|
+
/**
|
|
18
|
+
* A filter and an order, both over columns this
|
|
19
|
+
* feature put on the row. The adapter had a method named after the question.
|
|
20
|
+
*
|
|
21
|
+
* The ordinary document read, projected to ids — not a raw-row primitive. Everything on
|
|
22
|
+
* `adapter.collection(slug)` returns documents, and a second read verb that returned ids
|
|
23
|
+
* instead was a worse trade than the one join `select: ['id']` still costs. It needed
|
|
24
|
+
* `buildOrderByParam` to resolve base-row columns on a versioned prototype, which it did not
|
|
25
|
+
* do until 4b9db413 — `sort: '_position'` here would have silently ordered by `createdAt`.
|
|
26
|
+
*
|
|
27
|
+
* No `draft`/content narrowing: a parent lists every document parented to it, published or
|
|
28
|
+
* not, which is what the flat query did.
|
|
29
|
+
*/
|
|
30
|
+
const children = await rime.adapter.collection(args.config.slug).findMany({
|
|
31
|
+
query: { where: { _parent: { equals: args.doc.id } } },
|
|
32
|
+
sort: '_position',
|
|
33
|
+
select: ['id']
|
|
34
|
+
});
|
|
35
|
+
args.doc = {
|
|
36
|
+
...args.doc,
|
|
37
|
+
_children: children.map((child) => child.id)
|
|
38
|
+
};
|
|
39
|
+
return args;
|
|
40
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This feature's hooks, by name, so a prototype can place them as `nested.someHook`.
|
|
3
|
+
*
|
|
4
|
+
* A barrel and nothing else — `module.server.ts` beside it is the pair half `$rime/modules:` resolves, and
|
|
5
|
+
* only files named exactly `module(.server).ts` are, so this one is invisible to that mechanism.
|
|
6
|
+
* It exists because a prototype's `hooks.server.ts` writes the run order and would otherwise carry
|
|
7
|
+
* one import line per hook.
|
|
8
|
+
*/
|
|
9
|
+
export { addChildrenProperty } from './add-children.server.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This feature's hooks, by name, so a prototype can place them as `nested.someHook`.
|
|
3
|
+
*
|
|
4
|
+
* A barrel and nothing else — `module.server.ts` beside it is the pair half `$rime/modules:` resolves, and
|
|
5
|
+
* only files named exactly `module(.server).ts` are, so this one is invisible to that mechanism.
|
|
6
|
+
* It exists because a prototype's `hooks.server.ts` writes the run order and would otherwise carry
|
|
7
|
+
* one import line per hook.
|
|
8
|
+
*/
|
|
9
|
+
export { addChildrenProperty } from './add-children.server.js';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Collection } from '../../../config/types.js';
|
|
2
|
+
type IncomingConfig = {
|
|
3
|
+
slug: string;
|
|
4
|
+
nested?: boolean;
|
|
5
|
+
fields?: Collection<any>['fields'];
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Adds the root-table fields a nested collection is addressed by: who its parent is, and where it
|
|
9
|
+
* sits among its siblings.
|
|
10
|
+
*
|
|
11
|
+
* The client half. `module.server.ts` adds the self-referencing foreign key on `_parent`; whether
|
|
12
|
+
* a config uses this at all is the feature's `enabled`, so there is no condition here.
|
|
13
|
+
*/
|
|
14
|
+
export declare const augmentNested: <T extends IncomingConfig>(config: T) => T;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { number } from '../../../../fields/number/index.js';
|
|
2
|
+
import { text } from '../../../../fields/text/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Adds the root-table fields a nested collection is addressed by: who its parent is, and where it
|
|
5
|
+
* sits among its siblings.
|
|
6
|
+
*
|
|
7
|
+
* The client half. `module.server.ts` adds the self-referencing foreign key on `_parent`; whether
|
|
8
|
+
* a config uses this at all is the feature's `enabled`, so there is no condition here.
|
|
9
|
+
*/
|
|
10
|
+
export const augmentNested = (config) => ({
|
|
11
|
+
...config,
|
|
12
|
+
fields: [
|
|
13
|
+
...(config.fields || []),
|
|
14
|
+
text('_parent').hidden().$root(),
|
|
15
|
+
number('_position').defaultValue(0).hidden().$root()
|
|
16
|
+
]
|
|
17
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Collection } from '../../../config/types.js';
|
|
2
|
+
type IncomingConfig = {
|
|
3
|
+
slug: string;
|
|
4
|
+
nested?: boolean;
|
|
5
|
+
fields?: Collection<any>['fields'];
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* The nested feature's server half.
|
|
9
|
+
*
|
|
10
|
+
* Same shape as the client augment, plus the one thing that cannot cross to the browser:
|
|
11
|
+
* `_parent` is a self-referencing foreign key, which is what lets a parent's deletion null its
|
|
12
|
+
* children rather than orphan them. Written out rather than wrapping the client half, because the
|
|
13
|
+
* reference has to be on the builder at construction, not bolted on afterwards.
|
|
14
|
+
*/
|
|
15
|
+
export declare const augmentNested: <T extends IncomingConfig>(config: T) => T;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { number } from '../../../../fields/number/index.js';
|
|
2
|
+
import { text } from '../../../../fields/text/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* The nested feature's server half.
|
|
5
|
+
*
|
|
6
|
+
* Same shape as the client augment, plus the one thing that cannot cross to the browser:
|
|
7
|
+
* `_parent` is a self-referencing foreign key, which is what lets a parent's deletion null its
|
|
8
|
+
* children rather than orphan them. Written out rather than wrapping the client half, because the
|
|
9
|
+
* reference has to be on the builder at construction, not bolted on afterwards.
|
|
10
|
+
*/
|
|
11
|
+
export const augmentNested = (config) => ({
|
|
12
|
+
...config,
|
|
13
|
+
fields: [
|
|
14
|
+
...(config.fields || []),
|
|
15
|
+
text('_parent')
|
|
16
|
+
.$references(config.slug, { onDelete: 'set null', selfReferencing: true })
|
|
17
|
+
.hidden()
|
|
18
|
+
.$root(),
|
|
19
|
+
number('_position').defaultValue(0).hidden().$root()
|
|
20
|
+
]
|
|
21
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { BuiltCollection } from '../../../config/types.js';
|
|
2
|
+
import type { PrototypeApiContext } from '../../define.js';
|
|
3
|
+
import type { CollectionSlug } from '../../types.js';
|
|
4
|
+
import type { RegisterCollection } from '../../../../index.js';
|
|
5
|
+
import type { DeepPartial } from '../../../../util/types.js';
|
|
6
|
+
/**
|
|
7
|
+
* What a caller passes. Exported, and free of the context, so the API surface a prototype
|
|
8
|
+
* declares never mentions the request — see the note on `CollectionApi`.
|
|
9
|
+
*/
|
|
10
|
+
export type CreateArgs<T> = {
|
|
11
|
+
data: DeepPartial<T>;
|
|
12
|
+
locale?: string | undefined;
|
|
13
|
+
};
|
|
14
|
+
type Args<T> = CreateArgs<T> & {
|
|
15
|
+
ctx: PrototypeApiContext<BuiltCollection>;
|
|
16
|
+
};
|
|
17
|
+
export declare const create: <T extends RegisterCollection[CollectionSlug]>(args: Args<T>) => Promise<T>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { versionsWritePlan } from '../../shared/versions/write-plan.js';
|
|
2
|
+
import { assertUpsertContext, persistRelational, runBeforeOperation, runDataHooks, runDocHooks } from '../../../pipeline/run.server.js';
|
|
3
|
+
export const create = async (args) => {
|
|
4
|
+
const { ctx, locale } = args;
|
|
5
|
+
const { config, event, isSystemOperation } = ctx;
|
|
6
|
+
const { rime } = event.locals;
|
|
7
|
+
let context = { params: { locale }, isSystemOperation };
|
|
8
|
+
context = await runBeforeOperation({
|
|
9
|
+
config,
|
|
10
|
+
event,
|
|
11
|
+
operation: 'create',
|
|
12
|
+
context
|
|
13
|
+
});
|
|
14
|
+
const before = await runDataHooks({
|
|
15
|
+
hooks: config.$hooks?.beforeCreate,
|
|
16
|
+
data: args.data,
|
|
17
|
+
config,
|
|
18
|
+
event,
|
|
19
|
+
operation: 'create',
|
|
20
|
+
context
|
|
21
|
+
});
|
|
22
|
+
const data = before.data;
|
|
23
|
+
context = before.context;
|
|
24
|
+
assertUpsertContext(context, 'create', ['configMap']);
|
|
25
|
+
const incomingPaths = Object.keys(context.configMap);
|
|
26
|
+
/**
|
|
27
|
+
* Which rows this create writes, decided here rather than in the adapter.
|
|
28
|
+
*
|
|
29
|
+
* The same call `runUpdate` makes at its step 3.5, and for the same reason: whether a document's
|
|
30
|
+
* content lands on its own row or a second one is versions' statement, not the database layer's.
|
|
31
|
+
* `operation: 'create'` is what lets it answer differently — an insert names no content row,
|
|
32
|
+
* because there is none yet.
|
|
33
|
+
*/
|
|
34
|
+
const plan = versionsWritePlan({ data: data }, { config, context, operation: 'create' });
|
|
35
|
+
const created = await rime.adapter.collection(config.slug).insert({
|
|
36
|
+
data: plan.data,
|
|
37
|
+
content: plan.content && { data: plan.content.data },
|
|
38
|
+
locale
|
|
39
|
+
});
|
|
40
|
+
// Blocks, trees and relations hang off the row the content landed on, which is the document's
|
|
41
|
+
// own row unless it is versioned.
|
|
42
|
+
await persistRelational({
|
|
43
|
+
context,
|
|
44
|
+
ownerId: created.contentId,
|
|
45
|
+
data,
|
|
46
|
+
incomingPaths,
|
|
47
|
+
adapter: rime.adapter,
|
|
48
|
+
config,
|
|
49
|
+
locale
|
|
50
|
+
});
|
|
51
|
+
// The created document, in the one locale this create wrote. The other locales are not
|
|
52
|
+
// written: a read in one of them falls back field by field until it is translated.
|
|
53
|
+
let document = (await rime
|
|
54
|
+
.collection(config.slug)
|
|
55
|
+
.findById({ id: created.id, locale, versionId: created.contentId }));
|
|
56
|
+
// Unlike afterUpdate, afterCreate's returned doc IS propagated — preserved as-is.
|
|
57
|
+
const after = await runDocHooks({
|
|
58
|
+
hooks: config.$hooks?.afterCreate,
|
|
59
|
+
doc: document,
|
|
60
|
+
data,
|
|
61
|
+
config,
|
|
62
|
+
event,
|
|
63
|
+
operation: 'create',
|
|
64
|
+
context
|
|
65
|
+
});
|
|
66
|
+
document = after.doc;
|
|
67
|
+
return document;
|
|
68
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BuiltCollection } from '../../../config/types.js';
|
|
2
|
+
import type { PrototypeApiContext } from '../../define.js';
|
|
3
|
+
import type { GenericDoc } from '../../types.js';
|
|
4
|
+
export type DeleteByIdArgs = {
|
|
5
|
+
id: string;
|
|
6
|
+
};
|
|
7
|
+
type Args = DeleteByIdArgs & {
|
|
8
|
+
ctx: PrototypeApiContext<BuiltCollection>;
|
|
9
|
+
};
|
|
10
|
+
export declare const deleteById: <T extends GenericDoc>(args: Args) => Promise<string>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { RimeError } from '../../../errors/index.js';
|
|
2
|
+
import { runBeforeOperation, runDocHooks } from '../../../pipeline/run.server.js';
|
|
3
|
+
export const deleteById = async (args) => {
|
|
4
|
+
const { ctx, id } = args;
|
|
5
|
+
const { config, event, isSystemOperation } = ctx;
|
|
6
|
+
const { rime } = event.locals;
|
|
7
|
+
let context = {
|
|
8
|
+
params: { id },
|
|
9
|
+
isSystemOperation
|
|
10
|
+
};
|
|
11
|
+
context = await runBeforeOperation({
|
|
12
|
+
config,
|
|
13
|
+
event,
|
|
14
|
+
operation: 'delete',
|
|
15
|
+
context
|
|
16
|
+
});
|
|
17
|
+
// No `content`: a delete means the document, so it reads whichever row is newest. That is what
|
|
18
|
+
// `latest: true` said here before there was a way to say "no narrowing".
|
|
19
|
+
const document = (await rime.adapter.collection(config.slug).find({ id }));
|
|
20
|
+
if (!document) {
|
|
21
|
+
throw new RimeError(RimeError.NOT_FOUND);
|
|
22
|
+
}
|
|
23
|
+
const before = await runDocHooks({
|
|
24
|
+
hooks: config.$hooks?.beforeDelete,
|
|
25
|
+
doc: document,
|
|
26
|
+
config,
|
|
27
|
+
event,
|
|
28
|
+
operation: 'delete',
|
|
29
|
+
context
|
|
30
|
+
});
|
|
31
|
+
context = before.context;
|
|
32
|
+
await rime.adapter.collection(config.slug).delete({ id });
|
|
33
|
+
// Deliberately the pre-hook document, matching the previous implementation: beforeDelete's
|
|
34
|
+
// returned doc was never carried into afterDelete.
|
|
35
|
+
await runDocHooks({
|
|
36
|
+
hooks: config.$hooks?.afterDelete,
|
|
37
|
+
doc: document,
|
|
38
|
+
config,
|
|
39
|
+
event,
|
|
40
|
+
operation: 'delete',
|
|
41
|
+
context
|
|
42
|
+
});
|
|
43
|
+
return id;
|
|
44
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { BuiltCollection } from '../../../config/types.js';
|
|
2
|
+
import type { OperationQuery } from '../../../pipeline/types.js';
|
|
3
|
+
import type { PrototypeApiContext } from '../../define.js';
|
|
4
|
+
export type DeleteArgs = {
|
|
5
|
+
query?: OperationQuery;
|
|
6
|
+
locale?: string | undefined;
|
|
7
|
+
sort?: string;
|
|
8
|
+
limit?: number;
|
|
9
|
+
offset?: number;
|
|
10
|
+
};
|
|
11
|
+
type Args = DeleteArgs & {
|
|
12
|
+
ctx: PrototypeApiContext<BuiltCollection>;
|
|
13
|
+
};
|
|
14
|
+
export declare const deleteDocs: (args: Args) => Promise<string[]>;
|
|
15
|
+
export {};
|