rimecms 0.31.5 → 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/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.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/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 -4
- package/dist/panel/components/sections/collection/list/row/Row.svelte.d.ts +1 -1
- package/dist/panel/components/sections/collection/tree/CollectionTreeNode.svelte +2 -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 +3 -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 -2
- package/dist/panel/components/ui/nav/Nav.svelte +3 -3
- package/dist/panel/components/ui/nav/NavItem.svelte +2 -1
- package/dist/panel/components/ui/nav/UserButton.svelte +1 -1
- 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 +210 -36
- 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 -17
- package/dist/panel/pages/area/load.server.d.ts +1 -1
- package/dist/panel/pages/area/load.server.js +10 -25
- package/dist/panel/pages/auth/fields.js +1 -1
- package/dist/panel/pages/auth/forgot-password/ForgotPassword.svelte +1 -1
- package/dist/panel/pages/auth/forgot-password/load.server.js +3 -2
- package/dist/panel/pages/auth/reset-password/ResetPassword.svelte +1 -1
- package/dist/panel/pages/auth/reset-password/load.server.js +3 -2
- package/dist/panel/pages/auth/sign-in/SignIn.svelte +1 -1
- package/dist/panel/pages/auth/sign-in/load.server.d.ts +1 -1
- package/dist/panel/pages/auth/sign-in/load.server.js +5 -4
- 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 +8 -10
- 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 -12
- package/dist/panel/pages/collection-document/load.server.d.ts +1 -1
- package/dist/panel/pages/collection-document/load.server.js +16 -25
- 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 -21
- package/dist/panel/pages/dashboard/types.d.ts +1 -1
- package/dist/panel/pages/live/Live.svelte +1 -2
- 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 -35
- package/dist/panel/util/url.js +1 -43
- 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 -66
- 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 -62
- package/dist/core/constant.js +0 -73
- 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 -45
- 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 -241
- package/dist/core/dev/cli/init/templates.js +0 -116
- 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 -34
- package/dist/core/dev/constants.js +0 -76
- 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 -15
- package/dist/core/dev/generate/routes/index.server.js +0 -89
- package/dist/core/dev/generate/routes/util.server.d.ts +0 -50
- package/dist/core/dev/generate/routes/util.server.js +0 -112
- 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 -162
- 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 -89
- 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 -108
- 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 -18
- package/dist/panel/navigation.js +0 -64
- 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/cli/{init/templates.d.ts → templates/init.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,106 @@
|
|
|
1
|
+
import { logger } from '../../../../logger.server.js';
|
|
2
|
+
import { isFormField } from '../../../../fields/util.js';
|
|
3
|
+
import { existsSync, unlink, unlinkSync } from 'fs';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
/**
|
|
6
|
+
* Whether this collection's **own table** holds `name` — which is the only question this file has
|
|
7
|
+
* about where a filename can be.
|
|
8
|
+
*
|
|
9
|
+
* A config with a versions table keeps only its `$root()` fields on its own table; everything else is the
|
|
10
|
+
* versions's, and the versions table is a registered collection in its own right. `filename` is not a root
|
|
11
|
+
* field (only `_path` is, on upload), so on a versioned upload collection it lives on the versions table
|
|
12
|
+
* and the base table has no such column at all.
|
|
13
|
+
*
|
|
14
|
+
* This replaces a pair of tests that named the versions feature — `!hasVersionsSuffix(slug)` to
|
|
15
|
+
* drop the version tables from the scan, then `versions ? withVersionsSuffix(slug) : slug` to map each
|
|
16
|
+
* base onto one. Same set of slugs, arrived at by asking the schema instead of reading a suffix,
|
|
17
|
+
* and with no feature importing another feature to do it.
|
|
18
|
+
*/
|
|
19
|
+
const ownsField = (rime, config, name) => {
|
|
20
|
+
const field = config.fields.filter(isFormField).find((one) => one.name === name);
|
|
21
|
+
if (!field)
|
|
22
|
+
return false;
|
|
23
|
+
return config._versions ? !!field.get.root : true;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* A given filename on disk can be shared by several document rows across unrelated upload
|
|
27
|
+
* collections — saveFile dedupes any byte-identical upload to a single file (see isSameFile).
|
|
28
|
+
*
|
|
29
|
+
* The scan goes table by table, not collection by collection, and that distinction is load-bearing
|
|
30
|
+
* for a collection whose content lives on a versions table: querying the *collection* returns one row per
|
|
31
|
+
* document (the read joins in a single content row), so a filename referenced only by an older
|
|
32
|
+
* revision would be missed and the file deleted out from under it. Querying the versions table directly
|
|
33
|
+
* sees every revision. `ownsField` above is what picks the right table without knowing why there
|
|
34
|
+
* are two.
|
|
35
|
+
*
|
|
36
|
+
* `selfId` must already be in whichever id-space `selfSlug` resolves to — a versions table row's own id,
|
|
37
|
+
* not the base row's (see `contentId` in mergeContentRow).
|
|
38
|
+
*
|
|
39
|
+
* Every configured locale is checked since a localized collection's query can otherwise miss rows
|
|
40
|
+
* in non-default locales, even though `filename` itself is never a localized field.
|
|
41
|
+
*/
|
|
42
|
+
const isFilenameStillReferenced = async (args) => {
|
|
43
|
+
const { rime, filename, selfSlug, selfId } = args;
|
|
44
|
+
// Every table a row carrying this filename could be in. `upload` narrows it to collections that
|
|
45
|
+
// store files at all; `ownsField` picks the one table of each that actually has the column.
|
|
46
|
+
const targetSlugs = Object.values(rime.config.collections)
|
|
47
|
+
.filter((c) => c?.upload && ownsField(rime, c, 'filename'))
|
|
48
|
+
.map((c) => c.slug);
|
|
49
|
+
const locales = rime.config.getLocalesCodes();
|
|
50
|
+
const localesToQuery = locales.length ? locales : [undefined];
|
|
51
|
+
for (const slug of targetSlugs) {
|
|
52
|
+
for (const locale of localesToQuery) {
|
|
53
|
+
const docs = await rime.collection(slug).find({
|
|
54
|
+
query: `where[filename][equals]=${filename}`,
|
|
55
|
+
latest: true,
|
|
56
|
+
locale,
|
|
57
|
+
limit: slug === selfSlug ? 2 : 1
|
|
58
|
+
});
|
|
59
|
+
const referenced = docs.some((doc) => slug !== selfSlug || doc.id !== selfId);
|
|
60
|
+
if (referenced)
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
};
|
|
66
|
+
export const cleanUpDocumentFile = async (args) => {
|
|
67
|
+
//
|
|
68
|
+
const { config, rime, id } = args;
|
|
69
|
+
const doc = await rime.collection(config.slug).findById({ id, latest: true });
|
|
70
|
+
try {
|
|
71
|
+
if (!doc.filename)
|
|
72
|
+
return doc;
|
|
73
|
+
const stillReferenced = await isFilenameStillReferenced({
|
|
74
|
+
rime,
|
|
75
|
+
filename: doc.filename,
|
|
76
|
+
// The table this document's own filename is in — the same expression `persistRelational`
|
|
77
|
+
// uses, read off the config rather than asked of the adapter.
|
|
78
|
+
selfSlug: config._versions?.slug ?? config.slug,
|
|
79
|
+
// The content row's id — `contentId` rather than `versionId`, so upload names no
|
|
80
|
+
// other feature. See mergeContentRow.
|
|
81
|
+
selfId: doc.contentId ?? doc.id
|
|
82
|
+
});
|
|
83
|
+
if (stillReferenced)
|
|
84
|
+
return doc;
|
|
85
|
+
const filePath = path.resolve(process.cwd(), `static/medias/${doc.filename}`);
|
|
86
|
+
// Delete original
|
|
87
|
+
unlinkSync(filePath);
|
|
88
|
+
const unlinkPath = (sizePath) => {
|
|
89
|
+
if (existsSync(sizePath)) {
|
|
90
|
+
unlink(sizePath, () => { });
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
// Process all entries in doc.sizes
|
|
94
|
+
if (doc.sizes) {
|
|
95
|
+
Object.values(doc.sizes).forEach((path) => {
|
|
96
|
+
if (typeof path === 'string') {
|
|
97
|
+
unlinkPath(`static/${path}`);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
logger.error(err);
|
|
104
|
+
}
|
|
105
|
+
return doc;
|
|
106
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ImageSizesConfig } from '../types.js';
|
|
2
|
+
import type { Dic } from '../../../../../util/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Saves a file to disk with deduplication and generates image sizes if needed
|
|
5
|
+
* Checks if identical file already exists before creating a new one
|
|
6
|
+
* @example
|
|
7
|
+
* const file = event.request.formData.get('file');
|
|
8
|
+
* const { filename, imageSizes } = await saveFile(file, config.imageSizes);
|
|
9
|
+
*/
|
|
10
|
+
export declare const saveFile: (file: File, imagesSizes: ImageSizesConfig[] | false) => Promise<{
|
|
11
|
+
filename: string;
|
|
12
|
+
imageSizes: Record<string, string>;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* Generates various image sizes based on configuration
|
|
16
|
+
* Creates resized versions and format conversions as specified
|
|
17
|
+
* @example
|
|
18
|
+
* const sizes = await generateSizes({
|
|
19
|
+
* name: 'image',
|
|
20
|
+
* extension: 'jpg',
|
|
21
|
+
* sizes: imageSizesConfig,
|
|
22
|
+
* buffer: imageBuffer
|
|
23
|
+
* });
|
|
24
|
+
*/
|
|
25
|
+
export declare const generateSizes: ({ sizes, buffer, name, extension }: GenerateSizeArgs) => Promise<Dic>;
|
|
26
|
+
type GenerateSizeArgs = {
|
|
27
|
+
sizes: ImageSizesConfig[];
|
|
28
|
+
buffer: Buffer;
|
|
29
|
+
name: string;
|
|
30
|
+
extension: string;
|
|
31
|
+
};
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { RimeError } from '../../../../errors/index.js';
|
|
2
|
+
import { normalizeFileName } from '../../../../../util/file.js';
|
|
3
|
+
import { pick } from '../../../../../util/object.js';
|
|
4
|
+
import { toCamelCase } from '../../../../../util/string.js';
|
|
5
|
+
import crypto from 'crypto';
|
|
6
|
+
import { existsSync, readFileSync, statSync, writeFileSync } from 'fs';
|
|
7
|
+
import path from 'path';
|
|
8
|
+
import sharp from 'sharp';
|
|
9
|
+
/**
|
|
10
|
+
* Compares a buffer with an existing file to determine if they are identical
|
|
11
|
+
* Uses file size as a quick check before comparing content hashes
|
|
12
|
+
* @example
|
|
13
|
+
* const identical = isSameFile(fileBuffer, '/path/to/file.jpg');
|
|
14
|
+
* if (identical) {
|
|
15
|
+
* console.log('Files are the same');
|
|
16
|
+
* }
|
|
17
|
+
*/
|
|
18
|
+
const isSameFile = (buffer, filePath) => {
|
|
19
|
+
try {
|
|
20
|
+
// Check if file exists
|
|
21
|
+
if (!existsSync(filePath))
|
|
22
|
+
return false;
|
|
23
|
+
// Compare file sizes first (quick check)
|
|
24
|
+
const stats = statSync(filePath);
|
|
25
|
+
if (stats.size !== buffer.length)
|
|
26
|
+
return false;
|
|
27
|
+
// Compare content hash (more thorough check)
|
|
28
|
+
const existingFileBuffer = readFileSync(filePath);
|
|
29
|
+
const existingFileHash = crypto.createHash('md5').update(existingFileBuffer).digest('hex');
|
|
30
|
+
const newFileHash = crypto.createHash('md5').update(buffer).digest('hex');
|
|
31
|
+
return existingFileHash === newFileHash;
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// If any error occurs during comparison, assume files are different
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Verifies if all image size variations already exist for a given base filename
|
|
40
|
+
* Returns a record of size names to filenames if all exist, empty object otherwise
|
|
41
|
+
* @example
|
|
42
|
+
* const sizes = checkImageSizesExist('image', 'jpg', imageSizesConfig);
|
|
43
|
+
* if (Object.keys(sizes).length > 0) {
|
|
44
|
+
* console.log('All image sizes already exist');
|
|
45
|
+
* }
|
|
46
|
+
*/
|
|
47
|
+
const checkImageSizesExist = (name, extension, imagesSizes) => {
|
|
48
|
+
const sizes = {};
|
|
49
|
+
for (const size of imagesSizes) {
|
|
50
|
+
const whString = `${size.width}x${size.height}`;
|
|
51
|
+
if (!size.out || !size.out.length) {
|
|
52
|
+
// Check if the resized image exists
|
|
53
|
+
const filename = `${name}-${toCamelCase(size.name)}-${whString}.${extension}`;
|
|
54
|
+
const filePath = path.resolve(process.cwd(), `static/medias/${filename}`);
|
|
55
|
+
if (!existsSync(filePath)) {
|
|
56
|
+
return {}; // If any size doesn't exist, return empty object
|
|
57
|
+
}
|
|
58
|
+
sizes[toCamelCase(size.name)] = filename;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
// Check if all format conversions exist
|
|
62
|
+
const convertedFilenames = [];
|
|
63
|
+
for (const format of size.out) {
|
|
64
|
+
const filename = `${name}-${toCamelCase(size.name)}-${whString}.${format}`;
|
|
65
|
+
const filePath = path.resolve(process.cwd(), `static/medias/${filename}`);
|
|
66
|
+
if (!existsSync(filePath)) {
|
|
67
|
+
return {}; // If any format doesn't exist, return empty object
|
|
68
|
+
}
|
|
69
|
+
convertedFilenames.push(filename);
|
|
70
|
+
}
|
|
71
|
+
sizes[toCamelCase(size.name)] = convertedFilenames.join('|');
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return sizes;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Saves a file to disk with deduplication and generates image sizes if needed
|
|
78
|
+
* Checks if identical file already exists before creating a new one
|
|
79
|
+
* @example
|
|
80
|
+
* const file = event.request.formData.get('file');
|
|
81
|
+
* const { filename, imageSizes } = await saveFile(file, config.imageSizes);
|
|
82
|
+
*/
|
|
83
|
+
export const saveFile = async (file, imagesSizes) => {
|
|
84
|
+
const { name: initialName, extension } = normalizeFileName(file.name);
|
|
85
|
+
let name = initialName;
|
|
86
|
+
let sizes = {};
|
|
87
|
+
let filename = `${name}.${extension}`;
|
|
88
|
+
let filePath = path.resolve(process.cwd(), `static/medias/${filename}`);
|
|
89
|
+
// Get buffer once to avoid multiple arrayBuffer() calls
|
|
90
|
+
const buffer = Buffer.from(await file.arrayBuffer());
|
|
91
|
+
// Check if file exists and is identical
|
|
92
|
+
if (existsSync(filePath) && isSameFile(buffer, filePath)) {
|
|
93
|
+
// File already exists and is identical
|
|
94
|
+
// Check if image sizes already exist
|
|
95
|
+
if (imagesSizes && file.type.includes('image') && !file.type.includes('svg')) {
|
|
96
|
+
const existingSizes = checkImageSizesExist(name, extension, imagesSizes);
|
|
97
|
+
// If all sizes exist, use them
|
|
98
|
+
if (Object.keys(existingSizes).length > 0) {
|
|
99
|
+
return { filename, imageSizes: existingSizes };
|
|
100
|
+
}
|
|
101
|
+
// Otherwise, we'll need to generate the sizes
|
|
102
|
+
sizes = await generateSizes({
|
|
103
|
+
name,
|
|
104
|
+
extension,
|
|
105
|
+
sizes: imagesSizes,
|
|
106
|
+
buffer
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
return { filename, imageSizes: sizes };
|
|
110
|
+
}
|
|
111
|
+
// File doesn't exist or is different, find a unique name
|
|
112
|
+
while (existsSync(filePath)) {
|
|
113
|
+
name += `-${new Date().getTime().toString()}`;
|
|
114
|
+
filename = `${name}.${extension}`;
|
|
115
|
+
filePath = path.resolve(process.cwd(), `static/medias/${filename}`);
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
writeFileSync(filePath, buffer);
|
|
119
|
+
if (imagesSizes && file.type.includes('image') && !file.type.includes('svg')) {
|
|
120
|
+
sizes = await generateSizes({
|
|
121
|
+
name,
|
|
122
|
+
extension,
|
|
123
|
+
sizes: imagesSizes,
|
|
124
|
+
buffer
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
throw new RimeError(RimeError.UPLOAD, `Error while processing file: ${error.message}`);
|
|
130
|
+
}
|
|
131
|
+
return { filename, imageSizes: sizes };
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Generates various image sizes based on configuration
|
|
135
|
+
* Creates resized versions and format conversions as specified
|
|
136
|
+
* @example
|
|
137
|
+
* const sizes = await generateSizes({
|
|
138
|
+
* name: 'image',
|
|
139
|
+
* extension: 'jpg',
|
|
140
|
+
* sizes: imageSizesConfig,
|
|
141
|
+
* buffer: imageBuffer
|
|
142
|
+
* });
|
|
143
|
+
*/
|
|
144
|
+
export const generateSizes = async ({ sizes, buffer, name, extension }) => {
|
|
145
|
+
const imageSizes = {};
|
|
146
|
+
for (const size of sizes) {
|
|
147
|
+
const wh = pick(['width', 'height'], size);
|
|
148
|
+
const resizedImage = sharp(buffer).resize(wh);
|
|
149
|
+
const whString = `${wh.width || ''}${wh.height && wh.width ? 'x' : ''}${wh.height || ''}`;
|
|
150
|
+
// If no output formats specified, keep original format
|
|
151
|
+
if (!size.out?.length) {
|
|
152
|
+
let resizedBuffer;
|
|
153
|
+
const shouldApplyCompression = extension === 'jpg' || extension === 'webp';
|
|
154
|
+
if (shouldApplyCompression) {
|
|
155
|
+
const compression = size.compression || 60;
|
|
156
|
+
if (extension === 'jpg') {
|
|
157
|
+
resizedBuffer = await resizedImage.jpeg({ quality: compression }).toBuffer();
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
resizedBuffer = await resizedImage.webp({ quality: compression }).toBuffer();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
resizedBuffer = await resizedImage.toBuffer();
|
|
165
|
+
}
|
|
166
|
+
const filename = `${name}-${toCamelCase(size.name)}-${whString}.${extension}`;
|
|
167
|
+
const filePath = path.resolve(process.cwd(), `static/medias/${filename}`);
|
|
168
|
+
writeFileSync(filePath, resizedBuffer);
|
|
169
|
+
imageSizes[toCamelCase(size.name)] = filename;
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
// Handle format conversions
|
|
173
|
+
const convertedFiles = await Promise.all(size.out.map(async (format) => {
|
|
174
|
+
const compression = size.compression || 60;
|
|
175
|
+
let convertedImage;
|
|
176
|
+
if (format === 'jpg') {
|
|
177
|
+
convertedImage = await resizedImage.jpeg({ quality: compression }).toBuffer();
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
convertedImage = await resizedImage.webp({ quality: compression }).toBuffer();
|
|
181
|
+
}
|
|
182
|
+
const filename = `${name}-${toCamelCase(size.name)}-${whString}.${format}`;
|
|
183
|
+
const filePath = path.resolve(process.cwd(), `static/medias/${filename}`);
|
|
184
|
+
writeFileSync(filePath, convertedImage);
|
|
185
|
+
return filename;
|
|
186
|
+
}));
|
|
187
|
+
imageSizes[toCamelCase(size.name)] = convertedFiles.join('|');
|
|
188
|
+
}
|
|
189
|
+
return imageSizes;
|
|
190
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DocTypeContribution } from '../../../dev/codegen/types/contributions.server.js';
|
|
2
|
+
import type { ImageSizesConfig } from './types.js';
|
|
3
|
+
import type { Dic } from '../../../../util/types.js';
|
|
4
|
+
/**
|
|
5
|
+
* What an upload document's type carries, and which of its fields describe themselves.
|
|
6
|
+
*
|
|
7
|
+
* Three reads of `collection.upload` in `dev/codegen/types` — the `UploadDoc` intersection, the
|
|
8
|
+
* `sizes` object, and the filter that keeps the per-size fields from appearing twice.
|
|
9
|
+
*/
|
|
10
|
+
export declare const uploadDocType: (config: {
|
|
11
|
+
upload?: {
|
|
12
|
+
imageSizes?: ImageSizesConfig[];
|
|
13
|
+
};
|
|
14
|
+
} | Dic) => DocTypeContribution;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What an upload document's type carries, and which of its fields describe themselves.
|
|
3
|
+
*
|
|
4
|
+
* Three reads of `collection.upload` in `dev/codegen/types` — the `UploadDoc` intersection, the
|
|
5
|
+
* `sizes` object, and the filter that keeps the per-size fields from appearing twice.
|
|
6
|
+
*/
|
|
7
|
+
export const uploadDocType = (config) => {
|
|
8
|
+
const sizes = config.upload?.imageSizes ?? [];
|
|
9
|
+
const contribution = { extends: ['UploadDoc'] };
|
|
10
|
+
if (!sizes.length)
|
|
11
|
+
return contribution;
|
|
12
|
+
return {
|
|
13
|
+
...contribution,
|
|
14
|
+
members: [sizesMember(sizes)],
|
|
15
|
+
/**
|
|
16
|
+
* Each image size becomes a column named after it, and its type comes from the `sizes` object
|
|
17
|
+
* above rather than from the field's own builder — so the field itself generates nothing.
|
|
18
|
+
* Every other field, blocks and tabs included, generates its type as on any collection.
|
|
19
|
+
*/
|
|
20
|
+
fields: (field) => !sizes.some((s) => s.name === field.name)
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
/** One member holding every generated size, matching what `generateImageSizesType` emitted. */
|
|
24
|
+
const sizesMember = (sizes) => `sizes:{${sizes
|
|
25
|
+
.map((size) => size.out && size.out.length > 1
|
|
26
|
+
? size.out.map((format) => `${size.name}_${format}: string`).join(', ')
|
|
27
|
+
: `${size.name}: string`)
|
|
28
|
+
.join(', ')}}`;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Dic } from '../../../../util/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A collection stores files by declaring `upload`.
|
|
4
|
+
*
|
|
5
|
+
* `Dic`, not a narrow shape: an area has no `upload` member at all, and every caller that guards
|
|
6
|
+
* a step here holds one config or the other.
|
|
7
|
+
*/
|
|
8
|
+
export declare const isUpload: (config: Dic) => boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BuiltCollection } from '../../../../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates static/medias when any collection has upload enabled.
|
|
4
|
+
*
|
|
5
|
+
* Lives with the upload feature rather than in dev/ensure.server.ts: the other ensure*
|
|
6
|
+
* helpers assert that a project was initialised and throw when it wasn't, while this one is
|
|
7
|
+
* a runtime side effect of the upload feature being switched on, and it runs on every config
|
|
8
|
+
* build (see core/config/context.server.ts).
|
|
9
|
+
*/
|
|
10
|
+
export declare function ensureMedias<C extends {
|
|
11
|
+
collections?: BuiltCollection[];
|
|
12
|
+
}>(config: C): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { existsSync, mkdirSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
/**
|
|
4
|
+
* Creates static/medias when any collection has upload enabled.
|
|
5
|
+
*
|
|
6
|
+
* Lives with the upload feature rather than in dev/ensure.server.ts: the other ensure*
|
|
7
|
+
* helpers assert that a project was initialised and throw when it wasn't, while this one is
|
|
8
|
+
* a runtime side effect of the upload feature being switched on, and it runs on every config
|
|
9
|
+
* build (see core/config/context.server.ts).
|
|
10
|
+
*/
|
|
11
|
+
export function ensureMedias(config) {
|
|
12
|
+
const hasUpload = (config.collections || []).some((collection) => !!collection.upload);
|
|
13
|
+
if (hasUpload) {
|
|
14
|
+
const mediasDirectory = path.resolve(process.cwd(), 'static/medias');
|
|
15
|
+
if (!existsSync(mediasDirectory)) {
|
|
16
|
+
mkdirSync(mediasDirectory, { recursive: true });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook executed before deleting a document to clean up associated files from storage.
|
|
3
|
+
*
|
|
4
|
+
* This hook performs the following operations:
|
|
5
|
+
* 1. Retrieves the document ID from the deletion event
|
|
6
|
+
* 2. Locates and removes all files associated with the document from storage
|
|
7
|
+
* 3. Ensures no orphaned files remain after document deletion
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
export declare const cleanUpFiles: import("../../../../pipeline/types").Hook<"raw", "delete", "before">;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Hooks } from '../../../../pipeline/define-hook.js';
|
|
2
|
+
import { cleanUpDocumentFile } from '../disk/delete.server.js';
|
|
3
|
+
/**
|
|
4
|
+
* Hook executed before deleting a document to clean up associated files from storage.
|
|
5
|
+
*
|
|
6
|
+
* This hook performs the following operations:
|
|
7
|
+
* 1. Retrieves the document ID from the deletion event
|
|
8
|
+
* 2. Locates and removes all files associated with the document from storage
|
|
9
|
+
* 3. Ensures no orphaned files remain after document deletion
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export const cleanUpFiles = Hooks.beforeDelete(async function cleanUpFiles(args) {
|
|
13
|
+
const config = args.config;
|
|
14
|
+
const id = args.context.params.id || '';
|
|
15
|
+
await cleanUpDocumentFile({ config, rime: args.event.locals.rime, id });
|
|
16
|
+
return args;
|
|
17
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook executed before save/update operations to convert base64 encoded files to File objects.
|
|
3
|
+
*
|
|
4
|
+
* @description
|
|
5
|
+
* This hook performs the following operations:
|
|
6
|
+
* 1. Checks if the incoming document contains a base64 encoded file
|
|
7
|
+
* 2. Converts it to a proper File object for disk storage
|
|
8
|
+
* 3. Preserves or generates metadata (filename, size, type)
|
|
9
|
+
*
|
|
10
|
+
* @param args Hook arguments containing the document to process
|
|
11
|
+
* @returns Updated args object with converted file data
|
|
12
|
+
*/
|
|
13
|
+
export declare const castBase64ToFile: import("../../../../pipeline/types").Hook<"upload", "create" | "update", "before">;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Hooks } from '../../../../pipeline/define-hook.js';
|
|
2
|
+
import { jsonFileToFile } from '../util/converter.server.js';
|
|
3
|
+
import { RimeError } from '../../../../errors/index.js';
|
|
4
|
+
import { isFile } from '../../../../../util/file.js';
|
|
5
|
+
/**
|
|
6
|
+
* Hook executed before save/update operations to convert base64 encoded files to File objects.
|
|
7
|
+
*
|
|
8
|
+
* @description
|
|
9
|
+
* This hook performs the following operations:
|
|
10
|
+
* 1. Checks if the incoming document contains a base64 encoded file
|
|
11
|
+
* 2. Converts it to a proper File object for disk storage
|
|
12
|
+
* 3. Preserves or generates metadata (filename, size, type)
|
|
13
|
+
*
|
|
14
|
+
* @param args Hook arguments containing the document to process
|
|
15
|
+
* @returns Updated args object with converted file data
|
|
16
|
+
*/
|
|
17
|
+
export const castBase64ToFile = Hooks.beforeUpsert(async function castBase64ToFile(args) {
|
|
18
|
+
let data = args.data;
|
|
19
|
+
if (data?.file && !isFile(data.file)) {
|
|
20
|
+
try {
|
|
21
|
+
const { file, filename, filesize, mimeType } = jsonFileToFile(data.file);
|
|
22
|
+
data = {
|
|
23
|
+
...data,
|
|
24
|
+
file,
|
|
25
|
+
filename: data.filename || filename,
|
|
26
|
+
filesize: data.filesize || filesize,
|
|
27
|
+
mimeType: data.mimeType || mimeType
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
args.event.locals.rime.logger.error('Failed to convert base64 string to File object', err.message);
|
|
32
|
+
throw new RimeError(RimeError.UPLOAD, 'Unable to process file');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return { ...args, data };
|
|
36
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook executed before save/update operations on {uploadSlug}_directories collections
|
|
3
|
+
* the function normalize and validate path ({slug}_directories.id).
|
|
4
|
+
* Then extract parent, name from the given path.
|
|
5
|
+
*/
|
|
6
|
+
export declare const exctractPath: import("../../../../pipeline/types").Hook<"directory", "create" | "update", "before">;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Hooks } from '../../../../pipeline/define-hook.js';
|
|
2
|
+
import { RimeError } from '../../../../errors/index.js';
|
|
3
|
+
import { trycatchSync } from '../../../../../util/function.js';
|
|
4
|
+
import { getSegments } from '../util/path.js';
|
|
5
|
+
/**
|
|
6
|
+
* Hook executed before save/update operations on {uploadSlug}_directories collections
|
|
7
|
+
* the function normalize and validate path ({slug}_directories.id).
|
|
8
|
+
* Then extract parent, name from the given path.
|
|
9
|
+
*/
|
|
10
|
+
export const exctractPath = Hooks.beforeUpsert(async function exctractPath(args) {
|
|
11
|
+
let data = args.data;
|
|
12
|
+
if (data?.id) {
|
|
13
|
+
const [error, segments] = trycatchSync(() => getSegments(data.id));
|
|
14
|
+
if (error) {
|
|
15
|
+
throw new RimeError(RimeError.INVALID_DATA, error.message);
|
|
16
|
+
}
|
|
17
|
+
data = {
|
|
18
|
+
...data,
|
|
19
|
+
id: segments.path,
|
|
20
|
+
name: segments.name,
|
|
21
|
+
parent: segments.parent
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return { ...args, data };
|
|
25
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook executed before save/update operations on an upload collections
|
|
3
|
+
* the function get the document _path and check if it exists,
|
|
4
|
+
* if it doesn't it create {upload_slug}_directories entries recursively
|
|
5
|
+
*/
|
|
6
|
+
export declare const handlePathCreation: import("../../../../pipeline/types").Hook<"upload", "create" | "update", "before">;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Hooks } from '../../../../pipeline/define-hook.js';
|
|
2
|
+
import { UPLOAD_PATH } from '../constant.js';
|
|
3
|
+
import { logger } from '../../../../logger.server.js';
|
|
4
|
+
import { directoriesOf } from '../naming.js';
|
|
5
|
+
import { trycatch } from '../../../../../util/function.js';
|
|
6
|
+
import { getSegments } from '../util/path.js';
|
|
7
|
+
/**
|
|
8
|
+
* Hook executed before save/update operations on an upload collections
|
|
9
|
+
* the function get the document _path and check if it exists,
|
|
10
|
+
* if it doesn't it create {upload_slug}_directories entries recursively
|
|
11
|
+
*/
|
|
12
|
+
export const handlePathCreation = Hooks.beforeUpsert(async function handlePathCreation(args) {
|
|
13
|
+
const { rime } = args.event.locals;
|
|
14
|
+
const data = args.data;
|
|
15
|
+
/**
|
|
16
|
+
* An update that says nothing about the path leaves it alone; a create always has one.
|
|
17
|
+
*
|
|
18
|
+
* `getSegments` answers `root` for a missing *or null* path, which is what makes the second
|
|
19
|
+
* half true — and null is the case that matters, because the blank document a create is
|
|
20
|
+
* merged with puts `_path: null` in `data`. A test for `'_path' in data` therefore never
|
|
21
|
+
* fires on a create, which is why the **adapter** was the thing defaulting it.
|
|
22
|
+
*/
|
|
23
|
+
if (args.operation !== 'create' && !args.data._path)
|
|
24
|
+
return args;
|
|
25
|
+
/**
|
|
26
|
+
* Normalise first — `getSegments` drops empty segments and trailing separators, and
|
|
27
|
+
* collapses a one-segment path to `root`. What is stored has to be the normalised form,
|
|
28
|
+
* because every directory row below is created under it and every lookup goes against it.
|
|
29
|
+
*
|
|
30
|
+
* The **adapter** did this, in `insertPrototype`, behind `'upload' in config` — a feature
|
|
31
|
+
* reaching into a write. It also re-created the directory row for the normalised path,
|
|
32
|
+
* which is what this hook already does and does properly: recursively, for every segment,
|
|
33
|
+
* through the public API. Only the assignment was missing here, and it had to move above
|
|
34
|
+
* the early return below to happen at all.
|
|
35
|
+
*
|
|
36
|
+
* `getSegments` throws `BAD_REQUEST` on an invalid path, which is the same rejection the
|
|
37
|
+
* adapter made, one layer earlier.
|
|
38
|
+
*/
|
|
39
|
+
const pathInfo = getSegments(args.data._path);
|
|
40
|
+
args.data._path = pathInfo.path;
|
|
41
|
+
const directorySlug = directoriesOf(args.config);
|
|
42
|
+
const [, dir] = await trycatch(() => rime.collection(directorySlug).findById({
|
|
43
|
+
select: ['id'],
|
|
44
|
+
id: data._path
|
|
45
|
+
}));
|
|
46
|
+
if (dir)
|
|
47
|
+
return args;
|
|
48
|
+
// Split the path into segments
|
|
49
|
+
const segments = pathInfo.path.split(UPLOAD_PATH.SEPARATOR);
|
|
50
|
+
// Process all segments, including root
|
|
51
|
+
let currentPath = '';
|
|
52
|
+
for (let i = 0; i < segments.length; i++) {
|
|
53
|
+
const segment = segments[i];
|
|
54
|
+
const parentPath = currentPath || null; // For root, parent is null
|
|
55
|
+
// Build the current path
|
|
56
|
+
currentPath = currentPath ? `${currentPath}${UPLOAD_PATH.SEPARATOR}${segment}` : segment;
|
|
57
|
+
// Check if this segment exists
|
|
58
|
+
const [, segExists] = await trycatch(() => rime.collection(directorySlug).findById({
|
|
59
|
+
select: ['id'],
|
|
60
|
+
id: currentPath
|
|
61
|
+
}));
|
|
62
|
+
// If the segment doesn't exist, create it
|
|
63
|
+
if (!segExists) {
|
|
64
|
+
const [createError] = await trycatch(() => rime.collection(directorySlug).create({
|
|
65
|
+
data: {
|
|
66
|
+
id: currentPath,
|
|
67
|
+
parent: parentPath,
|
|
68
|
+
name: segment,
|
|
69
|
+
createdAt: new Date(),
|
|
70
|
+
updatedAt: new Date()
|
|
71
|
+
}
|
|
72
|
+
}));
|
|
73
|
+
if (createError) {
|
|
74
|
+
logger.error(`Failed to create directory segment ${currentPath}`, createError);
|
|
75
|
+
// If we can't create a segment, fall back to root
|
|
76
|
+
args.data._path = UPLOAD_PATH.ROOT_NAME;
|
|
77
|
+
return args;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return args;
|
|
82
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This feature's hooks, by name, so a prototype can place them as `upload.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 { castBase64ToFile } from './convert-base64.server.js';
|
|
10
|
+
export { cleanUpFiles } from './clean-up-files.server.js';
|
|
11
|
+
export { handlePathCreation } from './handle-path-creation.server.js';
|
|
12
|
+
export { populateSizes } from './populate-sizes.server.js';
|
|
13
|
+
export { processFileUpload } from './process-file-upload.server.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This feature's hooks, by name, so a prototype can place them as `upload.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 { castBase64ToFile } from './convert-base64.server.js';
|
|
10
|
+
export { cleanUpFiles } from './clean-up-files.server.js';
|
|
11
|
+
export { handlePathCreation } from './handle-path-creation.server.js';
|
|
12
|
+
export { populateSizes } from './populate-sizes.server.js';
|
|
13
|
+
export { processFileUpload } from './process-file-upload.server.js';
|