@aphexcms/cms-core 0.2.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/api-keys.d.ts +37 -0
- package/dist/api/api-keys.d.ts.map +1 -0
- package/dist/api/api-keys.js +20 -0
- package/dist/api/assets.d.ts +27 -0
- package/dist/api/assets.d.ts.map +1 -1
- package/dist/api/assets.js +22 -1
- package/dist/api/index.d.ts +8 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +4 -0
- package/dist/api/instance.d.ts +17 -0
- package/dist/api/instance.d.ts.map +1 -0
- package/dist/api/instance.js +21 -0
- package/dist/api/invitations.d.ts +37 -0
- package/dist/api/invitations.d.ts.map +1 -0
- package/dist/api/invitations.js +27 -0
- package/dist/api/organizations.d.ts +7 -0
- package/dist/api/organizations.d.ts.map +1 -1
- package/dist/api/organizations.js +7 -0
- package/dist/api/types.d.ts +1 -1
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/user.d.ts +23 -0
- package/dist/api/user.d.ts.map +1 -0
- package/dist/api/user.js +20 -0
- package/dist/auth/auth-errors.d.ts +1 -1
- package/dist/auth/auth-errors.d.ts.map +1 -1
- package/dist/auth/auth-hooks.d.ts.map +1 -1
- package/dist/auth/auth-hooks.js +39 -23
- package/dist/auth/provider.d.ts +2 -2
- package/dist/auth/provider.d.ts.map +1 -1
- package/dist/cli/generate-types.d.ts +14 -0
- package/dist/cli/generate-types.d.ts.map +1 -0
- package/dist/cli/generate-types.js +15 -7
- package/dist/cli/generate-types.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +1 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -0
- package/dist/components/AdminApp.svelte +160 -63
- package/dist/components/AdminApp.svelte.d.ts +1 -1
- package/dist/components/AdminApp.svelte.d.ts.map +1 -1
- package/dist/components/admin/AdminLayout.svelte.d.ts +3 -3
- package/dist/components/admin/AssetBrowserModal.svelte +66 -0
- package/dist/components/admin/AssetBrowserModal.svelte.d.ts +15 -0
- package/dist/components/admin/AssetBrowserModal.svelte.d.ts.map +1 -0
- package/dist/components/admin/DocumentEditor.svelte +137 -69
- package/dist/components/admin/DocumentEditor.svelte.d.ts +1 -1
- package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -1
- package/dist/components/admin/DocumentsSkeleton.svelte +40 -0
- package/dist/components/admin/DocumentsSkeleton.svelte.d.ts +7 -0
- package/dist/components/admin/DocumentsSkeleton.svelte.d.ts.map +1 -0
- package/dist/components/admin/MediaBrowser.svelte +1398 -0
- package/dist/components/admin/MediaBrowser.svelte.d.ts +23 -0
- package/dist/components/admin/MediaBrowser.svelte.d.ts.map +1 -0
- package/dist/components/admin/ObjectModal.svelte +3 -4
- package/dist/components/admin/ObjectModal.svelte.d.ts +1 -1
- package/dist/components/admin/ObjectModal.svelte.d.ts.map +1 -1
- package/dist/components/admin/SchemaField.svelte +109 -81
- package/dist/components/admin/SchemaField.svelte.d.ts +1 -1
- package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/ArrayField.svelte +611 -277
- package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/DateField.svelte +3 -2
- package/dist/components/admin/fields/DateField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/DateTimeField.svelte +3 -2
- package/dist/components/admin/fields/DateTimeField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/ImageField.svelte +217 -120
- package/dist/components/admin/fields/ImageField.svelte.d.ts +1 -0
- package/dist/components/admin/fields/ImageField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/ReferenceField.svelte +11 -6
- package/dist/components/admin/fields/ReferenceField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/StringField.svelte +2 -1
- package/dist/components/admin/fields/StringField.svelte.d.ts.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/layout/OrganizationSwitcher.svelte +109 -45
- package/dist/components/layout/OrganizationSwitcher.svelte.d.ts.map +1 -1
- package/dist/components/layout/Sidebar.svelte +36 -14
- package/dist/components/layout/Sidebar.svelte.d.ts +2 -1
- package/dist/components/layout/Sidebar.svelte.d.ts.map +1 -1
- package/dist/components/layout/sidebar/AppSidebar.svelte +1 -1
- package/dist/components/layout/sidebar/NavMain.svelte +1 -1
- package/dist/components/layout/sidebar/NavMain.svelte.d.ts +1 -1
- package/dist/components/layout/sidebar/NavMain.svelte.d.ts.map +1 -1
- package/dist/components/layout/sidebar/NavSecondary.svelte +3 -3
- package/dist/components/layout/sidebar/NavUser.svelte +22 -10
- package/dist/components/layout/sidebar/NavUser.svelte.d.ts +2 -2
- package/dist/components/layout/sidebar/NavUser.svelte.d.ts.map +1 -1
- package/dist/db/interfaces/document.d.ts +20 -0
- package/dist/db/interfaces/document.d.ts.map +1 -1
- package/dist/db/interfaces/index.d.ts +3 -1
- package/dist/db/interfaces/index.d.ts.map +1 -1
- package/dist/db/interfaces/instance.d.ts +7 -0
- package/dist/db/interfaces/instance.d.ts.map +1 -0
- package/dist/db/interfaces/instance.js +1 -0
- package/dist/db/interfaces/organization.d.ts +1 -0
- package/dist/db/interfaces/organization.d.ts.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +4 -3
- package/dist/field-validation/date-utils.d.ts.map +1 -1
- package/dist/field-validation/date-utils.js +12 -11
- package/dist/field-validation/rule.d.ts.map +1 -1
- package/dist/field-validation/rule.js +11 -10
- package/dist/field-validation/utils.d.ts.map +1 -1
- package/dist/field-validation/utils.js +16 -15
- package/dist/graphql/index.d.ts +23 -0
- package/dist/graphql/index.d.ts.map +1 -0
- package/dist/graphql/index.js +85 -0
- package/dist/graphql/resolvers.d.ts +4 -0
- package/dist/graphql/resolvers.d.ts.map +1 -0
- package/dist/graphql/resolvers.js +542 -0
- package/dist/graphql/schema.d.ts +3 -0
- package/dist/graphql/schema.d.ts.map +1 -0
- package/dist/graphql/schema.js +356 -0
- package/dist/hooks.d.ts +2 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +62 -9
- package/dist/lib/api/api-keys.d.ts +37 -0
- package/dist/lib/api/api-keys.d.ts.map +1 -0
- package/dist/lib/api/api-keys.js +21 -0
- package/dist/lib/api/api-keys.js.map +1 -0
- package/dist/lib/api/assets.d.ts +75 -0
- package/dist/lib/api/assets.d.ts.map +1 -0
- package/dist/lib/api/assets.js +74 -0
- package/dist/lib/api/assets.js.map +1 -0
- package/dist/lib/api/client.d.ts +37 -0
- package/dist/lib/api/client.d.ts.map +1 -0
- package/dist/lib/api/client.js +132 -0
- package/dist/lib/api/client.js.map +1 -0
- package/dist/lib/api/documents.d.ts +57 -0
- package/dist/lib/api/documents.d.ts.map +1 -0
- package/dist/lib/api/documents.js +86 -0
- package/dist/lib/api/documents.js.map +1 -0
- package/dist/lib/api/index.d.ts +15 -0
- package/dist/lib/api/index.d.ts.map +1 -0
- package/dist/lib/api/index.js +10 -0
- package/dist/lib/api/index.js.map +1 -0
- package/dist/lib/api/instance.d.ts +17 -0
- package/dist/lib/api/instance.d.ts.map +1 -0
- package/dist/lib/api/instance.js +22 -0
- package/dist/lib/api/instance.js.map +1 -0
- package/dist/lib/api/invitations.d.ts +37 -0
- package/dist/lib/api/invitations.d.ts.map +1 -0
- package/dist/lib/api/invitations.js +28 -0
- package/dist/lib/api/invitations.js.map +1 -0
- package/dist/lib/api/organizations.d.ts +108 -0
- package/dist/lib/api/organizations.d.ts.map +1 -0
- package/dist/lib/api/organizations.js +100 -0
- package/dist/lib/api/organizations.js.map +1 -0
- package/dist/lib/api/types.d.ts +47 -0
- package/dist/lib/api/types.d.ts.map +1 -0
- package/dist/lib/api/types.js +2 -0
- package/dist/lib/api/types.js.map +1 -0
- package/dist/lib/api/user.d.ts +23 -0
- package/dist/lib/api/user.d.ts.map +1 -0
- package/dist/lib/api/user.js +21 -0
- package/dist/lib/api/user.js.map +1 -0
- package/dist/lib/auth/auth-errors.d.ts +7 -0
- package/dist/lib/auth/auth-errors.d.ts.map +1 -0
- package/dist/lib/auth/auth-errors.js +14 -0
- package/dist/lib/auth/auth-errors.js.map +1 -0
- package/dist/lib/auth/auth-hooks.d.ts +6 -0
- package/dist/lib/auth/auth-hooks.d.ts.map +1 -0
- package/dist/lib/auth/auth-hooks.js +139 -0
- package/dist/lib/auth/auth-hooks.js.map +1 -0
- package/dist/lib/auth/provider.d.ts +17 -0
- package/dist/lib/auth/provider.d.ts.map +1 -0
- package/dist/lib/auth/provider.js +1 -0
- package/dist/lib/auth/provider.js.map +1 -0
- package/dist/lib/client/index.d.ts +24 -0
- package/dist/lib/client/index.d.ts.map +1 -0
- package/dist/lib/client/index.js +33 -0
- package/dist/lib/client/index.js.map +1 -0
- package/dist/lib/components/fields/index.d.ts +9 -0
- package/dist/lib/components/fields/index.d.ts.map +1 -0
- package/dist/lib/components/fields/index.js +10 -0
- package/dist/lib/components/fields/index.js.map +1 -0
- package/dist/lib/components/index.d.ts +8 -0
- package/dist/lib/components/index.d.ts.map +1 -0
- package/dist/lib/components/index.js +14 -0
- package/dist/lib/components/index.js.map +1 -0
- package/dist/lib/config.d.ts +3 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +16 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/db/adapters/index.d.ts +1 -0
- package/dist/lib/db/adapters/index.d.ts.map +1 -0
- package/dist/lib/db/adapters/index.js +5 -0
- package/dist/lib/db/adapters/index.js.map +1 -0
- package/dist/lib/db/index.d.ts +2 -0
- package/dist/lib/db/index.d.ts.map +1 -0
- package/dist/lib/db/index.js +1 -0
- package/dist/lib/db/index.js.map +1 -0
- package/dist/lib/db/interfaces/asset.d.ts +73 -0
- package/dist/lib/db/interfaces/asset.d.ts.map +1 -0
- package/dist/lib/db/interfaces/asset.js +1 -0
- package/dist/lib/db/interfaces/asset.js.map +1 -0
- package/dist/lib/db/interfaces/document.d.ts +79 -0
- package/dist/lib/db/interfaces/document.d.ts.map +1 -0
- package/dist/lib/db/interfaces/document.js +1 -0
- package/dist/lib/db/interfaces/document.js.map +1 -0
- package/dist/lib/db/interfaces/index.d.ts +76 -0
- package/dist/lib/db/interfaces/index.d.ts.map +1 -0
- package/dist/lib/db/interfaces/index.js +1 -0
- package/dist/lib/db/interfaces/index.js.map +1 -0
- package/dist/lib/db/interfaces/instance.d.ts +7 -0
- package/dist/lib/db/interfaces/instance.d.ts.map +1 -0
- package/dist/lib/db/interfaces/instance.js +2 -0
- package/dist/lib/db/interfaces/instance.js.map +1 -0
- package/dist/lib/db/interfaces/organization.d.ts +28 -0
- package/dist/lib/db/interfaces/organization.d.ts.map +1 -0
- package/dist/lib/db/interfaces/organization.js +1 -0
- package/dist/lib/db/interfaces/organization.js.map +1 -0
- package/dist/lib/db/interfaces/schema.d.ts +21 -0
- package/dist/lib/db/interfaces/schema.d.ts.map +1 -0
- package/dist/lib/db/interfaces/schema.js +1 -0
- package/dist/lib/db/interfaces/schema.js.map +1 -0
- package/dist/lib/db/interfaces/user.d.ts +17 -0
- package/dist/lib/db/interfaces/user.d.ts.map +1 -0
- package/dist/lib/db/interfaces/user.js +1 -0
- package/dist/lib/db/interfaces/user.js.map +1 -0
- package/dist/lib/db/utils/reference-resolver.d.ts +18 -0
- package/dist/lib/db/utils/reference-resolver.d.ts.map +1 -0
- package/dist/lib/db/utils/reference-resolver.js +81 -0
- package/dist/lib/db/utils/reference-resolver.js.map +1 -0
- package/dist/lib/define.d.ts +3 -0
- package/dist/lib/define.d.ts.map +1 -0
- package/dist/lib/define.js +5 -0
- package/dist/lib/define.js.map +1 -0
- package/dist/lib/email/index.d.ts +2 -0
- package/dist/lib/email/index.d.ts.map +1 -0
- package/dist/lib/email/index.js +1 -0
- package/dist/lib/email/index.js.map +1 -0
- package/dist/lib/email/interfaces/email.d.ts +42 -0
- package/dist/lib/email/interfaces/email.d.ts.map +1 -0
- package/dist/lib/email/interfaces/email.js +1 -0
- package/dist/lib/email/interfaces/email.js.map +1 -0
- package/dist/lib/engine.d.ts +26 -0
- package/dist/lib/engine.d.ts.map +1 -0
- package/dist/lib/engine.js +71 -0
- package/dist/lib/engine.js.map +1 -0
- package/dist/lib/field-validation/date-utils.d.ts +30 -0
- package/dist/lib/field-validation/date-utils.d.ts.map +1 -0
- package/dist/lib/field-validation/date-utils.js +13 -11
- package/dist/lib/field-validation/date-utils.js.map +1 -0
- package/dist/lib/field-validation/rule.d.ts +55 -0
- package/dist/lib/field-validation/rule.d.ts.map +1 -0
- package/dist/lib/field-validation/rule.js +12 -10
- package/dist/lib/field-validation/rule.js.map +1 -0
- package/dist/lib/field-validation/utils.d.ts +43 -0
- package/dist/lib/field-validation/utils.d.ts.map +1 -0
- package/dist/lib/field-validation/utils.js +17 -15
- package/dist/lib/field-validation/utils.js.map +1 -0
- package/dist/lib/graphql/index.d.ts +23 -0
- package/dist/lib/graphql/index.d.ts.map +1 -0
- package/dist/lib/graphql/index.js +86 -0
- package/dist/lib/graphql/index.js.map +1 -0
- package/dist/lib/graphql/resolvers.d.ts +4 -0
- package/dist/lib/graphql/resolvers.d.ts.map +1 -0
- package/dist/lib/graphql/resolvers.js +543 -0
- package/dist/lib/graphql/resolvers.js.map +1 -0
- package/dist/lib/graphql/schema.d.ts +3 -0
- package/dist/lib/graphql/schema.d.ts.map +1 -0
- package/dist/lib/graphql/schema.js +357 -0
- package/dist/lib/graphql/schema.js.map +1 -0
- package/dist/lib/hooks.d.ts +27 -0
- package/dist/lib/hooks.d.ts.map +1 -0
- package/dist/lib/hooks.js +235 -0
- package/dist/lib/hooks.js.map +1 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +5 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/is-mobile.svelte.d.ts +5 -0
- package/dist/lib/is-mobile.svelte.d.ts.map +1 -0
- package/dist/lib/is-mobile.svelte.js +8 -0
- package/dist/lib/is-mobile.svelte.js.map +1 -0
- package/dist/lib/local-api/auth-helpers.d.ts +65 -0
- package/dist/lib/local-api/auth-helpers.d.ts.map +1 -0
- package/dist/lib/local-api/auth-helpers.js +103 -0
- package/dist/lib/local-api/auth-helpers.js.map +1 -0
- package/dist/lib/local-api/collection-api.d.ts +150 -0
- package/dist/lib/local-api/collection-api.d.ts.map +1 -0
- package/dist/lib/local-api/collection-api.js +311 -0
- package/dist/lib/local-api/collection-api.js.map +1 -0
- package/dist/lib/local-api/index.d.ts +108 -0
- package/dist/lib/local-api/index.d.ts.map +1 -0
- package/dist/lib/local-api/index.js +158 -0
- package/dist/lib/local-api/index.js.map +1 -0
- package/dist/lib/local-api/permissions.d.ts +45 -0
- package/dist/lib/local-api/permissions.d.ts.map +1 -0
- package/dist/lib/local-api/permissions.js +117 -0
- package/dist/lib/local-api/permissions.js.map +1 -0
- package/dist/lib/local-api/types.d.ts +65 -0
- package/dist/lib/local-api/types.d.ts.map +1 -0
- package/dist/lib/local-api/types.js +5 -0
- package/dist/lib/local-api/types.js.map +1 -0
- package/dist/lib/routes/assets-bulk.d.ts +3 -0
- package/dist/lib/routes/assets-bulk.d.ts.map +1 -0
- package/dist/lib/routes/assets-bulk.js +49 -0
- package/dist/lib/routes/assets-bulk.js.map +1 -0
- package/dist/lib/routes/assets-by-id.d.ts +5 -0
- package/dist/lib/routes/assets-by-id.d.ts.map +1 -0
- package/dist/lib/routes/assets-by-id.js +106 -0
- package/dist/lib/routes/assets-by-id.js.map +1 -0
- package/dist/lib/routes/assets-cdn.d.ts +3 -0
- package/dist/lib/routes/assets-cdn.d.ts.map +1 -0
- package/dist/lib/routes/assets-cdn.js +125 -0
- package/dist/lib/routes/assets-cdn.js.map +1 -0
- package/dist/lib/routes/assets-references-counts.d.ts +7 -0
- package/dist/lib/routes/assets-references-counts.d.ts.map +1 -0
- package/dist/lib/routes/assets-references-counts.js +32 -0
- package/dist/lib/routes/assets-references-counts.js.map +1 -0
- package/dist/lib/routes/assets-references.d.ts +7 -0
- package/dist/lib/routes/assets-references.d.ts.map +1 -0
- package/dist/lib/routes/assets-references.js +35 -0
- package/dist/lib/routes/assets-references.js.map +1 -0
- package/dist/lib/routes/assets.d.ts +4 -0
- package/dist/lib/routes/assets.d.ts.map +1 -0
- package/dist/lib/routes/assets.js +121 -0
- package/dist/lib/routes/assets.js.map +1 -0
- package/dist/lib/routes/documents-by-id.d.ts +5 -0
- package/dist/lib/routes/documents-by-id.d.ts.map +1 -0
- package/dist/lib/routes/documents-by-id.js +176 -0
- package/dist/lib/routes/documents-by-id.js.map +1 -0
- package/dist/lib/routes/documents-publish.d.ts +4 -0
- package/dist/lib/routes/documents-publish.d.ts.map +1 -0
- package/dist/lib/routes/documents-publish.js +138 -0
- package/dist/lib/routes/documents-publish.js.map +1 -0
- package/dist/lib/routes/documents-query.d.ts +26 -0
- package/dist/lib/routes/documents-query.d.ts.map +1 -0
- package/dist/lib/routes/documents-query.js +101 -0
- package/dist/lib/routes/documents-query.js.map +1 -0
- package/dist/lib/routes/documents.d.ts +4 -0
- package/dist/lib/routes/documents.d.ts.map +1 -0
- package/dist/lib/routes/documents.js +154 -0
- package/dist/lib/routes/documents.js.map +1 -0
- package/dist/lib/routes/index.d.ts +9 -0
- package/dist/lib/routes/index.d.ts.map +1 -0
- package/dist/lib/routes/index.js +15 -0
- package/dist/lib/routes/index.js.map +1 -0
- package/dist/lib/routes/organizations-by-id.d.ts +5 -0
- package/dist/lib/routes/organizations-by-id.d.ts.map +1 -0
- package/dist/lib/routes/organizations-by-id.js +189 -0
- package/dist/lib/routes/organizations-by-id.js.map +1 -0
- package/dist/lib/routes/organizations-invitations.d.ts +4 -0
- package/dist/lib/routes/organizations-invitations.d.ts.map +1 -0
- package/dist/lib/routes/organizations-invitations.js +127 -0
- package/dist/lib/routes/organizations-invitations.js.map +1 -0
- package/dist/lib/routes/organizations-members.d.ts +5 -0
- package/dist/lib/routes/organizations-members.d.ts.map +1 -0
- package/dist/lib/routes/organizations-members.js +208 -0
- package/dist/lib/routes/organizations-members.js.map +1 -0
- package/dist/lib/routes/organizations-switch.d.ts +3 -0
- package/dist/lib/routes/organizations-switch.d.ts.map +1 -0
- package/dist/lib/routes/organizations-switch.js +55 -0
- package/dist/lib/routes/organizations-switch.js.map +1 -0
- package/dist/lib/routes/organizations.d.ts +4 -0
- package/dist/lib/routes/organizations.d.ts.map +1 -0
- package/dist/lib/routes/organizations.js +111 -0
- package/dist/lib/routes/organizations.js.map +1 -0
- package/dist/lib/routes/schemas-by-type.d.ts +3 -0
- package/dist/lib/routes/schemas-by-type.d.ts.map +1 -0
- package/dist/lib/routes/schemas-by-type.js +27 -0
- package/dist/lib/routes/schemas-by-type.js.map +1 -0
- package/dist/lib/routes/schemas.d.ts +3 -0
- package/dist/lib/routes/schemas.d.ts.map +1 -0
- package/dist/lib/routes/schemas.js +12 -0
- package/dist/lib/routes/schemas.js.map +1 -0
- package/dist/lib/routes/user-preferences.d.ts +4 -0
- package/dist/lib/routes/user-preferences.d.ts.map +1 -0
- package/dist/lib/routes/user-preferences.js +79 -0
- package/dist/lib/routes/user-preferences.js.map +1 -0
- package/dist/lib/routes-exports.d.ts +17 -0
- package/dist/lib/routes-exports.d.ts.map +1 -0
- package/dist/lib/routes-exports.js +23 -0
- package/dist/lib/routes-exports.js.map +1 -0
- package/dist/lib/schema/index.d.ts +6 -0
- package/dist/lib/schema/index.d.ts.map +1 -0
- package/dist/lib/schema/index.js +12 -0
- package/dist/lib/schema/index.js.map +1 -0
- package/dist/lib/schema-context.svelte.d.ts +10 -0
- package/dist/lib/schema-context.svelte.d.ts.map +1 -0
- package/dist/lib/schema-context.svelte.js +19 -0
- package/dist/lib/schema-context.svelte.js.map +1 -0
- package/dist/lib/schema-utils/cleanup.d.ts +21 -0
- package/dist/lib/schema-utils/cleanup.d.ts.map +1 -0
- package/dist/lib/schema-utils/cleanup.js +81 -0
- package/dist/lib/schema-utils/cleanup.js.map +1 -0
- package/dist/lib/schema-utils/index.d.ts +4 -0
- package/dist/lib/schema-utils/index.d.ts.map +1 -0
- package/dist/lib/schema-utils/index.js +5 -0
- package/dist/lib/schema-utils/index.js.map +1 -0
- package/dist/lib/schema-utils/utils.d.ts +34 -0
- package/dist/lib/schema-utils/utils.d.ts.map +1 -0
- package/dist/lib/schema-utils/utils.js +59 -0
- package/dist/lib/schema-utils/utils.js.map +1 -0
- package/dist/lib/schema-utils/validator.d.ts +10 -0
- package/dist/lib/schema-utils/validator.d.ts.map +1 -0
- package/dist/lib/schema-utils/validator.js +167 -0
- package/dist/lib/schema-utils/validator.js.map +1 -0
- package/dist/lib/server/index.d.ts +19 -0
- package/dist/lib/server/index.d.ts.map +1 -0
- package/dist/lib/server/index.js +35 -0
- package/dist/lib/server/index.js.map +1 -0
- package/dist/lib/services/asset-service.d.ts +86 -0
- package/dist/lib/services/asset-service.d.ts.map +1 -0
- package/dist/lib/services/asset-service.js +189 -0
- package/dist/lib/services/asset-service.js.map +1 -0
- package/dist/lib/services/index.d.ts +3 -0
- package/dist/lib/services/index.d.ts.map +1 -0
- package/dist/lib/services/index.js +5 -0
- package/dist/lib/services/index.js.map +1 -0
- package/dist/lib/storage/adapters/index.d.ts +2 -0
- package/dist/lib/storage/adapters/index.d.ts.map +1 -0
- package/dist/lib/storage/adapters/index.js +3 -0
- package/dist/lib/storage/adapters/index.js.map +1 -0
- package/dist/lib/storage/adapters/local-storage-adapter.d.ts +54 -0
- package/dist/lib/storage/adapters/local-storage-adapter.d.ts.map +1 -0
- package/dist/lib/storage/adapters/local-storage-adapter.js +189 -0
- package/dist/lib/storage/adapters/local-storage-adapter.js.map +1 -0
- package/dist/lib/storage/index.d.ts +3 -0
- package/dist/lib/storage/index.d.ts.map +1 -0
- package/dist/lib/storage/index.js +7 -0
- package/dist/lib/storage/index.js.map +1 -0
- package/dist/lib/storage/interfaces/index.d.ts +2 -0
- package/dist/lib/storage/interfaces/index.d.ts.map +1 -0
- package/dist/lib/storage/interfaces/index.js +1 -0
- package/dist/lib/storage/interfaces/index.js.map +1 -0
- package/dist/lib/storage/interfaces/storage.d.ts +91 -0
- package/dist/lib/storage/interfaces/storage.d.ts.map +1 -0
- package/dist/lib/storage/interfaces/storage.js +1 -0
- package/dist/lib/storage/interfaces/storage.js.map +1 -0
- package/dist/lib/storage/providers/storage.d.ts +43 -0
- package/dist/lib/storage/providers/storage.d.ts.map +1 -0
- package/dist/lib/storage/providers/storage.js +65 -0
- package/dist/lib/storage/providers/storage.js.map +1 -0
- package/dist/lib/types/asset.d.ts +73 -0
- package/dist/lib/types/asset.d.ts.map +1 -0
- package/dist/lib/types/asset.js +1 -0
- package/dist/lib/types/asset.js.map +1 -0
- package/dist/lib/types/auth.d.ts +62 -0
- package/dist/lib/types/auth.d.ts.map +1 -0
- package/dist/lib/types/auth.js +7 -5
- package/dist/lib/types/auth.js.map +1 -0
- package/dist/lib/types/config.d.ts +77 -0
- package/dist/lib/types/config.d.ts.map +1 -0
- package/dist/lib/types/config.js +1 -0
- package/dist/lib/types/config.js.map +1 -0
- package/dist/lib/types/document.d.ts +35 -0
- package/dist/lib/types/document.d.ts.map +1 -0
- package/dist/lib/types/document.js +1 -0
- package/dist/lib/types/document.js.map +1 -0
- package/dist/lib/types/filters.d.ts +186 -0
- package/dist/lib/types/filters.d.ts.map +1 -0
- package/dist/lib/types/filters.js +1 -0
- package/dist/lib/types/filters.js.map +1 -0
- package/dist/lib/types/index.d.ts +11 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/lib/types/index.js +2 -0
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/types/instance.d.ts +5 -0
- package/dist/lib/types/instance.d.ts.map +1 -0
- package/dist/lib/types/instance.js +3 -0
- package/dist/lib/types/instance.js.map +1 -0
- package/dist/lib/types/organization.d.ts +108 -0
- package/dist/lib/types/organization.d.ts.map +1 -0
- package/dist/lib/types/organization.js +1 -0
- package/dist/lib/types/organization.js.map +1 -0
- package/dist/lib/types/schemas.d.ts +179 -0
- package/dist/lib/types/schemas.d.ts.map +1 -0
- package/dist/lib/types/schemas.js +1 -0
- package/dist/lib/types/schemas.js.map +1 -0
- package/dist/lib/types/sidebar.d.ts +34 -0
- package/dist/lib/types/sidebar.d.ts.map +1 -0
- package/dist/lib/types/sidebar.js +1 -0
- package/dist/lib/types/sidebar.js.map +1 -0
- package/dist/lib/types/user.d.ts +14 -0
- package/dist/lib/types/user.d.ts.map +1 -0
- package/dist/lib/types/user.js +1 -0
- package/dist/lib/types/user.js.map +1 -0
- package/dist/lib/utils/asset-actions.d.ts +9 -0
- package/dist/lib/utils/asset-actions.d.ts.map +1 -0
- package/dist/lib/utils/asset-actions.js +28 -0
- package/dist/lib/utils/asset-actions.js.map +1 -0
- package/dist/lib/utils/content-hash.d.ts +22 -0
- package/dist/lib/utils/content-hash.d.ts.map +1 -0
- package/dist/lib/utils/content-hash.js +68 -0
- package/dist/lib/utils/content-hash.js.map +1 -0
- package/dist/lib/utils/default-orderings.d.ts +10 -0
- package/dist/lib/utils/default-orderings.d.ts.map +1 -0
- package/dist/lib/utils/default-orderings.js +64 -0
- package/dist/lib/utils/default-orderings.js.map +1 -0
- package/dist/lib/utils/element-events.d.ts +15 -0
- package/dist/lib/utils/element-events.d.ts.map +1 -0
- package/dist/lib/utils/element-events.js +17 -0
- package/dist/lib/utils/element-events.js.map +1 -0
- package/dist/lib/utils/field-defaults.d.ts +8 -0
- package/dist/lib/utils/field-defaults.d.ts.map +1 -0
- package/dist/lib/utils/field-defaults.js +21 -0
- package/dist/lib/utils/field-defaults.js.map +1 -0
- package/dist/lib/utils/image-url.d.ts +88 -0
- package/dist/lib/utils/image-url.d.ts.map +1 -0
- package/dist/lib/utils/image-url.js +167 -0
- package/dist/lib/utils/image-url.js.map +1 -0
- package/dist/lib/utils/index.d.ts +8 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +13 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/initial-value-helpers.d.ts +50 -0
- package/dist/lib/utils/initial-value-helpers.d.ts.map +1 -0
- package/dist/lib/utils/initial-value-helpers.js +71 -0
- package/dist/lib/utils/initial-value-helpers.js.map +1 -0
- package/dist/lib/utils/logger.d.ts +9 -0
- package/dist/lib/utils/logger.d.ts.map +1 -0
- package/dist/lib/utils/logger.js +30 -0
- package/dist/lib/utils/logger.js.map +1 -0
- package/dist/lib/utils/slug.d.ts +13 -0
- package/dist/lib/utils/slug.d.ts.map +1 -0
- package/dist/lib/utils/slug.js +31 -0
- package/dist/lib/utils/slug.js.map +1 -0
- package/dist/lib/utils.d.ts +13 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +6 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/local-api/index.d.ts.map +1 -1
- package/dist/local-api/permissions.d.ts.map +1 -1
- package/dist/local-api/permissions.js +3 -4
- package/dist/routes/assets-bulk.d.ts +3 -0
- package/dist/routes/assets-bulk.d.ts.map +1 -0
- package/dist/routes/assets-bulk.js +48 -0
- package/dist/routes/assets-by-id.d.ts.map +1 -1
- package/dist/routes/assets-by-id.js +22 -55
- package/dist/routes/assets-cdn.d.ts.map +1 -1
- package/dist/routes/assets-cdn.js +12 -50
- package/dist/routes/assets-references-counts.d.ts +7 -0
- package/dist/routes/assets-references-counts.d.ts.map +1 -0
- package/dist/routes/assets-references-counts.js +31 -0
- package/dist/routes/assets-references.d.ts +7 -0
- package/dist/routes/assets-references.d.ts.map +1 -0
- package/dist/routes/assets-references.js +34 -0
- package/dist/routes/assets.d.ts.map +1 -1
- package/dist/routes/assets.js +27 -6
- package/dist/routes/documents-by-id.d.ts.map +1 -1
- package/dist/routes/documents-by-id.js +4 -3
- package/dist/routes/documents-publish.d.ts.map +1 -1
- package/dist/routes/documents-publish.js +3 -2
- package/dist/routes/documents-query.d.ts.map +1 -1
- package/dist/routes/documents-query.js +2 -1
- package/dist/routes/documents.d.ts.map +1 -1
- package/dist/routes/documents.js +3 -2
- package/dist/routes/organizations-by-id.d.ts.map +1 -1
- package/dist/routes/organizations-by-id.js +4 -3
- package/dist/routes/organizations-invitations.d.ts.map +1 -1
- package/dist/routes/organizations-invitations.js +5 -4
- package/dist/routes/organizations-members.d.ts.map +1 -1
- package/dist/routes/organizations-members.js +7 -6
- package/dist/routes/organizations-switch.d.ts.map +1 -1
- package/dist/routes/organizations-switch.js +2 -1
- package/dist/routes/organizations.d.ts.map +1 -1
- package/dist/routes/organizations.js +3 -2
- package/dist/routes/schemas-by-type.d.ts.map +1 -1
- package/dist/routes/schemas-by-type.js +3 -2
- package/dist/routes/user-preferences.d.ts.map +1 -1
- package/dist/routes/user-preferences.js +3 -2
- package/dist/routes-exports.d.ts +3 -0
- package/dist/routes-exports.d.ts.map +1 -1
- package/dist/routes-exports.js +3 -0
- package/dist/schema/index.d.ts +6 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +11 -0
- package/dist/schema-utils/validator.d.ts.map +1 -1
- package/dist/schema-utils/validator.js +4 -3
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +4 -0
- package/dist/services/asset-service.d.ts.map +1 -1
- package/dist/services/asset-service.js +8 -7
- package/dist/storage/adapters/local-storage-adapter.d.ts.map +1 -1
- package/dist/storage/adapters/local-storage-adapter.js +5 -4
- package/dist/types/auth.d.ts +13 -1
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/auth.js +6 -5
- package/dist/types/config.d.ts +14 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/document.d.ts +1 -1
- package/dist/types/document.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/instance.d.ts +5 -0
- package/dist/types/instance.d.ts.map +1 -0
- package/dist/types/instance.js +2 -0
- package/dist/types/schemas.d.ts +1 -1
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/sidebar.d.ts +1 -0
- package/dist/types/sidebar.d.ts.map +1 -1
- package/dist/utils/asset-actions.d.ts +9 -0
- package/dist/utils/asset-actions.d.ts.map +1 -0
- package/dist/utils/asset-actions.js +27 -0
- package/dist/utils/element-events.d.ts +15 -0
- package/dist/utils/element-events.d.ts.map +1 -0
- package/dist/utils/element-events.js +16 -0
- package/dist/utils/image-url.d.ts.map +1 -1
- package/dist/utils/image-url.js +10 -9
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/logger.d.ts +9 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +29 -0
- package/package.json +132 -103
- package/LICENSE +0 -21
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { json } from '@sveltejs/kit';
|
|
2
|
+
import { cmsLogger } from '../utils/logger.js';
|
|
3
|
+
export const GET = async ({ params, locals }) => {
|
|
4
|
+
try {
|
|
5
|
+
const { assetService } = locals.aphexCMS;
|
|
6
|
+
const auth = locals.auth;
|
|
7
|
+
const { id } = params;
|
|
8
|
+
if (!auth || auth.type === 'partial_session') {
|
|
9
|
+
return json({ success: false, error: 'Unauthorized' }, { status: 401 });
|
|
10
|
+
}
|
|
11
|
+
if (!id) {
|
|
12
|
+
return json({ success: false, error: 'Asset ID is required' }, { status: 400 });
|
|
13
|
+
}
|
|
14
|
+
const asset = await assetService.findAssetById(auth.organizationId, id);
|
|
15
|
+
if (!asset) {
|
|
16
|
+
return json({ success: false, error: 'Asset not found' }, { status: 404 });
|
|
17
|
+
}
|
|
18
|
+
// Return asset data consistent with list endpoint
|
|
19
|
+
return json({
|
|
20
|
+
success: true,
|
|
21
|
+
data: asset
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
cmsLogger.error('[Asset API] Error fetching asset:', error);
|
|
26
|
+
return json({ success: false, error: 'Failed to fetch asset' }, { status: 500 });
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export const DELETE = async ({ params, locals }) => {
|
|
30
|
+
try {
|
|
31
|
+
const { id } = params;
|
|
32
|
+
const { assetService, databaseAdapter } = locals.aphexCMS;
|
|
33
|
+
const auth = locals.auth;
|
|
34
|
+
if (!auth || auth.type === 'partial_session') {
|
|
35
|
+
return json({ success: false, error: 'Unauthorized' }, { status: 401 });
|
|
36
|
+
}
|
|
37
|
+
if (!id) {
|
|
38
|
+
return json({ success: false, error: 'Asset ID is required' }, { status: 400 });
|
|
39
|
+
}
|
|
40
|
+
// Check for document references before deleting
|
|
41
|
+
if (databaseAdapter.findDocumentsReferencingAsset) {
|
|
42
|
+
const refs = await databaseAdapter.findDocumentsReferencingAsset(auth.organizationId, id);
|
|
43
|
+
if (refs.length > 0) {
|
|
44
|
+
return json({
|
|
45
|
+
success: false,
|
|
46
|
+
error: `Cannot delete asset — it is referenced by ${refs.length} document${refs.length > 1 ? 's' : ''}`
|
|
47
|
+
}, { status: 409 });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const result = await assetService.deleteAsset(auth.organizationId, id);
|
|
51
|
+
if (!result) {
|
|
52
|
+
return json({ success: false, error: 'Asset not found or could not be deleted' }, { status: 404 });
|
|
53
|
+
}
|
|
54
|
+
return json({ success: true });
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
cmsLogger.error('Error deleting asset:', error);
|
|
58
|
+
return json({ success: false, error: 'Failed to delete asset' }, { status: 500 });
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
export const PATCH = async ({ params, locals, request }) => {
|
|
62
|
+
try {
|
|
63
|
+
const { assetService } = locals.aphexCMS;
|
|
64
|
+
const auth = locals.auth;
|
|
65
|
+
const { id } = params;
|
|
66
|
+
if (!auth || auth.type === 'partial_session') {
|
|
67
|
+
return json({ success: false, error: 'Unauthorized' }, { status: 401 });
|
|
68
|
+
}
|
|
69
|
+
if (!id) {
|
|
70
|
+
return json({ success: false, error: 'Asset ID is required' }, { status: 400 });
|
|
71
|
+
}
|
|
72
|
+
const { title, description, alt, creditLine } = await request.json();
|
|
73
|
+
let updatedAsset;
|
|
74
|
+
if (auth.type == 'session') {
|
|
75
|
+
updatedAsset = await assetService.updateAssetMetadata(auth.organizationId, id, {
|
|
76
|
+
title,
|
|
77
|
+
description,
|
|
78
|
+
alt,
|
|
79
|
+
creditLine,
|
|
80
|
+
updatedBy: auth.user.id
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
updatedAsset = await assetService.updateAssetMetadata(auth.organizationId, id, {
|
|
85
|
+
title,
|
|
86
|
+
description,
|
|
87
|
+
alt,
|
|
88
|
+
creditLine,
|
|
89
|
+
updatedBy: auth.keyId
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
if (!updatedAsset) {
|
|
93
|
+
return json({ success: false, error: 'Asset not found' }, { status: 404 });
|
|
94
|
+
}
|
|
95
|
+
// Return updated asset data consistent with list endpoint
|
|
96
|
+
return json({
|
|
97
|
+
success: true,
|
|
98
|
+
data: updatedAsset
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
cmsLogger.error('Error updating asset:', error);
|
|
103
|
+
return json({ success: false, error: 'Failed to update asset' }, { status: 500 });
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=assets-by-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-by-id.js","sourceRoot":"","sources":["../../../src/lib/routes/assets-by-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-cdn.d.ts","sourceRoot":"","sources":["../../../src/lib/routes/assets-cdn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,eAAO,MAAM,GAAG,EAAE,cAoJjB,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { cmsLogger } from '../utils/logger.js';
|
|
2
|
+
export const GET = async ({ params, locals, setHeaders, request }) => {
|
|
3
|
+
try {
|
|
4
|
+
const { assetService, databaseAdapter, storageAdapter, cmsEngine, config } = locals.aphexCMS;
|
|
5
|
+
let auth = locals.auth;
|
|
6
|
+
const { id, filename } = params;
|
|
7
|
+
cmsLogger.debug('[Asset CDN]', 'Request for asset:', id, filename);
|
|
8
|
+
// If no session auth, check for API key in headers
|
|
9
|
+
if (!auth) {
|
|
10
|
+
const apiKey = request.headers.get('x-api-key');
|
|
11
|
+
if (apiKey && config.auth?.provider) {
|
|
12
|
+
try {
|
|
13
|
+
const apiKeyAuth = await config.auth.provider.validateApiKey(request, databaseAdapter);
|
|
14
|
+
if (apiKeyAuth) {
|
|
15
|
+
auth = apiKeyAuth;
|
|
16
|
+
cmsLogger.debug('[Asset CDN]', 'Authenticated via API key');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
cmsLogger.warn('[Asset CDN]', 'API key validation failed:', err);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (!id) {
|
|
25
|
+
return new Response('Asset ID is required', { status: 400 });
|
|
26
|
+
}
|
|
27
|
+
// Try to fetch asset globally first (bypasses RLS for public assets)
|
|
28
|
+
const asset = await assetService.findAssetByIdGlobal(id);
|
|
29
|
+
if (!asset) {
|
|
30
|
+
cmsLogger.warn('[Asset CDN]', 'Asset not found:', id);
|
|
31
|
+
return new Response('Asset not found', { status: 404 });
|
|
32
|
+
}
|
|
33
|
+
const organizationId = auth && auth.type !== 'partial_session' ? auth.organizationId : undefined;
|
|
34
|
+
// Check if this asset is used in a private field
|
|
35
|
+
// The field metadata (schemaType and fieldPath) is stored when the asset is uploaded
|
|
36
|
+
let isPrivate = false;
|
|
37
|
+
const schemaType = asset.metadata?.schemaType;
|
|
38
|
+
const fieldPath = asset.metadata?.fieldPath;
|
|
39
|
+
if (schemaType && fieldPath) {
|
|
40
|
+
// Get the schema definition from IN-MEMORY config (always up-to-date with code changes)
|
|
41
|
+
const schema = cmsEngine.getSchemaTypeByName(schemaType);
|
|
42
|
+
if (schema && schema.fields) {
|
|
43
|
+
// Navigate the field path to find the field definition
|
|
44
|
+
const findField = (fields, path) => {
|
|
45
|
+
const parts = path.split('.');
|
|
46
|
+
let current = null;
|
|
47
|
+
for (let i = 0; i < parts.length; i++) {
|
|
48
|
+
const part = parts[i];
|
|
49
|
+
current = fields.find((f) => f.name === part);
|
|
50
|
+
if (!current)
|
|
51
|
+
return null;
|
|
52
|
+
// If not the last part, navigate into nested fields
|
|
53
|
+
if (i < parts.length - 1) {
|
|
54
|
+
if (current.type === 'object' && current.fields) {
|
|
55
|
+
fields = current.fields;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return current;
|
|
63
|
+
};
|
|
64
|
+
const field = findField(schema.fields, fieldPath);
|
|
65
|
+
if (field && field.type === 'image') {
|
|
66
|
+
isPrivate = field.private === true;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
cmsLogger.warn('[Asset CDN]', `Could not find field: ${schemaType}.${fieldPath}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
cmsLogger.debug('[Asset CDN]', 'Asset privacy:', { isPrivate, schemaType, fieldPath });
|
|
74
|
+
// If asset is private, require auth
|
|
75
|
+
if (isPrivate && !organizationId) {
|
|
76
|
+
cmsLogger.warn('[Asset CDN]', 'Private asset accessed without auth');
|
|
77
|
+
return new Response('Unauthorized - This asset is private', { status: 401 });
|
|
78
|
+
}
|
|
79
|
+
// If asset is private, verify user has access to the asset's org
|
|
80
|
+
// This includes exact match OR parent org accessing child org asset (hierarchy)
|
|
81
|
+
if (isPrivate && organizationId) {
|
|
82
|
+
let hasAccess = organizationId === asset.organizationId; // Same org
|
|
83
|
+
// If not same org, check if asset's org is a child of user's org (hierarchy)
|
|
84
|
+
if (!hasAccess && databaseAdapter.getChildOrganizations) {
|
|
85
|
+
const childOrgs = await databaseAdapter.getChildOrganizations(organizationId);
|
|
86
|
+
hasAccess = childOrgs.includes(asset.organizationId);
|
|
87
|
+
}
|
|
88
|
+
if (!hasAccess) {
|
|
89
|
+
cmsLogger.warn('[Asset CDN]', 'Forbidden: org mismatch for private asset');
|
|
90
|
+
return new Response('Forbidden', { status: 403 });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// If asset has a direct URL (S3/R2), redirect to it
|
|
94
|
+
if (asset.url && asset.url.startsWith('http')) {
|
|
95
|
+
return new Response(null, {
|
|
96
|
+
status: 302,
|
|
97
|
+
headers: { Location: asset.url }
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
// Otherwise, serve from local storage
|
|
101
|
+
if (!storageAdapter?.getObject) {
|
|
102
|
+
cmsLogger.error('[Asset CDN]', 'Storage adapter does not support getObject');
|
|
103
|
+
return new Response('Storage adapter does not support file serving', { status: 500 });
|
|
104
|
+
}
|
|
105
|
+
const fileBuffer = await storageAdapter.getObject(asset.path);
|
|
106
|
+
// Set appropriate headers for the asset
|
|
107
|
+
setHeaders({
|
|
108
|
+
'Content-Type': asset.mimeType || 'application/octet-stream',
|
|
109
|
+
'Content-Length': fileBuffer.length.toString(),
|
|
110
|
+
'Cache-Control': 'public, max-age=31536000, immutable', // Cache for 1 year
|
|
111
|
+
'Content-Disposition': `inline; filename="${encodeURIComponent(asset.originalFilename || asset.filename)}"`,
|
|
112
|
+
...(asset.mimeType?.startsWith('image/') && {
|
|
113
|
+
'Accept-Ranges': 'bytes'
|
|
114
|
+
})
|
|
115
|
+
});
|
|
116
|
+
// Convert Buffer to ArrayBuffer for Response
|
|
117
|
+
const arrayBuffer = fileBuffer.buffer.slice(fileBuffer.byteOffset, fileBuffer.byteOffset + fileBuffer.byteLength);
|
|
118
|
+
return new Response(arrayBuffer);
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
cmsLogger.error('[Asset CDN]', 'Error serving asset:', error);
|
|
122
|
+
return new Response('Failed to serve asset', { status: 500 });
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
//# sourceMappingURL=assets-cdn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-cdn.js","sourceRoot":"","sources":["../../../src/lib/routes/assets-cdn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-references-counts.d.ts","sourceRoot":"","sources":["../../../src/lib/routes/assets-references-counts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,cA4BlB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { json } from '@sveltejs/kit';
|
|
2
|
+
import { cmsLogger } from '../utils/logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* POST /api/assets/references/counts
|
|
5
|
+
* Get reference counts for multiple asset IDs in batch
|
|
6
|
+
*/
|
|
7
|
+
export const POST = async ({ request, locals }) => {
|
|
8
|
+
try {
|
|
9
|
+
const { databaseAdapter } = locals.aphexCMS;
|
|
10
|
+
const auth = locals.auth;
|
|
11
|
+
if (!auth || auth.type === 'partial_session') {
|
|
12
|
+
return json({ success: false, error: 'Unauthorized' }, { status: 401 });
|
|
13
|
+
}
|
|
14
|
+
const { ids } = await request.json();
|
|
15
|
+
if (!Array.isArray(ids) || ids.length === 0) {
|
|
16
|
+
return json({ success: true, data: {} });
|
|
17
|
+
}
|
|
18
|
+
if (!databaseAdapter.countDocumentReferencesForAssets) {
|
|
19
|
+
const counts = {};
|
|
20
|
+
for (const id of ids)
|
|
21
|
+
counts[id] = 0;
|
|
22
|
+
return json({ success: true, data: counts });
|
|
23
|
+
}
|
|
24
|
+
const counts = await databaseAdapter.countDocumentReferencesForAssets(auth.organizationId, ids);
|
|
25
|
+
return json({ success: true, data: counts });
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
cmsLogger.error('Failed to count asset references:', error);
|
|
29
|
+
return json({ success: false, error: 'Failed to count asset references' }, { status: 500 });
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=assets-references-counts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-references-counts.js","sourceRoot":"","sources":["../../../src/lib/routes/assets-references-counts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAmB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;IACjE,IAAI,CAAC;QACJ,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAErC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,gCAAgC,EAAE,CAAC;YACvD,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,KAAK,MAAM,EAAE,IAAI,GAAG;gBAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gCAAgC,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAEhG,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,SAAS,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7F,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-references.d.ts","sourceRoot":"","sources":["../../../src/lib/routes/assets-references.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD;;;GAGG;AACH,eAAO,MAAM,GAAG,EAAE,cA+BjB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { json } from '@sveltejs/kit';
|
|
2
|
+
import { cmsLogger } from '../utils/logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* GET /api/assets/:id/references
|
|
5
|
+
* Find documents that reference a specific asset
|
|
6
|
+
*/
|
|
7
|
+
export const GET = async ({ params, locals }) => {
|
|
8
|
+
try {
|
|
9
|
+
const { databaseAdapter } = locals.aphexCMS;
|
|
10
|
+
const auth = locals.auth;
|
|
11
|
+
if (!auth || auth.type === 'partial_session') {
|
|
12
|
+
return json({ success: false, error: 'Unauthorized' }, { status: 401 });
|
|
13
|
+
}
|
|
14
|
+
const { id } = params;
|
|
15
|
+
if (!id) {
|
|
16
|
+
return json({ success: false, error: 'Asset ID is required' }, { status: 400 });
|
|
17
|
+
}
|
|
18
|
+
if (!databaseAdapter.findDocumentsReferencingAsset) {
|
|
19
|
+
return json({ success: true, data: { references: [], total: 0 } });
|
|
20
|
+
}
|
|
21
|
+
const references = await databaseAdapter.findDocumentsReferencingAsset(auth.organizationId, id);
|
|
22
|
+
return json({
|
|
23
|
+
success: true,
|
|
24
|
+
data: {
|
|
25
|
+
references,
|
|
26
|
+
total: references.length
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
cmsLogger.error('Failed to find asset references:', error);
|
|
32
|
+
return json({ success: false, error: 'Failed to find asset references' }, { status: 500 });
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=assets-references.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-references.js","sourceRoot":"","sources":["../../../src/lib/routes/assets-references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,GAAG,GAAmB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;IAC/D,IAAI,CAAC;QACJ,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,6BAA6B,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,6BAA6B,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAEhG,OAAO,IAAI,CAAC;YACX,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACL,UAAU;gBACV,KAAK,EAAE,UAAU,CAAC,MAAM;aACxB;SACD,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,SAAS,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5F,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/lib/routes/assets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,eAAO,MAAM,IAAI,EAAE,cAuElB,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,cAiEjB,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// Aphex CMS Asset API Handlers
|
|
2
|
+
import { json } from '@sveltejs/kit';
|
|
3
|
+
import { cmsLogger } from '../utils/logger.js';
|
|
4
|
+
export const POST = async ({ request, locals }) => {
|
|
5
|
+
try {
|
|
6
|
+
const { assetService } = locals.aphexCMS;
|
|
7
|
+
const auth = locals.auth;
|
|
8
|
+
if (!auth || auth.type === 'partial_session') {
|
|
9
|
+
return json({ success: false, error: 'Unauthorized' }, { status: 401 });
|
|
10
|
+
}
|
|
11
|
+
const formData = await request.formData();
|
|
12
|
+
const file = formData.get('file');
|
|
13
|
+
if (!file) {
|
|
14
|
+
return json({ success: false, error: 'No file provided' }, { status: 400 });
|
|
15
|
+
}
|
|
16
|
+
// Convert file to buffer
|
|
17
|
+
const arrayBuffer = await file.arrayBuffer();
|
|
18
|
+
const buffer = Buffer.from(arrayBuffer);
|
|
19
|
+
// Get optional metadata from form data
|
|
20
|
+
const title = formData.get('title') || undefined;
|
|
21
|
+
const description = formData.get('description') || undefined;
|
|
22
|
+
const alt = formData.get('alt') || undefined;
|
|
23
|
+
const creditLine = formData.get('creditLine') || undefined;
|
|
24
|
+
// Get field metadata for privacy checking
|
|
25
|
+
const schemaType = formData.get('schemaType') || undefined;
|
|
26
|
+
const fieldPath = formData.get('fieldPath') || undefined;
|
|
27
|
+
// Get target organization (document's org takes precedence)
|
|
28
|
+
// This allows assets to belong to the document's org, not the uploader's org
|
|
29
|
+
const targetOrganizationId = formData.get('organizationId') || auth.organizationId;
|
|
30
|
+
// Create asset upload data
|
|
31
|
+
const uploadData = {
|
|
32
|
+
organizationId: targetOrganizationId, // Asset belongs to document's org
|
|
33
|
+
buffer,
|
|
34
|
+
originalFilename: file.name,
|
|
35
|
+
mimeType: file.type,
|
|
36
|
+
size: file.size,
|
|
37
|
+
title,
|
|
38
|
+
description,
|
|
39
|
+
alt,
|
|
40
|
+
creditLine,
|
|
41
|
+
createdBy: auth.type === 'session' ? auth.user.id : undefined,
|
|
42
|
+
metadata: {
|
|
43
|
+
schemaType,
|
|
44
|
+
fieldPath
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
// Upload asset using the service
|
|
48
|
+
// The adapter will validate hierarchy access via withOrgContext
|
|
49
|
+
const asset = await assetService.uploadAsset(targetOrganizationId, uploadData);
|
|
50
|
+
return json({
|
|
51
|
+
success: true,
|
|
52
|
+
data: asset
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
cmsLogger.error('Asset upload failed:', error);
|
|
57
|
+
return json({
|
|
58
|
+
success: false,
|
|
59
|
+
error: 'Asset upload failed',
|
|
60
|
+
message: error instanceof Error ? error.message : 'Unknown error'
|
|
61
|
+
}, { status: 500 });
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
export const GET = async ({ url, locals }) => {
|
|
65
|
+
try {
|
|
66
|
+
const { assetService } = locals.aphexCMS;
|
|
67
|
+
const auth = locals.auth;
|
|
68
|
+
if (!auth || auth.type === 'partial_session') {
|
|
69
|
+
return json({ success: false, error: 'Unauthorized' }, { status: 401 });
|
|
70
|
+
}
|
|
71
|
+
// Parse query parameters
|
|
72
|
+
const assetType = url.searchParams.get('assetType');
|
|
73
|
+
const mimeType = url.searchParams.get('mimeType') || undefined;
|
|
74
|
+
const search = url.searchParams.get('search') || undefined;
|
|
75
|
+
const limitParam = url.searchParams.get('limit');
|
|
76
|
+
const offsetParam = url.searchParams.get('offset');
|
|
77
|
+
const limit = limitParam ? parseInt(limitParam) : 20;
|
|
78
|
+
const offset = offsetParam ? parseInt(offsetParam) : 0;
|
|
79
|
+
const filters = {
|
|
80
|
+
assetType,
|
|
81
|
+
mimeType,
|
|
82
|
+
search,
|
|
83
|
+
limit: isNaN(limit) ? 20 : limit,
|
|
84
|
+
offset: isNaN(offset) ? 0 : offset
|
|
85
|
+
};
|
|
86
|
+
// Fetch assets and total count in parallel
|
|
87
|
+
const [fetchedAssets, totalAssets] = await Promise.all([
|
|
88
|
+
assetService.findAssets(auth.organizationId, filters),
|
|
89
|
+
assetService.findAssets(auth.organizationId, {
|
|
90
|
+
...filters,
|
|
91
|
+
limit: 999999,
|
|
92
|
+
offset: 0
|
|
93
|
+
})
|
|
94
|
+
]);
|
|
95
|
+
const total = totalAssets.length;
|
|
96
|
+
const pageSize = filters.limit || 20;
|
|
97
|
+
const currentPage = Math.floor(filters.offset / pageSize) + 1;
|
|
98
|
+
const totalPages = Math.ceil(total / pageSize);
|
|
99
|
+
return json({
|
|
100
|
+
success: true,
|
|
101
|
+
data: fetchedAssets,
|
|
102
|
+
pagination: {
|
|
103
|
+
total,
|
|
104
|
+
page: currentPage,
|
|
105
|
+
pageSize,
|
|
106
|
+
totalPages,
|
|
107
|
+
hasNextPage: currentPage < totalPages,
|
|
108
|
+
hasPrevPage: currentPage > 1
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
cmsLogger.error('Failed to fetch assets:', error);
|
|
114
|
+
return json({
|
|
115
|
+
success: false,
|
|
116
|
+
error: 'Failed to fetch assets',
|
|
117
|
+
message: error instanceof Error ? error.message : 'Unknown error'
|
|
118
|
+
}, { status: 500 });
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/lib/routes/assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documents-by-id.d.ts","sourceRoot":"","sources":["../../../src/lib/routes/documents-by-id.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAOpD,eAAO,MAAM,GAAG,EAAE,cAuEjB,CAAC;AAIF,eAAO,MAAM,GAAG,EAAE,cAkFjB,CAAC;AAGF,eAAO,MAAM,MAAM,EAAE,cA+DpB,CAAC"}
|