@aphexcms/cms-core 2.0.9 → 2.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/api/api-keys.d.ts +8 -7
- package/dist/api/api-keys.d.ts.map +1 -1
- package/dist/api/assets.d.ts +7 -22
- package/dist/api/assets.d.ts.map +1 -1
- package/dist/api/assets.js +1 -10
- package/dist/api/documents.d.ts +17 -16
- package/dist/api/documents.d.ts.map +1 -1
- package/dist/api/documents.js +2 -2
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -0
- package/dist/api/organizations.d.ts +15 -35
- package/dist/api/organizations.d.ts.map +1 -1
- package/dist/api/roles.d.ts +22 -0
- package/dist/api/roles.d.ts.map +1 -0
- package/dist/api/roles.js +26 -0
- package/dist/api/schemas/api-keys.d.ts +62 -0
- package/dist/api/schemas/api-keys.d.ts.map +1 -0
- package/dist/api/schemas/api-keys.js +28 -0
- package/dist/api/schemas/assets.d.ts +174 -0
- package/dist/api/schemas/assets.d.ts.map +1 -0
- package/dist/api/schemas/assets.js +99 -0
- package/dist/api/schemas/documents.d.ts +325 -0
- package/dist/api/schemas/documents.d.ts.map +1 -0
- package/dist/api/schemas/documents.js +161 -0
- package/dist/api/schemas/organizations.d.ts +41 -0
- package/dist/api/schemas/organizations.d.ts.map +1 -0
- package/dist/api/schemas/organizations.js +56 -0
- package/dist/api/schemas/roles.d.ts +77 -0
- package/dist/api/schemas/roles.d.ts.map +1 -0
- package/dist/api/schemas/roles.js +42 -0
- package/dist/api/schemas/user.d.ts +10 -0
- package/dist/api/schemas/user.d.ts.map +1 -0
- package/dist/api/schemas/user.js +11 -0
- package/dist/api/user.d.ts +4 -6
- package/dist/api/user.d.ts.map +1 -1
- package/dist/app-augment.d.ts +32 -0
- package/dist/app-augment.d.ts.map +1 -0
- package/dist/app-augment.js +18 -0
- package/dist/auth/auth-hooks.d.ts +2 -1
- package/dist/auth/auth-hooks.d.ts.map +1 -1
- package/dist/auth/auth-hooks.js +22 -2
- package/dist/auth/provider.d.ts +5 -0
- package/dist/auth/provider.d.ts.map +1 -1
- package/dist/cli/index.js +0 -0
- package/dist/client/index.d.ts +4 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +7 -0
- package/dist/components/AdminApp.svelte +306 -142
- package/dist/components/AdminApp.svelte.d.ts +8 -0
- package/dist/components/AdminApp.svelte.d.ts.map +1 -1
- package/dist/components/admin/DocumentEditor.svelte +653 -365
- package/dist/components/admin/DocumentEditor.svelte.d.ts +2 -0
- package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -1
- package/dist/components/admin/DocumentVersionPanel.svelte +57 -44
- package/dist/components/admin/DocumentVersionPanel.svelte.d.ts.map +1 -1
- package/dist/components/admin/MediaBrowser.svelte +70 -30
- package/dist/components/admin/MediaBrowser.svelte.d.ts.map +1 -1
- package/dist/components/admin/ObjectModal.svelte +70 -95
- package/dist/components/admin/ObjectModal.svelte.d.ts +1 -2
- package/dist/components/admin/ObjectModal.svelte.d.ts.map +1 -1
- package/dist/components/admin/PermissionsDebug.svelte +119 -0
- package/dist/components/admin/PermissionsDebug.svelte.d.ts +4 -0
- package/dist/components/admin/PermissionsDebug.svelte.d.ts.map +1 -0
- package/dist/components/admin/SchemaField.svelte +3 -1
- package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -1
- package/dist/components/admin/confirm-dialog/ConfirmDialogHost.svelte +35 -0
- package/dist/components/admin/confirm-dialog/ConfirmDialogHost.svelte.d.ts +19 -0
- package/dist/components/admin/confirm-dialog/ConfirmDialogHost.svelte.d.ts.map +1 -0
- package/dist/components/admin/confirm-dialog/confirm-dialog.svelte.d.ts +16 -0
- package/dist/components/admin/confirm-dialog/confirm-dialog.svelte.d.ts.map +1 -0
- package/dist/components/admin/confirm-dialog/confirm-dialog.svelte.js +29 -0
- package/dist/components/admin/fields/ArrayField.svelte +104 -108
- package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/FileField.svelte +22 -17
- package/dist/components/admin/fields/FileField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/ImageField.svelte +21 -15
- package/dist/components/admin/fields/ImageField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/ReferenceField.svelte +142 -112
- package/dist/components/admin/fields/ReferenceField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/TextareaField.svelte +4 -3
- package/dist/components/admin/fields/TextareaField.svelte.d.ts +2 -2
- package/dist/components/admin/fields/TextareaField.svelte.d.ts.map +1 -1
- package/dist/components/layout/Sidebar.svelte +21 -11
- package/dist/components/layout/Sidebar.svelte.d.ts.map +1 -1
- package/dist/components/layout/sidebar/NavMain.svelte +1 -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/organization.d.ts +1 -1
- package/dist/db/interfaces/organization.d.ts.map +1 -1
- package/dist/db/interfaces/role.d.ts +25 -0
- package/dist/db/interfaces/role.d.ts.map +1 -0
- package/dist/db/interfaces/role.js +1 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +5 -0
- package/dist/field-access.d.ts +30 -0
- package/dist/field-access.d.ts.map +1 -0
- package/dist/field-access.js +79 -0
- package/dist/hooks.d.ts +2 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +23 -13
- package/dist/lib/api/api-keys.d.ts +8 -7
- package/dist/lib/api/api-keys.d.ts.map +1 -1
- package/dist/lib/api/api-keys.js.map +1 -1
- package/dist/lib/api/assets.d.ts +7 -22
- package/dist/lib/api/assets.d.ts.map +1 -1
- package/dist/lib/api/assets.js +1 -10
- package/dist/lib/api/assets.js.map +1 -1
- package/dist/lib/api/documents.d.ts +17 -16
- package/dist/lib/api/documents.d.ts.map +1 -1
- package/dist/lib/api/documents.js +2 -2
- package/dist/lib/api/documents.js.map +1 -1
- package/dist/lib/api/index.d.ts +1 -0
- package/dist/lib/api/index.d.ts.map +1 -1
- package/dist/lib/api/index.js +1 -0
- package/dist/lib/api/index.js.map +1 -1
- package/dist/lib/api/organizations.d.ts +15 -35
- package/dist/lib/api/organizations.d.ts.map +1 -1
- package/dist/lib/api/organizations.js.map +1 -1
- package/dist/lib/api/roles.d.ts +22 -0
- package/dist/lib/api/roles.d.ts.map +1 -0
- package/dist/lib/api/roles.js +27 -0
- package/dist/lib/api/roles.js.map +1 -0
- package/dist/lib/api/schemas/api-keys.d.ts +62 -0
- package/dist/lib/api/schemas/api-keys.d.ts.map +1 -0
- package/dist/lib/api/schemas/api-keys.js +29 -0
- package/dist/lib/api/schemas/api-keys.js.map +1 -0
- package/dist/lib/api/schemas/assets.d.ts +174 -0
- package/dist/lib/api/schemas/assets.d.ts.map +1 -0
- package/dist/lib/api/schemas/assets.js +100 -0
- package/dist/lib/api/schemas/assets.js.map +1 -0
- package/dist/lib/api/schemas/documents.d.ts +325 -0
- package/dist/lib/api/schemas/documents.d.ts.map +1 -0
- package/dist/lib/api/schemas/documents.js +162 -0
- package/dist/lib/api/schemas/documents.js.map +1 -0
- package/dist/lib/api/schemas/organizations.d.ts +41 -0
- package/dist/lib/api/schemas/organizations.d.ts.map +1 -0
- package/dist/lib/api/schemas/organizations.js +57 -0
- package/dist/lib/api/schemas/organizations.js.map +1 -0
- package/dist/lib/api/schemas/roles.d.ts +77 -0
- package/dist/lib/api/schemas/roles.d.ts.map +1 -0
- package/dist/lib/api/schemas/roles.js +43 -0
- package/dist/lib/api/schemas/roles.js.map +1 -0
- package/dist/lib/api/schemas/user.d.ts +10 -0
- package/dist/lib/api/schemas/user.d.ts.map +1 -0
- package/dist/lib/api/schemas/user.js +12 -0
- package/dist/lib/api/schemas/user.js.map +1 -0
- package/dist/lib/api/user.d.ts +4 -6
- package/dist/lib/api/user.d.ts.map +1 -1
- package/dist/lib/api/user.js.map +1 -1
- package/dist/lib/app-augment.d.ts +32 -0
- package/dist/lib/app-augment.d.ts.map +1 -0
- package/dist/lib/app-augment.js +19 -0
- package/dist/lib/app-augment.js.map +1 -0
- package/dist/lib/auth/auth-hooks.d.ts +2 -1
- package/dist/lib/auth/auth-hooks.d.ts.map +1 -1
- package/dist/lib/auth/auth-hooks.js +22 -2
- package/dist/lib/auth/auth-hooks.js.map +1 -1
- package/dist/lib/auth/provider.d.ts +5 -0
- package/dist/lib/auth/provider.d.ts.map +1 -1
- package/dist/lib/client/index.d.ts +4 -0
- package/dist/lib/client/index.d.ts.map +1 -1
- package/dist/lib/client/index.js +7 -0
- package/dist/lib/client/index.js.map +1 -1
- package/dist/lib/components/admin/confirm-dialog/confirm-dialog.svelte.d.ts +16 -0
- package/dist/lib/components/admin/confirm-dialog/confirm-dialog.svelte.d.ts.map +1 -0
- package/dist/lib/components/admin/confirm-dialog/confirm-dialog.svelte.js +30 -0
- package/dist/lib/components/admin/confirm-dialog/confirm-dialog.svelte.js.map +1 -0
- package/dist/lib/db/interfaces/document.d.ts.map +1 -1
- package/dist/lib/db/interfaces/index.d.ts +3 -1
- package/dist/lib/db/interfaces/index.d.ts.map +1 -1
- package/dist/lib/db/interfaces/organization.d.ts +1 -1
- package/dist/lib/db/interfaces/organization.d.ts.map +1 -1
- package/dist/lib/db/interfaces/role.d.ts +25 -0
- package/dist/lib/db/interfaces/role.d.ts.map +1 -0
- package/dist/lib/db/interfaces/role.js +2 -0
- package/dist/lib/db/interfaces/role.js.map +1 -0
- package/dist/lib/engine.d.ts.map +1 -1
- package/dist/lib/engine.js +5 -0
- package/dist/lib/engine.js.map +1 -1
- package/dist/lib/field-access.d.ts +30 -0
- package/dist/lib/field-access.d.ts.map +1 -0
- package/dist/lib/field-access.js +80 -0
- package/dist/lib/field-access.js.map +1 -0
- package/dist/lib/hooks.d.ts +2 -0
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +23 -13
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/local-api/collection-api.d.ts +2 -0
- package/dist/lib/local-api/collection-api.d.ts.map +1 -1
- package/dist/lib/local-api/collection-api.js +98 -30
- package/dist/lib/local-api/collection-api.js.map +1 -1
- package/dist/lib/local-api/index.d.ts.map +1 -1
- package/dist/lib/local-api/index.js.map +1 -1
- package/dist/lib/local-api/permissions.d.ts +26 -26
- package/dist/lib/local-api/permissions.d.ts.map +1 -1
- package/dist/lib/local-api/permissions.js +122 -80
- package/dist/lib/local-api/permissions.js.map +1 -1
- package/dist/lib/permissions-context.svelte.d.ts +44 -0
- package/dist/lib/permissions-context.svelte.d.ts.map +1 -0
- package/dist/lib/permissions-context.svelte.js +80 -0
- package/dist/lib/permissions-context.svelte.js.map +1 -0
- package/dist/lib/routes/assets-bulk.d.ts.map +1 -1
- package/dist/lib/routes/assets-bulk.js +10 -3
- package/dist/lib/routes/assets-bulk.js.map +1 -1
- package/dist/lib/routes/assets-by-id.d.ts.map +1 -1
- package/dist/lib/routes/assets-by-id.js +11 -1
- package/dist/lib/routes/assets-by-id.js.map +1 -1
- package/dist/lib/routes/assets-references-counts.d.ts.map +1 -1
- package/dist/lib/routes/assets-references-counts.js +12 -2
- package/dist/lib/routes/assets-references-counts.js.map +1 -1
- package/dist/lib/routes/assets.d.ts.map +1 -1
- package/dist/lib/routes/assets.js +14 -13
- package/dist/lib/routes/assets.js.map +1 -1
- package/dist/lib/routes/document-versions.d.ts.map +1 -1
- package/dist/lib/routes/document-versions.js +16 -2
- package/dist/lib/routes/document-versions.js.map +1 -1
- package/dist/lib/routes/documents-by-id.d.ts.map +1 -1
- package/dist/lib/routes/documents-by-id.js +15 -3
- package/dist/lib/routes/documents-by-id.js.map +1 -1
- package/dist/lib/routes/documents-query.d.ts.map +1 -1
- package/dist/lib/routes/documents-query.js +13 -10
- package/dist/lib/routes/documents-query.js.map +1 -1
- package/dist/lib/routes/documents.d.ts.map +1 -1
- package/dist/lib/routes/documents.js +29 -26
- package/dist/lib/routes/documents.js.map +1 -1
- package/dist/lib/routes/organizations-by-id.d.ts.map +1 -1
- package/dist/lib/routes/organizations-by-id.js +17 -4
- package/dist/lib/routes/organizations-by-id.js.map +1 -1
- package/dist/lib/routes/organizations-invitations.d.ts.map +1 -1
- package/dist/lib/routes/organizations-invitations.js +48 -18
- package/dist/lib/routes/organizations-invitations.js.map +1 -1
- package/dist/lib/routes/organizations-members.d.ts.map +1 -1
- package/dist/lib/routes/organizations-members.js +24 -18
- package/dist/lib/routes/organizations-members.js.map +1 -1
- package/dist/lib/routes/organizations-switch.d.ts.map +1 -1
- package/dist/lib/routes/organizations-switch.js +7 -3
- package/dist/lib/routes/organizations-switch.js.map +1 -1
- package/dist/lib/routes/organizations.d.ts.map +1 -1
- package/dist/lib/routes/organizations.js +11 -5
- package/dist/lib/routes/organizations.js.map +1 -1
- package/dist/lib/routes/roles-by-name.d.ts +4 -0
- package/dist/lib/routes/roles-by-name.d.ts.map +1 -0
- package/dist/lib/routes/roles-by-name.js +112 -0
- package/dist/lib/routes/roles-by-name.js.map +1 -0
- package/dist/lib/routes/roles.d.ts +4 -0
- package/dist/lib/routes/roles.d.ts.map +1 -0
- package/dist/lib/routes/roles.js +91 -0
- package/dist/lib/routes/roles.js.map +1 -0
- package/dist/lib/routes/user-preferences.d.ts.map +1 -1
- package/dist/lib/routes/user-preferences.js +7 -13
- package/dist/lib/routes/user-preferences.js.map +1 -1
- package/dist/lib/routes-exports.d.ts +2 -0
- package/dist/lib/routes-exports.d.ts.map +1 -1
- package/dist/lib/routes-exports.js +3 -0
- package/dist/lib/routes-exports.js.map +1 -1
- package/dist/lib/save-state-context.svelte.d.ts +8 -0
- package/dist/lib/save-state-context.svelte.d.ts.map +1 -0
- package/dist/lib/save-state-context.svelte.js +9 -0
- package/dist/lib/save-state-context.svelte.js.map +1 -0
- package/dist/lib/schema-utils/validator.d.ts.map +1 -1
- package/dist/lib/schema-utils/validator.js +14 -0
- package/dist/lib/schema-utils/validator.js.map +1 -1
- package/dist/lib/server/index.d.ts +1 -0
- package/dist/lib/server/index.d.ts.map +1 -1
- package/dist/lib/server/index.js +1 -0
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/services/index.d.ts +1 -0
- package/dist/lib/services/index.d.ts.map +1 -1
- package/dist/lib/services/index.js +1 -0
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/roles-service.d.ts +35 -0
- package/dist/lib/services/roles-service.d.ts.map +1 -0
- package/dist/lib/services/roles-service.js +91 -0
- package/dist/lib/services/roles-service.js.map +1 -0
- package/dist/lib/services/version-service.d.ts.map +1 -1
- package/dist/lib/services/version-service.js.map +1 -1
- package/dist/lib/types/auth.d.ts +43 -9
- package/dist/lib/types/auth.d.ts.map +1 -1
- package/dist/lib/types/auth.js +31 -26
- package/dist/lib/types/auth.js.map +1 -1
- package/dist/lib/types/capabilities.d.ts +104 -0
- package/dist/lib/types/capabilities.d.ts.map +1 -0
- package/dist/lib/types/capabilities.js +217 -0
- package/dist/lib/types/capabilities.js.map +1 -0
- package/dist/lib/types/index.d.ts +1 -0
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js +1 -0
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/types/organization.d.ts +13 -4
- package/dist/lib/types/organization.d.ts.map +1 -1
- package/dist/lib/types/schemas.d.ts +71 -0
- package/dist/lib/types/schemas.d.ts.map +1 -1
- package/dist/lib/types/sidebar.d.ts +1 -1
- package/dist/lib/types/sidebar.d.ts.map +1 -1
- package/dist/lib/utils/mime-detect.d.ts.map +1 -1
- package/dist/lib/utils/mime-detect.js +28 -6
- package/dist/lib/utils/mime-detect.js.map +1 -1
- package/dist/local-api/collection-api.d.ts +2 -0
- package/dist/local-api/collection-api.d.ts.map +1 -1
- package/dist/local-api/collection-api.js +98 -30
- package/dist/local-api/index.d.ts.map +1 -1
- package/dist/local-api/permissions.d.ts +26 -26
- package/dist/local-api/permissions.d.ts.map +1 -1
- package/dist/local-api/permissions.js +122 -80
- package/dist/permissions-context.svelte.d.ts +44 -0
- package/dist/permissions-context.svelte.d.ts.map +1 -0
- package/dist/permissions-context.svelte.js +79 -0
- package/dist/plugins/README.md +20 -20
- package/dist/routes/assets-bulk.d.ts.map +1 -1
- package/dist/routes/assets-bulk.js +10 -3
- package/dist/routes/assets-by-id.d.ts.map +1 -1
- package/dist/routes/assets-by-id.js +11 -1
- package/dist/routes/assets-references-counts.d.ts.map +1 -1
- package/dist/routes/assets-references-counts.js +12 -2
- package/dist/routes/assets.d.ts.map +1 -1
- package/dist/routes/assets.js +14 -13
- package/dist/routes/document-versions.d.ts.map +1 -1
- package/dist/routes/document-versions.js +16 -2
- package/dist/routes/documents-by-id.d.ts.map +1 -1
- package/dist/routes/documents-by-id.js +15 -3
- package/dist/routes/documents-query.d.ts.map +1 -1
- package/dist/routes/documents-query.js +13 -10
- package/dist/routes/documents.d.ts.map +1 -1
- package/dist/routes/documents.js +29 -26
- package/dist/routes/organizations-by-id.d.ts.map +1 -1
- package/dist/routes/organizations-by-id.js +17 -4
- package/dist/routes/organizations-invitations.d.ts.map +1 -1
- package/dist/routes/organizations-invitations.js +48 -18
- package/dist/routes/organizations-members.d.ts.map +1 -1
- package/dist/routes/organizations-members.js +24 -18
- package/dist/routes/organizations-switch.d.ts.map +1 -1
- package/dist/routes/organizations-switch.js +7 -3
- package/dist/routes/organizations.d.ts.map +1 -1
- package/dist/routes/organizations.js +11 -5
- package/dist/routes/roles-by-name.d.ts +4 -0
- package/dist/routes/roles-by-name.d.ts.map +1 -0
- package/dist/routes/roles-by-name.js +111 -0
- package/dist/routes/roles.d.ts +4 -0
- package/dist/routes/roles.d.ts.map +1 -0
- package/dist/routes/roles.js +90 -0
- package/dist/routes/user-preferences.d.ts.map +1 -1
- package/dist/routes/user-preferences.js +7 -13
- package/dist/routes-exports.d.ts +2 -0
- package/dist/routes-exports.d.ts.map +1 -1
- package/dist/routes-exports.js +3 -0
- package/dist/save-state-context.svelte.d.ts +8 -0
- package/dist/save-state-context.svelte.d.ts.map +1 -0
- package/dist/save-state-context.svelte.js +8 -0
- package/dist/schema-utils/validator.d.ts.map +1 -1
- package/dist/schema-utils/validator.js +14 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -0
- package/dist/services/roles-service.d.ts +35 -0
- package/dist/services/roles-service.d.ts.map +1 -0
- package/dist/services/roles-service.js +90 -0
- package/dist/services/version-service.d.ts.map +1 -1
- package/dist/types/auth.d.ts +43 -9
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/auth.js +31 -26
- package/dist/types/capabilities.d.ts +104 -0
- package/dist/types/capabilities.d.ts.map +1 -0
- package/dist/types/capabilities.js +216 -0
- 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/organization.d.ts +13 -4
- package/dist/types/organization.d.ts.map +1 -1
- package/dist/types/schemas.d.ts +71 -0
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/sidebar.d.ts +1 -1
- package/dist/types/sidebar.d.ts.map +1 -1
- package/dist/utils/mime-detect.d.ts.map +1 -1
- package/dist/utils/mime-detect.js +28 -6
- package/package.json +142 -138
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
const jsonRecord = z.record(z.string(), z.unknown());
|
|
3
|
+
// ---------- Shared shapes ----------
|
|
4
|
+
export const documentMetaSchema = z
|
|
5
|
+
.object({
|
|
6
|
+
status: z.enum(['draft', 'published', 'unpublished']),
|
|
7
|
+
publishedAt: z.string().nullable().optional(),
|
|
8
|
+
updatedAt: z.string().optional(),
|
|
9
|
+
createdAt: z.string().optional(),
|
|
10
|
+
publishedHash: z.string().nullable().optional(),
|
|
11
|
+
draftHash: z.string().nullable().optional()
|
|
12
|
+
})
|
|
13
|
+
.passthrough();
|
|
14
|
+
export const documentSchema = z
|
|
15
|
+
.object({
|
|
16
|
+
id: z.string(),
|
|
17
|
+
type: z.string(),
|
|
18
|
+
draftData: jsonRecord.nullable().optional(),
|
|
19
|
+
publishedData: jsonRecord.nullable().optional(),
|
|
20
|
+
_meta: documentMetaSchema.optional()
|
|
21
|
+
})
|
|
22
|
+
.passthrough();
|
|
23
|
+
export const paginationMetaSchema = z.object({
|
|
24
|
+
total: z.number(),
|
|
25
|
+
page: z.number(),
|
|
26
|
+
pageSize: z.number(),
|
|
27
|
+
totalPages: z.number(),
|
|
28
|
+
hasNextPage: z.boolean(),
|
|
29
|
+
hasPrevPage: z.boolean()
|
|
30
|
+
});
|
|
31
|
+
// ---------- GET /documents (list) ----------
|
|
32
|
+
const csvString = z
|
|
33
|
+
.string()
|
|
34
|
+
.optional()
|
|
35
|
+
.transform((v) => (v ? v.split(',').filter(Boolean) : undefined));
|
|
36
|
+
export const listDocumentsQuery = z.object({
|
|
37
|
+
type: z.string().optional(),
|
|
38
|
+
docType: z.string().optional(), // legacy alias
|
|
39
|
+
status: z.string().optional(),
|
|
40
|
+
page: z.coerce.number().int().min(1).optional(),
|
|
41
|
+
pageSize: z.coerce.number().int().min(1).max(200).optional(),
|
|
42
|
+
limit: z.coerce.number().int().min(1).max(200).optional(), // legacy alias for pageSize
|
|
43
|
+
depth: z.coerce.number().int().min(0).max(5).optional(),
|
|
44
|
+
sort: z.union([z.string(), z.array(z.string())]).optional(),
|
|
45
|
+
perspective: z.enum(['draft', 'published']).optional(),
|
|
46
|
+
includeChildOrganizations: z
|
|
47
|
+
.union([z.boolean(), z.enum(['true', 'false'])])
|
|
48
|
+
.optional()
|
|
49
|
+
.transform((v) => v === true || v === 'true'),
|
|
50
|
+
filterOrganizationIds: csvString
|
|
51
|
+
});
|
|
52
|
+
export const listDocumentsResponse = z.object({
|
|
53
|
+
success: z.literal(true),
|
|
54
|
+
data: z.array(documentSchema),
|
|
55
|
+
pagination: paginationMetaSchema
|
|
56
|
+
});
|
|
57
|
+
// ---------- POST /documents (create) ----------
|
|
58
|
+
export const createDocumentRequest = z
|
|
59
|
+
.object({
|
|
60
|
+
type: z.string().min(1),
|
|
61
|
+
draftData: jsonRecord.optional(),
|
|
62
|
+
data: jsonRecord.optional(),
|
|
63
|
+
publish: z.boolean().optional()
|
|
64
|
+
})
|
|
65
|
+
.refine((v) => v.draftData !== undefined || v.data !== undefined, {
|
|
66
|
+
message: 'Either draftData or data is required'
|
|
67
|
+
});
|
|
68
|
+
export const createDocumentResponse = z.object({
|
|
69
|
+
success: z.literal(true),
|
|
70
|
+
data: documentSchema,
|
|
71
|
+
validation: z.unknown().optional()
|
|
72
|
+
});
|
|
73
|
+
// ---------- GET /documents/[id] ----------
|
|
74
|
+
export const getDocumentResponse = z.object({
|
|
75
|
+
success: z.literal(true),
|
|
76
|
+
data: documentSchema
|
|
77
|
+
});
|
|
78
|
+
// ---------- PUT /documents/[id] (update) ----------
|
|
79
|
+
export const updateDocumentRequest = z
|
|
80
|
+
.object({
|
|
81
|
+
draftData: jsonRecord.optional(),
|
|
82
|
+
data: jsonRecord.optional(),
|
|
83
|
+
publish: z.boolean().optional()
|
|
84
|
+
})
|
|
85
|
+
.refine((v) => v.draftData !== undefined || v.data !== undefined, {
|
|
86
|
+
message: 'Either draftData or data is required'
|
|
87
|
+
});
|
|
88
|
+
export const updateDocumentResponse = z.object({
|
|
89
|
+
success: z.literal(true),
|
|
90
|
+
data: documentSchema,
|
|
91
|
+
validation: z.unknown().optional()
|
|
92
|
+
});
|
|
93
|
+
// ---------- DELETE /documents/[id] ----------
|
|
94
|
+
export const deleteDocumentResponse = z.object({
|
|
95
|
+
success: z.literal(true),
|
|
96
|
+
message: z.string().optional()
|
|
97
|
+
});
|
|
98
|
+
// ---------- POST /documents/[id]/publish ----------
|
|
99
|
+
export const publishDocumentResponse = z.object({
|
|
100
|
+
success: z.literal(true),
|
|
101
|
+
data: documentSchema,
|
|
102
|
+
message: z.string().optional()
|
|
103
|
+
});
|
|
104
|
+
// ---------- DELETE /documents/[id]/publish (unpublish) ----------
|
|
105
|
+
export const unpublishDocumentResponse = z.object({
|
|
106
|
+
success: z.literal(true),
|
|
107
|
+
data: documentSchema,
|
|
108
|
+
message: z.string().optional()
|
|
109
|
+
});
|
|
110
|
+
// ---------- POST /documents/query ----------
|
|
111
|
+
// `where` and `select` are intentionally loose — the filter DSL is complex
|
|
112
|
+
// and already validated by LocalAPI.find(). Zod's job here is to catch shape
|
|
113
|
+
// errors on the scalar fields (type, pagination, perspective, etc).
|
|
114
|
+
export const queryDocumentsRequest = z.object({
|
|
115
|
+
type: z.string().min(1),
|
|
116
|
+
where: z.unknown().optional(),
|
|
117
|
+
select: z.unknown().optional(),
|
|
118
|
+
sort: z.union([z.string(), z.array(z.string())]).optional(),
|
|
119
|
+
page: z.coerce.number().int().min(1).optional(),
|
|
120
|
+
pageSize: z.coerce.number().int().min(1).max(500).optional(),
|
|
121
|
+
limit: z.coerce.number().int().min(1).max(500).optional(),
|
|
122
|
+
offset: z.coerce.number().int().min(0).optional(),
|
|
123
|
+
depth: z.coerce.number().int().min(0).max(5).optional(),
|
|
124
|
+
perspective: z.enum(['draft', 'published']).optional(),
|
|
125
|
+
includeChildOrganizations: z.boolean().optional(),
|
|
126
|
+
filterOrganizationIds: z.array(z.string()).optional()
|
|
127
|
+
});
|
|
128
|
+
// ---------- GET /documents/[id]/versions (list) ----------
|
|
129
|
+
export const listVersionsQuery = z.object({
|
|
130
|
+
limit: z.coerce.number().int().min(1).max(200).optional(),
|
|
131
|
+
offset: z.coerce.number().int().min(0).optional()
|
|
132
|
+
});
|
|
133
|
+
export const documentVersionSchema = z
|
|
134
|
+
.object({
|
|
135
|
+
id: z.string(),
|
|
136
|
+
documentId: z.string(),
|
|
137
|
+
organizationId: z.string(),
|
|
138
|
+
versionNumber: z.number(),
|
|
139
|
+
eventType: z.enum(['draft', 'publish', 'restore']),
|
|
140
|
+
data: jsonRecord.nullable(),
|
|
141
|
+
createdBy: z.string().nullable(),
|
|
142
|
+
createdByName: z.string().nullable().optional(),
|
|
143
|
+
createdAt: z.union([z.string(), z.date()]).nullable()
|
|
144
|
+
})
|
|
145
|
+
.passthrough();
|
|
146
|
+
export const listVersionsResponse = z.object({
|
|
147
|
+
success: z.literal(true),
|
|
148
|
+
data: z.array(documentVersionSchema),
|
|
149
|
+
total: z.number()
|
|
150
|
+
});
|
|
151
|
+
// ---------- GET /documents/[id]/versions/[version] ----------
|
|
152
|
+
export const getVersionResponse = z.object({
|
|
153
|
+
success: z.literal(true),
|
|
154
|
+
data: documentVersionSchema
|
|
155
|
+
});
|
|
156
|
+
// ---------- POST /documents/[id]/versions/[version]/restore ----------
|
|
157
|
+
export const restoreVersionResponse = z.object({
|
|
158
|
+
success: z.literal(true),
|
|
159
|
+
data: documentSchema,
|
|
160
|
+
message: z.string().optional()
|
|
161
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const organizationRoleSchema: z.ZodString;
|
|
3
|
+
export declare const invitableRoleSchema: z.ZodString;
|
|
4
|
+
export declare const createOrganizationRequest: z.ZodObject<{
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
slug: z.ZodString;
|
|
7
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
8
|
+
parentOrganizationId: z.ZodOptional<z.ZodString>;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export declare const updateOrganizationRequest: z.ZodObject<{
|
|
11
|
+
name: z.ZodOptional<z.ZodString>;
|
|
12
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
13
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export declare const switchOrganizationRequest: z.ZodObject<{
|
|
16
|
+
organizationId: z.ZodString;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
export declare const inviteMemberRequest: z.ZodObject<{
|
|
19
|
+
email: z.ZodString;
|
|
20
|
+
role: z.ZodString;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
export declare const cancelInvitationRequest: z.ZodObject<{
|
|
23
|
+
invitationId: z.ZodString;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export declare const removeMemberRequest: z.ZodObject<{
|
|
26
|
+
userId: z.ZodString;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export declare const updateMemberRoleRequest: z.ZodObject<{
|
|
29
|
+
userId: z.ZodString;
|
|
30
|
+
role: z.ZodString;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export type OrganizationRoleSchema = z.infer<typeof organizationRoleSchema>;
|
|
33
|
+
export type InvitableRoleSchema = z.infer<typeof invitableRoleSchema>;
|
|
34
|
+
export type CreateOrganizationRequest = z.infer<typeof createOrganizationRequest>;
|
|
35
|
+
export type UpdateOrganizationRequest = z.infer<typeof updateOrganizationRequest>;
|
|
36
|
+
export type SwitchOrganizationRequest = z.infer<typeof switchOrganizationRequest>;
|
|
37
|
+
export type InviteMemberRequest = z.infer<typeof inviteMemberRequest>;
|
|
38
|
+
export type CancelInvitationRequest = z.infer<typeof cancelInvitationRequest>;
|
|
39
|
+
export type RemoveMemberRequest = z.infer<typeof removeMemberRequest>;
|
|
40
|
+
export type UpdateMemberRoleRequest = z.infer<typeof updateMemberRoleRequest>;
|
|
41
|
+
//# sourceMappingURL=organizations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organizations.d.ts","sourceRoot":"","sources":["../../../src/lib/api/schemas/organizations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,sBAAsB,aAAiB,CAAC;AAGrD,eAAO,MAAM,mBAAmB,aAE9B,CAAC;AAMH,eAAO,MAAM,yBAAyB;;;;;iBAKpC,CAAC;AAIH,eAAO,MAAM,yBAAyB;;;;iBAQnC,CAAC;AAIJ,eAAO,MAAM,yBAAyB;;iBAEpC,CAAC;AAIH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAIH,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AAIH,eAAO,MAAM,mBAAmB;;iBAE9B,CAAC;AAIH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAIH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAClF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAClF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAClF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC9E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// ---------- Shared ----------
|
|
3
|
+
// Role name — any string matching the cms_roles.name format. The actual
|
|
4
|
+
// existence check happens server-side against the roles table, so a
|
|
5
|
+
// nonexistent name yields a 404/400 rather than a Zod error.
|
|
6
|
+
const roleNameSchema = z
|
|
7
|
+
.string()
|
|
8
|
+
.trim()
|
|
9
|
+
.min(1)
|
|
10
|
+
.max(100)
|
|
11
|
+
.regex(/^[a-zA-Z0-9 _-]+$/);
|
|
12
|
+
export const organizationRoleSchema = roleNameSchema;
|
|
13
|
+
// Role used for new invitations — owners cannot be invited, only promoted.
|
|
14
|
+
export const invitableRoleSchema = roleNameSchema.refine((v) => v !== 'owner', {
|
|
15
|
+
message: 'owner cannot be assigned via invitation'
|
|
16
|
+
});
|
|
17
|
+
const metadataSchema = z.record(z.string(), z.unknown());
|
|
18
|
+
// ---------- POST /organizations ----------
|
|
19
|
+
export const createOrganizationRequest = z.object({
|
|
20
|
+
name: z.string().min(1),
|
|
21
|
+
slug: z.string().min(1),
|
|
22
|
+
metadata: metadataSchema.nullable().optional(),
|
|
23
|
+
parentOrganizationId: z.string().optional()
|
|
24
|
+
});
|
|
25
|
+
// ---------- PATCH /organizations/[id] ----------
|
|
26
|
+
export const updateOrganizationRequest = z
|
|
27
|
+
.object({
|
|
28
|
+
name: z.string().min(1).optional(),
|
|
29
|
+
slug: z.string().min(1).optional(),
|
|
30
|
+
metadata: metadataSchema.nullable().optional()
|
|
31
|
+
})
|
|
32
|
+
.refine((v) => v.name !== undefined || v.slug !== undefined || v.metadata !== undefined, {
|
|
33
|
+
message: 'At least one field (name, slug, metadata) is required'
|
|
34
|
+
});
|
|
35
|
+
// ---------- POST /organizations/switch ----------
|
|
36
|
+
export const switchOrganizationRequest = z.object({
|
|
37
|
+
organizationId: z.string().min(1)
|
|
38
|
+
});
|
|
39
|
+
// ---------- POST /organizations/invitations ----------
|
|
40
|
+
export const inviteMemberRequest = z.object({
|
|
41
|
+
email: z.string().email(),
|
|
42
|
+
role: invitableRoleSchema
|
|
43
|
+
});
|
|
44
|
+
// ---------- DELETE /organizations/invitations ----------
|
|
45
|
+
export const cancelInvitationRequest = z.object({
|
|
46
|
+
invitationId: z.string().min(1)
|
|
47
|
+
});
|
|
48
|
+
// ---------- DELETE /organizations/members ----------
|
|
49
|
+
export const removeMemberRequest = z.object({
|
|
50
|
+
userId: z.string().min(1)
|
|
51
|
+
});
|
|
52
|
+
// ---------- PATCH /organizations/members ----------
|
|
53
|
+
export const updateMemberRoleRequest = z.object({
|
|
54
|
+
userId: z.string().min(1),
|
|
55
|
+
role: organizationRoleSchema
|
|
56
|
+
});
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type Capability } from '../../types/capabilities.js';
|
|
3
|
+
export declare const capabilitySchema: z.ZodEnum<{
|
|
4
|
+
"document.read": "document.read";
|
|
5
|
+
"document.create": "document.create";
|
|
6
|
+
"document.update": "document.update";
|
|
7
|
+
"document.delete": "document.delete";
|
|
8
|
+
"document.publish": "document.publish";
|
|
9
|
+
"document.unpublish": "document.unpublish";
|
|
10
|
+
"asset.read": "asset.read";
|
|
11
|
+
"asset.upload": "asset.upload";
|
|
12
|
+
"asset.delete": "asset.delete";
|
|
13
|
+
"member.invite": "member.invite";
|
|
14
|
+
"member.remove": "member.remove";
|
|
15
|
+
"member.changeRole": "member.changeRole";
|
|
16
|
+
"apiKey.manage": "apiKey.manage";
|
|
17
|
+
"role.manage": "role.manage";
|
|
18
|
+
"org.settings": "org.settings";
|
|
19
|
+
}>;
|
|
20
|
+
export declare const createRoleRequest: z.ZodPipe<z.ZodObject<{
|
|
21
|
+
name: z.ZodString;
|
|
22
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
23
|
+
capabilities: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
24
|
+
"document.read": "document.read";
|
|
25
|
+
"document.create": "document.create";
|
|
26
|
+
"document.update": "document.update";
|
|
27
|
+
"document.delete": "document.delete";
|
|
28
|
+
"document.publish": "document.publish";
|
|
29
|
+
"document.unpublish": "document.unpublish";
|
|
30
|
+
"asset.read": "asset.read";
|
|
31
|
+
"asset.upload": "asset.upload";
|
|
32
|
+
"asset.delete": "asset.delete";
|
|
33
|
+
"member.invite": "member.invite";
|
|
34
|
+
"member.remove": "member.remove";
|
|
35
|
+
"member.changeRole": "member.changeRole";
|
|
36
|
+
"apiKey.manage": "apiKey.manage";
|
|
37
|
+
"role.manage": "role.manage";
|
|
38
|
+
"org.settings": "org.settings";
|
|
39
|
+
}>>>;
|
|
40
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
41
|
+
capabilities: Capability[];
|
|
42
|
+
name: string;
|
|
43
|
+
description?: string | null | undefined;
|
|
44
|
+
}, {
|
|
45
|
+
name: string;
|
|
46
|
+
capabilities: ("document.read" | "document.create" | "document.update" | "document.delete" | "document.publish" | "document.unpublish" | "asset.read" | "asset.upload" | "asset.delete" | "member.invite" | "member.remove" | "member.changeRole" | "apiKey.manage" | "role.manage" | "org.settings")[];
|
|
47
|
+
description?: string | null | undefined;
|
|
48
|
+
}>>;
|
|
49
|
+
export declare const updateRoleRequest: z.ZodPipe<z.ZodObject<{
|
|
50
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
51
|
+
capabilities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
52
|
+
"document.read": "document.read";
|
|
53
|
+
"document.create": "document.create";
|
|
54
|
+
"document.update": "document.update";
|
|
55
|
+
"document.delete": "document.delete";
|
|
56
|
+
"document.publish": "document.publish";
|
|
57
|
+
"document.unpublish": "document.unpublish";
|
|
58
|
+
"asset.read": "asset.read";
|
|
59
|
+
"asset.upload": "asset.upload";
|
|
60
|
+
"asset.delete": "asset.delete";
|
|
61
|
+
"member.invite": "member.invite";
|
|
62
|
+
"member.remove": "member.remove";
|
|
63
|
+
"member.changeRole": "member.changeRole";
|
|
64
|
+
"apiKey.manage": "apiKey.manage";
|
|
65
|
+
"role.manage": "role.manage";
|
|
66
|
+
"org.settings": "org.settings";
|
|
67
|
+
}>>>;
|
|
68
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
69
|
+
capabilities: Capability[] | undefined;
|
|
70
|
+
description?: string | null | undefined;
|
|
71
|
+
}, {
|
|
72
|
+
description?: string | null | undefined;
|
|
73
|
+
capabilities?: ("document.read" | "document.create" | "document.update" | "document.delete" | "document.publish" | "document.unpublish" | "asset.read" | "asset.upload" | "asset.delete" | "member.invite" | "member.remove" | "member.changeRole" | "apiKey.manage" | "role.manage" | "org.settings")[] | undefined;
|
|
74
|
+
}>>;
|
|
75
|
+
export type CreateRoleRequest = z.infer<typeof createRoleRequest>;
|
|
76
|
+
export type UpdateRoleRequest = z.infer<typeof updateRoleRequest>;
|
|
77
|
+
//# sourceMappingURL=roles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/lib/api/schemas/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAMpG,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;EAE5B,CAAC;AAmBF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAMqD,CAAC;AAIpF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;GAW1B,CAAC;AAIL,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ALL_CAPABILITIES, normalizeCapabilities } from '../../types/capabilities.js';
|
|
3
|
+
// Runtime enum of every known capability. Unknown strings are rejected so a
|
|
4
|
+
// typo in a client request can't silently grant or strip permissions.
|
|
5
|
+
// The cast preserves the literal Capability union in the inferred type — Zod
|
|
6
|
+
// can't see the compile-time widening of the readonly array on its own.
|
|
7
|
+
export const capabilitySchema = z.enum(ALL_CAPABILITIES);
|
|
8
|
+
// Role name: human-readable identifier stored on member rows and referenced
|
|
9
|
+
// in the API as /api/roles/[name]. Spaces are allowed (URL-encoded client
|
|
10
|
+
// side); control characters and slashes are not, to keep routing unambiguous.
|
|
11
|
+
const roleNameSchema = z
|
|
12
|
+
.string()
|
|
13
|
+
.trim()
|
|
14
|
+
.min(1)
|
|
15
|
+
.max(100)
|
|
16
|
+
.regex(/^[a-zA-Z0-9 _-]+$/, {
|
|
17
|
+
message: 'Role name may only contain letters, numbers, spaces, underscores, and hyphens'
|
|
18
|
+
});
|
|
19
|
+
// ---------- POST /roles ----------
|
|
20
|
+
// Capabilities are normalized on intake so any write cap pulls in the matching
|
|
21
|
+
// read — a role with `document.create` but no `document.read` can't
|
|
22
|
+
// realistically edit anything, and leaving that gap trips people up.
|
|
23
|
+
export const createRoleRequest = z
|
|
24
|
+
.object({
|
|
25
|
+
name: roleNameSchema,
|
|
26
|
+
description: z.string().max(500).nullable().optional(),
|
|
27
|
+
capabilities: z.array(capabilitySchema).default([])
|
|
28
|
+
})
|
|
29
|
+
.transform((v) => ({ ...v, capabilities: normalizeCapabilities(v.capabilities) }));
|
|
30
|
+
// ---------- PATCH /roles/[name] ----------
|
|
31
|
+
export const updateRoleRequest = z
|
|
32
|
+
.object({
|
|
33
|
+
description: z.string().max(500).nullable().optional(),
|
|
34
|
+
capabilities: z.array(capabilitySchema).optional()
|
|
35
|
+
})
|
|
36
|
+
.refine((v) => v.description !== undefined || v.capabilities !== undefined, {
|
|
37
|
+
message: 'At least one field (description, capabilities) is required'
|
|
38
|
+
})
|
|
39
|
+
.transform((v) => ({
|
|
40
|
+
...v,
|
|
41
|
+
capabilities: v.capabilities ? normalizeCapabilities(v.capabilities) : undefined
|
|
42
|
+
}));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const updateUserRequest: z.ZodObject<{
|
|
3
|
+
name: z.ZodString;
|
|
4
|
+
}, z.core.$strip>;
|
|
5
|
+
export declare const updateUserPreferencesRequest: z.ZodObject<{
|
|
6
|
+
includeChildOrganizations: z.ZodOptional<z.ZodBoolean>;
|
|
7
|
+
}, z.core.$strict>;
|
|
8
|
+
export type UpdateUserRequest = z.infer<typeof updateUserRequest>;
|
|
9
|
+
export type UpdateUserPreferencesRequest = z.infer<typeof updateUserPreferencesRequest>;
|
|
10
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/lib/api/schemas/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAIH,eAAO,MAAM,4BAA4B;;kBAI/B,CAAC;AAIX,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// ---------- PATCH /user ----------
|
|
3
|
+
export const updateUserRequest = z.object({
|
|
4
|
+
name: z.string().min(1)
|
|
5
|
+
});
|
|
6
|
+
// ---------- PATCH /user/cms-preference ----------
|
|
7
|
+
export const updateUserPreferencesRequest = z
|
|
8
|
+
.object({
|
|
9
|
+
includeChildOrganizations: z.boolean().optional()
|
|
10
|
+
})
|
|
11
|
+
.strict();
|
package/dist/api/user.d.ts
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import type { CMSUser } from '../types/user.js';
|
|
2
|
-
import type { UserSessionPreferences } from '../types/organization.js';
|
|
3
2
|
import type { ApiResponse } from './types.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
3
|
+
import type { UpdateUserRequest, UpdateUserPreferencesRequest } from './schemas/user.js';
|
|
4
|
+
export type UpdateProfileData = UpdateUserRequest;
|
|
7
5
|
export declare class UserApi {
|
|
8
6
|
/**
|
|
9
7
|
* Update user profile
|
|
10
8
|
*/
|
|
11
|
-
static updateProfile(data:
|
|
9
|
+
static updateProfile(data: UpdateUserRequest): Promise<ApiResponse<CMSUser>>;
|
|
12
10
|
/**
|
|
13
11
|
* Update CMS preferences (e.g. includeChildOrganizations)
|
|
14
12
|
*/
|
|
15
|
-
static updatePreferences(prefs:
|
|
13
|
+
static updatePreferences(prefs: UpdateUserPreferencesRequest): Promise<ApiResponse<{
|
|
16
14
|
success: boolean;
|
|
17
15
|
}>>;
|
|
18
16
|
}
|
package/dist/api/user.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/lib/api/user.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/lib/api/user.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAItF,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAElD,qBAAa,OAAO;IACnB;;OAEG;WACU,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAIlF;;OAEG;WACU,iBAAiB,CAC7B,KAAK,EAAE,4BAA4B,GACjC,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAG7C;AAED,eAAO,MAAM,IAAI;;;CAGhB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SvelteKit ambient type augmentations emitted by Aphex CMS.
|
|
3
|
+
*
|
|
4
|
+
* Side-effect import only — activates the global `App.PageData` shape so
|
|
5
|
+
* `$page.data.rbac` is typed inside any project that uses cms-core, without
|
|
6
|
+
* requiring each app to hand-maintain the `App.PageData` interface.
|
|
7
|
+
*
|
|
8
|
+
* Import once from `src/app.d.ts`:
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* import '@aphexcms/cms-core/app-augment';
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* The module has no runtime — it's purely a type-augmentation carrier. Kept
|
|
15
|
+
* as a `.ts` file (not `.d.ts`) so Vite/SvelteKit can resolve the import path
|
|
16
|
+
* via the package's `./*` export map.
|
|
17
|
+
*/
|
|
18
|
+
import type { RbacPayload } from './types/capabilities.js';
|
|
19
|
+
declare global {
|
|
20
|
+
namespace App {
|
|
21
|
+
interface PageData {
|
|
22
|
+
/**
|
|
23
|
+
* RBAC snapshot emitted by the admin layout's server load
|
|
24
|
+
* (`/admin/+layout.server.ts`). Absent on public routes (login,
|
|
25
|
+
* invitations) that don't pass through the admin layout.
|
|
26
|
+
*/
|
|
27
|
+
rbac?: RbacPayload;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=app-augment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-augment.d.ts","sourceRoot":"","sources":["../src/lib/app-augment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,GAAG,CAAC;QACb,UAAU,QAAQ;YACjB;;;;eAIG;YACH,IAAI,CAAC,EAAE,WAAW,CAAC;SACnB;KACD;CACD;AAED,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SvelteKit ambient type augmentations emitted by Aphex CMS.
|
|
3
|
+
*
|
|
4
|
+
* Side-effect import only — activates the global `App.PageData` shape so
|
|
5
|
+
* `$page.data.rbac` is typed inside any project that uses cms-core, without
|
|
6
|
+
* requiring each app to hand-maintain the `App.PageData` interface.
|
|
7
|
+
*
|
|
8
|
+
* Import once from `src/app.d.ts`:
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* import '@aphexcms/cms-core/app-augment';
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* The module has no runtime — it's purely a type-augmentation carrier. Kept
|
|
15
|
+
* as a `.ts` file (not `.d.ts`) so Vite/SvelteKit can resolve the import path
|
|
16
|
+
* via the package's `./*` export map.
|
|
17
|
+
*/
|
|
18
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { RequestEvent } from '@sveltejs/kit';
|
|
2
2
|
import type { DatabaseAdapter } from '../db/index.js';
|
|
3
3
|
import type { CMSConfig } from '../types/index.js';
|
|
4
|
+
import type { RolesService } from '../services/roles-service.js';
|
|
4
5
|
import type { AuthProvider } from './provider.js';
|
|
5
|
-
export declare function handleAuthHook(event: RequestEvent, config: CMSConfig, authProvider: AuthProvider, db: DatabaseAdapter): Promise<Response | null>;
|
|
6
|
+
export declare function handleAuthHook(event: RequestEvent, config: CMSConfig, authProvider: AuthProvider, db: DatabaseAdapter, rolesService: RolesService): Promise<Response | null>;
|
|
6
7
|
//# sourceMappingURL=auth-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-hooks.d.ts","sourceRoot":"","sources":["../../src/lib/auth/auth-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAQ,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-hooks.d.ts","sourceRoot":"","sources":["../../src/lib/auth/auth-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAQ,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB/C,wBAAsB,cAAc,CACnC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,eAAe,EACnB,YAAY,EAAE,YAAY,GACxB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAsJ1B"}
|
package/dist/auth/auth-hooks.js
CHANGED
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { redirect } from '@sveltejs/kit';
|
|
2
2
|
import { AuthError } from './auth-errors.js';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Populate `auth.capabilities` for session auth via RolesService.
|
|
5
|
+
* Runs once per request so downstream permission checks stay synchronous.
|
|
6
|
+
* No-op for API keys and partial sessions — `resolveCapabilities` handles
|
|
7
|
+
* those shapes directly.
|
|
8
|
+
*/
|
|
9
|
+
async function hydrateCapabilities(auth, rolesService) {
|
|
10
|
+
if (auth.type !== 'session')
|
|
11
|
+
return;
|
|
12
|
+
if (auth.capabilities)
|
|
13
|
+
return; // Already populated (e.g. by provider).
|
|
14
|
+
auth.capabilities = await rolesService.getCapabilities(auth.organizationId, auth.organizationRole);
|
|
15
|
+
}
|
|
16
|
+
export async function handleAuthHook(event, config, authProvider, db, rolesService) {
|
|
4
17
|
const path = event.url.pathname;
|
|
5
18
|
// 1. Admin UI routes - require session authentication
|
|
6
19
|
if (path.startsWith('/admin')) {
|
|
7
20
|
try {
|
|
8
21
|
const session = await authProvider.requireSession(event.request, db);
|
|
22
|
+
await hydrateCapabilities(session, rolesService);
|
|
9
23
|
event.locals.auth = session;
|
|
10
24
|
}
|
|
11
25
|
catch (error) {
|
|
@@ -33,6 +47,7 @@ export async function handleAuthHook(event, config, authProvider, db) {
|
|
|
33
47
|
}
|
|
34
48
|
// Make auth available (can be null, route will check for signed token)
|
|
35
49
|
if (auth) {
|
|
50
|
+
await hydrateCapabilities(auth, rolesService);
|
|
36
51
|
event.locals.auth = auth;
|
|
37
52
|
}
|
|
38
53
|
}
|
|
@@ -56,7 +71,9 @@ export async function handleAuthHook(event, config, authProvider, db) {
|
|
|
56
71
|
}
|
|
57
72
|
// Check if GraphQL is enabled (built-in, on by default)
|
|
58
73
|
const graphqlEndpoint = config.graphql !== false
|
|
59
|
-
?
|
|
74
|
+
? typeof config.graphql === 'object'
|
|
75
|
+
? (config.graphql.path ?? '/api/graphql')
|
|
76
|
+
: '/api/graphql'
|
|
60
77
|
: undefined;
|
|
61
78
|
// Require authentication for protected API routes
|
|
62
79
|
const protectedApiRoutes = [
|
|
@@ -65,6 +82,7 @@ export async function handleAuthHook(event, config, authProvider, db) {
|
|
|
65
82
|
'/api/schemas',
|
|
66
83
|
'/api/organizations',
|
|
67
84
|
'/api/invitations',
|
|
85
|
+
'/api/roles',
|
|
68
86
|
'/api/settings',
|
|
69
87
|
'/api/instance-settings'
|
|
70
88
|
];
|
|
@@ -110,6 +128,7 @@ export async function handleAuthHook(event, config, authProvider, db) {
|
|
|
110
128
|
}
|
|
111
129
|
// Make auth available in API routes
|
|
112
130
|
if (auth) {
|
|
131
|
+
await hydrateCapabilities(auth, rolesService);
|
|
113
132
|
event.locals.auth = auth;
|
|
114
133
|
}
|
|
115
134
|
}
|
|
@@ -119,6 +138,7 @@ export async function handleAuthHook(event, config, authProvider, db) {
|
|
|
119
138
|
try {
|
|
120
139
|
const auth = await authProvider.getSession(event.request, db);
|
|
121
140
|
if (auth) {
|
|
141
|
+
await hydrateCapabilities(auth, rolesService);
|
|
122
142
|
event.locals.auth = auth;
|
|
123
143
|
}
|
|
124
144
|
}
|
package/dist/auth/provider.d.ts
CHANGED
|
@@ -10,6 +10,11 @@ export interface AuthProvider {
|
|
|
10
10
|
name?: string;
|
|
11
11
|
email: string;
|
|
12
12
|
} | null>;
|
|
13
|
+
getUserByEmail(email: string): Promise<{
|
|
14
|
+
id: string;
|
|
15
|
+
name?: string;
|
|
16
|
+
email: string;
|
|
17
|
+
} | null>;
|
|
13
18
|
changeUserName(userId: string, name: string): Promise<void>;
|
|
14
19
|
requestPasswordReset(email: string, redirectTo?: string): Promise<void>;
|
|
15
20
|
resetPassword(token: string, newPassword: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/lib/auth/provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,YAAY;IAE5B,UAAU,CACT,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,eAAe,GACjB,OAAO,CAAC,WAAW,GAAG,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACpD,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAG5E,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAClF,aAAa,CACZ,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,eAAe,EACnB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAC3B,OAAO,CAAC,UAAU,CAAC,CAAC;IAGvB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC1F,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG5D,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE"}
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/lib/auth/provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,YAAY;IAE5B,UAAU,CACT,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,eAAe,GACjB,OAAO,CAAC,WAAW,GAAG,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACpD,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAG5E,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAClF,aAAa,CACZ,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,eAAe,EACnB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAC3B,OAAO,CAAC,UAAU,CAAC,CAAC;IAGvB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC1F,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC5F,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG5D,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE"}
|
package/dist/cli/index.js
CHANGED
|
File without changes
|
package/dist/client/index.d.ts
CHANGED
|
@@ -4,11 +4,13 @@ export * from '../field-validation/rule.js';
|
|
|
4
4
|
export * from '../field-validation/utils.js';
|
|
5
5
|
export { createContentHash, hasUnpublishedChanges } from '../utils/content-hash.js';
|
|
6
6
|
export { setSchemaContext, getSchemaContext } from '../schema-context.svelte';
|
|
7
|
+
export { setPermissionsContext, usePermissions, type PermissionsContext } from '../permissions-context.svelte';
|
|
7
8
|
export * from '../schema-utils/index.js';
|
|
8
9
|
export { default as DocumentEditor } from '../components/admin/DocumentEditor.svelte';
|
|
9
10
|
export { default as SchemaField } from '../components/admin/SchemaField.svelte';
|
|
10
11
|
export { default as AdminApp } from '../components/AdminApp.svelte';
|
|
11
12
|
export { default as Sidebar } from '../components/layout/Sidebar.svelte';
|
|
13
|
+
export { default as PermissionsDebug } from '../components/admin/PermissionsDebug.svelte';
|
|
12
14
|
export { default as StringField } from '../components/admin/fields/StringField.svelte';
|
|
13
15
|
export { default as TextareaField } from '../components/admin/fields/TextareaField.svelte';
|
|
14
16
|
export { default as NumberField } from '../components/admin/fields/NumberField.svelte';
|
|
@@ -22,4 +24,6 @@ export * from '../utils/index.js';
|
|
|
22
24
|
export * from '../api/index.js';
|
|
23
25
|
export type { ApiResponse } from '../api/index.js';
|
|
24
26
|
export { toast } from 'svelte-sonner';
|
|
27
|
+
export { confirmDialog, type ConfirmDialogOptions } from '../components/admin/confirm-dialog/confirm-dialog.svelte';
|
|
28
|
+
export { default as ConfirmDialogHost } from '../components/admin/confirm-dialog/ConfirmDialogHost.svelte';
|
|
25
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/client/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGlG,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAG7F,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/client/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGlG,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EACN,qBAAqB,EACrB,cAAc,EACd,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAGvC,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAG1F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAG7F,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC"}
|