rimecms 0.31.5 → 0.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +62 -65
- package/dist/adapter-sqlite/generate-schema/templates.server.js +119 -175
- 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 +242 -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
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { RimeError } from '../core/errors/index.js';
|
|
2
2
|
import { getFieldAtPath } from '../core/fields/util.js';
|
|
3
|
-
import { logger } from '../core/logger
|
|
4
|
-
import { hasVersionsSuffix, withLocalesSuffix } from '../core/naming.js';
|
|
3
|
+
import { logger } from '../core/logger.server.js';
|
|
5
4
|
import { RelationFieldBuilder } from '../fields/relation/index.js';
|
|
6
5
|
import {} from '../index.js';
|
|
7
6
|
import * as drizzleORM from 'drizzle-orm';
|
|
8
7
|
import { and, eq, getTableColumns, inArray, or } from 'drizzle-orm';
|
|
9
|
-
|
|
8
|
+
import { localeOrder } from './locales.server.js';
|
|
9
|
+
import { baseTableName, tableName } from './naming.server.js';
|
|
10
|
+
export const buildWhereParam = ({ query, slug, db, locale, tables, configCtx, base, rootTable }) => {
|
|
11
|
+
/** `slug` names a content table standing in for `base`, not a prototype's own rows. */
|
|
12
|
+
const isShadow = !!base;
|
|
10
13
|
// Helper to get table by key with correct typing
|
|
11
14
|
function getTable(key) {
|
|
12
15
|
return tables[key];
|
|
13
16
|
}
|
|
14
17
|
function getTablesAndColumns(slug) {
|
|
15
18
|
// Get main table and localized table if applicable
|
|
16
|
-
const table = getTable(slug);
|
|
17
|
-
const tableNameLocales =
|
|
19
|
+
const table = getTable(baseTableName(slug));
|
|
20
|
+
const tableNameLocales = tableName({ owner: baseTableName(slug), branch: 'locales' });
|
|
18
21
|
const tableLocales = getTable(tableNameLocales);
|
|
19
22
|
// Get localized and unlocalized columns
|
|
20
23
|
const localizedColumns = locale && tableNameLocales in tables ? Object.keys(getTableColumns(tableLocales)) : [];
|
|
@@ -23,7 +26,13 @@ export const buildWhereParam = ({ query, slug, db, locale, tables, configCtx })
|
|
|
23
26
|
}
|
|
24
27
|
const {
|
|
25
28
|
// Get main table and localized table if applicable
|
|
26
|
-
table, tableLocales, localizedColumns, unlocalizedColumns } = getTablesAndColumns(slug);
|
|
29
|
+
table: ownTable, tableLocales, localizedColumns, unlocalizedColumns } = getTablesAndColumns(slug);
|
|
30
|
+
/** What the outer condition names — the caller's alias where there is one. */
|
|
31
|
+
const table = rootTable ?? ownTable;
|
|
32
|
+
// The base row a versions table hangs off, and its columns. `baseTableName`, not the bare
|
|
33
|
+
// slug: a camelCase slug is not a table name.
|
|
34
|
+
const baseTable = isShadow ? getTable(baseTableName(base)) : undefined;
|
|
35
|
+
const baseColumns = baseTable ? Object.keys(getTableColumns(baseTable)) : [];
|
|
27
36
|
const buildCondition = (conditionObject) => {
|
|
28
37
|
// Handle nested AND conditions
|
|
29
38
|
if ('and' in conditionObject && Array.isArray(conditionObject.and)) {
|
|
@@ -39,28 +48,30 @@ export const buildWhereParam = ({ query, slug, db, locale, tables, configCtx })
|
|
|
39
48
|
.filter(Boolean);
|
|
40
49
|
return subConditions.length ? or(...subConditions) : false;
|
|
41
50
|
}
|
|
42
|
-
conditionObject =
|
|
51
|
+
conditionObject = normalizedForShadow(conditionObject, isShadow);
|
|
43
52
|
const {
|
|
44
53
|
// Get condition members
|
|
45
54
|
column, sqlColumn, fn, operator, rawValue, value } = getConditionMembers(conditionObject);
|
|
46
|
-
// Handle hierarchy fields (_parent, _position) in versioned collections
|
|
47
|
-
if (shouldHandleVersionedHierarchyFields(slug, sqlColumn)) {
|
|
48
|
-
// Get the root table name by removing the '_versions' suffix
|
|
49
|
-
const rootSlug = slug.replace('_versions', '');
|
|
50
|
-
const rootTable = getTable(rootSlug);
|
|
51
|
-
// Query the root table for the hierarchy field
|
|
52
|
-
return inArray(table.ownerId, db.select({ ownerId: rootTable.id }).from(rootTable).where(fn(rootTable[sqlColumn], value)));
|
|
53
|
-
}
|
|
54
55
|
// Handle regular fields
|
|
55
56
|
if (unlocalizedColumns.includes(sqlColumn)) {
|
|
56
57
|
return fn(table[sqlColumn], value);
|
|
57
58
|
}
|
|
58
|
-
//
|
|
59
|
+
// A localized column is compared as a read would show it: the first locale in the fallback
|
|
60
|
+
// order that holds a value, `''` counting as none — so a page found by its slug in one locale
|
|
61
|
+
// is found by the same slug in a locale it was not translated to yet.
|
|
59
62
|
if (locale && localizedColumns.includes(sqlColumn)) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
const { sql } = drizzleORM;
|
|
64
|
+
const order = localeOrder(configCtx, locale) ?? [locale];
|
|
65
|
+
const valueIn = (code) => sql `NULLIF((SELECT ${tableLocales[sqlColumn]} FROM ${tableLocales} WHERE ${tableLocales.ownerId} = ${table.id} AND ${tableLocales.locale} = ${code}), '')`;
|
|
66
|
+
const resolved = order.length > 1
|
|
67
|
+
? sql `COALESCE(${sql.join(order.map(valueIn), sql `, `)})`
|
|
68
|
+
: valueIn(order[0]);
|
|
69
|
+
return fn(resolved, value);
|
|
70
|
+
}
|
|
71
|
+
// A column the base row keeps — the hierarchy columns, and any `$root()` field — reached
|
|
72
|
+
// through `ownerId` when the table queried is the versions table.
|
|
73
|
+
if (baseTable && baseColumns.includes(sqlColumn)) {
|
|
74
|
+
return inArray(table.ownerId, db.select({ ownerId: baseTable.id }).from(baseTable).where(fn(baseTable[sqlColumn], value)));
|
|
64
75
|
}
|
|
65
76
|
// Look for a relation field
|
|
66
77
|
// Get document config
|
|
@@ -136,7 +147,7 @@ export const buildWhereParam = ({ query, slug, db, locale, tables, configCtx })
|
|
|
136
147
|
.select({ id: relatedTable.id })
|
|
137
148
|
.from(relatedTable)
|
|
138
149
|
.where(relatedCondition);
|
|
139
|
-
const relsTable = getTable(
|
|
150
|
+
const relsTable = getTable(tableName({ owner: baseTableName(slug), child: { kind: 'rels' } }));
|
|
140
151
|
// Join relation rows to documents by matching the related id and the relation path
|
|
141
152
|
const ownersWithMatching = db
|
|
142
153
|
.select({ id: relsTable.ownerId })
|
|
@@ -166,7 +177,7 @@ export const buildWhereParam = ({ query, slug, db, locale, tables, configCtx })
|
|
|
166
177
|
fieldConfig.get.localized,
|
|
167
178
|
fieldConfig.get.many
|
|
168
179
|
];
|
|
169
|
-
const relsTableName =
|
|
180
|
+
const relsTableName = tableName({ owner: baseTableName(slug), child: { kind: 'rels' } });
|
|
170
181
|
const relsTable = getTable(relsTableName);
|
|
171
182
|
// Helpers for building common relation-owner subqueries (operate on the relations table)
|
|
172
183
|
const buildOwnersWithTotalCount = (count) => db
|
|
@@ -307,25 +318,24 @@ function getConditionMembers(obj) {
|
|
|
307
318
|
const value = formatValue({ operator, value: rawValue });
|
|
308
319
|
return { column, sqlColumn, fn, operator, rawValue, value };
|
|
309
320
|
}
|
|
310
|
-
// Determine if we should handle versioned hierarchy fields
|
|
311
|
-
function shouldHandleVersionedHierarchyFields(slug, sqlColumn) {
|
|
312
|
-
return (hasVersionsSuffix(slug) &&
|
|
313
|
-
(sqlColumn === '_parent' || sqlColumn === '_position' || sqlColumn === '_path'));
|
|
314
|
-
}
|
|
315
321
|
// Normalize condition object for versioned collections
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
322
|
+
/**
|
|
323
|
+
* Retargets the two id conditions when the table being queried is a versions table.
|
|
324
|
+
*
|
|
325
|
+
* A caller filtering by `id` means the document, which is the base row — on a versions table that is
|
|
326
|
+
* `ownerId`. `versionId` means the content row itself, which is the versions table's own `id`.
|
|
327
|
+
*/
|
|
328
|
+
function normalizedForShadow(conditionObject, isShadow) {
|
|
329
|
+
if (!isShadow)
|
|
330
|
+
return conditionObject;
|
|
331
|
+
// "id" refers to the document, so it resolves against the base row this versions hangs off.
|
|
332
|
+
if ('id' in conditionObject) {
|
|
321
333
|
const idOperator = conditionObject.id;
|
|
322
334
|
delete conditionObject.id;
|
|
323
335
|
conditionObject.ownerId = idOperator;
|
|
324
336
|
}
|
|
325
|
-
//
|
|
326
|
-
|
|
327
|
-
if (hasVersionsSuffix(slug) && 'versionId' in conditionObject) {
|
|
328
|
-
// Replace id with ownerId and keep the same operator and value
|
|
337
|
+
// "versionId" refers to the content row, which is this table's own id.
|
|
338
|
+
if ('versionId' in conditionObject) {
|
|
329
339
|
const idOperator = conditionObject.versionId;
|
|
330
340
|
delete conditionObject.versionId;
|
|
331
341
|
conditionObject.id = idOperator;
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { VersionsTable } from '../core/adapter.js';
|
|
2
|
+
import type { OperationQuery } from '../core/pipeline/types.js';
|
|
3
|
+
import type { PrototypeSlug } from '../core/prototype/types.js';
|
|
4
|
+
import type { ConfigContext } from '../core/rime.server.js';
|
|
5
|
+
import type { Dic } from '../util/types.js';
|
|
6
|
+
import { type TableName } from './naming.server.js';
|
|
7
|
+
/**
|
|
8
|
+
* Writing a prototype's rows — insert, update, delete, and the bootstrap a singleton needs.
|
|
9
|
+
*
|
|
10
|
+
* The other half of `read.server.ts`; the vocabulary is written down there. `singleton` decides
|
|
11
|
+
* what `insert` and `delete` refuse outright, and which row an update resolves when it was handed
|
|
12
|
+
* no id.
|
|
13
|
+
*
|
|
14
|
+
* Two apparent differences between the collection and area facades this replaces turned out to be
|
|
15
|
+
* nothing: an area's update reset every content row's status with no `where` while a collection
|
|
16
|
+
* scoped it to `ownerId = id` — the same set for a single row; and a collection split off its
|
|
17
|
+
* `$root()` fields before writing while an area did not — `splitRootData` returns an empty half
|
|
18
|
+
* when a config marks none. Both are core's now, and this is handed both halves.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Writes a row and, when it has localized columns, its `__$$locales` half.
|
|
22
|
+
*
|
|
23
|
+
* Every insert goes through here, a document's and a singleton's bootstrap alike.
|
|
24
|
+
*
|
|
25
|
+
* Returns the id actually written, which insertTableRecord derives from `row.id` or generates.
|
|
26
|
+
*/
|
|
27
|
+
export declare const insertRowWithLocales: ({ db, tables }: Deps, args: {
|
|
28
|
+
table: TableName;
|
|
29
|
+
row: Dic;
|
|
30
|
+
now: Date;
|
|
31
|
+
localized: {
|
|
32
|
+
data: Dic;
|
|
33
|
+
isLocalized: boolean;
|
|
34
|
+
locale?: string;
|
|
35
|
+
};
|
|
36
|
+
}) => Promise<string>;
|
|
37
|
+
type UpdateArgs = {
|
|
38
|
+
slug: string;
|
|
39
|
+
versions?: VersionsTable;
|
|
40
|
+
/** The base row to write. An area resolves its singleton's id before calling. */
|
|
41
|
+
id: string;
|
|
42
|
+
/** What goes on it. */
|
|
43
|
+
data: Dic;
|
|
44
|
+
/** And the content row this write also touches, when the caller named one. */
|
|
45
|
+
content?: {
|
|
46
|
+
id: string;
|
|
47
|
+
data: Dic;
|
|
48
|
+
};
|
|
49
|
+
locale?: string;
|
|
50
|
+
};
|
|
51
|
+
type Deps = {
|
|
52
|
+
db: any;
|
|
53
|
+
tables: Dic;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Writes the rows the caller's plan names.
|
|
57
|
+
*
|
|
58
|
+
* Three branches until 1ec2dfca's successor, decoded here from an enum the caller passed down.
|
|
59
|
+
* They differed in exactly two facts — is there a second row, and has somebody already written it
|
|
60
|
+
* — and both are settled before the call now (`core/pipeline/run.server.ts` builds the plan,
|
|
61
|
+
* `FeatureDefinition.writePlan` refines it). What was left is the same two writes in every case,
|
|
62
|
+
* so there is one path.
|
|
63
|
+
*
|
|
64
|
+
* The content row's *table* is still the adapter's to know: registration carries the versions table, and
|
|
65
|
+
* where rows live is storage. Which row, and whether to touch it, is the caller's.
|
|
66
|
+
*
|
|
67
|
+
* Returns `{ id: data.id || id }`. For an area the two always agree — it is a single row, so any
|
|
68
|
+
* `id` in its data is that row's — and preferring `data.id` keeps a disagreement visible instead
|
|
69
|
+
* of silently picking the id of the row that was written.
|
|
70
|
+
*/
|
|
71
|
+
export declare const updatePrototype: ({ db, tables }: Deps, { slug, id, data, content, locale, versions }: UpdateArgs) => Promise<{
|
|
72
|
+
id: any;
|
|
73
|
+
}>;
|
|
74
|
+
/**
|
|
75
|
+
* Sets columns on every row of this prototype's own table that `query` matches.
|
|
76
|
+
*
|
|
77
|
+
* A primitive: a table, a filter, a patch. It writes exactly the columns it is given — no
|
|
78
|
+
* `updatedAt`, no children — because the callers that want a bulk column write want the rows left
|
|
79
|
+
* otherwise alone. Its one caller flips a status column across a document's other content rows,
|
|
80
|
+
* and depends on `updatedAt` *not* moving: that caller prunes by `updatedAt`, so touching it here
|
|
81
|
+
* would silently re-order which rows survive.
|
|
82
|
+
*
|
|
83
|
+
* With `locale`, a localized column lands on the `__$$locales` branch instead — resolved by
|
|
84
|
+
* `prepareSchemaData`, the same split every other write goes through, so a caller says "set this
|
|
85
|
+
* field" without knowing which of the two tables it is in.
|
|
86
|
+
*
|
|
87
|
+
* It goes through `buildWhereParam`, so the filter is the same REST-shaped query every other
|
|
88
|
+
* operation takes rather than a second dialect.
|
|
89
|
+
*/
|
|
90
|
+
export declare const updateWherePrototype: ({ db, tables, configCtx }: DepsWithConfig, { slug, query, data, locale }: {
|
|
91
|
+
slug: PrototypeSlug;
|
|
92
|
+
query: OperationQuery;
|
|
93
|
+
data: Dic;
|
|
94
|
+
locale?: string;
|
|
95
|
+
}) => Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Writes a new document: the rows the plan names.
|
|
98
|
+
*
|
|
99
|
+
* The insert half of `updatePrototype`, and it reads the same way: the caller says which rows this
|
|
100
|
+
* write touches, and this executes. Where a versioned config's `$root()` fields go is
|
|
101
|
+
* `versionsWritePlan`'s statement, made before the call.
|
|
102
|
+
*
|
|
103
|
+
* `contentId` names the row the content landed on — the versions row when there is one, the base row
|
|
104
|
+
* otherwise — which is what the caller hangs blocks, tree nodes and relations off.
|
|
105
|
+
*/
|
|
106
|
+
export declare const insertPrototype: ({ db, tables }: Deps, { slug, data, content, locale, versions }: InsertArgs) => Promise<{
|
|
107
|
+
id: string;
|
|
108
|
+
contentId: string;
|
|
109
|
+
}>;
|
|
110
|
+
/**
|
|
111
|
+
* Reads many documents, merged with the content row each should show.
|
|
112
|
+
*
|
|
113
|
+
* The versioned branch queries the base table and pulls one content row per document, because
|
|
114
|
+
* pagination and ordering are properties of the document rather than of one of its rows.
|
|
115
|
+
*/
|
|
116
|
+
export declare const deletePrototype: ({ db, tables }: Deps, { slug, id }: {
|
|
117
|
+
slug: string;
|
|
118
|
+
id: string;
|
|
119
|
+
}) => Promise<string | undefined>;
|
|
120
|
+
/**
|
|
121
|
+
* The ids of the documents whose `_parent` is `parentId`, in `_position` order.
|
|
122
|
+
*
|
|
123
|
+
* Cannot go through `findMany`: hierarchy lives on the base table while a versioned prototype's
|
|
124
|
+
* `where` resolves against the content table. `_parent` and `_position` are columns the adapter
|
|
125
|
+
* writes itself, so answering this is its job.
|
|
126
|
+
*/
|
|
127
|
+
/**
|
|
128
|
+
* Brings a singleton's row into being if it is not already there. Boot only.
|
|
129
|
+
*
|
|
130
|
+
* Deliberately not an `insert`: it takes no data beyond the blank document, hands back no id,
|
|
131
|
+
* and a second call does nothing. That shape is what lets a singleton have no create at all
|
|
132
|
+
* while its one row still comes from somewhere.
|
|
133
|
+
*/
|
|
134
|
+
export declare const ensurePrototypeExists: ({ db, tables }: Deps, { slug, blank, locale, versions }: EnsureExistsArgs) => Promise<void>;
|
|
135
|
+
type InsertArgs = {
|
|
136
|
+
versions?: VersionsTable;
|
|
137
|
+
slug: string;
|
|
138
|
+
data: Dic;
|
|
139
|
+
/** No `id`: the row does not exist yet. See `Adapter.insert`. */
|
|
140
|
+
content?: {
|
|
141
|
+
data: Dic;
|
|
142
|
+
};
|
|
143
|
+
locale?: string;
|
|
144
|
+
};
|
|
145
|
+
type EnsureExistsArgs = {
|
|
146
|
+
versions?: VersionsTable;
|
|
147
|
+
slug: string;
|
|
148
|
+
/**
|
|
149
|
+
* The document to write. Already shaped by whatever the prototype's features say a bootstrapped
|
|
150
|
+
* first document carries — see `FeatureDefinition.blank` with intent `'seed'`. This module
|
|
151
|
+
* writes it and asks nothing about what is in it.
|
|
152
|
+
*/
|
|
153
|
+
blank: Dic;
|
|
154
|
+
locale?: string;
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* `updateWhere` alone reaches `buildWhereParam`, which is typed against the generated schema
|
|
158
|
+
* rather than against `Dic`. Confining the looseness to the one operation that needs it beats
|
|
159
|
+
* widening `Deps` for everything.
|
|
160
|
+
*/
|
|
161
|
+
type DepsWithConfig = {
|
|
162
|
+
db: any;
|
|
163
|
+
tables: any;
|
|
164
|
+
configCtx: ConfigContext;
|
|
165
|
+
};
|
|
166
|
+
export {};
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { normalizeQuery } from '../core/pipeline/query.js';
|
|
2
|
+
import { and, eq, inArray } from 'drizzle-orm';
|
|
3
|
+
import { RimeError } from '../core/errors/index.js';
|
|
4
|
+
import { baseTableName, tableName } from './naming.server.js';
|
|
5
|
+
import * as adapterUtil from './columns.server.js';
|
|
6
|
+
import { buildWhereParam } from './where.server.js';
|
|
7
|
+
/**
|
|
8
|
+
* Writing a prototype's rows — insert, update, delete, and the bootstrap a singleton needs.
|
|
9
|
+
*
|
|
10
|
+
* The other half of `read.server.ts`; the vocabulary is written down there. `singleton` decides
|
|
11
|
+
* what `insert` and `delete` refuse outright, and which row an update resolves when it was handed
|
|
12
|
+
* no id.
|
|
13
|
+
*
|
|
14
|
+
* Two apparent differences between the collection and area facades this replaces turned out to be
|
|
15
|
+
* nothing: an area's update reset every content row's status with no `where` while a collection
|
|
16
|
+
* scoped it to `ownerId = id` — the same set for a single row; and a collection split off its
|
|
17
|
+
* `$root()` fields before writing while an area did not — `splitRootData` returns an empty half
|
|
18
|
+
* when a config marks none. Both are core's now, and this is handed both halves.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Writes a row and, when it has localized columns, its `__$$locales` half.
|
|
22
|
+
*
|
|
23
|
+
* Every insert goes through here, a document's and a singleton's bootstrap alike.
|
|
24
|
+
*
|
|
25
|
+
* Returns the id actually written, which insertTableRecord derives from `row.id` or generates.
|
|
26
|
+
*/
|
|
27
|
+
export const insertRowWithLocales = async ({ db, tables }, args) => {
|
|
28
|
+
const id = await adapterUtil.insertTableRecord(db, tables, args.table, {
|
|
29
|
+
...args.row,
|
|
30
|
+
createdAt: args.now,
|
|
31
|
+
updatedAt: args.now
|
|
32
|
+
});
|
|
33
|
+
// A locales row says the locale was written. With nothing to say there is no row, and the
|
|
34
|
+
// first write in that locale makes one — the same for a document and for a singleton's
|
|
35
|
+
// bootstrap, whose seeded `id` is not a value.
|
|
36
|
+
const { data, isLocalized, locale } = args.localized;
|
|
37
|
+
const written = Object.entries(data).some(([key, value]) => key !== 'id' && value !== null && value !== undefined);
|
|
38
|
+
if (isLocalized && written) {
|
|
39
|
+
await adapterUtil.insertTableRecord(db, tables, tableName({ owner: args.table, branch: 'locales' }), {
|
|
40
|
+
...data,
|
|
41
|
+
ownerId: id,
|
|
42
|
+
locale: locale
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return id;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Writes the rows the caller's plan names.
|
|
49
|
+
*
|
|
50
|
+
* Three branches until 1ec2dfca's successor, decoded here from an enum the caller passed down.
|
|
51
|
+
* They differed in exactly two facts — is there a second row, and has somebody already written it
|
|
52
|
+
* — and both are settled before the call now (`core/pipeline/run.server.ts` builds the plan,
|
|
53
|
+
* `FeatureDefinition.writePlan` refines it). What was left is the same two writes in every case,
|
|
54
|
+
* so there is one path.
|
|
55
|
+
*
|
|
56
|
+
* The content row's *table* is still the adapter's to know: registration carries the versions table, and
|
|
57
|
+
* where rows live is storage. Which row, and whether to touch it, is the caller's.
|
|
58
|
+
*
|
|
59
|
+
* Returns `{ id: data.id || id }`. For an area the two always agree — it is a single row, so any
|
|
60
|
+
* `id` in its data is that row's — and preferring `data.id` keeps a disagreement visible instead
|
|
61
|
+
* of silently picking the id of the row that was written.
|
|
62
|
+
*/
|
|
63
|
+
export const updatePrototype = async ({ db, tables }, { slug, id, data, content, locale, versions }) => {
|
|
64
|
+
const now = new Date();
|
|
65
|
+
await writeRow({ db, tables }, { table: baseTableName(slug), recordId: id, data, locale, now });
|
|
66
|
+
if (content) {
|
|
67
|
+
// `versions!` — a plan names a content row only for a prototype that has one, and registration
|
|
68
|
+
// answered with the versions table for exactly those.
|
|
69
|
+
await writeRow({ db, tables }, {
|
|
70
|
+
table: baseTableName(versions.slug),
|
|
71
|
+
recordId: content.id,
|
|
72
|
+
data: content.data,
|
|
73
|
+
locale,
|
|
74
|
+
now
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return { id: data.id || id };
|
|
78
|
+
};
|
|
79
|
+
/** One row and its locales, which is what both halves of an update come down to. */
|
|
80
|
+
const writeRow = async ({ db, tables }, args) => {
|
|
81
|
+
const { table, recordId, data, locale, now } = args;
|
|
82
|
+
const localesTable = tableName({ owner: table, branch: 'locales' });
|
|
83
|
+
const { mainData, localizedData, isLocalized } = adapterUtil.prepareSchemaData(data, {
|
|
84
|
+
tables,
|
|
85
|
+
mainTableName: table,
|
|
86
|
+
localesTableName: localesTable,
|
|
87
|
+
locale
|
|
88
|
+
});
|
|
89
|
+
await adapterUtil.updateTableRecord(db, tables, table, {
|
|
90
|
+
recordId,
|
|
91
|
+
data: { ...mainData, updatedAt: now }
|
|
92
|
+
});
|
|
93
|
+
if (isLocalized) {
|
|
94
|
+
await adapterUtil.upsertLocalizedData(db, tables, localesTable, {
|
|
95
|
+
ownerId: recordId,
|
|
96
|
+
data: localizedData,
|
|
97
|
+
locale: locale
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Sets columns on every row of this prototype's own table that `query` matches.
|
|
103
|
+
*
|
|
104
|
+
* A primitive: a table, a filter, a patch. It writes exactly the columns it is given — no
|
|
105
|
+
* `updatedAt`, no children — because the callers that want a bulk column write want the rows left
|
|
106
|
+
* otherwise alone. Its one caller flips a status column across a document's other content rows,
|
|
107
|
+
* and depends on `updatedAt` *not* moving: that caller prunes by `updatedAt`, so touching it here
|
|
108
|
+
* would silently re-order which rows survive.
|
|
109
|
+
*
|
|
110
|
+
* With `locale`, a localized column lands on the `__$$locales` branch instead — resolved by
|
|
111
|
+
* `prepareSchemaData`, the same split every other write goes through, so a caller says "set this
|
|
112
|
+
* field" without knowing which of the two tables it is in.
|
|
113
|
+
*
|
|
114
|
+
* It goes through `buildWhereParam`, so the filter is the same REST-shaped query every other
|
|
115
|
+
* operation takes rather than a second dialect.
|
|
116
|
+
*/
|
|
117
|
+
export const updateWherePrototype = async ({ db, tables, configCtx }, { slug, query, data, locale }) => {
|
|
118
|
+
const table = baseTableName(slug);
|
|
119
|
+
const localesTable = tableName({ owner: table, branch: 'locales' });
|
|
120
|
+
const where = buildWhereParam({ query: normalizeQuery(query), slug, db, tables, configCtx });
|
|
121
|
+
const { mainData, localizedData, isLocalized } = adapterUtil.prepareSchemaData(data, {
|
|
122
|
+
tables,
|
|
123
|
+
mainTableName: table,
|
|
124
|
+
localesTableName: localesTable,
|
|
125
|
+
locale
|
|
126
|
+
});
|
|
127
|
+
if (Object.keys(mainData).length) {
|
|
128
|
+
await db.update(tables[table]).set(mainData).where(where);
|
|
129
|
+
}
|
|
130
|
+
if (isLocalized && Object.keys(localizedData).length) {
|
|
131
|
+
// The branch is keyed by its owner, so the rows to touch are the ones this filter matched.
|
|
132
|
+
//
|
|
133
|
+
// An update, never an upsert — `upsertLocalizedData` would *insert* a locales row for a
|
|
134
|
+
// document that has none yet, and its caller runs during reads. A half-populated
|
|
135
|
+
// locales row written ahead of the real one is how the multilingual duplicate tests started
|
|
136
|
+
// failing when this was first written as an upsert.
|
|
137
|
+
const owners = await db.select({ id: tables[table].id }).from(tables[table]).where(where);
|
|
138
|
+
const ownerIds = owners.map((owner) => owner.id);
|
|
139
|
+
if (ownerIds.length) {
|
|
140
|
+
const branch = tables[localesTable];
|
|
141
|
+
await db
|
|
142
|
+
.update(branch)
|
|
143
|
+
.set(localizedData)
|
|
144
|
+
.where(and(inArray(branch.ownerId, ownerIds), eq(branch.locale, locale)));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* Writes a new document: the rows the plan names.
|
|
150
|
+
*
|
|
151
|
+
* The insert half of `updatePrototype`, and it reads the same way: the caller says which rows this
|
|
152
|
+
* write touches, and this executes. Where a versioned config's `$root()` fields go is
|
|
153
|
+
* `versionsWritePlan`'s statement, made before the call.
|
|
154
|
+
*
|
|
155
|
+
* `contentId` names the row the content landed on — the versions row when there is one, the base row
|
|
156
|
+
* otherwise — which is what the caller hangs blocks, tree nodes and relations off.
|
|
157
|
+
*/
|
|
158
|
+
export const insertPrototype = async ({ db, tables }, { slug, data, content, locale, versions }) => {
|
|
159
|
+
const now = new Date();
|
|
160
|
+
if (versions) {
|
|
161
|
+
// The base row has no columns for the content, so a plan naming no content half would write
|
|
162
|
+
// half a document and hang its children off the base row. Loud, rather than silently wrong.
|
|
163
|
+
if (!content) {
|
|
164
|
+
throw new RimeError(RimeError.OPERATION_ERROR, `insert on "${slug}" names no content row, and its content lives on "${versions.slug}"`);
|
|
165
|
+
}
|
|
166
|
+
const docId = await adapterUtil.insertTableRecord(db, tables, baseTableName(slug), {
|
|
167
|
+
createdAt: now,
|
|
168
|
+
updatedAt: now,
|
|
169
|
+
...data
|
|
170
|
+
});
|
|
171
|
+
const contentTable = baseTableName(versions.slug);
|
|
172
|
+
const { mainData, localizedData, isLocalized } = adapterUtil.prepareSchemaData(content.data, {
|
|
173
|
+
tables,
|
|
174
|
+
mainTableName: contentTable,
|
|
175
|
+
localesTableName: tableName({ owner: contentTable, branch: 'locales' }),
|
|
176
|
+
locale
|
|
177
|
+
});
|
|
178
|
+
const contentId = await insertRowWithLocales({ db, tables }, {
|
|
179
|
+
table: contentTable,
|
|
180
|
+
row: { id: adapterUtil.generatePK(), ownerId: docId, ...mainData },
|
|
181
|
+
now,
|
|
182
|
+
localized: { data: localizedData, isLocalized, locale }
|
|
183
|
+
});
|
|
184
|
+
return { id: docId, contentId };
|
|
185
|
+
}
|
|
186
|
+
const docId = data.id || adapterUtil.generatePK();
|
|
187
|
+
const table = baseTableName(slug);
|
|
188
|
+
const { mainData, localizedData, isLocalized } = adapterUtil.prepareSchemaData(data, {
|
|
189
|
+
tables,
|
|
190
|
+
mainTableName: table,
|
|
191
|
+
localesTableName: tableName({ owner: table, branch: 'locales' }),
|
|
192
|
+
locale
|
|
193
|
+
});
|
|
194
|
+
await insertRowWithLocales({ db, tables }, {
|
|
195
|
+
table,
|
|
196
|
+
row: { id: docId, ...mainData },
|
|
197
|
+
now,
|
|
198
|
+
localized: { data: localizedData, isLocalized, locale }
|
|
199
|
+
});
|
|
200
|
+
// No second row exists, so the two ids are the same thing.
|
|
201
|
+
// No versions: the content is on the base row, so that is the row children hang off.
|
|
202
|
+
return { id: docId, contentId: docId };
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* Reads many documents, merged with the content row each should show.
|
|
206
|
+
*
|
|
207
|
+
* The versioned branch queries the base table and pulls one content row per document, because
|
|
208
|
+
* pagination and ordering are properties of the document rather than of one of its rows.
|
|
209
|
+
*/
|
|
210
|
+
export const deletePrototype = async ({ db, tables }, { slug, id }) => {
|
|
211
|
+
const table = tables[baseTableName(slug)];
|
|
212
|
+
const docs = await db.delete(table).where(eq(table.id, id)).returning();
|
|
213
|
+
if (!docs || !Array.isArray(docs) || !docs.length)
|
|
214
|
+
throw new RimeError(RimeError.NOT_FOUND);
|
|
215
|
+
return docs[0].id;
|
|
216
|
+
};
|
|
217
|
+
/**
|
|
218
|
+
* The ids of the documents whose `_parent` is `parentId`, in `_position` order.
|
|
219
|
+
*
|
|
220
|
+
* Cannot go through `findMany`: hierarchy lives on the base table while a versioned prototype's
|
|
221
|
+
* `where` resolves against the content table. `_parent` and `_position` are columns the adapter
|
|
222
|
+
* writes itself, so answering this is its job.
|
|
223
|
+
*/
|
|
224
|
+
/**
|
|
225
|
+
* Brings a singleton's row into being if it is not already there. Boot only.
|
|
226
|
+
*
|
|
227
|
+
* Deliberately not an `insert`: it takes no data beyond the blank document, hands back no id,
|
|
228
|
+
* and a second call does nothing. That shape is what lets a singleton have no create at all
|
|
229
|
+
* while its one row still comes from somewhere.
|
|
230
|
+
*/
|
|
231
|
+
export const ensurePrototypeExists = async ({ db, tables }, { slug, blank, locale, versions }) => {
|
|
232
|
+
const table = baseTableName(slug);
|
|
233
|
+
const [existing] = await db.select({ id: tables[table].id }).from(tables[table]);
|
|
234
|
+
if (existing)
|
|
235
|
+
return;
|
|
236
|
+
const now = new Date();
|
|
237
|
+
if (versions) {
|
|
238
|
+
const docId = await adapterUtil.insertTableRecord(db, tables, table, {
|
|
239
|
+
createdAt: now,
|
|
240
|
+
updatedAt: now
|
|
241
|
+
});
|
|
242
|
+
const contentTable = baseTableName(versions.slug);
|
|
243
|
+
const { mainData, localizedData, isLocalized } = adapterUtil.prepareSchemaData(blank, {
|
|
244
|
+
tables,
|
|
245
|
+
mainTableName: contentTable,
|
|
246
|
+
localesTableName: tableName({ owner: contentTable, branch: 'locales' }),
|
|
247
|
+
locale,
|
|
248
|
+
fillNotNull: true
|
|
249
|
+
});
|
|
250
|
+
await insertRowWithLocales({ db, tables }, {
|
|
251
|
+
table: contentTable,
|
|
252
|
+
row: { ownerId: docId, ...mainData },
|
|
253
|
+
now,
|
|
254
|
+
localized: { data: localizedData, isLocalized, locale }
|
|
255
|
+
});
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
const localesTable = tableName({ owner: table, branch: 'locales' });
|
|
259
|
+
const { mainData, localizedData, isLocalized } = adapterUtil.prepareSchemaData(blank, {
|
|
260
|
+
tables,
|
|
261
|
+
mainTableName: table,
|
|
262
|
+
localesTableName: localesTable,
|
|
263
|
+
locale,
|
|
264
|
+
fillNotNull: true
|
|
265
|
+
});
|
|
266
|
+
await insertRowWithLocales({ db, tables }, {
|
|
267
|
+
table,
|
|
268
|
+
row: mainData,
|
|
269
|
+
now,
|
|
270
|
+
localized: { data: localizedData, isLocalized, locale }
|
|
271
|
+
});
|
|
272
|
+
};
|