@aphexcms/cms-core 0.2.3 → 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 @@
|
|
|
1
|
+
{"version":3,"file":"collection-api.js","sourceRoot":"","sources":["../../../src/lib/local-api/collection-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { CMSConfig } from '../types/config.js';
|
|
2
|
+
import type { DatabaseAdapter } from '../db/index.js';
|
|
3
|
+
import type { SchemaType } from '../types/schemas.js';
|
|
4
|
+
import { CollectionAPI } from './collection-api.js';
|
|
5
|
+
/**
|
|
6
|
+
* Collections map - provides type-safe access to all collections
|
|
7
|
+
* This interface is meant to be augmented by generated types
|
|
8
|
+
*/
|
|
9
|
+
export interface Collections {
|
|
10
|
+
[collectionName: string]: CollectionAPI<unknown>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Local API - provides a unified, type-safe interface for all CMS operations
|
|
14
|
+
*
|
|
15
|
+
* This is the single source of truth for data operations in Aphex CMS.
|
|
16
|
+
* GraphQL and REST APIs should be thin wrappers around this Local API.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Initialize
|
|
21
|
+
* const api = await getLocalAPI(config);
|
|
22
|
+
*
|
|
23
|
+
* // Query documents
|
|
24
|
+
* const pages = await api.collections.pages.find(
|
|
25
|
+
* { organizationId: 'org_123', user },
|
|
26
|
+
* { where: { status: { equals: 'published' } } }
|
|
27
|
+
* );
|
|
28
|
+
*
|
|
29
|
+
* // Create document
|
|
30
|
+
* const newPage = await api.collections.pages.create(
|
|
31
|
+
* { organizationId: 'org_123', user },
|
|
32
|
+
* { title: 'Hello', slug: 'hello' }
|
|
33
|
+
* );
|
|
34
|
+
*
|
|
35
|
+
* // System operation (bypasses RLS)
|
|
36
|
+
* const allPages = await api.collections.pages.find(
|
|
37
|
+
* { organizationId: 'org_123', overrideAccess: true },
|
|
38
|
+
* { limit: 100 }
|
|
39
|
+
* );
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare class LocalAPI {
|
|
43
|
+
private config;
|
|
44
|
+
collections: Collections;
|
|
45
|
+
private userAdapter;
|
|
46
|
+
private systemAdapter;
|
|
47
|
+
private permissions;
|
|
48
|
+
private schemas;
|
|
49
|
+
constructor(config: CMSConfig, userAdapter: DatabaseAdapter, systemAdapter?: DatabaseAdapter);
|
|
50
|
+
/**
|
|
51
|
+
* Initialize collection APIs for all document schema types
|
|
52
|
+
*/
|
|
53
|
+
private initializeCollections;
|
|
54
|
+
/**
|
|
55
|
+
* Get the appropriate database adapter based on context
|
|
56
|
+
* Uses system adapter if overrideAccess is true, otherwise uses user adapter
|
|
57
|
+
*/
|
|
58
|
+
private getAdapter;
|
|
59
|
+
/**
|
|
60
|
+
* Get list of available collection names
|
|
61
|
+
*/
|
|
62
|
+
getCollectionNames(): string[];
|
|
63
|
+
/**
|
|
64
|
+
* Check if a collection exists
|
|
65
|
+
*/
|
|
66
|
+
hasCollection(name: string): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Get schema for a collection
|
|
69
|
+
*/
|
|
70
|
+
getCollectionSchema(name: string): SchemaType | undefined;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Create and initialize the Local API
|
|
74
|
+
*
|
|
75
|
+
* @param config - CMS configuration
|
|
76
|
+
* @param userAdapter - Standard database adapter (respects RLS)
|
|
77
|
+
* @param systemAdapter - Optional system adapter (bypasses RLS) for system operations
|
|
78
|
+
* @returns LocalAPI instance
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* // Basic usage (single adapter)
|
|
83
|
+
* const api = createLocalAPI(config, userDb);
|
|
84
|
+
*
|
|
85
|
+
* // With system adapter for RLS bypass
|
|
86
|
+
* const api = createLocalAPI(config, userDb, systemDb);
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare function createLocalAPI(config: CMSConfig, userAdapter: DatabaseAdapter, systemAdapter?: DatabaseAdapter): LocalAPI;
|
|
90
|
+
/**
|
|
91
|
+
* Get the Local API instance
|
|
92
|
+
* Throws if Local API hasn't been initialized yet
|
|
93
|
+
*
|
|
94
|
+
* @returns LocalAPI instance
|
|
95
|
+
* @throws Error if Local API not initialized
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* const api = getLocalAPI();
|
|
100
|
+
* const pages = await api.collections.pages.find(...);
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export declare function getLocalAPI(): LocalAPI;
|
|
104
|
+
export { CollectionAPI, type DocumentResult } from './collection-api.js';
|
|
105
|
+
export { PermissionChecker, PermissionError } from './permissions.js';
|
|
106
|
+
export type { LocalAPIContext, CreateOptions, UpdateOptions } from './types.js';
|
|
107
|
+
export { authToContext, requireAuth, systemContext } from './auth-helpers.js';
|
|
108
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/local-api/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAE3B,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;CAGjD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,QAAQ;IAQnB,OAAO,CAAC,MAAM;IAPR,WAAW,EAAE,WAAW,CAAqB;IACpD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,OAAO,CAA0B;gBAGhC,MAAM,EAAE,SAAS,EACzB,WAAW,EAAE,eAAe,EAC5B,aAAa,CAAC,EAAE,eAAe;IAmBhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgC7B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;CAGzD;AAKD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,eAAe,EAC5B,aAAa,CAAC,EAAE,eAAe,GAC7B,QAAQ,CAGV;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAKtC;AAGD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// local-api/index.ts
|
|
2
|
+
//
|
|
3
|
+
// Main Local API singleton and factory function
|
|
4
|
+
import { CollectionAPI } from './collection-api.js';
|
|
5
|
+
import { PermissionChecker } from './permissions.js';
|
|
6
|
+
/**
|
|
7
|
+
* Local API - provides a unified, type-safe interface for all CMS operations
|
|
8
|
+
*
|
|
9
|
+
* This is the single source of truth for data operations in Aphex CMS.
|
|
10
|
+
* GraphQL and REST APIs should be thin wrappers around this Local API.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* // Initialize
|
|
15
|
+
* const api = await getLocalAPI(config);
|
|
16
|
+
*
|
|
17
|
+
* // Query documents
|
|
18
|
+
* const pages = await api.collections.pages.find(
|
|
19
|
+
* { organizationId: 'org_123', user },
|
|
20
|
+
* { where: { status: { equals: 'published' } } }
|
|
21
|
+
* );
|
|
22
|
+
*
|
|
23
|
+
* // Create document
|
|
24
|
+
* const newPage = await api.collections.pages.create(
|
|
25
|
+
* { organizationId: 'org_123', user },
|
|
26
|
+
* { title: 'Hello', slug: 'hello' }
|
|
27
|
+
* );
|
|
28
|
+
*
|
|
29
|
+
* // System operation (bypasses RLS)
|
|
30
|
+
* const allPages = await api.collections.pages.find(
|
|
31
|
+
* { organizationId: 'org_123', overrideAccess: true },
|
|
32
|
+
* { limit: 100 }
|
|
33
|
+
* );
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export class LocalAPI {
|
|
37
|
+
config;
|
|
38
|
+
collections = {};
|
|
39
|
+
userAdapter;
|
|
40
|
+
systemAdapter;
|
|
41
|
+
permissions;
|
|
42
|
+
schemas;
|
|
43
|
+
constructor(config, userAdapter, systemAdapter) {
|
|
44
|
+
this.config = config;
|
|
45
|
+
this.userAdapter = userAdapter;
|
|
46
|
+
this.systemAdapter = systemAdapter || null;
|
|
47
|
+
// Build schema map for quick lookups
|
|
48
|
+
this.schemas = new Map(config.schemaTypes
|
|
49
|
+
.filter((schema) => schema.type === 'document')
|
|
50
|
+
.map((schema) => [schema.name, schema]));
|
|
51
|
+
// Initialize permission checker
|
|
52
|
+
this.permissions = new PermissionChecker(config, this.schemas);
|
|
53
|
+
// Initialize collection APIs for all document types
|
|
54
|
+
this.initializeCollections();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Initialize collection APIs for all document schema types
|
|
58
|
+
*/
|
|
59
|
+
initializeCollections() {
|
|
60
|
+
const documentSchemas = this.config.schemaTypes.filter((s) => s.type === 'document');
|
|
61
|
+
for (const schema of documentSchemas) {
|
|
62
|
+
// Create a proxy that selects the correct adapter based on context
|
|
63
|
+
const collectionAPI = new Proxy(new CollectionAPI(schema.name, this.userAdapter, schema, this.permissions), {
|
|
64
|
+
get: (target, prop) => {
|
|
65
|
+
const method = target[prop];
|
|
66
|
+
if (typeof method === 'function') {
|
|
67
|
+
// Wrap method to dynamically select adapter
|
|
68
|
+
return async (...args) => {
|
|
69
|
+
const context = args[0];
|
|
70
|
+
const adapter = this.getAdapter(context);
|
|
71
|
+
// Create new CollectionAPI with the correct adapter
|
|
72
|
+
const api = new CollectionAPI(schema.name, adapter, schema, this.permissions);
|
|
73
|
+
// Call the method on the new instance
|
|
74
|
+
return api[prop].apply(api, args);
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return method;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
this.collections[schema.name] = collectionAPI;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get the appropriate database adapter based on context
|
|
85
|
+
* Uses system adapter if overrideAccess is true, otherwise uses user adapter
|
|
86
|
+
*/
|
|
87
|
+
getAdapter(context) {
|
|
88
|
+
if (context.overrideAccess && this.systemAdapter) {
|
|
89
|
+
return this.systemAdapter;
|
|
90
|
+
}
|
|
91
|
+
return this.userAdapter;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get list of available collection names
|
|
95
|
+
*/
|
|
96
|
+
getCollectionNames() {
|
|
97
|
+
return Array.from(this.schemas.keys());
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Check if a collection exists
|
|
101
|
+
*/
|
|
102
|
+
hasCollection(name) {
|
|
103
|
+
return this.schemas.has(name);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get schema for a collection
|
|
107
|
+
*/
|
|
108
|
+
getCollectionSchema(name) {
|
|
109
|
+
return this.schemas.get(name);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Global Local API instance
|
|
113
|
+
let localAPIInstance = null;
|
|
114
|
+
/**
|
|
115
|
+
* Create and initialize the Local API
|
|
116
|
+
*
|
|
117
|
+
* @param config - CMS configuration
|
|
118
|
+
* @param userAdapter - Standard database adapter (respects RLS)
|
|
119
|
+
* @param systemAdapter - Optional system adapter (bypasses RLS) for system operations
|
|
120
|
+
* @returns LocalAPI instance
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```typescript
|
|
124
|
+
* // Basic usage (single adapter)
|
|
125
|
+
* const api = createLocalAPI(config, userDb);
|
|
126
|
+
*
|
|
127
|
+
* // With system adapter for RLS bypass
|
|
128
|
+
* const api = createLocalAPI(config, userDb, systemDb);
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export function createLocalAPI(config, userAdapter, systemAdapter) {
|
|
132
|
+
localAPIInstance = new LocalAPI(config, userAdapter, systemAdapter);
|
|
133
|
+
return localAPIInstance;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Get the Local API instance
|
|
137
|
+
* Throws if Local API hasn't been initialized yet
|
|
138
|
+
*
|
|
139
|
+
* @returns LocalAPI instance
|
|
140
|
+
* @throws Error if Local API not initialized
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* const api = getLocalAPI();
|
|
145
|
+
* const pages = await api.collections.pages.find(...);
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export function getLocalAPI() {
|
|
149
|
+
if (!localAPIInstance) {
|
|
150
|
+
throw new Error('Local API not initialized. Call createLocalAPI() first.');
|
|
151
|
+
}
|
|
152
|
+
return localAPIInstance;
|
|
153
|
+
}
|
|
154
|
+
// Re-export types and classes for convenience
|
|
155
|
+
export { CollectionAPI } from './collection-api.js';
|
|
156
|
+
export { PermissionChecker, PermissionError } from './permissions.js';
|
|
157
|
+
export { authToContext, requireAuth, systemContext } from './auth-helpers.js';
|
|
158
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/local-api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { LocalAPIContext } from './types.js';
|
|
2
|
+
import type { SchemaType } from '../types/schemas.js';
|
|
3
|
+
import type { CMSConfig } from '../types/config.js';
|
|
4
|
+
/**
|
|
5
|
+
* Permission error thrown when access is denied
|
|
6
|
+
*/
|
|
7
|
+
export declare class PermissionError extends Error {
|
|
8
|
+
readonly operation: string;
|
|
9
|
+
readonly resource: string;
|
|
10
|
+
constructor(message: string, operation: string, resource: string);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Checks permissions for Local API operations
|
|
14
|
+
*/
|
|
15
|
+
export declare class PermissionChecker {
|
|
16
|
+
private _config;
|
|
17
|
+
private schemas;
|
|
18
|
+
constructor(_config: CMSConfig, schemas: Map<string, SchemaType>);
|
|
19
|
+
/**
|
|
20
|
+
* Get the CMS config
|
|
21
|
+
* Available for future per-collection permission logic
|
|
22
|
+
*/
|
|
23
|
+
get config(): CMSConfig;
|
|
24
|
+
/**
|
|
25
|
+
* Check if the current context has read permissions for a collection
|
|
26
|
+
*/
|
|
27
|
+
canRead(context: LocalAPIContext, collectionName: string): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Check if the current context has write permissions (create/update)
|
|
30
|
+
*/
|
|
31
|
+
canWrite(context: LocalAPIContext, collectionName: string): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Check if the current context has delete permissions
|
|
34
|
+
*/
|
|
35
|
+
canDelete(context: LocalAPIContext, collectionName: string): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Check if the current context has publish permissions
|
|
38
|
+
*/
|
|
39
|
+
canPublish(context: LocalAPIContext, collectionName: string): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Validate that a collection exists in the schema
|
|
42
|
+
*/
|
|
43
|
+
validateCollection(collectionName: string): void;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/lib/local-api/permissions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGxB,SAAS,EAAE,MAAM;aACjB,QAAQ,EAAE,MAAM;gBAFhC,OAAO,EAAE,MAAM,EACC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM;CAKjC;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBADP,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAGzC;;;OAGG;IACH,IAAI,MAAM,IAAI,SAAS,CAEtB;IAED;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9E;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B/E;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BhF;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjF;;OAEG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;CAShD"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// local-api/permissions.ts
|
|
2
|
+
//
|
|
3
|
+
// Permission checking for the Local API layer
|
|
4
|
+
/**
|
|
5
|
+
* Permission error thrown when access is denied
|
|
6
|
+
*/
|
|
7
|
+
export class PermissionError extends Error {
|
|
8
|
+
operation;
|
|
9
|
+
resource;
|
|
10
|
+
constructor(message, operation, resource) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.operation = operation;
|
|
13
|
+
this.resource = resource;
|
|
14
|
+
this.name = 'PermissionError';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Checks permissions for Local API operations
|
|
19
|
+
*/
|
|
20
|
+
export class PermissionChecker {
|
|
21
|
+
_config;
|
|
22
|
+
schemas;
|
|
23
|
+
constructor(_config, schemas) {
|
|
24
|
+
this._config = _config;
|
|
25
|
+
this.schemas = schemas;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get the CMS config
|
|
29
|
+
* Available for future per-collection permission logic
|
|
30
|
+
*/
|
|
31
|
+
get config() {
|
|
32
|
+
return this._config;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if the current context has read permissions for a collection
|
|
36
|
+
*/
|
|
37
|
+
async canRead(context, collectionName) {
|
|
38
|
+
// Always allow if overrideAccess is true (system operations)
|
|
39
|
+
if (context.overrideAccess) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Require authentication for read operations
|
|
43
|
+
if (!context.user) {
|
|
44
|
+
throw new PermissionError('Authentication required for read operations', 'read', collectionName);
|
|
45
|
+
}
|
|
46
|
+
// All authenticated users can read (role-based restrictions handled by RLS)
|
|
47
|
+
// Additional per-collection permission logic can be added here in the future
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Check if the current context has write permissions (create/update)
|
|
52
|
+
*/
|
|
53
|
+
async canWrite(context, collectionName) {
|
|
54
|
+
// Always allow if overrideAccess is true (system operations)
|
|
55
|
+
if (context.overrideAccess) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// Require authentication for write operations
|
|
59
|
+
if (!context.user) {
|
|
60
|
+
throw new PermissionError('Authentication required for write operations', 'write', collectionName);
|
|
61
|
+
}
|
|
62
|
+
// Check if user has write role (not a viewer)
|
|
63
|
+
// Viewers have read-only access
|
|
64
|
+
if (context.user.role === 'viewer') {
|
|
65
|
+
throw new PermissionError('Write permission denied. Viewers have read-only access.', 'write', collectionName);
|
|
66
|
+
}
|
|
67
|
+
// Additional per-collection permission logic can be added here in the future
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Check if the current context has delete permissions
|
|
72
|
+
*/
|
|
73
|
+
async canDelete(context, collectionName) {
|
|
74
|
+
// Always allow if overrideAccess is true (system operations)
|
|
75
|
+
if (context.overrideAccess) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
// Require authentication for delete operations
|
|
79
|
+
if (!context.user) {
|
|
80
|
+
throw new PermissionError('Authentication required for delete operations', 'delete', collectionName);
|
|
81
|
+
}
|
|
82
|
+
// Viewers have read-only access
|
|
83
|
+
if (context.user.role === 'viewer') {
|
|
84
|
+
throw new PermissionError('Delete permission denied. Viewers have read-only access.', 'delete', collectionName);
|
|
85
|
+
}
|
|
86
|
+
// Additional per-collection permission logic can be added here in the future
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Check if the current context has publish permissions
|
|
91
|
+
*/
|
|
92
|
+
async canPublish(context, collectionName) {
|
|
93
|
+
// Always allow if overrideAccess is true (system operations)
|
|
94
|
+
if (context.overrideAccess) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
// Require authentication for publish operations
|
|
98
|
+
if (!context.user) {
|
|
99
|
+
throw new PermissionError('Authentication required for publish operations', 'publish', collectionName);
|
|
100
|
+
}
|
|
101
|
+
// Check if user has write role (not a viewer)
|
|
102
|
+
if (context.user.role === 'viewer') {
|
|
103
|
+
throw new PermissionError('Publish permission denied. Viewers have read-only access.', 'publish', collectionName);
|
|
104
|
+
}
|
|
105
|
+
// Additional per-collection permission logic can be added here in the future
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Validate that a collection exists in the schema
|
|
110
|
+
*/
|
|
111
|
+
validateCollection(collectionName) {
|
|
112
|
+
if (!this.schemas.has(collectionName)) {
|
|
113
|
+
throw new Error(`Collection "${collectionName}" not found in schema. Available collections: ${Array.from(this.schemas.keys()).join(', ')}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/lib/local-api/permissions.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,EAAE;AACF,8CAA8C;AAM9C;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGxB;IACA;IAHjB,YACC,OAAe,EACC,SAAiB,EACjB,QAAgB;QAEhC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAGhC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAC/B,CAAC;CACD;AAED;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAEpB;IACA;IAFT,YACS,OAAkB,EAClB,OAAgC;QADhC,YAAO,GAAP,OAAO,CAAW;QAClB,YAAO,GAAP,OAAO,CAAyB;IACtC,CAAC;IAEJ;;;OAGG;IACH,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAwB,EAAE,cAAsB;QAC7D,6DAA6D;QAC7D,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,eAAe,CACxB,6CAA6C,EAC7C,MAAM,EACN,cAAc,CACd,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,6EAA6E;QAC7E,OAAO;IACR,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAwB,EAAE,cAAsB;QAC9D,6DAA6D;QAC7D,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,eAAe,CACxB,8CAA8C,EAC9C,OAAO,EACP,cAAc,CACd,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,gCAAgC;QAChC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,eAAe,CACxB,yDAAyD,EACzD,OAAO,EACP,cAAc,CACd,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,OAAO;IACR,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAAwB,EAAE,cAAsB;QAC/D,6DAA6D;QAC7D,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,eAAe,CACxB,+CAA+C,EAC/C,QAAQ,EACR,cAAc,CACd,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,eAAe,CACxB,0DAA0D,EAC1D,QAAQ,EACR,cAAc,CACd,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,OAAO;IACR,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAwB,EAAE,cAAsB;QAChE,6DAA6D;QAC7D,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,eAAe,CACxB,gDAAgD,EAChD,SAAS,EACT,cAAc,CACd,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,eAAe,CACxB,2DAA2D,EAC3D,SAAS,EACT,cAAc,CACd,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,OAAO;IACR,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,cAAsB;QACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACd,eAAe,cAAc,iDAAiD,KAAK,CAAC,IAAI,CACvF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CACnB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACd,CAAC;QACH,CAAC;IACF,CAAC;CACD"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { CMSUser } from '../types/user.js';
|
|
2
|
+
import type { Auth } from '../types/auth.js';
|
|
3
|
+
/**
|
|
4
|
+
* Context for Local API operations
|
|
5
|
+
* This provides the necessary information for access control and multi-tenancy
|
|
6
|
+
*/
|
|
7
|
+
export interface LocalAPIContext {
|
|
8
|
+
/**
|
|
9
|
+
* Organization ID for multi-tenancy
|
|
10
|
+
* Required for all operations to ensure proper data isolation
|
|
11
|
+
*/
|
|
12
|
+
organizationId: string;
|
|
13
|
+
/**
|
|
14
|
+
* Current user (if available)
|
|
15
|
+
* Used for permission checks and audit trails
|
|
16
|
+
*/
|
|
17
|
+
user?: CMSUser;
|
|
18
|
+
/**
|
|
19
|
+
* Override access control and RLS
|
|
20
|
+
* Set to true for system operations (seed scripts, cron jobs, admin tasks)
|
|
21
|
+
* When true, uses the system database adapter that bypasses RLS
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
overrideAccess?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Full auth object from locals.auth
|
|
27
|
+
* Preserved to allow custom permission logic to access any custom fields
|
|
28
|
+
* added via module augmentation (e.g., custom roles, permissions, metadata)
|
|
29
|
+
*/
|
|
30
|
+
auth?: Auth;
|
|
31
|
+
/**
|
|
32
|
+
* Request context for transactions
|
|
33
|
+
* Can be used to pass SvelteKit RequestEvent or similar context
|
|
34
|
+
*/
|
|
35
|
+
req?: unknown;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Options for create operations
|
|
39
|
+
*/
|
|
40
|
+
export interface CreateOptions {
|
|
41
|
+
/**
|
|
42
|
+
* Draft data for the document/asset
|
|
43
|
+
*/
|
|
44
|
+
data: Record<string, unknown>;
|
|
45
|
+
/**
|
|
46
|
+
* Whether to immediately publish after creation
|
|
47
|
+
* @default false
|
|
48
|
+
*/
|
|
49
|
+
publish?: boolean;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Options for update operations
|
|
53
|
+
*/
|
|
54
|
+
export interface UpdateOptions {
|
|
55
|
+
/**
|
|
56
|
+
* Data to update
|
|
57
|
+
*/
|
|
58
|
+
data: Record<string, unknown>;
|
|
59
|
+
/**
|
|
60
|
+
* Whether to publish after update
|
|
61
|
+
* @default false
|
|
62
|
+
*/
|
|
63
|
+
publish?: boolean;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/local-api/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/local-api/types.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,EAAE;AACF,qCAAqC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-bulk.d.ts","sourceRoot":"","sources":["../../../src/lib/routes/assets-bulk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,eAAO,MAAM,MAAM,EAAE,cAwDpB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { json } from '@sveltejs/kit';
|
|
2
|
+
import { cmsLogger } from '../utils/logger.js';
|
|
3
|
+
export const DELETE = async ({ request, locals }) => {
|
|
4
|
+
try {
|
|
5
|
+
const { assetService, databaseAdapter } = locals.aphexCMS;
|
|
6
|
+
const auth = locals.auth;
|
|
7
|
+
if (!auth || auth.type === 'partial_session') {
|
|
8
|
+
return json({ success: false, error: 'Unauthorized' }, { status: 401 });
|
|
9
|
+
}
|
|
10
|
+
const { ids } = await request.json();
|
|
11
|
+
if (!Array.isArray(ids) || ids.length === 0) {
|
|
12
|
+
return json({ success: false, error: 'No asset IDs provided' }, { status: 400 });
|
|
13
|
+
}
|
|
14
|
+
// Check for references before deleting
|
|
15
|
+
let referencedIds = [];
|
|
16
|
+
if (databaseAdapter.countDocumentReferencesForAssets) {
|
|
17
|
+
const counts = await databaseAdapter.countDocumentReferencesForAssets(auth.organizationId, ids);
|
|
18
|
+
referencedIds = ids.filter((id) => (counts[id] || 0) > 0);
|
|
19
|
+
}
|
|
20
|
+
if (referencedIds.length > 0) {
|
|
21
|
+
return json({
|
|
22
|
+
success: false,
|
|
23
|
+
error: `Cannot delete ${referencedIds.length} asset${referencedIds.length > 1 ? 's' : ''} because ${referencedIds.length > 1 ? 'they are' : 'it is'} still referenced by documents`,
|
|
24
|
+
referencedIds
|
|
25
|
+
}, { status: 409 });
|
|
26
|
+
}
|
|
27
|
+
const results = { deleted: 0, failed: 0 };
|
|
28
|
+
for (const id of ids) {
|
|
29
|
+
try {
|
|
30
|
+
const result = await assetService.deleteAsset(auth.organizationId, id);
|
|
31
|
+
if (result) {
|
|
32
|
+
results.deleted++;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
results.failed++;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
results.failed++;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return json({ success: true, data: results });
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
cmsLogger.error('Bulk delete failed:', error);
|
|
46
|
+
return json({ success: false, error: 'Bulk delete failed' }, { status: 500 });
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=assets-bulk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-bulk.js","sourceRoot":"","sources":["../../../src/lib/routes/assets-bulk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-by-id.d.ts","sourceRoot":"","sources":["../../../src/lib/routes/assets-by-id.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,eAAO,MAAM,GAAG,EAAE,cA6BjB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,cA0CpB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,cAiDnB,CAAC"}
|