@actuate-media/cms-core 0.1.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/__tests__/actions/document-crud.test.d.ts +2 -0
- package/dist/__tests__/actions/document-crud.test.d.ts.map +1 -0
- package/dist/__tests__/actions/document-crud.test.js +156 -0
- package/dist/__tests__/actions/document-crud.test.js.map +1 -0
- package/dist/__tests__/auth/password.test.d.ts +2 -0
- package/dist/__tests__/auth/password.test.d.ts.map +1 -0
- package/dist/__tests__/auth/password.test.js +102 -0
- package/dist/__tests__/auth/password.test.js.map +1 -0
- package/dist/__tests__/auth/session.test.d.ts +2 -0
- package/dist/__tests__/auth/session.test.d.ts.map +1 -0
- package/dist/__tests__/auth/session.test.js +66 -0
- package/dist/__tests__/auth/session.test.js.map +1 -0
- package/dist/__tests__/codegen/generate-types.test.d.ts +2 -0
- package/dist/__tests__/codegen/generate-types.test.d.ts.map +1 -0
- package/dist/__tests__/codegen/generate-types.test.js +173 -0
- package/dist/__tests__/codegen/generate-types.test.js.map +1 -0
- package/dist/__tests__/scheduling/scheduling.test.d.ts +2 -0
- package/dist/__tests__/scheduling/scheduling.test.d.ts.map +1 -0
- package/dist/__tests__/scheduling/scheduling.test.js +84 -0
- package/dist/__tests__/scheduling/scheduling.test.js.map +1 -0
- package/dist/__tests__/security/access.test.d.ts +2 -0
- package/dist/__tests__/security/access.test.d.ts.map +1 -0
- package/dist/__tests__/security/access.test.js +181 -0
- package/dist/__tests__/security/access.test.js.map +1 -0
- package/dist/__tests__/security/csrf.test.d.ts +2 -0
- package/dist/__tests__/security/csrf.test.d.ts.map +1 -0
- package/dist/__tests__/security/csrf.test.js +40 -0
- package/dist/__tests__/security/csrf.test.js.map +1 -0
- package/dist/__tests__/security/rate-limit.test.d.ts +2 -0
- package/dist/__tests__/security/rate-limit.test.d.ts.map +1 -0
- package/dist/__tests__/security/rate-limit.test.js +62 -0
- package/dist/__tests__/security/rate-limit.test.js.map +1 -0
- package/dist/__tests__/security/reauth.test.d.ts +2 -0
- package/dist/__tests__/security/reauth.test.d.ts.map +1 -0
- package/dist/__tests__/security/reauth.test.js +30 -0
- package/dist/__tests__/security/reauth.test.js.map +1 -0
- package/dist/__tests__/security/sanitize.test.d.ts +2 -0
- package/dist/__tests__/security/sanitize.test.d.ts.map +1 -0
- package/dist/__tests__/security/sanitize.test.js +75 -0
- package/dist/__tests__/security/sanitize.test.js.map +1 -0
- package/dist/__tests__/webhooks/webhooks.test.d.ts +2 -0
- package/dist/__tests__/webhooks/webhooks.test.d.ts.map +1 -0
- package/dist/__tests__/webhooks/webhooks.test.js +96 -0
- package/dist/__tests__/webhooks/webhooks.test.js.map +1 -0
- package/dist/a11y/index.d.ts +25 -0
- package/dist/a11y/index.d.ts.map +1 -0
- package/dist/a11y/index.js +88 -0
- package/dist/a11y/index.js.map +1 -0
- package/dist/actions.d.ts +42 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +391 -0
- package/dist/actions.js.map +1 -0
- package/dist/api/handler-factory.d.ts +7 -0
- package/dist/api/handler-factory.d.ts.map +1 -0
- package/dist/api/handler-factory.js +120 -0
- package/dist/api/handler-factory.js.map +1 -0
- package/dist/api/handlers.d.ts +4 -0
- package/dist/api/handlers.d.ts.map +1 -0
- package/dist/api/handlers.js +2119 -0
- package/dist/api/handlers.js.map +1 -0
- package/dist/api/index.d.ts +23 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +57 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/openapi.d.ts +3 -0
- package/dist/api/openapi.d.ts.map +1 -0
- package/dist/api/openapi.js +348 -0
- package/dist/api/openapi.js.map +1 -0
- package/dist/auth/index.d.ts +11 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +9 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/oauth.d.ts +84 -0
- package/dist/auth/oauth.d.ts.map +1 -0
- package/dist/auth/oauth.js +201 -0
- package/dist/auth/oauth.js.map +1 -0
- package/dist/auth/password.d.ts +13 -0
- package/dist/auth/password.d.ts.map +1 -0
- package/dist/auth/password.js +47 -0
- package/dist/auth/password.js.map +1 -0
- package/dist/auth/providers/github.d.ts +9 -0
- package/dist/auth/providers/github.d.ts.map +1 -0
- package/dist/auth/providers/github.js +10 -0
- package/dist/auth/providers/github.js.map +1 -0
- package/dist/auth/providers/google.d.ts +9 -0
- package/dist/auth/providers/google.d.ts.map +1 -0
- package/dist/auth/providers/google.js +10 -0
- package/dist/auth/providers/google.js.map +1 -0
- package/dist/auth/providers/microsoft.d.ts +9 -0
- package/dist/auth/providers/microsoft.d.ts.map +1 -0
- package/dist/auth/providers/microsoft.js +11 -0
- package/dist/auth/providers/microsoft.js.map +1 -0
- package/dist/auth/session.d.ts +21 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/session.js +35 -0
- package/dist/auth/session.js.map +1 -0
- package/dist/auth/totp.d.ts +5 -0
- package/dist/auth/totp.d.ts.map +1 -0
- package/dist/auth/totp.js +86 -0
- package/dist/auth/totp.js.map +1 -0
- package/dist/backup/index.d.ts +19 -0
- package/dist/backup/index.d.ts.map +1 -0
- package/dist/backup/index.js +22 -0
- package/dist/backup/index.js.map +1 -0
- package/dist/cache/index.d.ts +15 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +32 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/client.d.ts +30 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +50 -0
- package/dist/client.js.map +1 -0
- package/dist/codegen/index.d.ts +4 -0
- package/dist/codegen/index.d.ts.map +1 -0
- package/dist/codegen/index.js +370 -0
- package/dist/codegen/index.js.map +1 -0
- package/dist/collections/index.d.ts +17 -0
- package/dist/collections/index.d.ts.map +1 -0
- package/dist/collections/index.js +29 -0
- package/dist/collections/index.js.map +1 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +74 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/types.d.ts +307 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +3 -0
- package/dist/config/types.js.map +1 -0
- package/dist/content/ai-api.d.ts +21 -0
- package/dist/content/ai-api.d.ts.map +1 -0
- package/dist/content/ai-api.js +19 -0
- package/dist/content/ai-api.js.map +1 -0
- package/dist/content/content-graph.d.ts +25 -0
- package/dist/content/content-graph.d.ts.map +1 -0
- package/dist/content/content-graph.js +40 -0
- package/dist/content/content-graph.js.map +1 -0
- package/dist/content/extract.d.ts +7 -0
- package/dist/content/extract.d.ts.map +1 -0
- package/dist/content/extract.js +33 -0
- package/dist/content/extract.js.map +1 -0
- package/dist/content/index.d.ts +8 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +5 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/structured-data.d.ts +80 -0
- package/dist/content/structured-data.d.ts.map +1 -0
- package/dist/content/structured-data.js +295 -0
- package/dist/content/structured-data.js.map +1 -0
- package/dist/db/adapters/mysql.d.ts +5 -0
- package/dist/db/adapters/mysql.d.ts.map +1 -0
- package/dist/db/adapters/mysql.js +18 -0
- package/dist/db/adapters/mysql.js.map +1 -0
- package/dist/db/adapters/postgres.d.ts +7 -0
- package/dist/db/adapters/postgres.d.ts.map +1 -0
- package/dist/db/adapters/postgres.js +20 -0
- package/dist/db/adapters/postgres.js.map +1 -0
- package/dist/db/adapters/sqlite.d.ts +5 -0
- package/dist/db/adapters/sqlite.d.ts.map +1 -0
- package/dist/db/adapters/sqlite.js +19 -0
- package/dist/db/adapters/sqlite.js.map +1 -0
- package/dist/db/create-adapter.d.ts +11 -0
- package/dist/db/create-adapter.d.ts.map +1 -0
- package/dist/db/create-adapter.js +43 -0
- package/dist/db/create-adapter.js.map +1 -0
- package/dist/db/index.d.ts +9 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +5 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db.d.ts +20 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +35 -0
- package/dist/db.js.map +1 -0
- package/dist/fields/index.d.ts +15 -0
- package/dist/fields/index.d.ts.map +1 -0
- package/dist/fields/index.js +87 -0
- package/dist/fields/index.js.map +1 -0
- package/dist/forms/analytics.d.ts +62 -0
- package/dist/forms/analytics.d.ts.map +1 -0
- package/dist/forms/analytics.js +95 -0
- package/dist/forms/analytics.js.map +1 -0
- package/dist/forms/attribution.d.ts +29 -0
- package/dist/forms/attribution.d.ts.map +1 -0
- package/dist/forms/attribution.js +216 -0
- package/dist/forms/attribution.js.map +1 -0
- package/dist/forms/index.d.ts +5 -0
- package/dist/forms/index.d.ts.map +1 -0
- package/dist/forms/index.js +3 -0
- package/dist/forms/index.js.map +1 -0
- package/dist/graphql/index.d.ts +11 -0
- package/dist/graphql/index.d.ts.map +1 -0
- package/dist/graphql/index.js +58 -0
- package/dist/graphql/index.js.map +1 -0
- package/dist/graphql/resolvers.d.ts +8 -0
- package/dist/graphql/resolvers.d.ts.map +1 -0
- package/dist/graphql/resolvers.js +93 -0
- package/dist/graphql/resolvers.js.map +1 -0
- package/dist/graphql/schema-builder.d.ts +3 -0
- package/dist/graphql/schema-builder.d.ts.map +1 -0
- package/dist/graphql/schema-builder.js +103 -0
- package/dist/graphql/schema-builder.js.map +1 -0
- package/dist/health/index.d.ts +27 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js +43 -0
- package/dist/health/index.js.map +1 -0
- package/dist/i18n/index.d.ts +22 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +37 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +73 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/media/index.d.ts +3 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/index.js +2 -0
- package/dist/media/index.js.map +1 -0
- package/dist/media/optimize.d.ts +40 -0
- package/dist/media/optimize.d.ts.map +1 -0
- package/dist/media/optimize.js +137 -0
- package/dist/media/optimize.js.map +1 -0
- package/dist/middleware.d.ts +7 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/middleware.js +86 -0
- package/dist/middleware.js.map +1 -0
- package/dist/multisite/index.d.ts +20 -0
- package/dist/multisite/index.d.ts.map +1 -0
- package/dist/multisite/index.js +26 -0
- package/dist/multisite/index.js.map +1 -0
- package/dist/next/preview.d.ts +10 -0
- package/dist/next/preview.d.ts.map +1 -0
- package/dist/next/preview.js +17 -0
- package/dist/next/preview.js.map +1 -0
- package/dist/next.d.ts +9 -0
- package/dist/next.d.ts.map +1 -0
- package/dist/next.js +35 -0
- package/dist/next.js.map +1 -0
- package/dist/notifications/index.d.ts +20 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +22 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/presence/index.d.ts +24 -0
- package/dist/presence/index.d.ts.map +1 -0
- package/dist/presence/index.js +99 -0
- package/dist/presence/index.js.map +1 -0
- package/dist/preview/index.d.ts +14 -0
- package/dist/preview/index.d.ts.map +1 -0
- package/dist/preview/index.js +45 -0
- package/dist/preview/index.js.map +1 -0
- package/dist/privacy/index.d.ts +33 -0
- package/dist/privacy/index.d.ts.map +1 -0
- package/dist/privacy/index.js +15 -0
- package/dist/privacy/index.js.map +1 -0
- package/dist/relationships/index.d.ts +13 -0
- package/dist/relationships/index.d.ts.map +1 -0
- package/dist/relationships/index.js +12 -0
- package/dist/relationships/index.js.map +1 -0
- package/dist/scheduling/index.d.ts +44 -0
- package/dist/scheduling/index.d.ts.map +1 -0
- package/dist/scheduling/index.js +119 -0
- package/dist/scheduling/index.js.map +1 -0
- package/dist/search/index.d.ts +25 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +168 -0
- package/dist/search/index.js.map +1 -0
- package/dist/security/access.d.ts +26 -0
- package/dist/security/access.d.ts.map +1 -0
- package/dist/security/access.js +92 -0
- package/dist/security/access.js.map +1 -0
- package/dist/security/anomaly-detection.d.ts +17 -0
- package/dist/security/anomaly-detection.d.ts.map +1 -0
- package/dist/security/anomaly-detection.js +17 -0
- package/dist/security/anomaly-detection.js.map +1 -0
- package/dist/security/api-key-enhanced.d.ts +25 -0
- package/dist/security/api-key-enhanced.d.ts.map +1 -0
- package/dist/security/api-key-enhanced.js +25 -0
- package/dist/security/api-key-enhanced.js.map +1 -0
- package/dist/security/audit.d.ts +39 -0
- package/dist/security/audit.d.ts.map +1 -0
- package/dist/security/audit.js +40 -0
- package/dist/security/audit.js.map +1 -0
- package/dist/security/breach-check.d.ts +3 -0
- package/dist/security/breach-check.d.ts.map +1 -0
- package/dist/security/breach-check.js +27 -0
- package/dist/security/breach-check.js.map +1 -0
- package/dist/security/cors.d.ts +11 -0
- package/dist/security/cors.d.ts.map +1 -0
- package/dist/security/cors.js +33 -0
- package/dist/security/cors.js.map +1 -0
- package/dist/security/csp-nonces.d.ts +5 -0
- package/dist/security/csp-nonces.d.ts.map +1 -0
- package/dist/security/csp-nonces.js +24 -0
- package/dist/security/csp-nonces.js.map +1 -0
- package/dist/security/csrf.d.ts +5 -0
- package/dist/security/csrf.d.ts.map +1 -0
- package/dist/security/csrf.js +20 -0
- package/dist/security/csrf.js.map +1 -0
- package/dist/security/encrypted-fields.d.ts +5 -0
- package/dist/security/encrypted-fields.d.ts.map +1 -0
- package/dist/security/encrypted-fields.js +40 -0
- package/dist/security/encrypted-fields.js.map +1 -0
- package/dist/security/headers.d.ts +11 -0
- package/dist/security/headers.d.ts.map +1 -0
- package/dist/security/headers.js +32 -0
- package/dist/security/headers.js.map +1 -0
- package/dist/security/index.d.ts +31 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +20 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/ip-allowlist.d.ts +3 -0
- package/dist/security/ip-allowlist.d.ts.map +1 -0
- package/dist/security/ip-allowlist.js +35 -0
- package/dist/security/ip-allowlist.js.map +1 -0
- package/dist/security/middleware.d.ts +20 -0
- package/dist/security/middleware.d.ts.map +1 -0
- package/dist/security/middleware.js +45 -0
- package/dist/security/middleware.js.map +1 -0
- package/dist/security/rate-limit.d.ts +24 -0
- package/dist/security/rate-limit.d.ts.map +1 -0
- package/dist/security/rate-limit.js +84 -0
- package/dist/security/rate-limit.js.map +1 -0
- package/dist/security/reauth.d.ts +15 -0
- package/dist/security/reauth.d.ts.map +1 -0
- package/dist/security/reauth.js +38 -0
- package/dist/security/reauth.js.map +1 -0
- package/dist/security/sanitize.d.ts +13 -0
- package/dist/security/sanitize.d.ts.map +1 -0
- package/dist/security/sanitize.js +34 -0
- package/dist/security/sanitize.js.map +1 -0
- package/dist/security/security-txt.d.ts +12 -0
- package/dist/security/security-txt.d.ts.map +1 -0
- package/dist/security/security-txt.js +19 -0
- package/dist/security/security-txt.js.map +1 -0
- package/dist/security/session-limits.d.ts +17 -0
- package/dist/security/session-limits.d.ts.map +1 -0
- package/dist/security/session-limits.js +14 -0
- package/dist/security/session-limits.js.map +1 -0
- package/dist/security/upload.d.ts +13 -0
- package/dist/security/upload.d.ts.map +1 -0
- package/dist/security/upload.js +34 -0
- package/dist/security/upload.js.map +1 -0
- package/dist/security/webhook.d.ts +12 -0
- package/dist/security/webhook.d.ts.map +1 -0
- package/dist/security/webhook.js +38 -0
- package/dist/security/webhook.js.map +1 -0
- package/dist/seo/analysis.d.ts +66 -0
- package/dist/seo/analysis.d.ts.map +1 -0
- package/dist/seo/analysis.js +594 -0
- package/dist/seo/analysis.js.map +1 -0
- package/dist/seo/index.d.ts +9 -0
- package/dist/seo/index.d.ts.map +1 -0
- package/dist/seo/index.js +5 -0
- package/dist/seo/index.js.map +1 -0
- package/dist/seo/llms-txt.d.ts +16 -0
- package/dist/seo/llms-txt.d.ts.map +1 -0
- package/dist/seo/llms-txt.js +70 -0
- package/dist/seo/llms-txt.js.map +1 -0
- package/dist/seo/meta-tags.d.ts +33 -0
- package/dist/seo/meta-tags.d.ts.map +1 -0
- package/dist/seo/meta-tags.js +159 -0
- package/dist/seo/meta-tags.js.map +1 -0
- package/dist/seo/title-templates.d.ts +17 -0
- package/dist/seo/title-templates.d.ts.map +1 -0
- package/dist/seo/title-templates.js +28 -0
- package/dist/seo/title-templates.js.map +1 -0
- package/dist/setup/index.d.ts +38 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +77 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/storage/index.d.ts +11 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +11 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/templates/index.d.ts +16 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +23 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/upgrade/changelog.d.ts +13 -0
- package/dist/upgrade/changelog.d.ts.map +1 -0
- package/dist/upgrade/changelog.js +54 -0
- package/dist/upgrade/changelog.js.map +1 -0
- package/dist/upgrade/index.d.ts +7 -0
- package/dist/upgrade/index.d.ts.map +1 -0
- package/dist/upgrade/index.js +4 -0
- package/dist/upgrade/index.js.map +1 -0
- package/dist/upgrade/upgrade-pr.d.ts +16 -0
- package/dist/upgrade/upgrade-pr.d.ts.map +1 -0
- package/dist/upgrade/upgrade-pr.js +38 -0
- package/dist/upgrade/upgrade-pr.js.map +1 -0
- package/dist/upgrade/version-check.d.ts +17 -0
- package/dist/upgrade/version-check.d.ts.map +1 -0
- package/dist/upgrade/version-check.js +30 -0
- package/dist/upgrade/version-check.js.map +1 -0
- package/dist/webhooks/index.d.ts +46 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/index.js +245 -0
- package/dist/webhooks/index.js.map +1 -0
- package/dist/workflow/index.d.ts +8 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +56 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflows/index.d.ts +30 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +14 -0
- package/dist/workflows/index.js.map +1 -0
- package/generated/browser.ts +109 -0
- package/generated/client.ts +133 -0
- package/generated/commonInputTypes.ts +709 -0
- package/generated/enums.ts +125 -0
- package/generated/internal/class.ts +376 -0
- package/generated/internal/prismaNamespace.ts +2617 -0
- package/generated/internal/prismaNamespaceBrowser.ts +611 -0
- package/generated/models/ApiKey.ts +1550 -0
- package/generated/models/AuditLog.ts +1206 -0
- package/generated/models/BackupRecord.ts +1250 -0
- package/generated/models/ContentLock.ts +1472 -0
- package/generated/models/ContentTemplate.ts +1416 -0
- package/generated/models/Document.ts +3005 -0
- package/generated/models/Folder.ts +1904 -0
- package/generated/models/FormSubmission.ts +1200 -0
- package/generated/models/InAppNotification.ts +1457 -0
- package/generated/models/Media.ts +2340 -0
- package/generated/models/MediaUsage.ts +1472 -0
- package/generated/models/OAuthAccount.ts +1463 -0
- package/generated/models/Redirect.ts +1284 -0
- package/generated/models/Session.ts +1492 -0
- package/generated/models/Site.ts +1206 -0
- package/generated/models/User.ts +3513 -0
- package/generated/models/Version.ts +1511 -0
- package/generated/models/WorkflowState.ts +1514 -0
- package/generated/models.ts +29 -0
- package/package.json +83 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { listDocuments, getDocument, createDocument, updateDocument, deleteDocument, getGlobal, updateGlobal, } from '../actions.js';
|
|
2
|
+
function toPascalCase(str) {
|
|
3
|
+
return str
|
|
4
|
+
.replace(/[-_\s]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''))
|
|
5
|
+
.replace(/^(.)/, (_, c) => c.toUpperCase());
|
|
6
|
+
}
|
|
7
|
+
function toCamelCase(str) {
|
|
8
|
+
const pascal = toPascalCase(str);
|
|
9
|
+
return pascal.charAt(0).toLowerCase() + pascal.slice(1);
|
|
10
|
+
}
|
|
11
|
+
function buildActionContext(ctx) {
|
|
12
|
+
return {
|
|
13
|
+
userId: ctx.userId ?? 'anonymous',
|
|
14
|
+
role: ctx.role,
|
|
15
|
+
db: ctx.db,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function createFieldResolver(fieldName) {
|
|
19
|
+
return (parent) => {
|
|
20
|
+
if (parent.data && typeof parent.data === 'object') {
|
|
21
|
+
return parent.data[fieldName] ?? null;
|
|
22
|
+
}
|
|
23
|
+
return parent[fieldName] ?? null;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function buildResolvers(config) {
|
|
27
|
+
const resolvers = {
|
|
28
|
+
Query: {},
|
|
29
|
+
Mutation: {},
|
|
30
|
+
};
|
|
31
|
+
for (const [slug, collection] of Object.entries(config.collections)) {
|
|
32
|
+
const typeName = toPascalCase(collection.labels.singular);
|
|
33
|
+
const pluralField = toCamelCase(collection.labels.plural);
|
|
34
|
+
const singularField = toCamelCase(collection.labels.singular);
|
|
35
|
+
const typeResolvers = {};
|
|
36
|
+
for (const fieldName of Object.keys(collection.fields)) {
|
|
37
|
+
typeResolvers[fieldName] = createFieldResolver(fieldName);
|
|
38
|
+
}
|
|
39
|
+
resolvers[typeName] = typeResolvers;
|
|
40
|
+
resolvers.Query[pluralField] = async (_parent, args, ctx) => {
|
|
41
|
+
const actionCtx = buildActionContext(ctx);
|
|
42
|
+
const options = {
|
|
43
|
+
collection: slug,
|
|
44
|
+
page: args.page,
|
|
45
|
+
pageSize: args.pageSize,
|
|
46
|
+
status: args.status,
|
|
47
|
+
};
|
|
48
|
+
return listDocuments(options, actionCtx);
|
|
49
|
+
};
|
|
50
|
+
resolvers.Query[singularField] = async (_parent, args, ctx) => {
|
|
51
|
+
const actionCtx = buildActionContext(ctx);
|
|
52
|
+
return getDocument(slug, args.id, actionCtx);
|
|
53
|
+
};
|
|
54
|
+
resolvers.Mutation[`create${typeName}`] =
|
|
55
|
+
async (_parent, args, ctx) => {
|
|
56
|
+
const actionCtx = buildActionContext(ctx);
|
|
57
|
+
return createDocument(slug, args.input, actionCtx);
|
|
58
|
+
};
|
|
59
|
+
resolvers.Mutation[`update${typeName}`] =
|
|
60
|
+
async (_parent, args, ctx) => {
|
|
61
|
+
const actionCtx = buildActionContext(ctx);
|
|
62
|
+
return updateDocument(slug, args.id, args.input, actionCtx);
|
|
63
|
+
};
|
|
64
|
+
resolvers.Mutation[`delete${typeName}`] =
|
|
65
|
+
async (_parent, args, ctx) => {
|
|
66
|
+
const actionCtx = buildActionContext(ctx);
|
|
67
|
+
await deleteDocument(slug, args.id, actionCtx);
|
|
68
|
+
return true;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (config.globals) {
|
|
72
|
+
for (const [slug, global] of Object.entries(config.globals)) {
|
|
73
|
+
const typeName = toPascalCase(global.label);
|
|
74
|
+
const fieldName = toCamelCase(global.label);
|
|
75
|
+
const typeResolvers = {};
|
|
76
|
+
for (const fName of Object.keys(global.fields)) {
|
|
77
|
+
typeResolvers[fName] = createFieldResolver(fName);
|
|
78
|
+
}
|
|
79
|
+
resolvers[typeName] = typeResolvers;
|
|
80
|
+
resolvers.Query[fieldName] = async (_parent, _args, ctx) => {
|
|
81
|
+
const actionCtx = buildActionContext(ctx);
|
|
82
|
+
return getGlobal(slug, actionCtx);
|
|
83
|
+
};
|
|
84
|
+
resolvers.Mutation[`update${typeName}`] =
|
|
85
|
+
async (_parent, args, ctx) => {
|
|
86
|
+
const actionCtx = buildActionContext(ctx);
|
|
87
|
+
return updateGlobal(slug, args.input, actionCtx);
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return resolvers;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=resolvers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../src/graphql/resolvers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-builder.d.ts","sourceRoot":"","sources":["../../src/graphql/schema-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,oBAAoB,CAAC;AAgG5B,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CA0DlE"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
function toPascalCase(str) {
|
|
2
|
+
return str
|
|
3
|
+
.replace(/[-_\s]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''))
|
|
4
|
+
.replace(/^(.)/, (_, c) => c.toUpperCase());
|
|
5
|
+
}
|
|
6
|
+
function toCamelCase(str) {
|
|
7
|
+
const pascal = toPascalCase(str);
|
|
8
|
+
return pascal.charAt(0).toLowerCase() + pascal.slice(1);
|
|
9
|
+
}
|
|
10
|
+
function mapFieldToGraphQLType(field) {
|
|
11
|
+
switch (field.type) {
|
|
12
|
+
case 'text':
|
|
13
|
+
case 'slug':
|
|
14
|
+
case 'color':
|
|
15
|
+
case 'url':
|
|
16
|
+
case 'email':
|
|
17
|
+
case 'media':
|
|
18
|
+
return 'String';
|
|
19
|
+
case 'richText':
|
|
20
|
+
case 'json':
|
|
21
|
+
return 'JSON';
|
|
22
|
+
case 'number':
|
|
23
|
+
return 'Float';
|
|
24
|
+
case 'boolean':
|
|
25
|
+
return 'Boolean';
|
|
26
|
+
case 'date':
|
|
27
|
+
return 'DateTime';
|
|
28
|
+
case 'select':
|
|
29
|
+
return field.multiple ? '[String!]' : 'String';
|
|
30
|
+
case 'relationship':
|
|
31
|
+
return field.hasMany ? '[ID!]' : 'ID';
|
|
32
|
+
case 'array':
|
|
33
|
+
case 'blocks':
|
|
34
|
+
return '[JSON!]';
|
|
35
|
+
default:
|
|
36
|
+
return 'String';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function buildFieldLines(fields, forInput) {
|
|
40
|
+
const lines = [];
|
|
41
|
+
for (const [name, field] of Object.entries(fields)) {
|
|
42
|
+
const gqlType = mapFieldToGraphQLType(field);
|
|
43
|
+
const required = !forInput && field.required ? '!' : '';
|
|
44
|
+
lines.push(` ${name}: ${gqlType}${required}`);
|
|
45
|
+
}
|
|
46
|
+
return lines;
|
|
47
|
+
}
|
|
48
|
+
function buildCollectionTypes(collection) {
|
|
49
|
+
const typeName = toPascalCase(collection.labels.singular);
|
|
50
|
+
const fieldLines = buildFieldLines(collection.fields, false);
|
|
51
|
+
const inputFieldLines = buildFieldLines(collection.fields, true);
|
|
52
|
+
const parts = [];
|
|
53
|
+
parts.push(`type ${typeName} {\n id: ID!\n collection: String!\n status: DocumentStatus\n createdAt: DateTime\n updatedAt: DateTime\n${fieldLines.join('\n')}\n}`);
|
|
54
|
+
parts.push(`type ${typeName}List {\n docs: [${typeName}!]!\n total: Int!\n page: Int!\n pageSize: Int!\n}`);
|
|
55
|
+
parts.push(`input ${typeName}Input {\n${inputFieldLines.join('\n')}\n}`);
|
|
56
|
+
return parts.join('\n\n');
|
|
57
|
+
}
|
|
58
|
+
function buildGlobalTypes(global) {
|
|
59
|
+
const typeName = toPascalCase(global.label);
|
|
60
|
+
const fieldLines = buildFieldLines(global.fields, false);
|
|
61
|
+
const inputFieldLines = buildFieldLines(global.fields, true);
|
|
62
|
+
const parts = [];
|
|
63
|
+
parts.push(`type ${typeName} {\n id: ID!\n${fieldLines.join('\n')}\n}`);
|
|
64
|
+
parts.push(`input ${typeName}Input {\n${inputFieldLines.join('\n')}\n}`);
|
|
65
|
+
return parts.join('\n\n');
|
|
66
|
+
}
|
|
67
|
+
export function buildSchemaString(config) {
|
|
68
|
+
const parts = [];
|
|
69
|
+
parts.push('scalar JSON');
|
|
70
|
+
parts.push('scalar DateTime');
|
|
71
|
+
parts.push('enum DocumentStatus {\n DRAFT\n PUBLISHED\n ARCHIVED\n SCHEDULED\n}');
|
|
72
|
+
const queryFields = [];
|
|
73
|
+
const mutationFields = [];
|
|
74
|
+
for (const [, collection] of Object.entries(config.collections)) {
|
|
75
|
+
parts.push(buildCollectionTypes(collection));
|
|
76
|
+
const typeName = toPascalCase(collection.labels.singular);
|
|
77
|
+
const pluralField = toCamelCase(collection.labels.plural);
|
|
78
|
+
const singularField = toCamelCase(collection.labels.singular);
|
|
79
|
+
queryFields.push(` ${pluralField}(page: Int, pageSize: Int, status: String): ${typeName}List!`);
|
|
80
|
+
queryFields.push(` ${singularField}(id: ID!): ${typeName}`);
|
|
81
|
+
mutationFields.push(` create${typeName}(input: ${typeName}Input!): ${typeName}!`);
|
|
82
|
+
mutationFields.push(` update${typeName}(id: ID!, input: ${typeName}Input!): ${typeName}!`);
|
|
83
|
+
mutationFields.push(` delete${typeName}(id: ID!): Boolean!`);
|
|
84
|
+
}
|
|
85
|
+
if (config.globals) {
|
|
86
|
+
for (const [, global] of Object.entries(config.globals)) {
|
|
87
|
+
parts.push(buildGlobalTypes(global));
|
|
88
|
+
const typeName = toPascalCase(global.label);
|
|
89
|
+
const fieldName = toCamelCase(global.label);
|
|
90
|
+
queryFields.push(` ${fieldName}: ${typeName}`);
|
|
91
|
+
mutationFields.push(` update${typeName}(input: ${typeName}Input!): ${typeName}!`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (queryFields.length === 0) {
|
|
95
|
+
queryFields.push(' _health: Boolean');
|
|
96
|
+
}
|
|
97
|
+
parts.push(`type Query {\n${queryFields.join('\n')}\n}`);
|
|
98
|
+
if (mutationFields.length > 0) {
|
|
99
|
+
parts.push(`type Mutation {\n${mutationFields.join('\n')}\n}`);
|
|
100
|
+
}
|
|
101
|
+
return parts.join('\n\n');
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=schema-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../../src/graphql/schema-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface HealthStatus {
|
|
2
|
+
status: "healthy" | "degraded" | "unhealthy";
|
|
3
|
+
timestamp: string;
|
|
4
|
+
version: string;
|
|
5
|
+
checks: HealthCheck[];
|
|
6
|
+
}
|
|
7
|
+
export interface HealthCheck {
|
|
8
|
+
name: string;
|
|
9
|
+
status: "pass" | "fail" | "warn";
|
|
10
|
+
message?: string;
|
|
11
|
+
duration?: number;
|
|
12
|
+
}
|
|
13
|
+
/** Run all health checks and return the aggregated status. */
|
|
14
|
+
export declare function checkHealth(version: string, checks: Array<{
|
|
15
|
+
name: string;
|
|
16
|
+
check: () => Promise<void>;
|
|
17
|
+
}>): Promise<HealthStatus>;
|
|
18
|
+
/** Create a standard database health check. */
|
|
19
|
+
export declare function databaseHealthCheck(db: {
|
|
20
|
+
query: (sql: string) => Promise<unknown>;
|
|
21
|
+
}): () => Promise<void>;
|
|
22
|
+
/** Handle a health check HTTP request. */
|
|
23
|
+
export declare function handleHealthRequest(version: string, checks: Array<{
|
|
24
|
+
name: string;
|
|
25
|
+
check: () => Promise<void>;
|
|
26
|
+
}>): Promise<Response>;
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8DAA8D;AAC9D,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,GAC1D,OAAO,CAAC,YAAY,CAAC,CA2BvB;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,EAAE,EAAE;IAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAIzG;AAED,0CAA0C;AAC1C,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,GAC1D,OAAO,CAAC,QAAQ,CAAC,CAOnB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** Run all health checks and return the aggregated status. */
|
|
2
|
+
export async function checkHealth(version, checks) {
|
|
3
|
+
const results = [];
|
|
4
|
+
for (const { name, check } of checks) {
|
|
5
|
+
const start = Date.now();
|
|
6
|
+
try {
|
|
7
|
+
await check();
|
|
8
|
+
results.push({ name, status: "pass", duration: Date.now() - start });
|
|
9
|
+
}
|
|
10
|
+
catch (err) {
|
|
11
|
+
results.push({
|
|
12
|
+
name,
|
|
13
|
+
status: "fail",
|
|
14
|
+
message: err instanceof Error ? err.message : "Unknown error",
|
|
15
|
+
duration: Date.now() - start,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const hasFailure = results.some((c) => c.status === "fail");
|
|
20
|
+
const hasWarning = results.some((c) => c.status === "warn");
|
|
21
|
+
return {
|
|
22
|
+
status: hasFailure ? "unhealthy" : hasWarning ? "degraded" : "healthy",
|
|
23
|
+
timestamp: new Date().toISOString(),
|
|
24
|
+
version,
|
|
25
|
+
checks: results,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/** Create a standard database health check. */
|
|
29
|
+
export function databaseHealthCheck(db) {
|
|
30
|
+
return async () => {
|
|
31
|
+
await db.query("SELECT 1");
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/** Handle a health check HTTP request. */
|
|
35
|
+
export async function handleHealthRequest(version, checks) {
|
|
36
|
+
const health = await checkHealth(version, checks);
|
|
37
|
+
const status = health.status === "healthy" ? 200 : health.status === "degraded" ? 200 : 503;
|
|
38
|
+
return new Response(JSON.stringify(health), {
|
|
39
|
+
status,
|
|
40
|
+
headers: { "Content-Type": "application/json" },
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"AAcA,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,MAA2D;IAE3D,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;gBAC7D,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAE5D,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACtE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO;QACP,MAAM,EAAE,OAAO;KAChB,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,mBAAmB,CAAC,EAAgD;IAClF,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,MAA2D;IAE3D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5F,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;QAC1C,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { I18nConfig } from "../config/types";
|
|
2
|
+
export interface LocaleQuery {
|
|
3
|
+
locale: string;
|
|
4
|
+
fallbackLocale?: string;
|
|
5
|
+
localeGroupId?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ParameterizedQuery {
|
|
8
|
+
sql: string;
|
|
9
|
+
params: unknown[];
|
|
10
|
+
}
|
|
11
|
+
/** Build a WHERE clause fragment for locale-filtered document queries. */
|
|
12
|
+
export declare function buildLocaleFilter(query: LocaleQuery): ParameterizedQuery;
|
|
13
|
+
/** Build a query that returns documents with a fallback to another locale. */
|
|
14
|
+
export declare function buildLocaleFallbackQuery(collection: string, locale: string, fallbackLocale: string): ParameterizedQuery;
|
|
15
|
+
/** Get the available locales from the i18n config. */
|
|
16
|
+
export declare function getLocales(config: I18nConfig): Array<{
|
|
17
|
+
code: string;
|
|
18
|
+
label: string;
|
|
19
|
+
}>;
|
|
20
|
+
/** Resolve the effective locale, falling back to the default if necessary. */
|
|
21
|
+
export declare function resolveLocale(requested: string | undefined, config: I18nConfig): string;
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,kBAAkB,CAUxE;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,kBAAkB,CAapB;AAED,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAErF;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,UAAU,GACjB,MAAM,CAIR"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** Build a WHERE clause fragment for locale-filtered document queries. */
|
|
2
|
+
export function buildLocaleFilter(query) {
|
|
3
|
+
const params = [query.locale];
|
|
4
|
+
const conditions = [`"locale" = $1`];
|
|
5
|
+
if (query.localeGroupId) {
|
|
6
|
+
params.push(query.localeGroupId);
|
|
7
|
+
conditions.push(`"localeGroupId" = $${params.length}`);
|
|
8
|
+
}
|
|
9
|
+
return { sql: conditions.join(" AND "), params };
|
|
10
|
+
}
|
|
11
|
+
/** Build a query that returns documents with a fallback to another locale. */
|
|
12
|
+
export function buildLocaleFallbackQuery(collection, locale, fallbackLocale) {
|
|
13
|
+
return {
|
|
14
|
+
sql: `
|
|
15
|
+
SELECT DISTINCT ON ("localeGroupId") *
|
|
16
|
+
FROM actuate_documents
|
|
17
|
+
WHERE collection = $1
|
|
18
|
+
AND "deletedAt" IS NULL
|
|
19
|
+
AND locale IN ($2, $3)
|
|
20
|
+
ORDER BY "localeGroupId",
|
|
21
|
+
CASE WHEN locale = $2 THEN 0 ELSE 1 END
|
|
22
|
+
`,
|
|
23
|
+
params: [collection, locale, fallbackLocale],
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/** Get the available locales from the i18n config. */
|
|
27
|
+
export function getLocales(config) {
|
|
28
|
+
return config.locales.map(({ code, label }) => ({ code, label }));
|
|
29
|
+
}
|
|
30
|
+
/** Resolve the effective locale, falling back to the default if necessary. */
|
|
31
|
+
export function resolveLocale(requested, config) {
|
|
32
|
+
if (!requested)
|
|
33
|
+
return config.defaultLocale;
|
|
34
|
+
const exists = config.locales.some((l) => l.code === requested);
|
|
35
|
+
return exists ? requested : config.fallbackLocale ?? config.defaultLocale;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAaA,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,MAAM,MAAM,GAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,CAAC,eAAe,CAAC,CAAC;IAErC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACjC,UAAU,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,wBAAwB,CACtC,UAAkB,EAClB,MAAc,EACd,cAAsB;IAEtB,OAAO;QACL,GAAG,EAAE;;;;;;;;GAQN;QACC,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,UAAU,CAAC,MAAkB;IAC3C,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAC3B,SAA6B,EAC7B,MAAkB;IAElB,IAAI,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,aAAa,CAAC;AAC5E,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export { defineConfig } from "./config/index";
|
|
2
|
+
export type { ActuateCMSConfig, CollectionDefinition, CollectionSEOConfig, FieldDefinition, GlobalDefinition, AuthConfig, PluginDefinition, DatabaseAdapter, StorageAdapter, CacheAdapter, EmailAdapter, SchedulerAdapter, RateLimitAdapter, AdminBrandingConfig, AdminConfig, I18nConfig, AccessConfig, AccessFunction, PasswordPolicy, BlockDefinition, } from "./config/types";
|
|
3
|
+
export { CollectionRegistry, collectionRegistry } from "./collections/index";
|
|
4
|
+
export { BUILT_IN_FIELDS, getFieldType, getAllFieldTypes } from "./fields/index";
|
|
5
|
+
export type { FieldTypeDefinition } from "./fields/index";
|
|
6
|
+
export { createSession, verifySession, revokeSession, refreshSession, hashPassword, verifyPassword, validatePasswordPolicy, checkPasswordBreach, generateTOTPSecret, verifyTOTP, generateBackupCodes, generateTOTPUri, initiateOAuth, handleCallback, linkAccount, googleProvider, githubProvider, microsoftProvider, generateCodeVerifier, generateCodeChallenge, getAuthorizationUrl, exchangeCodeForTokens, getUserProfile, handleOAuthCallback, } from "./auth/index";
|
|
7
|
+
export type { SessionPayload, SessionOptions, OAuthState, OAuthCallbackResult, OAuthProviderConfig, OAuthProviders, OAuthUserProfile, } from "./auth/index";
|
|
8
|
+
export { checkAccess, getPermissionsForRole, filterFieldsByRole, filterWritableFields, applyFieldAccess, generateCsrfToken, validateCsrfToken, createRateLimiter, sanitizeHtml, stripHtml, validateMimeType, checkMagicBytes, validateWebhookUrl, resolveAndCheck, logEvent, getAuditLog, getSecurityHeaders, applySecurityMiddleware, checkBreached, detectLoginAnomaly, checkBruteForce, requiresReauth, verifyReauth, isIpAllowed, enforceSessionLimits, encryptField, decryptField, getCorsHeaders, generateCspNonce, buildCspHeader, generateSecurityTxt, generateApiKey, validateApiKeyScope, } from "./security/index";
|
|
9
|
+
export { searchDocuments } from "./search/index";
|
|
10
|
+
export type { SearchOptions, SearchResult, SearchResponse } from "./search/index";
|
|
11
|
+
export { dispatch as dispatchWebhook, createEndpoint as createWebhookEndpoint, listEndpoints as listWebhookEndpoints, updateEndpoint as updateWebhookEndpoint, deleteEndpoint as deleteWebhookEndpoint, getDeliveries as getWebhookDeliveries, processRetries as processWebhookRetries, signPayload, verifySignature, } from "./webhooks/index";
|
|
12
|
+
export type { WebhookEvent, WebhookEndpointInput, WebhookPayload } from "./webhooks/index";
|
|
13
|
+
export { buildLocaleFilter, buildLocaleFallbackQuery, getLocales, resolveLocale } from "./i18n/index";
|
|
14
|
+
export { cached, revalidateTag, buildCacheKey, getDocumentCacheTags } from "./cache/index";
|
|
15
|
+
export { extractPlainText, extractExcerpt, hashContent, registerSchemaType, getSchemaType, generateJsonLd, renderJsonLdScript, buildContentGraph, serializeGraph, findIncomingReferences, handleContentApiRequest, sanitizeForPublicApi, } from "./content/index";
|
|
16
|
+
export type { SchemaOrgType, StructuredDataMapping, GraphNode, GraphEdge, ContentGraph, PublicApiRequest, PublicApiResponse } from "./content/index";
|
|
17
|
+
export { generateTypes } from "./codegen/index";
|
|
18
|
+
export { createDocument, updateDocument, deleteDocument, duplicateDocument, getDocument, listDocuments, getGlobal, updateGlobal, } from "./actions";
|
|
19
|
+
export type { ActionContext, ListOptions, ListResult } from "./actions";
|
|
20
|
+
export { withActuateCMS, getAdminPath } from "./next";
|
|
21
|
+
export { createCMSMiddleware } from "./middleware";
|
|
22
|
+
export type { ActuateMiddlewareConfig } from "./middleware";
|
|
23
|
+
export { getDB, initDB, isDBInitialized } from "./db";
|
|
24
|
+
export { createDatabaseClient, createDatabaseClientFromEnv, detectProvider } from "./db/create-adapter";
|
|
25
|
+
export type { DatabaseConfig, DatabaseProvider } from "./db/create-adapter";
|
|
26
|
+
export { createCMSClient } from "./client";
|
|
27
|
+
export type { CMSClient, CollectionClient, GlobalClient, FindOptions, FindResult } from "./client";
|
|
28
|
+
export { checkForUpdates, parseSemver, fetchChangelog, parseChangelog, createUpgradePR } from "./upgrade/index";
|
|
29
|
+
export type { VersionInfo, ChangelogEntry, UpgradePROptions, UpgradePRResult } from "./upgrade/index";
|
|
30
|
+
export { getReverseRelationships, checkOrphanedReferences } from "./relationships/index";
|
|
31
|
+
export type { ReverseRelationship } from "./relationships/index";
|
|
32
|
+
export { createNotificationProvider } from "./notifications/index";
|
|
33
|
+
export type { Notification, NotificationProvider } from "./notifications/index";
|
|
34
|
+
export { exportUserData, eraseUserData, applyRetentionPolicies } from "./privacy/index";
|
|
35
|
+
export type { UserDataExport, RetentionPolicy, ErasureResult } from "./privacy/index";
|
|
36
|
+
export { advanceWorkflow, rejectWorkflowStep, getWorkflowState } from "./workflows/index";
|
|
37
|
+
export type { WorkflowDefinition, WorkflowStep, WorkflowInstance } from "./workflows/index";
|
|
38
|
+
export { canTransition, getAvailableTransitions, transitionDocument } from "./workflow/index";
|
|
39
|
+
export type { WorkflowStage } from "./workflow/index";
|
|
40
|
+
export { createSSEPresenceAdapter } from "./presence/index";
|
|
41
|
+
export type { PresenceUser, PresenceProvider } from "./presence/index";
|
|
42
|
+
export { getScheduleCalendar, processScheduledPublish, processScheduledUnpublish, schedulingCronHandler } from "./scheduling/index";
|
|
43
|
+
export type { ScheduledAction, ScheduleCalendarEntry } from "./scheduling/index";
|
|
44
|
+
export { saveAsTemplate, createFromTemplate, listTemplates } from "./templates/index";
|
|
45
|
+
export type { ContentTemplate } from "./templates/index";
|
|
46
|
+
export { resolveSite, getDefaultSite, listSites, createSiteContext } from "./multisite/index";
|
|
47
|
+
export type { SiteConfig, SiteContext } from "./multisite/index";
|
|
48
|
+
export { BUILT_IN_RULES, auditContent } from "./a11y/index";
|
|
49
|
+
export type { AuditRule, AuditViolation, AuditReport, Severity } from "./a11y/index";
|
|
50
|
+
export { createBackupProvider } from "./backup/index";
|
|
51
|
+
export type { BackupMetadata, BackupProvider } from "./backup/index";
|
|
52
|
+
export { checkHealth, databaseHealthCheck, handleHealthRequest } from "./health/index";
|
|
53
|
+
export type { HealthStatus, HealthCheck } from "./health/index";
|
|
54
|
+
export { createPreviewAdapter } from "./preview/index";
|
|
55
|
+
export type { PreviewSession, PreviewAdapter } from "./preview/index";
|
|
56
|
+
export { checkSetupRequired, createInitialAdmin, autoSeedAdmin } from "./setup/index";
|
|
57
|
+
export type { SetupStatus, CreateAdminInput, SetupResult } from "./setup/index";
|
|
58
|
+
export { captureAttribution, storeAttribution, getStoredAttribution, trackPageView, getAttributionForSubmission, trackFormStart, trackFormSubmit, trackFormError, pushDataLayerEvent, getDefaultConfirmation, getDefaultAnalyticsConfig, } from "./forms/index";
|
|
59
|
+
export type { AttributionData, FormAnalyticsConfig, FormConfirmation } from "./forms/index";
|
|
60
|
+
export { setStorageAdapter, getStorageAdapter } from "./storage/index";
|
|
61
|
+
export type { StorageAdapter as MediaStorageAdapter } from "./storage/index";
|
|
62
|
+
export { optimizeImage, getImageMetadata, formatBytes } from "./media/index";
|
|
63
|
+
export type { OptimizationResult, OptimizeOptions } from "./media/index";
|
|
64
|
+
export { createApiRouter } from "./api/index";
|
|
65
|
+
export type { ApiRoute, ApiMiddleware, ApiRouter } from "./api/index";
|
|
66
|
+
export { createGraphQLHandler } from "./graphql/index";
|
|
67
|
+
export type { GraphQLHandlerOptions } from "./graphql/index";
|
|
68
|
+
export { analyzeContent, calculateReadability, stripHtmlTags, countSyllables, detectPassiveVoice, splitSentences, splitParagraphs } from "./seo/index";
|
|
69
|
+
export type { SEOAnalysisResult, SEOCheck, AnalysisInput, ReadabilityResult } from "./seo/index";
|
|
70
|
+
export { generateOpenAPISpec } from "./api/openapi";
|
|
71
|
+
export { generateMetaTags, renderMetaTagsHtml, generateNextMetadata, resolveTitle, getDocumentTitle, generateLlmsTxt, } from "./seo/index";
|
|
72
|
+
export type { MetaTagInput, TitleTemplateConfig, TitleVariable, LlmsTxtConfig, LlmsTxtPage, } from "./seo/index";
|
|
73
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// Configuration
|
|
2
|
+
export { defineConfig } from "./config/index";
|
|
3
|
+
// Collections
|
|
4
|
+
export { CollectionRegistry, collectionRegistry } from "./collections/index";
|
|
5
|
+
// Fields
|
|
6
|
+
export { BUILT_IN_FIELDS, getFieldType, getAllFieldTypes } from "./fields/index";
|
|
7
|
+
// Auth
|
|
8
|
+
export { createSession, verifySession, revokeSession, refreshSession, hashPassword, verifyPassword, validatePasswordPolicy, checkPasswordBreach, generateTOTPSecret, verifyTOTP, generateBackupCodes, generateTOTPUri, initiateOAuth, handleCallback, linkAccount, googleProvider, githubProvider, microsoftProvider, generateCodeVerifier, generateCodeChallenge, getAuthorizationUrl, exchangeCodeForTokens, getUserProfile, handleOAuthCallback, } from "./auth/index";
|
|
9
|
+
// Security
|
|
10
|
+
export { checkAccess, getPermissionsForRole, filterFieldsByRole, filterWritableFields, applyFieldAccess, generateCsrfToken, validateCsrfToken, createRateLimiter, sanitizeHtml, stripHtml, validateMimeType, checkMagicBytes, validateWebhookUrl, resolveAndCheck, logEvent, getAuditLog, getSecurityHeaders, applySecurityMiddleware, checkBreached, detectLoginAnomaly, checkBruteForce, requiresReauth, verifyReauth, isIpAllowed, enforceSessionLimits, encryptField, decryptField, getCorsHeaders, generateCspNonce, buildCspHeader, generateSecurityTxt, generateApiKey, validateApiKeyScope, } from "./security/index";
|
|
11
|
+
// Search
|
|
12
|
+
export { searchDocuments } from "./search/index";
|
|
13
|
+
// Webhooks
|
|
14
|
+
export { dispatch as dispatchWebhook, createEndpoint as createWebhookEndpoint, listEndpoints as listWebhookEndpoints, updateEndpoint as updateWebhookEndpoint, deleteEndpoint as deleteWebhookEndpoint, getDeliveries as getWebhookDeliveries, processRetries as processWebhookRetries, signPayload, verifySignature, } from "./webhooks/index";
|
|
15
|
+
// i18n
|
|
16
|
+
export { buildLocaleFilter, buildLocaleFallbackQuery, getLocales, resolveLocale } from "./i18n/index";
|
|
17
|
+
// Cache
|
|
18
|
+
export { cached, revalidateTag, buildCacheKey, getDocumentCacheTags } from "./cache/index";
|
|
19
|
+
// Content
|
|
20
|
+
export { extractPlainText, extractExcerpt, hashContent, registerSchemaType, getSchemaType, generateJsonLd, renderJsonLdScript, buildContentGraph, serializeGraph, findIncomingReferences, handleContentApiRequest, sanitizeForPublicApi, } from "./content/index";
|
|
21
|
+
// Codegen
|
|
22
|
+
export { generateTypes } from "./codegen/index";
|
|
23
|
+
// Server Actions
|
|
24
|
+
export { createDocument, updateDocument, deleteDocument, duplicateDocument, getDocument, listDocuments, getGlobal, updateGlobal, } from "./actions";
|
|
25
|
+
// Next.js Integration
|
|
26
|
+
export { withActuateCMS, getAdminPath } from "./next";
|
|
27
|
+
// Middleware
|
|
28
|
+
export { createCMSMiddleware } from "./middleware";
|
|
29
|
+
// Database (lazy init)
|
|
30
|
+
export { getDB, initDB, isDBInitialized } from "./db";
|
|
31
|
+
// Database adapters
|
|
32
|
+
export { createDatabaseClient, createDatabaseClientFromEnv, detectProvider } from "./db/create-adapter";
|
|
33
|
+
// Client
|
|
34
|
+
export { createCMSClient } from "./client";
|
|
35
|
+
// Upgrade
|
|
36
|
+
export { checkForUpdates, parseSemver, fetchChangelog, parseChangelog, createUpgradePR } from "./upgrade/index";
|
|
37
|
+
// Relationships
|
|
38
|
+
export { getReverseRelationships, checkOrphanedReferences } from "./relationships/index";
|
|
39
|
+
// Notifications
|
|
40
|
+
export { createNotificationProvider } from "./notifications/index";
|
|
41
|
+
// Privacy / GDPR
|
|
42
|
+
export { exportUserData, eraseUserData, applyRetentionPolicies } from "./privacy/index";
|
|
43
|
+
// Workflows
|
|
44
|
+
export { advanceWorkflow, rejectWorkflowStep, getWorkflowState } from "./workflows/index";
|
|
45
|
+
// Workflow (approval system)
|
|
46
|
+
export { canTransition, getAvailableTransitions, transitionDocument } from "./workflow/index";
|
|
47
|
+
// Presence
|
|
48
|
+
export { createSSEPresenceAdapter } from "./presence/index";
|
|
49
|
+
// Scheduling
|
|
50
|
+
export { getScheduleCalendar, processScheduledPublish, processScheduledUnpublish, schedulingCronHandler } from "./scheduling/index";
|
|
51
|
+
// Templates
|
|
52
|
+
export { saveAsTemplate, createFromTemplate, listTemplates } from "./templates/index";
|
|
53
|
+
// Multisite
|
|
54
|
+
export { resolveSite, getDefaultSite, listSites, createSiteContext } from "./multisite/index";
|
|
55
|
+
// Accessibility
|
|
56
|
+
export { BUILT_IN_RULES, auditContent } from "./a11y/index";
|
|
57
|
+
// Backup
|
|
58
|
+
export { createBackupProvider } from "./backup/index";
|
|
59
|
+
// Health
|
|
60
|
+
export { checkHealth, databaseHealthCheck, handleHealthRequest } from "./health/index";
|
|
61
|
+
// Preview
|
|
62
|
+
export { createPreviewAdapter } from "./preview/index";
|
|
63
|
+
// Setup (first-run)
|
|
64
|
+
export { checkSetupRequired, createInitialAdmin, autoSeedAdmin } from "./setup/index";
|
|
65
|
+
// Forms
|
|
66
|
+
export { captureAttribution, storeAttribution, getStoredAttribution, trackPageView, getAttributionForSubmission, trackFormStart, trackFormSubmit, trackFormError, pushDataLayerEvent, getDefaultConfirmation, getDefaultAnalyticsConfig, } from "./forms/index";
|
|
67
|
+
// Storage (media upload abstraction)
|
|
68
|
+
export { setStorageAdapter, getStorageAdapter } from "./storage/index";
|
|
69
|
+
// Media optimization
|
|
70
|
+
export { optimizeImage, getImageMetadata, formatBytes } from "./media/index";
|
|
71
|
+
// API
|
|
72
|
+
export { createApiRouter } from "./api/index";
|
|
73
|
+
// GraphQL
|
|
74
|
+
export { createGraphQLHandler } from "./graphql/index";
|
|
75
|
+
// SEO Analysis
|
|
76
|
+
export { analyzeContent, calculateReadability, stripHtmlTags, countSyllables, detectPassiveVoice, splitSentences, splitParagraphs } from "./seo/index";
|
|
77
|
+
// OpenAPI
|
|
78
|
+
export { generateOpenAPISpec } from "./api/openapi";
|
|
79
|
+
// SEO
|
|
80
|
+
export { generateMetaTags, renderMetaTagsHtml, generateNextMetadata, resolveTitle, getDocumentTitle, generateLlmsTxt, } from "./seo/index";
|
|
81
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,kBAAkB,EAClB,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/media/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,WAAW,GACZ,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import sharp from 'sharp';
|
|
2
|
+
export interface OptimizationResult {
|
|
3
|
+
buffer: Buffer;
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
originalSize: number;
|
|
7
|
+
optimizedSize: number;
|
|
8
|
+
savings: number;
|
|
9
|
+
format: 'webp' | 'original';
|
|
10
|
+
mimeType: string;
|
|
11
|
+
filename: string;
|
|
12
|
+
blurHash?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface OptimizeOptions {
|
|
15
|
+
quality?: number;
|
|
16
|
+
maxWidth?: number;
|
|
17
|
+
maxHeight?: number;
|
|
18
|
+
/** Skip WebP conversion for these MIME types */
|
|
19
|
+
preserveFormats?: string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Optimizes an image: converts to WebP, resizes if too large,
|
|
23
|
+
* extracts dimensions, and generates a tiny blur placeholder.
|
|
24
|
+
* Non-image files and SVGs/GIFs are returned unchanged.
|
|
25
|
+
*/
|
|
26
|
+
export declare function optimizeImage(input: Buffer | ArrayBuffer | Uint8Array, originalFilename: string, mimeType: string, opts?: OptimizeOptions): Promise<OptimizationResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Extracts image metadata without performing optimization.
|
|
29
|
+
* Useful for non-destructive dimension/format reads.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getImageMetadata(input: Buffer | ArrayBuffer | Uint8Array): Promise<{
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
format: keyof sharp.FormatEnum;
|
|
35
|
+
hasAlpha: boolean;
|
|
36
|
+
isAnimated: boolean;
|
|
37
|
+
space: keyof sharp.ColourspaceEnum;
|
|
38
|
+
} | null>;
|
|
39
|
+
export declare function formatBytes(bytes: number): string;
|
|
40
|
+
//# sourceMappingURL=optimize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimize.d.ts","sourceRoot":"","sources":["../../src/media/optimize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAmBD;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,EACxC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA+F7B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU;;;;;;;UAe9E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIjD"}
|