@aphexcms/cms-core 0.1.11 → 0.1.13
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/LICENSE +21 -0
- package/dist/api/assets.d.ts +48 -0
- package/dist/api/assets.d.ts.map +1 -0
- package/dist/api/assets.js +52 -0
- package/dist/api/client.d.ts +37 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +125 -0
- package/dist/api/documents.d.ts +57 -0
- package/dist/api/documents.d.ts.map +1 -0
- package/dist/api/documents.js +85 -0
- package/dist/api/index.d.ts +7 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +5 -0
- package/dist/api/organizations.d.ts +101 -0
- package/dist/api/organizations.d.ts.map +1 -0
- package/dist/api/organizations.js +92 -0
- package/dist/api/types.d.ts +45 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +1 -0
- package/dist/auth/auth-errors.d.ts +7 -0
- package/dist/auth/auth-errors.d.ts.map +1 -0
- package/dist/auth/auth-errors.js +13 -0
- package/dist/auth/auth-hooks.d.ts +6 -0
- package/dist/auth/auth-hooks.d.ts.map +1 -0
- package/dist/auth/auth-hooks.js +122 -0
- package/dist/auth/provider.d.ts +17 -0
- package/dist/auth/provider.d.ts.map +1 -0
- package/dist/auth/provider.js +1 -0
- package/dist/cli/generate-types.js +218 -0
- package/dist/cli/index.js +86 -0
- package/dist/client/index.d.ts +24 -0
- package/dist/client/index.d.ts.map +1 -0
- package/{src/lib/client/index.ts → dist/client/index.js} +7 -18
- package/{src/lib → dist}/components/AdminApp.svelte +26 -55
- package/dist/components/AdminApp.svelte.d.ts +24 -0
- package/dist/components/AdminApp.svelte.d.ts.map +1 -0
- package/dist/components/admin/AdminLayout.svelte.d.ts +15 -0
- package/dist/components/admin/AdminLayout.svelte.d.ts.map +1 -0
- package/{src/lib → dist}/components/admin/DocumentEditor.svelte +60 -14
- package/dist/components/admin/DocumentEditor.svelte.d.ts +18 -0
- package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -0
- package/dist/components/admin/DocumentTypesList.svelte.d.ts +14 -0
- package/dist/components/admin/DocumentTypesList.svelte.d.ts.map +1 -0
- package/dist/components/admin/ObjectModal.svelte.d.ts +15 -0
- package/dist/components/admin/ObjectModal.svelte.d.ts.map +1 -0
- package/dist/components/admin/SchemaField.svelte.d.ts +19 -0
- package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -0
- package/dist/components/admin/fields/ArrayField.svelte.d.ts +12 -0
- package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -0
- package/dist/components/admin/fields/BooleanField.svelte.d.ts +13 -0
- package/dist/components/admin/fields/BooleanField.svelte.d.ts.map +1 -0
- package/dist/components/admin/fields/ImageField.svelte.d.ts +15 -0
- package/dist/components/admin/fields/ImageField.svelte.d.ts.map +1 -0
- package/dist/components/admin/fields/NumberField.svelte.d.ts +14 -0
- package/dist/components/admin/fields/NumberField.svelte.d.ts.map +1 -0
- package/{src/lib → dist}/components/admin/fields/ReferenceField.svelte +2 -3
- package/dist/components/admin/fields/ReferenceField.svelte.d.ts +12 -0
- package/dist/components/admin/fields/ReferenceField.svelte.d.ts.map +1 -0
- package/dist/components/admin/fields/SlugField.svelte.d.ts +15 -0
- package/dist/components/admin/fields/SlugField.svelte.d.ts.map +1 -0
- package/dist/components/admin/fields/StringField.svelte.d.ts +14 -0
- package/dist/components/admin/fields/StringField.svelte.d.ts.map +1 -0
- package/dist/components/admin/fields/TextareaField.svelte.d.ts +14 -0
- package/dist/components/admin/fields/TextareaField.svelte.d.ts.map +1 -0
- package/dist/components/fields/index.d.ts +9 -0
- package/dist/components/fields/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.d.ts.map +1 -0
- package/{src/lib/components/index.ts → dist/components/index.js} +1 -5
- package/dist/components/layout/OrganizationSwitcher.svelte.d.ts +11 -0
- package/dist/components/layout/OrganizationSwitcher.svelte.d.ts.map +1 -0
- package/dist/components/layout/Sidebar.svelte.d.ts +14 -0
- package/dist/components/layout/Sidebar.svelte.d.ts.map +1 -0
- package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts +11 -0
- package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts.map +1 -0
- package/dist/components/layout/sidebar/NavMain.svelte.d.ts +19 -0
- package/dist/components/layout/sidebar/NavMain.svelte.d.ts.map +1 -0
- package/dist/components/layout/sidebar/NavSecondary.svelte.d.ts +9 -0
- package/dist/components/layout/sidebar/NavSecondary.svelte.d.ts.map +1 -0
- package/dist/components/layout/sidebar/NavUser.svelte.d.ts +9 -0
- package/dist/components/layout/sidebar/NavUser.svelte.d.ts.map +1 -0
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +15 -0
- package/dist/db/adapters/index.d.ts +1 -0
- package/dist/db/adapters/index.d.ts.map +1 -0
- package/{src/lib/db/adapters/index.ts → dist/db/adapters/index.js} +1 -0
- package/dist/db/index.d.ts +2 -0
- package/dist/db/index.d.ts.map +1 -0
- package/{src/lib/db/index.ts → dist/db/index.js} +1 -2
- package/dist/db/interfaces/asset.d.ts +73 -0
- package/dist/db/interfaces/asset.d.ts.map +1 -0
- package/dist/db/interfaces/asset.js +1 -0
- package/dist/db/interfaces/document.d.ts +61 -0
- package/dist/db/interfaces/document.d.ts.map +1 -0
- package/dist/db/interfaces/document.js +1 -0
- package/dist/db/interfaces/index.d.ts +73 -0
- package/dist/db/interfaces/index.d.ts.map +1 -0
- package/dist/db/interfaces/index.js +1 -0
- package/dist/db/interfaces/organization.d.ts +27 -0
- package/dist/db/interfaces/organization.d.ts.map +1 -0
- package/dist/db/interfaces/organization.js +1 -0
- package/dist/db/interfaces/schema.d.ts +21 -0
- package/dist/db/interfaces/schema.d.ts.map +1 -0
- package/dist/db/interfaces/schema.js +1 -0
- package/dist/db/interfaces/user.d.ts +15 -0
- package/dist/db/interfaces/user.d.ts.map +1 -0
- package/dist/db/interfaces/user.js +1 -0
- package/dist/db/utils/reference-resolver.d.ts +18 -0
- package/dist/db/utils/reference-resolver.d.ts.map +1 -0
- package/dist/db/utils/reference-resolver.js +80 -0
- package/dist/define.d.ts +3 -0
- package/dist/define.d.ts.map +1 -0
- package/dist/define.js +4 -0
- package/dist/email/index.d.ts +2 -0
- package/dist/email/index.d.ts.map +1 -0
- package/{src/lib/email/index.ts → dist/email/index.js} +1 -2
- package/dist/email/interfaces/email.d.ts +42 -0
- package/dist/email/interfaces/email.d.ts.map +1 -0
- package/dist/email/interfaces/email.js +1 -0
- package/dist/engine.d.ts +26 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +66 -0
- package/dist/field-validation/rule.d.ts +51 -0
- package/dist/field-validation/rule.d.ts.map +1 -0
- package/dist/field-validation/rule.js +221 -0
- package/dist/field-validation/utils.d.ts +39 -0
- package/dist/field-validation/utils.d.ts.map +1 -0
- package/dist/field-validation/utils.js +99 -0
- package/dist/hooks.d.ts +25 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +164 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/{src/lib/index.ts → dist/index.js} +1 -2
- package/dist/is-mobile.svelte.d.ts +5 -0
- package/dist/is-mobile.svelte.d.ts.map +1 -0
- package/{src/lib/is-mobile.svelte.ts → dist/is-mobile.svelte.js} +3 -5
- package/dist/lib/auth/provider.js +1 -0
- package/dist/lib/db/index.js +4 -0
- package/dist/lib/db/interfaces/asset.js +1 -0
- package/dist/lib/db/interfaces/document.js +1 -0
- package/dist/lib/db/interfaces/index.js +1 -0
- package/dist/lib/db/interfaces/organization.js +1 -0
- package/dist/lib/db/interfaces/schema.js +1 -0
- package/dist/lib/db/interfaces/user.js +1 -0
- package/dist/lib/email/index.js +4 -0
- package/dist/lib/email/interfaces/email.js +1 -0
- package/dist/lib/field-validation/rule.js +221 -0
- package/dist/lib/field-validation/utils.js +99 -0
- package/dist/lib/storage/interfaces/index.js +2 -0
- package/dist/lib/storage/interfaces/storage.js +1 -0
- package/dist/lib/types/asset.js +2 -0
- package/dist/lib/types/auth.js +41 -0
- package/dist/lib/types/config.js +1 -0
- package/dist/lib/types/document.js +1 -0
- package/dist/lib/types/filters.js +5 -0
- package/dist/lib/types/index.js +9 -0
- package/dist/lib/types/organization.js +3 -0
- package/dist/lib/types/schemas.js +1 -0
- package/dist/lib/types/sidebar.js +1 -0
- package/dist/lib/types/user.js +1 -0
- package/dist/local-api/auth-helpers.d.ts +65 -0
- package/dist/local-api/auth-helpers.d.ts.map +1 -0
- package/dist/local-api/auth-helpers.js +102 -0
- package/dist/local-api/collection-api.d.ts +138 -0
- package/dist/local-api/collection-api.d.ts.map +1 -0
- package/dist/local-api/collection-api.js +276 -0
- package/dist/local-api/index.d.ts +108 -0
- package/dist/local-api/index.d.ts.map +1 -0
- package/dist/local-api/index.js +157 -0
- package/dist/local-api/permissions.d.ts +45 -0
- package/dist/local-api/permissions.d.ts.map +1 -0
- package/dist/local-api/permissions.js +117 -0
- package/dist/local-api/types.d.ts +65 -0
- package/dist/local-api/types.d.ts.map +1 -0
- package/dist/local-api/types.js +4 -0
- package/dist/routes/assets-by-id.d.ts +5 -0
- package/dist/routes/assets-by-id.d.ts.map +1 -0
- package/dist/routes/assets-by-id.js +138 -0
- package/dist/routes/assets-cdn.d.ts +3 -0
- package/dist/routes/assets-cdn.d.ts.map +1 -0
- package/dist/routes/assets-cdn.js +155 -0
- package/dist/routes/assets.d.ts +4 -0
- package/dist/routes/assets.d.ts.map +1 -0
- package/dist/routes/assets.js +94 -0
- package/dist/routes/documents-by-id.d.ts +5 -0
- package/dist/routes/documents-by-id.d.ts.map +1 -0
- package/dist/routes/documents-by-id.js +163 -0
- package/dist/routes/documents-publish.d.ts +4 -0
- package/dist/routes/documents-publish.d.ts.map +1 -0
- package/dist/routes/documents-publish.js +136 -0
- package/dist/routes/documents-query.d.ts +24 -0
- package/dist/routes/documents-query.d.ts.map +1 -0
- package/dist/routes/documents-query.js +95 -0
- package/dist/routes/documents.d.ts +4 -0
- package/dist/routes/documents.d.ts.map +1 -0
- package/dist/routes/documents.js +136 -0
- package/dist/routes/index.d.ts +8 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +12 -0
- package/dist/routes/organizations-by-id.d.ts +5 -0
- package/dist/routes/organizations-by-id.d.ts.map +1 -0
- package/dist/routes/organizations-by-id.js +187 -0
- package/dist/routes/organizations-invitations.d.ts +4 -0
- package/dist/routes/organizations-invitations.d.ts.map +1 -0
- package/dist/routes/organizations-invitations.js +125 -0
- package/dist/routes/organizations-members.d.ts +5 -0
- package/dist/routes/organizations-members.d.ts.map +1 -0
- package/dist/routes/organizations-members.js +206 -0
- package/dist/routes/organizations-switch.d.ts +3 -0
- package/dist/routes/organizations-switch.d.ts.map +1 -0
- package/dist/routes/organizations-switch.js +53 -0
- package/dist/routes/organizations.d.ts +4 -0
- package/dist/routes/organizations.d.ts.map +1 -0
- package/dist/routes/organizations.js +109 -0
- package/dist/routes/schemas-by-type.d.ts +3 -0
- package/dist/routes/schemas-by-type.d.ts.map +1 -0
- package/dist/routes/schemas-by-type.js +25 -0
- package/dist/routes/schemas.d.ts +3 -0
- package/dist/routes/schemas.d.ts.map +1 -0
- package/dist/routes/schemas.js +11 -0
- package/dist/routes-exports.d.ts +14 -0
- package/dist/routes-exports.d.ts.map +1 -0
- package/dist/routes-exports.js +19 -0
- package/dist/schema-context.svelte.d.ts +10 -0
- package/dist/schema-context.svelte.d.ts.map +1 -0
- package/dist/schema-context.svelte.js +18 -0
- package/dist/schema-utils/cleanup.d.ts +21 -0
- package/dist/schema-utils/cleanup.d.ts.map +1 -0
- package/dist/schema-utils/cleanup.js +80 -0
- package/dist/schema-utils/index.d.ts +4 -0
- package/dist/schema-utils/index.d.ts.map +1 -0
- package/dist/schema-utils/index.js +4 -0
- package/dist/schema-utils/utils.d.ts +30 -0
- package/dist/schema-utils/utils.d.ts.map +1 -0
- package/dist/schema-utils/utils.js +37 -0
- package/dist/schema-utils/validator.d.ts +6 -0
- package/dist/schema-utils/validator.d.ts.map +1 -0
- package/dist/schema-utils/validator.js +45 -0
- package/dist/server/index.d.ts +17 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +30 -0
- package/dist/services/asset-service.d.ts +86 -0
- package/dist/services/asset-service.d.ts.map +1 -0
- package/dist/services/asset-service.js +187 -0
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +4 -0
- package/dist/storage/adapters/index.d.ts +2 -0
- package/dist/storage/adapters/index.d.ts.map +1 -0
- package/dist/storage/adapters/index.js +2 -0
- package/dist/storage/adapters/local-storage-adapter.d.ts +54 -0
- package/dist/storage/adapters/local-storage-adapter.d.ts.map +1 -0
- package/dist/storage/adapters/local-storage-adapter.js +187 -0
- package/dist/storage/index.d.ts +3 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/{src/lib/storage/index.ts → dist/storage/index.js} +2 -4
- package/dist/storage/interfaces/index.d.ts +2 -0
- package/dist/storage/interfaces/index.d.ts.map +1 -0
- package/dist/storage/interfaces/index.js +2 -0
- package/dist/storage/interfaces/storage.d.ts +91 -0
- package/dist/storage/interfaces/storage.d.ts.map +1 -0
- package/dist/storage/interfaces/storage.js +1 -0
- package/dist/storage/providers/storage.d.ts +43 -0
- package/dist/storage/providers/storage.d.ts.map +1 -0
- package/dist/storage/providers/storage.js +64 -0
- package/dist/types/asset.d.ts +73 -0
- package/dist/types/asset.d.ts.map +1 -0
- package/dist/types/asset.js +2 -0
- package/dist/types/auth.d.ts +50 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +41 -0
- package/dist/types/config.d.ts +64 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +1 -0
- package/dist/types/document.d.ts +35 -0
- package/dist/types/document.d.ts.map +1 -0
- package/dist/types/document.js +1 -0
- package/dist/types/filters.d.ts +173 -0
- package/dist/types/filters.d.ts.map +1 -0
- package/dist/types/filters.js +5 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/organization.d.ts +105 -0
- package/dist/types/organization.d.ts.map +1 -0
- package/dist/types/organization.js +3 -0
- package/dist/types/schemas.d.ts +114 -0
- package/dist/types/schemas.d.ts.map +1 -0
- package/dist/types/schemas.js +1 -0
- package/dist/types/sidebar.d.ts +33 -0
- package/dist/types/sidebar.d.ts.map +1 -0
- package/dist/types/sidebar.js +1 -0
- package/dist/types/user.d.ts +14 -0
- package/dist/types/user.d.ts.map +1 -0
- package/dist/types/user.js +1 -0
- package/dist/utils/content-hash.d.ts +22 -0
- package/dist/utils/content-hash.d.ts.map +1 -0
- package/dist/utils/content-hash.js +67 -0
- package/dist/utils/image-url.d.ts +88 -0
- package/dist/utils/image-url.d.ts.map +1 -0
- package/dist/utils/image-url.js +165 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/slug.d.ts +13 -0
- package/dist/utils/slug.d.ts.map +1 -0
- package/dist/utils/slug.js +30 -0
- package/dist/utils.d.ts +13 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +5 -0
- package/package.json +101 -95
- package/src/lib/api/assets.ts +0 -75
- package/src/lib/api/client.ts +0 -150
- package/src/lib/api/documents.ts +0 -102
- package/src/lib/api/index.ts +0 -7
- package/src/lib/api/organizations.ts +0 -154
- package/src/lib/api/types.ts +0 -34
- package/src/lib/auth/auth-errors.ts +0 -23
- package/src/lib/auth/auth-hooks.ts +0 -132
- package/src/lib/auth/provider.ts +0 -25
- package/src/lib/config.ts +0 -18
- package/src/lib/db/interfaces/asset.ts +0 -61
- package/src/lib/db/interfaces/document.ts +0 -53
- package/src/lib/db/interfaces/index.ts +0 -98
- package/src/lib/db/interfaces/organization.ts +0 -51
- package/src/lib/db/interfaces/schema.ts +0 -13
- package/src/lib/db/interfaces/user.ts +0 -16
- package/src/lib/db/utils/reference-resolver.ts +0 -119
- package/src/lib/define.ts +0 -7
- package/src/lib/email/interfaces/email.ts +0 -45
- package/src/lib/engine.ts +0 -85
- package/src/lib/field-validation/rule.ts +0 -287
- package/src/lib/field-validation/utils.ts +0 -91
- package/src/lib/hooks.ts +0 -142
- package/src/lib/routes/assets-by-id.ts +0 -161
- package/src/lib/routes/assets-cdn.ts +0 -185
- package/src/lib/routes/assets.ts +0 -116
- package/src/lib/routes/documents-by-id.ts +0 -188
- package/src/lib/routes/documents-publish.ts +0 -211
- package/src/lib/routes/documents.ts +0 -172
- package/src/lib/routes/index.ts +0 -13
- package/src/lib/routes/organizations-by-id.ts +0 -258
- package/src/lib/routes/organizations-invitations.ts +0 -183
- package/src/lib/routes/organizations-members.ts +0 -301
- package/src/lib/routes/organizations-switch.ts +0 -74
- package/src/lib/routes/organizations.ts +0 -147
- package/src/lib/routes/schemas-by-type.ts +0 -35
- package/src/lib/routes/schemas.ts +0 -19
- package/src/lib/routes-exports.ts +0 -42
- package/src/lib/schema-context.svelte.ts +0 -24
- package/src/lib/schema-utils/cleanup.ts +0 -116
- package/src/lib/schema-utils/index.ts +0 -4
- package/src/lib/schema-utils/utils.ts +0 -47
- package/src/lib/schema-utils/validator.ts +0 -58
- package/src/lib/server/index.ts +0 -40
- package/src/lib/services/asset-service.ts +0 -256
- package/src/lib/services/index.ts +0 -6
- package/src/lib/storage/adapters/index.ts +0 -2
- package/src/lib/storage/adapters/local-storage-adapter.ts +0 -215
- package/src/lib/storage/interfaces/index.ts +0 -2
- package/src/lib/storage/interfaces/storage.ts +0 -114
- package/src/lib/storage/providers/storage.ts +0 -83
- package/src/lib/types/asset.ts +0 -81
- package/src/lib/types/auth.ts +0 -80
- package/src/lib/types/config.ts +0 -45
- package/src/lib/types/document.ts +0 -38
- package/src/lib/types/index.ts +0 -8
- package/src/lib/types/organization.ts +0 -119
- package/src/lib/types/schemas.ts +0 -156
- package/src/lib/types/sidebar.ts +0 -37
- package/src/lib/types/user.ts +0 -17
- package/src/lib/utils/content-hash.ts +0 -75
- package/src/lib/utils/image-url.ts +0 -204
- package/src/lib/utils/index.ts +0 -12
- package/src/lib/utils/slug.ts +0 -33
- package/src/lib/utils.ts +0 -13
- /package/{src/lib → dist}/app.d.ts +0 -0
- /package/{src/lib → dist}/auth/MULTI_TENANCY_PLAN.md +0 -0
- /package/{src/lib → dist}/components/admin/AdminLayout.svelte +0 -0
- /package/{src/lib → dist}/components/admin/DocumentTypesList.svelte +0 -0
- /package/{src/lib → dist}/components/admin/ObjectModal.svelte +0 -0
- /package/{src/lib → dist}/components/admin/SchemaField.svelte +0 -0
- /package/{src/lib → dist}/components/admin/fields/ArrayField.svelte +0 -0
- /package/{src/lib → dist}/components/admin/fields/BooleanField.svelte +0 -0
- /package/{src/lib → dist}/components/admin/fields/ImageField.svelte +0 -0
- /package/{src/lib → dist}/components/admin/fields/NumberField.svelte +0 -0
- /package/{src/lib → dist}/components/admin/fields/SlugField.svelte +0 -0
- /package/{src/lib → dist}/components/admin/fields/StringField.svelte +0 -0
- /package/{src/lib → dist}/components/admin/fields/TextareaField.svelte +0 -0
- /package/{src/lib/components/fields/index.ts → dist/components/fields/index.js} +0 -0
- /package/{src/lib → dist}/components/layout/OrganizationSwitcher.svelte +0 -0
- /package/{src/lib → dist}/components/layout/Sidebar.svelte +0 -0
- /package/{src/lib → dist}/components/layout/sidebar/AppSidebar.svelte +0 -0
- /package/{src/lib → dist}/components/layout/sidebar/NavMain.svelte +0 -0
- /package/{src/lib → dist}/components/layout/sidebar/NavSecondary.svelte +0 -0
- /package/{src/lib → dist}/components/layout/sidebar/NavUser.svelte +0 -0
- /package/{src/lib → dist}/plugins/README.md +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AuthUser } from '../types/user.js';
|
|
2
|
+
/**
|
|
3
|
+
* Document type - represents a CMS document
|
|
4
|
+
*/
|
|
5
|
+
export interface Document {
|
|
6
|
+
id: string;
|
|
7
|
+
organizationId: string;
|
|
8
|
+
type: string;
|
|
9
|
+
status: 'draft' | 'published' | null;
|
|
10
|
+
draftData: any;
|
|
11
|
+
publishedData: any;
|
|
12
|
+
publishedHash: string | null;
|
|
13
|
+
createdBy: string | AuthUser | null;
|
|
14
|
+
updatedBy: string | null;
|
|
15
|
+
publishedAt: Date | null;
|
|
16
|
+
createdAt: Date | null;
|
|
17
|
+
updatedAt: Date | null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* New document input type
|
|
21
|
+
*/
|
|
22
|
+
export interface NewDocument {
|
|
23
|
+
id?: string;
|
|
24
|
+
type: string;
|
|
25
|
+
status?: 'draft' | 'published' | null;
|
|
26
|
+
draftData?: any;
|
|
27
|
+
publishedData?: any;
|
|
28
|
+
publishedHash?: string | null;
|
|
29
|
+
createdBy?: string | null;
|
|
30
|
+
updatedBy?: string | null;
|
|
31
|
+
publishedAt?: Date | null;
|
|
32
|
+
createdAt?: Date | null;
|
|
33
|
+
updatedAt?: Date | null;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/lib/types/document.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,GAAG,CAAC;IACf,aAAa,EAAE,GAAG,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Valid filter value types
|
|
3
|
+
*/
|
|
4
|
+
export type FilterValue = string | number | boolean | Date | null;
|
|
5
|
+
/**
|
|
6
|
+
* Field filter operators with type-safe constraints
|
|
7
|
+
* Each adapter will parse these into their specific query language
|
|
8
|
+
*/
|
|
9
|
+
export interface FieldFilter<T = unknown> {
|
|
10
|
+
equals?: T;
|
|
11
|
+
not_equals?: T;
|
|
12
|
+
in?: T[];
|
|
13
|
+
not_in?: T[];
|
|
14
|
+
exists?: boolean;
|
|
15
|
+
greater_than?: T extends number | Date ? T : number | Date;
|
|
16
|
+
greater_than_equal?: T extends number | Date ? T : number | Date;
|
|
17
|
+
less_than?: T extends number | Date ? T : number | Date;
|
|
18
|
+
less_than_equal?: T extends number | Date ? T : number | Date;
|
|
19
|
+
like?: T extends string ? string : string;
|
|
20
|
+
contains?: T extends string ? string : string;
|
|
21
|
+
starts_with?: T extends string ? string : string;
|
|
22
|
+
ends_with?: T extends string ? string : string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* WHERE clause for filtering (database-agnostic)
|
|
26
|
+
* Each adapter will parse this into their specific query language
|
|
27
|
+
*
|
|
28
|
+
* Examples:
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Simple field filters
|
|
31
|
+
* { title: { contains: 'blog' } }
|
|
32
|
+
* { status: { equals: 'published' } }
|
|
33
|
+
*
|
|
34
|
+
* // Multiple conditions (implicit AND)
|
|
35
|
+
* {
|
|
36
|
+
* status: { equals: 'published' },
|
|
37
|
+
* publishedAt: { greater_than: new Date('2024-01-01') }
|
|
38
|
+
* }
|
|
39
|
+
*
|
|
40
|
+
* // Nested OR logic
|
|
41
|
+
* {
|
|
42
|
+
* status: { equals: 'published' },
|
|
43
|
+
* or: [
|
|
44
|
+
* { 'author.name': { equals: 'John' } },
|
|
45
|
+
* { 'author.name': { equals: 'Jane' } }
|
|
46
|
+
* ]
|
|
47
|
+
* }
|
|
48
|
+
*
|
|
49
|
+
* // Nested AND logic
|
|
50
|
+
* {
|
|
51
|
+
* and: [
|
|
52
|
+
* { 'seo.title': { contains: 'blog' } },
|
|
53
|
+
* { content: { exists: true } }
|
|
54
|
+
* ]
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export interface Where<T = unknown> {
|
|
59
|
+
and?: Where<T>[];
|
|
60
|
+
or?: Where<T>[];
|
|
61
|
+
[field: string]: FieldFilter<unknown> | FilterValue | FieldFilter<unknown>[] | Where<T>[] | undefined;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Helper type to flatten object into dot-notation paths
|
|
65
|
+
* Limits depth to 3 levels to avoid infinite recursion and improve performance
|
|
66
|
+
*/
|
|
67
|
+
type DotNotation<T, D extends number = 3> = D extends 0 ? never : T extends object ? {
|
|
68
|
+
[K in keyof T & string]: K | (T[K] extends object ? T[K] extends Array<any> ? never : `${K}.${DotNotation<T[K], Prev[D]>}` : never);
|
|
69
|
+
}[keyof T & string] : never;
|
|
70
|
+
type Prev = [never, 0, 1, 2, 3];
|
|
71
|
+
/**
|
|
72
|
+
* Helper type to extract the value type at a given path
|
|
73
|
+
* Handles both direct keys and dot-notation paths
|
|
74
|
+
*/
|
|
75
|
+
type PathValue<T, P> = P extends `${infer K}.${infer Rest}` ? K extends keyof T ? PathValue<T[K], Rest> : unknown : P extends keyof T ? T[P] : unknown;
|
|
76
|
+
/**
|
|
77
|
+
* Type-safe WHERE clause with autocomplete for field names
|
|
78
|
+
* Provides autocomplete for known fields while still allowing dynamic field names
|
|
79
|
+
*/
|
|
80
|
+
export type WhereTyped<T> = {
|
|
81
|
+
and?: WhereTyped<T>[];
|
|
82
|
+
or?: WhereTyped<T>[];
|
|
83
|
+
} & {
|
|
84
|
+
[K in DotNotation<T> | (keyof T & string)]?: FieldFilter<PathValue<T, K>> | FilterValue;
|
|
85
|
+
} & {
|
|
86
|
+
[field: string]: FieldFilter<unknown> | FilterValue | WhereTyped<T>[] | undefined;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Options for find operations (database-agnostic)
|
|
90
|
+
*/
|
|
91
|
+
export interface FindOptions<T = unknown> {
|
|
92
|
+
/**
|
|
93
|
+
* Filter conditions
|
|
94
|
+
* When T is provided, you get autocomplete on field names!
|
|
95
|
+
*/
|
|
96
|
+
where?: WhereTyped<T>;
|
|
97
|
+
/**
|
|
98
|
+
* Maximum number of results to return
|
|
99
|
+
* @default 50
|
|
100
|
+
*/
|
|
101
|
+
limit?: number;
|
|
102
|
+
/**
|
|
103
|
+
* Number of results to skip (for pagination)
|
|
104
|
+
* @default 0
|
|
105
|
+
*/
|
|
106
|
+
offset?: number;
|
|
107
|
+
/**
|
|
108
|
+
* Sort order
|
|
109
|
+
* - Single field: 'title' (ascending) or '-publishedAt' (descending)
|
|
110
|
+
* - Multiple fields: ['title', '-publishedAt']
|
|
111
|
+
*/
|
|
112
|
+
sort?: string | string[];
|
|
113
|
+
/**
|
|
114
|
+
* Reference resolution depth
|
|
115
|
+
* - 0: No reference resolution
|
|
116
|
+
* - 1: Resolve first-level references
|
|
117
|
+
* - 2: Resolve second-level references
|
|
118
|
+
* @default 0
|
|
119
|
+
*/
|
|
120
|
+
depth?: number;
|
|
121
|
+
/**
|
|
122
|
+
* Field selection (projection)
|
|
123
|
+
* - Only return specified fields
|
|
124
|
+
* - Example: ['id', 'title', 'slug']
|
|
125
|
+
*/
|
|
126
|
+
select?: string[];
|
|
127
|
+
/**
|
|
128
|
+
* Perspective to query
|
|
129
|
+
* - 'draft': Query draft data
|
|
130
|
+
* - 'published': Query published data
|
|
131
|
+
* @default 'draft'
|
|
132
|
+
*/
|
|
133
|
+
perspective?: 'draft' | 'published';
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Result from find operations with pagination metadata
|
|
137
|
+
*/
|
|
138
|
+
export interface FindResult<T> {
|
|
139
|
+
/**
|
|
140
|
+
* Array of documents matching the query
|
|
141
|
+
*/
|
|
142
|
+
docs: T[];
|
|
143
|
+
/**
|
|
144
|
+
* Total number of documents matching the query (without limit/offset)
|
|
145
|
+
*/
|
|
146
|
+
totalDocs: number;
|
|
147
|
+
/**
|
|
148
|
+
* Maximum number of results returned per page
|
|
149
|
+
*/
|
|
150
|
+
limit: number;
|
|
151
|
+
/**
|
|
152
|
+
* Number of results skipped
|
|
153
|
+
*/
|
|
154
|
+
offset: number;
|
|
155
|
+
/**
|
|
156
|
+
* Current page number (1-indexed)
|
|
157
|
+
*/
|
|
158
|
+
page: number;
|
|
159
|
+
/**
|
|
160
|
+
* Total number of pages
|
|
161
|
+
*/
|
|
162
|
+
totalPages: number;
|
|
163
|
+
/**
|
|
164
|
+
* Whether there is a next page
|
|
165
|
+
*/
|
|
166
|
+
hasNextPage: boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Whether there is a previous page
|
|
169
|
+
*/
|
|
170
|
+
hasPrevPage: boolean;
|
|
171
|
+
}
|
|
172
|
+
export {};
|
|
173
|
+
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/lib/types/filters.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IAEvC,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,UAAU,CAAC,EAAE,CAAC,CAAC;IACf,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACT,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAGb,MAAM,CAAC,EAAE,OAAO,CAAC;IAGjB,YAAY,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3D,kBAAkB,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACjE,SAAS,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACxD,eAAe,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IAG9D,IAAI,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9C,WAAW,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjD,SAAS,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,OAAO;IAEjC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAIhB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC;CACtG;AAED;;;GAGG;AACH,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GACpD,KAAK,GACL,CAAC,SAAS,MAAM,GAChB;KACC,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GACnB,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAClB,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GACtB,KAAK,GACL,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GACrC,KAAK,CAAC;CACV,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GACnB,KAAK,CAAC;AAET,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhC;;;GAGG;AACH,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GACxD,CAAC,SAAS,MAAM,CAAC,GAChB,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GACrB,OAAO,GACR,CAAC,SAAS,MAAM,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GACJ,OAAO,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC3B,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACtB,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CACrB,GAAG;KAGF,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW;CACvF,GAAG;IAEH,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC;CAClF,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAEtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEzB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC5B;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,CAAC;IAEV;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;CACrB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './asset.js';
|
|
2
|
+
export * from './auth.js';
|
|
3
|
+
export * from './document.js';
|
|
4
|
+
export * from './schemas.js';
|
|
5
|
+
export * from './config.js';
|
|
6
|
+
export * from './user.js';
|
|
7
|
+
export * from './sidebar.js';
|
|
8
|
+
export * from './organization.js';
|
|
9
|
+
export * from './filters.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './asset.js';
|
|
2
|
+
export * from './auth.js';
|
|
3
|
+
export * from './document.js';
|
|
4
|
+
export * from './schemas.js';
|
|
5
|
+
export * from './config.js';
|
|
6
|
+
export * from './user.js';
|
|
7
|
+
export * from './sidebar.js';
|
|
8
|
+
export * from './organization.js';
|
|
9
|
+
export * from './filters.js';
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
export type OrganizationRole = 'owner' | 'admin' | 'editor' | 'viewer';
|
|
2
|
+
export interface Organization {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
slug: string;
|
|
6
|
+
parentOrganizationId: string | null;
|
|
7
|
+
metadata: {
|
|
8
|
+
logo?: string;
|
|
9
|
+
theme?: {
|
|
10
|
+
primaryColor: string;
|
|
11
|
+
fontFamily: string;
|
|
12
|
+
logoUrl: string;
|
|
13
|
+
};
|
|
14
|
+
website?: string;
|
|
15
|
+
settings?: Record<string, any>;
|
|
16
|
+
} | null;
|
|
17
|
+
createdBy: string;
|
|
18
|
+
createdAt: Date;
|
|
19
|
+
updatedAt: Date;
|
|
20
|
+
}
|
|
21
|
+
export interface NewOrganization {
|
|
22
|
+
name: string;
|
|
23
|
+
slug: string;
|
|
24
|
+
createdBy: string;
|
|
25
|
+
id?: string;
|
|
26
|
+
parentOrganizationId?: string | null;
|
|
27
|
+
metadata?: {
|
|
28
|
+
logo?: string;
|
|
29
|
+
theme?: {
|
|
30
|
+
primaryColor: string;
|
|
31
|
+
fontFamily: string;
|
|
32
|
+
logoUrl: string;
|
|
33
|
+
};
|
|
34
|
+
website?: string;
|
|
35
|
+
settings?: Record<string, any>;
|
|
36
|
+
} | null;
|
|
37
|
+
createdAt?: Date;
|
|
38
|
+
updatedAt?: Date;
|
|
39
|
+
}
|
|
40
|
+
export interface OrganizationMember {
|
|
41
|
+
id: string;
|
|
42
|
+
createdAt: Date;
|
|
43
|
+
updatedAt: Date;
|
|
44
|
+
organizationId: string;
|
|
45
|
+
userId: string;
|
|
46
|
+
role: OrganizationRole;
|
|
47
|
+
preferences: Record<string, any> | null;
|
|
48
|
+
invitationId: string | null;
|
|
49
|
+
}
|
|
50
|
+
export interface NewOrganizationMember {
|
|
51
|
+
organizationId: string;
|
|
52
|
+
userId: string;
|
|
53
|
+
role: OrganizationRole;
|
|
54
|
+
id?: string;
|
|
55
|
+
createdAt?: Date;
|
|
56
|
+
updatedAt?: Date;
|
|
57
|
+
preferences?: Record<string, any> | null;
|
|
58
|
+
invitationId?: string | null;
|
|
59
|
+
}
|
|
60
|
+
export interface Invitation {
|
|
61
|
+
id: string;
|
|
62
|
+
createdAt: Date;
|
|
63
|
+
organizationId: string;
|
|
64
|
+
role: OrganizationRole;
|
|
65
|
+
invitedBy: string;
|
|
66
|
+
email: string;
|
|
67
|
+
token: string;
|
|
68
|
+
expiresAt: Date;
|
|
69
|
+
acceptedAt: Date | null;
|
|
70
|
+
}
|
|
71
|
+
export interface NewInvitation {
|
|
72
|
+
organizationId: string;
|
|
73
|
+
role: OrganizationRole;
|
|
74
|
+
invitedBy: string;
|
|
75
|
+
email: string;
|
|
76
|
+
token: string;
|
|
77
|
+
expiresAt: Date;
|
|
78
|
+
id?: string;
|
|
79
|
+
createdAt?: Date;
|
|
80
|
+
acceptedAt?: Date | null;
|
|
81
|
+
}
|
|
82
|
+
export interface UserSession {
|
|
83
|
+
updatedAt: Date;
|
|
84
|
+
userId: string;
|
|
85
|
+
activeOrganizationId: string | null;
|
|
86
|
+
}
|
|
87
|
+
export interface NewUserSession {
|
|
88
|
+
userId: string;
|
|
89
|
+
updatedAt?: Date;
|
|
90
|
+
activeOrganizationId?: string | null;
|
|
91
|
+
}
|
|
92
|
+
export interface OrganizationMembership {
|
|
93
|
+
organization: Organization;
|
|
94
|
+
member: OrganizationMember;
|
|
95
|
+
}
|
|
96
|
+
export interface OrganizationMemberWithUser {
|
|
97
|
+
member: OrganizationMember;
|
|
98
|
+
user: {
|
|
99
|
+
id: string;
|
|
100
|
+
email: string;
|
|
101
|
+
name: string | null;
|
|
102
|
+
image: string | null;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=organization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/lib/types/organization.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvE,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE;YACP,YAAY,EAAE,MAAM,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,GAAG,IAAI,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE;YACP,YAAY,EAAE,MAAM,CAAC;YACrB,UAAU,EAAE,MAAM,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,GAAG,IAAI,CAAC;IACT,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAGD,MAAM,WAAW,sBAAsB;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,kBAAkB,CAAC;CAC3B;AAGD,MAAM,WAAW,0BAA0B;IAC1C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,CAAC;CACF"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { Rule } from '../field-validation/rule.js';
|
|
2
|
+
export type FieldType = 'string' | 'text' | 'number' | 'boolean' | 'slug' | 'image' | 'array' | 'object' | 'reference';
|
|
3
|
+
export interface BaseField {
|
|
4
|
+
name: string;
|
|
5
|
+
type: FieldType;
|
|
6
|
+
title: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
validation?: ((rule: Rule) => Rule) | Array<(rule: Rule) => Rule>;
|
|
9
|
+
}
|
|
10
|
+
export interface StringField extends BaseField {
|
|
11
|
+
type: 'string';
|
|
12
|
+
maxLength?: number;
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface TextField extends BaseField {
|
|
16
|
+
type: 'text';
|
|
17
|
+
rows?: number;
|
|
18
|
+
maxLength?: number;
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface NumberField extends BaseField {
|
|
22
|
+
type: 'number';
|
|
23
|
+
min?: number;
|
|
24
|
+
max?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface BooleanField extends BaseField {
|
|
27
|
+
type: 'boolean';
|
|
28
|
+
initialValue?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface SlugField extends BaseField {
|
|
31
|
+
type: 'slug';
|
|
32
|
+
source?: string;
|
|
33
|
+
maxLength?: number;
|
|
34
|
+
}
|
|
35
|
+
export interface ImageField extends BaseField {
|
|
36
|
+
type: 'image';
|
|
37
|
+
accept?: string;
|
|
38
|
+
hotspot?: boolean;
|
|
39
|
+
metadata?: string[];
|
|
40
|
+
fields?: Field[];
|
|
41
|
+
private?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface TypeReference {
|
|
44
|
+
type: string;
|
|
45
|
+
title?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface ArrayField extends BaseField {
|
|
48
|
+
type: 'array';
|
|
49
|
+
of: TypeReference[];
|
|
50
|
+
max?: number;
|
|
51
|
+
}
|
|
52
|
+
export interface ObjectField extends BaseField {
|
|
53
|
+
type: 'object';
|
|
54
|
+
fields: Field[];
|
|
55
|
+
}
|
|
56
|
+
export interface ReferenceField extends BaseField {
|
|
57
|
+
type: 'reference';
|
|
58
|
+
to: Array<{
|
|
59
|
+
type: string;
|
|
60
|
+
}>;
|
|
61
|
+
}
|
|
62
|
+
export type Field = StringField | TextField | NumberField | BooleanField | SlugField | ImageField | ArrayField | ObjectField | ReferenceField;
|
|
63
|
+
export interface PreviewConfig {
|
|
64
|
+
select?: {
|
|
65
|
+
title?: string;
|
|
66
|
+
subtitle?: string;
|
|
67
|
+
media?: string;
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export interface DocumentType {
|
|
71
|
+
id: string;
|
|
72
|
+
type: 'document';
|
|
73
|
+
name: string;
|
|
74
|
+
title: string;
|
|
75
|
+
description?: string;
|
|
76
|
+
fields: Field[];
|
|
77
|
+
preview?: PreviewConfig;
|
|
78
|
+
createdAt: Date | null;
|
|
79
|
+
updatedAt: Date | null;
|
|
80
|
+
}
|
|
81
|
+
export interface ObjectType {
|
|
82
|
+
type: 'object';
|
|
83
|
+
name: string;
|
|
84
|
+
title: string;
|
|
85
|
+
description?: string;
|
|
86
|
+
fields: Field[];
|
|
87
|
+
preview?: PreviewConfig;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Schema type - represents document and object type definitions stored in the DB
|
|
91
|
+
*/
|
|
92
|
+
export interface SchemaType {
|
|
93
|
+
id?: string;
|
|
94
|
+
type: 'document' | 'object';
|
|
95
|
+
name: string;
|
|
96
|
+
title: string;
|
|
97
|
+
description?: string;
|
|
98
|
+
fields: Field[];
|
|
99
|
+
preview?: PreviewConfig;
|
|
100
|
+
createdAt?: Date | null;
|
|
101
|
+
updatedAt?: Date | null;
|
|
102
|
+
}
|
|
103
|
+
export interface NewSchemaType {
|
|
104
|
+
id?: string;
|
|
105
|
+
type: 'document' | 'object';
|
|
106
|
+
name: string;
|
|
107
|
+
title: string;
|
|
108
|
+
description?: string;
|
|
109
|
+
fields: Field[];
|
|
110
|
+
preview?: PreviewConfig;
|
|
111
|
+
createdAt?: Date | null;
|
|
112
|
+
updatedAt?: Date | null;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/types/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface SidebarUser {
|
|
2
|
+
id: string;
|
|
3
|
+
email: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
image?: string;
|
|
6
|
+
role?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SidebarNavItem {
|
|
9
|
+
href: string;
|
|
10
|
+
label: string;
|
|
11
|
+
icon?: string;
|
|
12
|
+
badge?: string | number;
|
|
13
|
+
}
|
|
14
|
+
export interface SidebarBranding {
|
|
15
|
+
title?: string;
|
|
16
|
+
logo?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface SidebarOrganization {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
slug: string;
|
|
22
|
+
role: 'owner' | 'admin' | 'editor' | 'viewer';
|
|
23
|
+
isActive: boolean;
|
|
24
|
+
metadata?: any;
|
|
25
|
+
}
|
|
26
|
+
export interface SidebarData {
|
|
27
|
+
user: SidebarUser;
|
|
28
|
+
branding?: SidebarBranding;
|
|
29
|
+
navItems?: SidebarNavItem[];
|
|
30
|
+
organizations?: SidebarOrganization[];
|
|
31
|
+
activeOrganization?: SidebarOrganization;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=sidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/lib/types/sidebar.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACtC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface UserProfile {
|
|
2
|
+
userId: string;
|
|
3
|
+
role: 'super_admin' | 'admin' | 'editor' | 'viewer';
|
|
4
|
+
preferences?: Record<string, any>;
|
|
5
|
+
}
|
|
6
|
+
export interface AuthUser {
|
|
7
|
+
id: string;
|
|
8
|
+
email: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
image?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CMSUser extends AuthUser, Omit<UserProfile, 'userId'> {
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/lib/types/user.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAGD,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,OAAQ,SAAQ,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content hashing utilities for document version tracking
|
|
3
|
+
* Includes timestamp for proper change detection and UX
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Create a content hash including timestamp for change tracking
|
|
7
|
+
* This matches Sanity's behavior where any interaction creates a publishable state
|
|
8
|
+
*/
|
|
9
|
+
export declare function createContentHash(data: any, includeTimestamp?: boolean): string;
|
|
10
|
+
/**
|
|
11
|
+
* Create a hash from published data (no timestamp needed as it's already stable)
|
|
12
|
+
*/
|
|
13
|
+
export declare function createPublishedHash(data: any): string;
|
|
14
|
+
/**
|
|
15
|
+
* Compare if current draft differs from published version
|
|
16
|
+
*/
|
|
17
|
+
export declare function hasUnpublishedChanges(draftData: any, publishedHash: string | null): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Utility to create a clean published hash when publishing
|
|
20
|
+
*/
|
|
21
|
+
export declare function createHashForPublishing(draftData: any): string;
|
|
22
|
+
//# sourceMappingURL=content-hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-hash.d.ts","sourceRoot":"","sources":["../../src/lib/utils/content-hash.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiCH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,UAAO,GAAG,MAAM,CAU5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAK3F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,CAE9D"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content hashing utilities for document version tracking
|
|
3
|
+
* Includes timestamp for proper change detection and UX
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Recursively sort object keys for stable JSON serialization
|
|
7
|
+
*/
|
|
8
|
+
function sortObject(item) {
|
|
9
|
+
if (item === null || typeof item !== 'object')
|
|
10
|
+
return item;
|
|
11
|
+
if (Array.isArray(item)) {
|
|
12
|
+
return item.map(sortObject);
|
|
13
|
+
}
|
|
14
|
+
const sortedKeys = Object.keys(item).sort();
|
|
15
|
+
const sortedObj = {};
|
|
16
|
+
for (const key of sortedKeys) {
|
|
17
|
+
sortedObj[key] = sortObject(item[key]);
|
|
18
|
+
}
|
|
19
|
+
return sortedObj;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create a stable hash from any object using a simple hash algorithm
|
|
23
|
+
*/
|
|
24
|
+
function simpleHash(str) {
|
|
25
|
+
let hash = 0;
|
|
26
|
+
for (let i = 0; i < str.length; i++) {
|
|
27
|
+
const char = str.charCodeAt(i);
|
|
28
|
+
hash = (hash << 5) - hash + char;
|
|
29
|
+
hash = hash & hash; // Convert to 32-bit integer
|
|
30
|
+
}
|
|
31
|
+
return Math.abs(hash).toString(36); // Base36 for shorter string
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Create a content hash including timestamp for change tracking
|
|
35
|
+
* This matches Sanity's behavior where any interaction creates a publishable state
|
|
36
|
+
*/
|
|
37
|
+
export function createContentHash(data, includeTimestamp = true) {
|
|
38
|
+
const hashData = includeTimestamp
|
|
39
|
+
? {
|
|
40
|
+
...data,
|
|
41
|
+
_lastModified: new Date().toISOString()
|
|
42
|
+
}
|
|
43
|
+
: data;
|
|
44
|
+
const stableJson = JSON.stringify(sortObject(hashData));
|
|
45
|
+
return simpleHash(stableJson);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create a hash from published data (no timestamp needed as it's already stable)
|
|
49
|
+
*/
|
|
50
|
+
export function createPublishedHash(data) {
|
|
51
|
+
return createContentHash(data, false);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Compare if current draft differs from published version
|
|
55
|
+
*/
|
|
56
|
+
export function hasUnpublishedChanges(draftData, publishedHash) {
|
|
57
|
+
if (!publishedHash)
|
|
58
|
+
return true; // No published version = has changes
|
|
59
|
+
const publishedDataHash = createPublishedHash(draftData);
|
|
60
|
+
return publishedDataHash !== publishedHash;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Utility to create a clean published hash when publishing
|
|
64
|
+
*/
|
|
65
|
+
export function createHashForPublishing(draftData) {
|
|
66
|
+
return createPublishedHash(draftData);
|
|
67
|
+
}
|