@nocobase/app-server 0.11.1-alpha.4 → 2.0.0-beta.1
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/README.md +295 -0
- package/dist/application/index.d.ts +128 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +386 -0
- package/dist/application/index.js.map +1 -0
- package/dist/caching/config.d.ts +2 -0
- package/dist/caching/config.d.ts.map +1 -0
- package/dist/caching/config.js +2 -0
- package/dist/caching/config.js.map +1 -0
- package/dist/caching/index.d.ts +5 -0
- package/dist/caching/index.d.ts.map +1 -0
- package/dist/caching/index.js +4 -0
- package/dist/caching/index.js.map +1 -0
- package/dist/caching/provider.d.ts +8 -0
- package/dist/caching/provider.d.ts.map +1 -0
- package/dist/caching/provider.js +14 -0
- package/dist/caching/provider.js.map +1 -0
- package/dist/caching/token.d.ts +4 -0
- package/dist/caching/token.d.ts.map +1 -0
- package/dist/caching/token.js +3 -0
- package/dist/caching/token.js.map +1 -0
- package/dist/config/app-config-types.d.ts +44 -0
- package/dist/config/app-config-types.d.ts.map +1 -0
- package/dist/config/app-config-types.js +2 -0
- package/dist/config/app-config-types.js.map +1 -0
- package/dist/config/app-config.d.ts +60 -0
- package/dist/config/app-config.d.ts.map +1 -0
- package/dist/config/app-config.js +247 -0
- package/dist/config/app-config.js.map +1 -0
- package/dist/config/context.d.ts +3 -0
- package/dist/config/context.d.ts.map +1 -0
- package/dist/config/context.js +7 -0
- package/dist/config/context.js.map +1 -0
- package/dist/config/define-app-config.d.ts +71 -0
- package/dist/config/define-app-config.d.ts.map +1 -0
- package/dist/config/define-app-config.js +48 -0
- package/dist/config/define-app-config.js.map +1 -0
- package/dist/config/index.d.ts +13 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +11 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/not-configured.d.ts +23 -0
- package/dist/config/not-configured.d.ts.map +1 -0
- package/dist/config/not-configured.js +31 -0
- package/dist/config/not-configured.js.map +1 -0
- package/dist/config/paths.d.ts +27 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +27 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/placeholder-secret.d.ts +19 -0
- package/dist/config/placeholder-secret.d.ts.map +1 -0
- package/dist/config/placeholder-secret.js +26 -0
- package/dist/config/placeholder-secret.js.map +1 -0
- package/dist/config/runtime-environment.d.ts +11 -0
- package/dist/config/runtime-environment.d.ts.map +1 -0
- package/dist/config/runtime-environment.js +20 -0
- package/dist/config/runtime-environment.js.map +1 -0
- package/dist/config/types.d.ts +12 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/validation.d.ts +36 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/config/validation.js +186 -0
- package/dist/config/validation.js.map +1 -0
- package/dist/config/variables.d.ts +57 -0
- package/dist/config/variables.d.ts.map +1 -0
- package/dist/config/variables.js +89 -0
- package/dist/config/variables.js.map +1 -0
- package/dist/database/collections-artifact.d.ts +99 -0
- package/dist/database/collections-artifact.d.ts.map +1 -0
- package/dist/database/collections-artifact.js +397 -0
- package/dist/database/collections-artifact.js.map +1 -0
- package/dist/database/collections-directory.d.ts +36 -0
- package/dist/database/collections-directory.d.ts.map +1 -0
- package/dist/database/collections-directory.js +115 -0
- package/dist/database/collections-directory.js.map +1 -0
- package/dist/database/collections-doctor.d.ts +43 -0
- package/dist/database/collections-doctor.d.ts.map +1 -0
- package/dist/database/collections-doctor.js +88 -0
- package/dist/database/collections-doctor.js.map +1 -0
- package/dist/database/connection-check.d.ts +25 -0
- package/dist/database/connection-check.d.ts.map +1 -0
- package/dist/database/connection-check.js +65 -0
- package/dist/database/connection-check.js.map +1 -0
- package/dist/database/connection-selection.d.ts +16 -0
- package/dist/database/connection-selection.d.ts.map +1 -0
- package/dist/database/connection-selection.js +30 -0
- package/dist/database/connection-selection.js.map +1 -0
- package/dist/database/define-app-database-config.d.ts +49 -0
- package/dist/database/define-app-database-config.d.ts.map +1 -0
- package/dist/database/define-app-database-config.js +73 -0
- package/dist/database/define-app-database-config.js.map +1 -0
- package/dist/database/environment.d.ts +11 -0
- package/dist/database/environment.d.ts.map +1 -0
- package/dist/database/environment.js +49 -0
- package/dist/database/environment.js.map +1 -0
- package/dist/database/index.d.ts +17 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +16 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/manager.d.ts +16 -0
- package/dist/database/manager.d.ts.map +1 -0
- package/dist/database/manager.js +83 -0
- package/dist/database/manager.js.map +1 -0
- package/dist/database/migrator.d.ts +88 -0
- package/dist/database/migrator.d.ts.map +1 -0
- package/dist/database/migrator.js +143 -0
- package/dist/database/migrator.js.map +1 -0
- package/dist/database/ownership.d.ts +6 -0
- package/dist/database/ownership.d.ts.map +1 -0
- package/dist/database/ownership.js +50 -0
- package/dist/database/ownership.js.map +1 -0
- package/dist/database/plan.d.ts +36 -0
- package/dist/database/plan.d.ts.map +1 -0
- package/dist/database/plan.js +136 -0
- package/dist/database/plan.js.map +1 -0
- package/dist/database/provider.d.ts +43 -0
- package/dist/database/provider.d.ts.map +1 -0
- package/dist/database/provider.js +171 -0
- package/dist/database/provider.js.map +1 -0
- package/dist/database/resolve-config.d.ts +42 -0
- package/dist/database/resolve-config.d.ts.map +1 -0
- package/dist/database/resolve-config.js +118 -0
- package/dist/database/resolve-config.js.map +1 -0
- package/dist/database/seeder.d.ts +50 -0
- package/dist/database/seeder.d.ts.map +1 -0
- package/dist/database/seeder.js +117 -0
- package/dist/database/seeder.js.map +1 -0
- package/dist/database/storage.d.ts +10 -0
- package/dist/database/storage.d.ts.map +1 -0
- package/dist/database/storage.js +37 -0
- package/dist/database/storage.js.map +1 -0
- package/dist/database/task-config.d.ts +7 -0
- package/dist/database/task-config.d.ts.map +1 -0
- package/dist/database/task-config.js +19 -0
- package/dist/database/task-config.js.map +1 -0
- package/dist/database/task-container.d.ts +3 -0
- package/dist/database/task-container.d.ts.map +1 -0
- package/dist/database/task-container.js +34 -0
- package/dist/database/task-container.js.map +1 -0
- package/dist/database/tasks.d.ts +104 -0
- package/dist/database/tasks.d.ts.map +1 -0
- package/dist/database/tasks.js +350 -0
- package/dist/database/tasks.js.map +1 -0
- package/dist/database/types.d.ts +92 -0
- package/dist/database/types.d.ts.map +1 -0
- package/dist/database/types.js +2 -0
- package/dist/database/types.js.map +1 -0
- package/dist/drive/config.d.ts +2 -0
- package/dist/drive/config.d.ts.map +1 -0
- package/dist/drive/config.js +2 -0
- package/dist/drive/config.js.map +1 -0
- package/dist/drive/index.d.ts +5 -0
- package/dist/drive/index.d.ts.map +1 -0
- package/dist/drive/index.js +4 -0
- package/dist/drive/index.js.map +1 -0
- package/dist/drive/provider.d.ts +9 -0
- package/dist/drive/provider.d.ts.map +1 -0
- package/dist/drive/provider.js +22 -0
- package/dist/drive/provider.js.map +1 -0
- package/dist/drive/token.d.ts +4 -0
- package/dist/drive/token.d.ts.map +1 -0
- package/dist/drive/token.js +3 -0
- package/dist/drive/token.js.map +1 -0
- package/dist/i18n/index.d.ts +37 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +44 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/id-generator/config.d.ts +2 -0
- package/dist/id-generator/config.d.ts.map +1 -0
- package/dist/id-generator/config.js +2 -0
- package/dist/id-generator/config.js.map +1 -0
- package/dist/id-generator/index.d.ts +5 -0
- package/dist/id-generator/index.d.ts.map +1 -0
- package/dist/id-generator/index.js +4 -0
- package/dist/id-generator/index.js.map +1 -0
- package/dist/id-generator/provider.d.ts +7 -0
- package/dist/id-generator/provider.d.ts.map +1 -0
- package/dist/id-generator/provider.js +11 -0
- package/dist/id-generator/provider.js.map +1 -0
- package/dist/id-generator/token.d.ts +4 -0
- package/dist/id-generator/token.d.ts.map +1 -0
- package/dist/id-generator/token.js +3 -0
- package/dist/id-generator/token.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/jobs/config.d.ts +2 -0
- package/dist/jobs/config.d.ts.map +1 -0
- package/dist/jobs/config.js +2 -0
- package/dist/jobs/config.js.map +1 -0
- package/dist/jobs/index.d.ts +4 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/index.js +4 -0
- package/dist/jobs/index.js.map +1 -0
- package/dist/jobs/provider.d.ts +23 -0
- package/dist/jobs/provider.d.ts.map +1 -0
- package/dist/jobs/provider.js +55 -0
- package/dist/jobs/provider.js.map +1 -0
- package/dist/jobs/token.d.ts +8 -0
- package/dist/jobs/token.d.ts.map +1 -0
- package/dist/jobs/token.js +7 -0
- package/dist/jobs/token.js.map +1 -0
- package/dist/logging/config.d.ts +16 -0
- package/dist/logging/config.d.ts.map +1 -0
- package/dist/logging/config.js +26 -0
- package/dist/logging/config.js.map +1 -0
- package/dist/logging/index.d.ts +5 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +5 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/middleware.d.ts +13 -0
- package/dist/logging/middleware.d.ts.map +1 -0
- package/dist/logging/middleware.js +128 -0
- package/dist/logging/middleware.js.map +1 -0
- package/dist/logging/provider.d.ts +9 -0
- package/dist/logging/provider.d.ts.map +1 -0
- package/dist/logging/provider.js +95 -0
- package/dist/logging/provider.js.map +1 -0
- package/dist/logging/token.d.ts +4 -0
- package/dist/logging/token.d.ts.map +1 -0
- package/dist/logging/token.js +3 -0
- package/dist/logging/token.js.map +1 -0
- package/dist/node/config.d.ts +6 -0
- package/dist/node/config.d.ts.map +1 -0
- package/dist/node/config.js +2 -0
- package/dist/node/config.js.map +1 -0
- package/dist/node/index.d.ts +6 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +6 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/not-configured-message.d.ts +10 -0
- package/dist/node/not-configured-message.d.ts.map +1 -0
- package/dist/node/not-configured-message.js +24 -0
- package/dist/node/not-configured-message.js.map +1 -0
- package/dist/node/proxy.d.ts +25 -0
- package/dist/node/proxy.d.ts.map +1 -0
- package/dist/node/proxy.js +229 -0
- package/dist/node/proxy.js.map +1 -0
- package/dist/node/runtime.d.ts +45 -0
- package/dist/node/runtime.d.ts.map +1 -0
- package/dist/node/runtime.js +176 -0
- package/dist/node/runtime.js.map +1 -0
- package/dist/node/scope.d.ts +55 -0
- package/dist/node/scope.d.ts.map +1 -0
- package/dist/node/scope.js +115 -0
- package/dist/node/scope.js.map +1 -0
- package/dist/node/server.d.ts +80 -0
- package/dist/node/server.d.ts.map +1 -0
- package/dist/node/server.js +283 -0
- package/dist/node/server.js.map +1 -0
- package/dist/plugins/define.d.ts +4 -0
- package/dist/plugins/define.d.ts.map +1 -0
- package/dist/plugins/define.js +45 -0
- package/dist/plugins/define.js.map +1 -0
- package/dist/plugins/index.d.ts +27 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +4 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/inspect.d.ts +79 -0
- package/dist/plugins/inspect.d.ts.map +1 -0
- package/dist/plugins/inspect.js +142 -0
- package/dist/plugins/inspect.js.map +1 -0
- package/dist/plugins/resolve.d.ts +14 -0
- package/dist/plugins/resolve.d.ts.map +1 -0
- package/dist/plugins/resolve.js +101 -0
- package/dist/plugins/resolve.js.map +1 -0
- package/dist/plugins/types.d.ts +91 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +2 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/proxy/http-proxy.d.ts +8 -0
- package/dist/proxy/http-proxy.d.ts.map +1 -0
- package/dist/proxy/http-proxy.js +59 -0
- package/dist/proxy/http-proxy.js.map +1 -0
- package/dist/proxy/index.d.ts +3 -0
- package/dist/proxy/index.d.ts.map +1 -0
- package/dist/proxy/index.js +3 -0
- package/dist/proxy/index.js.map +1 -0
- package/dist/proxy/origin.d.ts +12 -0
- package/dist/proxy/origin.d.ts.map +1 -0
- package/dist/proxy/origin.js +61 -0
- package/dist/proxy/origin.js.map +1 -0
- package/dist/queue/config.d.ts +4 -0
- package/dist/queue/config.d.ts.map +1 -0
- package/dist/queue/config.js +2 -0
- package/dist/queue/config.js.map +1 -0
- package/dist/queue/index.d.ts +4 -0
- package/dist/queue/index.d.ts.map +1 -0
- package/dist/queue/index.js +4 -0
- package/dist/queue/index.js.map +1 -0
- package/dist/queue/provider.d.ts +24 -0
- package/dist/queue/provider.d.ts.map +1 -0
- package/dist/queue/provider.js +57 -0
- package/dist/queue/provider.js.map +1 -0
- package/dist/queue/token.d.ts +9 -0
- package/dist/queue/token.d.ts.map +1 -0
- package/dist/queue/token.js +8 -0
- package/dist/queue/token.js.map +1 -0
- package/dist/realtime/index.d.ts +6 -0
- package/dist/realtime/index.d.ts.map +1 -0
- package/dist/realtime/index.js +6 -0
- package/dist/realtime/index.js.map +1 -0
- package/dist/realtime/provider.d.ts +10 -0
- package/dist/realtime/provider.d.ts.map +1 -0
- package/dist/realtime/provider.js +19 -0
- package/dist/realtime/provider.js.map +1 -0
- package/dist/realtime/service.d.ts +9 -0
- package/dist/realtime/service.d.ts.map +1 -0
- package/dist/realtime/service.js +347 -0
- package/dist/realtime/service.js.map +1 -0
- package/dist/realtime/types.d.ts +74 -0
- package/dist/realtime/types.d.ts.map +1 -0
- package/dist/realtime/types.js +4 -0
- package/dist/realtime/types.js.map +1 -0
- package/dist/realtime/websocket.d.ts +7 -0
- package/dist/realtime/websocket.d.ts.map +1 -0
- package/dist/realtime/websocket.js +57 -0
- package/dist/realtime/websocket.js.map +1 -0
- package/dist/router/api-error.d.ts +171 -0
- package/dist/router/api-error.d.ts.map +1 -0
- package/dist/router/api-error.js +291 -0
- package/dist/router/api-error.js.map +1 -0
- package/dist/router/api-limits.d.ts +80 -0
- package/dist/router/api-limits.d.ts.map +1 -0
- package/dist/router/api-limits.js +281 -0
- package/dist/router/api-limits.js.map +1 -0
- package/dist/router/cli/derive.d.ts +32 -0
- package/dist/router/cli/derive.d.ts.map +1 -0
- package/dist/router/cli/derive.js +548 -0
- package/dist/router/cli/derive.js.map +1 -0
- package/dist/router/cli/index.d.ts +6 -0
- package/dist/router/cli/index.d.ts.map +1 -0
- package/dist/router/cli/index.js +6 -0
- package/dist/router/cli/index.js.map +1 -0
- package/dist/router/cli/reference.d.ts +9 -0
- package/dist/router/cli/reference.d.ts.map +1 -0
- package/dist/router/cli/reference.js +64 -0
- package/dist/router/cli/reference.js.map +1 -0
- package/dist/router/cli/routes.d.ts +9 -0
- package/dist/router/cli/routes.d.ts.map +1 -0
- package/dist/router/cli/routes.js +228 -0
- package/dist/router/cli/routes.js.map +1 -0
- package/dist/router/cli/service.d.ts +50 -0
- package/dist/router/cli/service.d.ts.map +1 -0
- package/dist/router/cli/service.js +104 -0
- package/dist/router/cli/service.js.map +1 -0
- package/dist/router/cli/types.d.ts +278 -0
- package/dist/router/cli/types.d.ts.map +1 -0
- package/dist/router/cli/types.js +18 -0
- package/dist/router/cli/types.js.map +1 -0
- package/dist/router/duplicate-routes.d.ts +25 -0
- package/dist/router/duplicate-routes.d.ts.map +1 -0
- package/dist/router/duplicate-routes.js +51 -0
- package/dist/router/duplicate-routes.js.map +1 -0
- package/dist/router/health.d.ts +7 -0
- package/dist/router/health.d.ts.map +1 -0
- package/dist/router/health.js +48 -0
- package/dist/router/health.js.map +1 -0
- package/dist/router/index.d.ts +26 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +29 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/openapi/components.d.ts +24 -0
- package/dist/router/openapi/components.d.ts.map +1 -0
- package/dist/router/openapi/components.js +128 -0
- package/dist/router/openapi/components.js.map +1 -0
- package/dist/router/openapi/declared.d.ts +19 -0
- package/dist/router/openapi/declared.d.ts.map +1 -0
- package/dist/router/openapi/declared.js +46 -0
- package/dist/router/openapi/declared.js.map +1 -0
- package/dist/router/openapi/describe.d.ts +82 -0
- package/dist/router/openapi/describe.d.ts.map +1 -0
- package/dist/router/openapi/describe.js +207 -0
- package/dist/router/openapi/describe.js.map +1 -0
- package/dist/router/openapi/docs-routes.d.ts +10 -0
- package/dist/router/openapi/docs-routes.d.ts.map +1 -0
- package/dist/router/openapi/docs-routes.js +157 -0
- package/dist/router/openapi/docs-routes.js.map +1 -0
- package/dist/router/openapi/document.d.ts +151 -0
- package/dist/router/openapi/document.d.ts.map +1 -0
- package/dist/router/openapi/document.js +471 -0
- package/dist/router/openapi/document.js.map +1 -0
- package/dist/router/openapi/index.d.ts +7 -0
- package/dist/router/openapi/index.d.ts.map +1 -0
- package/dist/router/openapi/index.js +7 -0
- package/dist/router/openapi/index.js.map +1 -0
- package/dist/router/openapi/repository-document.d.ts +30 -0
- package/dist/router/openapi/repository-document.d.ts.map +1 -0
- package/dist/router/openapi/repository-document.js +812 -0
- package/dist/router/openapi/repository-document.js.map +1 -0
- package/dist/router/openapi/schema.d.ts +30 -0
- package/dist/router/openapi/schema.d.ts.map +1 -0
- package/dist/router/openapi/schema.js +301 -0
- package/dist/router/openapi/schema.js.map +1 -0
- package/dist/router/openapi/service.d.ts +101 -0
- package/dist/router/openapi/service.d.ts.map +1 -0
- package/dist/router/openapi/service.js +162 -0
- package/dist/router/openapi/service.js.map +1 -0
- package/dist/router/repository-constraints.d.ts +15 -0
- package/dist/router/repository-constraints.d.ts.map +1 -0
- package/dist/router/repository-constraints.js +14 -0
- package/dist/router/repository-constraints.js.map +1 -0
- package/dist/router/repository-routes.d.ts +90 -0
- package/dist/router/repository-routes.d.ts.map +1 -0
- package/dist/router/repository-routes.js +452 -0
- package/dist/router/repository-routes.js.map +1 -0
- package/dist/router/routes.d.ts +24 -0
- package/dist/router/routes.d.ts.map +1 -0
- package/dist/router/routes.js +19 -0
- package/dist/router/routes.js.map +1 -0
- package/dist/runtime/application.d.ts +8 -0
- package/dist/runtime/application.d.ts.map +1 -0
- package/dist/runtime/application.js +22 -0
- package/dist/runtime/application.js.map +1 -0
- package/dist/runtime/definition.d.ts +50 -0
- package/dist/runtime/definition.d.ts.map +1 -0
- package/dist/runtime/definition.js +82 -0
- package/dist/runtime/definition.js.map +1 -0
- package/dist/runtime/index.d.ts +8 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +7 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/lifecycle.d.ts +29 -0
- package/dist/runtime/lifecycle.d.ts.map +1 -0
- package/dist/runtime/lifecycle.js +104 -0
- package/dist/runtime/lifecycle.js.map +1 -0
- package/dist/runtime/mount.d.ts +4 -0
- package/dist/runtime/mount.d.ts.map +1 -0
- package/dist/runtime/mount.js +47 -0
- package/dist/runtime/mount.js.map +1 -0
- package/dist/runtime/scope.d.ts +29 -0
- package/dist/runtime/scope.d.ts.map +1 -0
- package/dist/runtime/scope.js +48 -0
- package/dist/runtime/scope.js.map +1 -0
- package/dist/runtime/types.d.ts +55 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/sample-data/index.d.ts +3 -0
- package/dist/sample-data/index.d.ts.map +1 -0
- package/dist/sample-data/index.js +3 -0
- package/dist/sample-data/index.js.map +1 -0
- package/dist/sample-data/registry.d.ts +4 -0
- package/dist/sample-data/registry.d.ts.map +1 -0
- package/dist/sample-data/registry.js +74 -0
- package/dist/sample-data/registry.js.map +1 -0
- package/dist/sample-data/token.d.ts +64 -0
- package/dist/sample-data/token.d.ts.map +1 -0
- package/dist/sample-data/token.js +7 -0
- package/dist/sample-data/token.js.map +1 -0
- package/dist/secrets/config.d.ts +15 -0
- package/dist/secrets/config.d.ts.map +1 -0
- package/dist/secrets/config.js +43 -0
- package/dist/secrets/config.js.map +1 -0
- package/dist/secrets/index.d.ts +6 -0
- package/dist/secrets/index.d.ts.map +1 -0
- package/dist/secrets/index.js +6 -0
- package/dist/secrets/index.js.map +1 -0
- package/dist/secrets/provider.d.ts +7 -0
- package/dist/secrets/provider.d.ts.map +1 -0
- package/dist/secrets/provider.js +10 -0
- package/dist/secrets/provider.js.map +1 -0
- package/dist/secrets/service.d.ts +64 -0
- package/dist/secrets/service.d.ts.map +1 -0
- package/dist/secrets/service.js +47 -0
- package/dist/secrets/service.js.map +1 -0
- package/dist/secrets/table-store.d.ts +34 -0
- package/dist/secrets/table-store.d.ts.map +1 -0
- package/dist/secrets/table-store.js +118 -0
- package/dist/secrets/table-store.js.map +1 -0
- package/dist/secrets/token.d.ts +4 -0
- package/dist/secrets/token.d.ts.map +1 -0
- package/dist/secrets/token.js +3 -0
- package/dist/secrets/token.js.map +1 -0
- package/dist/session/config.d.ts +10 -0
- package/dist/session/config.d.ts.map +1 -0
- package/dist/session/config.js +2 -0
- package/dist/session/config.js.map +1 -0
- package/dist/session/index.d.ts +4 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +4 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/provider.d.ts +26 -0
- package/dist/session/provider.d.ts.map +1 -0
- package/dist/session/provider.js +69 -0
- package/dist/session/provider.js.map +1 -0
- package/dist/session/token.d.ts +4 -0
- package/dist/session/token.d.ts.map +1 -0
- package/dist/session/token.js +3 -0
- package/dist/session/token.js.map +1 -0
- package/dist/spa/config.d.ts +5 -0
- package/dist/spa/config.d.ts.map +1 -0
- package/dist/spa/config.js +2 -0
- package/dist/spa/config.js.map +1 -0
- package/dist/spa/content-types.d.ts +2 -0
- package/dist/spa/content-types.d.ts.map +1 -0
- package/dist/spa/content-types.js +25 -0
- package/dist/spa/content-types.js.map +1 -0
- package/dist/spa/index.d.ts +9 -0
- package/dist/spa/index.d.ts.map +1 -0
- package/dist/spa/index.js +9 -0
- package/dist/spa/index.js.map +1 -0
- package/dist/spa/provider.d.ts +13 -0
- package/dist/spa/provider.d.ts.map +1 -0
- package/dist/spa/provider.js +90 -0
- package/dist/spa/provider.js.map +1 -0
- package/dist/spa/routes.d.ts +4 -0
- package/dist/spa/routes.d.ts.map +1 -0
- package/dist/spa/routes.js +58 -0
- package/dist/spa/routes.js.map +1 -0
- package/dist/spa/runtime-html.d.ts +14 -0
- package/dist/spa/runtime-html.d.ts.map +1 -0
- package/dist/spa/runtime-html.js +85 -0
- package/dist/spa/runtime-html.js.map +1 -0
- package/dist/spa/serve-index.d.ts +9 -0
- package/dist/spa/serve-index.d.ts.map +1 -0
- package/dist/spa/serve-index.js +12 -0
- package/dist/spa/serve-index.js.map +1 -0
- package/dist/spa/static-assets.d.ts +7 -0
- package/dist/spa/static-assets.d.ts.map +1 -0
- package/dist/spa/static-assets.js +90 -0
- package/dist/spa/static-assets.js.map +1 -0
- package/dist/spa/types.d.ts +23 -0
- package/dist/spa/types.d.ts.map +1 -0
- package/dist/spa/types.js +2 -0
- package/dist/spa/types.js.map +1 -0
- package/dist/support/index.d.ts +4 -0
- package/dist/support/index.d.ts.map +1 -0
- package/dist/support/index.js +4 -0
- package/dist/support/index.js.map +1 -0
- package/dist/support/paths.d.ts +10 -0
- package/dist/support/paths.d.ts.map +1 -0
- package/dist/support/paths.js +25 -0
- package/dist/support/paths.js.map +1 -0
- package/dist/support/redirects.d.ts +3 -0
- package/dist/support/redirects.d.ts.map +1 -0
- package/dist/support/redirects.js +48 -0
- package/dist/support/redirects.js.map +1 -0
- package/dist/support/requests.d.ts +2 -0
- package/dist/support/requests.d.ts.map +1 -0
- package/dist/support/requests.js +13 -0
- package/dist/support/requests.js.map +1 -0
- package/dist/swagger-ui/LICENSE +202 -0
- package/dist/swagger-ui/NOTICE +2 -0
- package/dist/swagger-ui/favicon-16x16.png +0 -0
- package/dist/swagger-ui/favicon-32x32.png +0 -0
- package/dist/swagger-ui/swagger-ui-bundle.js +2 -0
- package/dist/swagger-ui/swagger-ui-bundle.js.LICENSE.txt +129 -0
- package/dist/swagger-ui/swagger-ui.css +3 -0
- package/dist/websocket.d.ts +61 -0
- package/dist/websocket.d.ts.map +1 -0
- package/dist/websocket.js +371 -0
- package/dist/websocket.js.map +1 -0
- package/package.json +193 -12
- package/LICENSE +0 -661
- package/lib/config/cache.d.ts +0 -2
- package/lib/config/cache.js +0 -16
- package/lib/config/database.d.ts +0 -3
- package/lib/config/database.js +0 -25
- package/lib/config/index.d.ts +0 -10
- package/lib/config/index.js +0 -20
- package/lib/config/logger.d.ts +0 -3
- package/lib/config/logger.js +0 -11
- package/lib/config/plugins.d.ts +0 -3
- package/lib/config/plugins.js +0 -8
- package/lib/config/resourcer.d.ts +0 -4
- package/lib/config/resourcer.js +0 -10
- package/lib/index.d.ts +0 -3
- package/lib/index.js +0 -21
- package/src/config/cache.ts +0 -5
- package/src/config/database.ts +0 -21
- package/src/config/index.ts +0 -13
- package/src/config/logger.ts +0 -6
- package/src/config/plugins.ts +0 -3
- package/src/config/resourcer.ts +0 -3
- package/src/index.ts +0 -10
|
@@ -0,0 +1,471 @@
|
|
|
1
|
+
import { generateSpecs, uniqueSymbol, } from 'hono-openapi';
|
|
2
|
+
import { findTargetHandler, isMiddleware } from 'hono/utils/handler';
|
|
3
|
+
import { apiNotFoundHandler } from '../api-error.js';
|
|
4
|
+
import { apiDocumentBaseComponents, invalidInputDescription, invalidInputResponseName, } from './components.js';
|
|
5
|
+
import { expandRepositoryOperations } from './repository-document.js';
|
|
6
|
+
const httpMethods = [
|
|
7
|
+
'get',
|
|
8
|
+
'put',
|
|
9
|
+
'post',
|
|
10
|
+
'delete',
|
|
11
|
+
'options',
|
|
12
|
+
'head',
|
|
13
|
+
'patch',
|
|
14
|
+
'trace',
|
|
15
|
+
];
|
|
16
|
+
function isRouterSource(source) {
|
|
17
|
+
return 'apiRouter' in source;
|
|
18
|
+
}
|
|
19
|
+
function forwardedOf(source) {
|
|
20
|
+
return isRouterSource(source) ? source.forwardedApiRoutes : undefined;
|
|
21
|
+
}
|
|
22
|
+
function resolveApiRouter(source) {
|
|
23
|
+
const router = isRouterSource(source) ? source.apiRouter : source;
|
|
24
|
+
if (!router) {
|
|
25
|
+
throw new Error('The application has not registered its routes yet. Start it before inspecting its API.');
|
|
26
|
+
}
|
|
27
|
+
return router;
|
|
28
|
+
}
|
|
29
|
+
/** The `describeRoute()` declaration a handler carries, if it is one. */
|
|
30
|
+
export function describeSpecOf(handler) {
|
|
31
|
+
const metadata = findTargetHandler(handler)[uniqueSymbol];
|
|
32
|
+
return metadata?.spec;
|
|
33
|
+
}
|
|
34
|
+
function pathPrefixOf(path) {
|
|
35
|
+
return path.endsWith('/*') ? path.slice(0, -2) : path;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Every endpoint of an API router with what `describeRoute()` declares for it, in registration order. The application's
|
|
39
|
+
* catch-all for unknown paths is not an endpoint and is left out. A declaration applied with `router.use()` counts for
|
|
40
|
+
* the paths below it, as it does in the document.
|
|
41
|
+
*
|
|
42
|
+
* For an application, or anything else carrying `forwardedApiRoutes`, the routes of every router registered with
|
|
43
|
+
* `addApiRouter` follow at their own prefix, judged the same way, and every endpoint registered with
|
|
44
|
+
* `addUndeclaredApiRoute` follows as undeclared.
|
|
45
|
+
*/
|
|
46
|
+
export function inspectApiRoutes(source, prefix = '/api') {
|
|
47
|
+
const declarations = inspectRouter(resolveApiRouter(source), prefix);
|
|
48
|
+
const forwarded = forwardedOf(source);
|
|
49
|
+
for (const registration of forwarded?.routers ?? []) {
|
|
50
|
+
const base = forwardedPath(registration);
|
|
51
|
+
for (const route of inspectRouter(registration.router, registration.prefix)) {
|
|
52
|
+
declarations.push(isForwardedTo(registration, route.path)
|
|
53
|
+
? route
|
|
54
|
+
: {
|
|
55
|
+
method: route.method,
|
|
56
|
+
path: route.path,
|
|
57
|
+
declared: false,
|
|
58
|
+
hidden: false,
|
|
59
|
+
reason: `Declared outside the forwarded path ${base}, which the dispatcher never forwards to this router.`,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
for (const { method, path, reason } of forwarded?.undeclared ?? [])
|
|
64
|
+
declarations.push({
|
|
65
|
+
method,
|
|
66
|
+
path,
|
|
67
|
+
declared: false,
|
|
68
|
+
hidden: false,
|
|
69
|
+
...(reason ? { reason } : {}),
|
|
70
|
+
});
|
|
71
|
+
return declarations;
|
|
72
|
+
}
|
|
73
|
+
/** The full path a dispatcher forwards to a registered router: its prefix followed by its scope. */
|
|
74
|
+
export function forwardedPath(registration) {
|
|
75
|
+
return joinPath(registration.prefix, registration.scope ?? '/');
|
|
76
|
+
}
|
|
77
|
+
/** Whether the dispatcher forwards a request for `path`, a full path such as `/api/authorization/x`, to the router. */
|
|
78
|
+
export function isForwardedTo(registration, path) {
|
|
79
|
+
const base = forwardedPath(registration);
|
|
80
|
+
return path === base || path.startsWith(base === '/' ? '/' : `${base}/`);
|
|
81
|
+
}
|
|
82
|
+
function joinPath(prefix, path) {
|
|
83
|
+
return `${prefix}${path === '/' ? '' : path}` || '/';
|
|
84
|
+
}
|
|
85
|
+
function inspectRouter(router, prefix) {
|
|
86
|
+
const contexts = [];
|
|
87
|
+
const endpoints = new Map();
|
|
88
|
+
for (const route of router.routes) {
|
|
89
|
+
const target = findTargetHandler(route.handler);
|
|
90
|
+
if (target === apiNotFoundHandler)
|
|
91
|
+
continue;
|
|
92
|
+
const spec = describeSpecOf(route.handler);
|
|
93
|
+
const key = `${route.method} ${route.path}`;
|
|
94
|
+
const middleware = isMiddleware(target);
|
|
95
|
+
if (route.method === 'ALL' && middleware) {
|
|
96
|
+
if (spec)
|
|
97
|
+
contexts.push({ prefix: pathPrefixOf(route.path), spec });
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
let endpoint = endpoints.get(key);
|
|
101
|
+
if (!endpoint && !middleware) {
|
|
102
|
+
endpoint = { method: route.method, path: route.path, specs: [] };
|
|
103
|
+
endpoints.set(key, endpoint);
|
|
104
|
+
}
|
|
105
|
+
if (endpoint && spec)
|
|
106
|
+
endpoint.specs.push(spec);
|
|
107
|
+
// A describeRoute() registered before the endpoint's handler under the same method and path.
|
|
108
|
+
if (!endpoint && spec) {
|
|
109
|
+
endpoints.set(key, {
|
|
110
|
+
method: route.method,
|
|
111
|
+
path: route.path,
|
|
112
|
+
specs: [spec],
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const declarations = [];
|
|
117
|
+
for (const endpoint of endpoints.values()) {
|
|
118
|
+
const applicable = [
|
|
119
|
+
...contexts
|
|
120
|
+
.filter((context) => endpoint.path === context.prefix ||
|
|
121
|
+
endpoint.path.startsWith(`${context.prefix}/`))
|
|
122
|
+
.map((context) => context.spec),
|
|
123
|
+
...endpoint.specs,
|
|
124
|
+
];
|
|
125
|
+
let hidden = false;
|
|
126
|
+
let operationId;
|
|
127
|
+
let summary;
|
|
128
|
+
const tags = new Set();
|
|
129
|
+
for (const spec of applicable) {
|
|
130
|
+
if (spec.hide)
|
|
131
|
+
hidden = true;
|
|
132
|
+
if (typeof spec.operationId === 'string')
|
|
133
|
+
operationId = spec.operationId;
|
|
134
|
+
if (spec.summary)
|
|
135
|
+
summary = spec.summary;
|
|
136
|
+
for (const tag of spec.tags ?? [])
|
|
137
|
+
tags.add(tag);
|
|
138
|
+
}
|
|
139
|
+
declarations.push({
|
|
140
|
+
method: endpoint.method,
|
|
141
|
+
path: joinPath(prefix, endpoint.path),
|
|
142
|
+
declared: applicable.length > 0,
|
|
143
|
+
hidden,
|
|
144
|
+
...(operationId ? { operationId } : {}),
|
|
145
|
+
...(tags.size > 0 ? { tags: [...tags] } : {}),
|
|
146
|
+
...(summary ? { summary } : {}),
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
return declarations;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* The endpoints that declare nothing: neither `describeRoute({...})` nor `describeRoute({ hide: true })`. For an
|
|
153
|
+
* application this includes the routes behind runtime dispatchers, and every endpoint registered with
|
|
154
|
+
* `addUndeclaredApiRoute`. Each is a defect the API document check reports.
|
|
155
|
+
*/
|
|
156
|
+
export function findUndeclaredApiRoutes(source, prefix = '/api') {
|
|
157
|
+
return inspectApiRoutes(source, prefix)
|
|
158
|
+
.filter((route) => !route.declared)
|
|
159
|
+
.map(({ method, path }) => ({ method, path }));
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Generate the OpenAPI 3.1 document for an API router: every route declared with `describeRoute()` and not hidden,
|
|
163
|
+
* data endpoints expanded from their Collections, and the fragments merged in.
|
|
164
|
+
*/
|
|
165
|
+
export async function generateApiDocument(source, options) {
|
|
166
|
+
const router = resolveApiRouter(source);
|
|
167
|
+
const prefix = options.prefix ?? '/api';
|
|
168
|
+
const base = apiDocumentBaseComponents();
|
|
169
|
+
const generated = await generateRouterSpecs(router, options, base);
|
|
170
|
+
const paths = {};
|
|
171
|
+
for (const [path, item] of Object.entries(generated.paths)) {
|
|
172
|
+
paths[joinPath(prefix, path)] = item;
|
|
173
|
+
}
|
|
174
|
+
const document = {
|
|
175
|
+
openapi: '3.1.0',
|
|
176
|
+
// hono-openapi fills in a description of its own when none is given.
|
|
177
|
+
info: {
|
|
178
|
+
title: options.info.title,
|
|
179
|
+
version: options.info.version,
|
|
180
|
+
...(options.info.description
|
|
181
|
+
? { description: options.info.description }
|
|
182
|
+
: {}),
|
|
183
|
+
},
|
|
184
|
+
...(generated.servers ? { servers: generated.servers } : {}),
|
|
185
|
+
paths,
|
|
186
|
+
components: {
|
|
187
|
+
...generated.components,
|
|
188
|
+
schemas: { ...base.schemas, ...generated.components.schemas },
|
|
189
|
+
responses: { ...base.responses, ...generated.components.responses },
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
const warn = options.onWarning ?? (() => undefined);
|
|
193
|
+
// Routes behind a runtime dispatcher are declared routes too: merged before the fragments, so a fragment operation on
|
|
194
|
+
// the same method and path is the one dropped. Their components are generated from the same base, so the shared
|
|
195
|
+
// ones are identical and stay shared.
|
|
196
|
+
for (const forwarded of (options.forwarded ?? forwardedOf(source))?.routers ??
|
|
197
|
+
[]) {
|
|
198
|
+
const specs = await generateRouterSpecs(forwarded.router, options, apiDocumentBaseComponents());
|
|
199
|
+
const forwardedPaths = {};
|
|
200
|
+
for (const [path, item] of Object.entries(specs.paths)) {
|
|
201
|
+
const full = joinPath(forwarded.prefix, path);
|
|
202
|
+
// A route outside the forwarded path is never reached; `inspectApiRoutes` reports it instead.
|
|
203
|
+
if (isForwardedTo(forwarded, full))
|
|
204
|
+
forwardedPaths[full] = item;
|
|
205
|
+
}
|
|
206
|
+
mergeApiDocumentFragment(document, {
|
|
207
|
+
owner: forwarded.owner,
|
|
208
|
+
paths: forwardedPaths,
|
|
209
|
+
components: specs.components,
|
|
210
|
+
}, warn);
|
|
211
|
+
}
|
|
212
|
+
// Data endpoints are expanded once every router is in, so a dispatcher forwarding one documents it in full too.
|
|
213
|
+
// Fragments come after: they carry finished operations, never a data endpoint placeholder.
|
|
214
|
+
await expandRepositoryOperations(document);
|
|
215
|
+
for (const fragment of options.fragments ?? []) {
|
|
216
|
+
mergeApiDocumentFragment(document, fragment, warn);
|
|
217
|
+
}
|
|
218
|
+
document.tags = collectTags(document, options.fragments ?? []);
|
|
219
|
+
return document;
|
|
220
|
+
}
|
|
221
|
+
async function generateRouterSpecs(router, options, base) {
|
|
222
|
+
const specs = await generateSpecs(router, {
|
|
223
|
+
documentation: {
|
|
224
|
+
info: {
|
|
225
|
+
title: options.info.title,
|
|
226
|
+
version: options.info.version,
|
|
227
|
+
...(options.info.description
|
|
228
|
+
? { description: options.info.description }
|
|
229
|
+
: {}),
|
|
230
|
+
},
|
|
231
|
+
...(options.servers ? { servers: [...options.servers] } : {}),
|
|
232
|
+
components: base,
|
|
233
|
+
},
|
|
234
|
+
// The 400 for invalid input is added below, also to an operation that declares a 400 of its own.
|
|
235
|
+
defaultValidationErrorResponse: false,
|
|
236
|
+
excludeMethods: ['OPTIONS'],
|
|
237
|
+
});
|
|
238
|
+
addInvalidInputResponses(specs.paths, validatedOperations(router));
|
|
239
|
+
return specs;
|
|
240
|
+
}
|
|
241
|
+
/** An OpenAPI path for a Hono path, `/apps/:appId{[a-z]+}` becoming `/apps/{appId}`, as hono-openapi converts it. */
|
|
242
|
+
function toOpenApiPath(path) {
|
|
243
|
+
return path
|
|
244
|
+
.split('/')
|
|
245
|
+
.map((segment) => {
|
|
246
|
+
if (!segment.startsWith(':'))
|
|
247
|
+
return segment;
|
|
248
|
+
const match = /^:([^{?]+)/.exec(segment);
|
|
249
|
+
return `{${match ? match[1] : segment.slice(1).replace(/\?$/, '')}}`;
|
|
250
|
+
})
|
|
251
|
+
.join('/');
|
|
252
|
+
}
|
|
253
|
+
/** The operations of a router that validate their input with `apiValidator()` (or any hono-openapi validator). */
|
|
254
|
+
function validatedOperations(router) {
|
|
255
|
+
const endpoints = new Set();
|
|
256
|
+
const prefixes = [];
|
|
257
|
+
for (const route of router.routes) {
|
|
258
|
+
const metadata = findTargetHandler(route.handler)[uniqueSymbol];
|
|
259
|
+
// describeRoute() metadata carries `spec`; a validator's carries the schema conversion instead.
|
|
260
|
+
if (!metadata || 'spec' in metadata || !('toOpenAPISchema' in metadata))
|
|
261
|
+
continue;
|
|
262
|
+
const path = toOpenApiPath(route.path);
|
|
263
|
+
if (route.method === 'ALL')
|
|
264
|
+
prefixes.push(pathPrefixOf(path));
|
|
265
|
+
else
|
|
266
|
+
endpoints.add(`${route.method} ${path}`);
|
|
267
|
+
}
|
|
268
|
+
return { endpoints, prefixes };
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Document the 400 an `apiValidator()` answers on every operation that has one, and on no other. A route declares a
|
|
272
|
+
* 400 itself only for another reason, such as a failed precondition: a declared `apiErrorResponse(400)` without a
|
|
273
|
+
* description already covers invalid input and is kept as it is, and a declared 400 with a description keeps it after
|
|
274
|
+
* the description of invalid input.
|
|
275
|
+
*/
|
|
276
|
+
function addInvalidInputResponses(paths, validated) {
|
|
277
|
+
for (const [path, item] of Object.entries(paths)) {
|
|
278
|
+
for (const method of httpMethods) {
|
|
279
|
+
const operation = item?.[method];
|
|
280
|
+
if (!operation)
|
|
281
|
+
continue;
|
|
282
|
+
const covered = validated.endpoints.has(`${method.toUpperCase()} ${path}`) ||
|
|
283
|
+
validated.prefixes.some((prefix) => path === prefix || path.startsWith(`${prefix}/`));
|
|
284
|
+
if (!covered)
|
|
285
|
+
continue;
|
|
286
|
+
const responses = (operation.responses ??= {});
|
|
287
|
+
const declared = responses['400'];
|
|
288
|
+
if (!declared) {
|
|
289
|
+
responses['400'] = {
|
|
290
|
+
$ref: `#/components/responses/${invalidInputResponseName}`,
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
else if (!('$ref' in declared)) {
|
|
294
|
+
responses['400'] = {
|
|
295
|
+
...declared,
|
|
296
|
+
description: `${invalidInputDescription}\n\n${declared.description}`,
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
function collectTags(document, fragments) {
|
|
303
|
+
const described = new Map();
|
|
304
|
+
for (const tag of [
|
|
305
|
+
...(document.tags ?? []),
|
|
306
|
+
...fragments.flatMap((fragment) => fragment.tags ?? []),
|
|
307
|
+
]) {
|
|
308
|
+
const existing = described.get(tag.name);
|
|
309
|
+
described.set(tag.name, existing
|
|
310
|
+
? {
|
|
311
|
+
...tag,
|
|
312
|
+
...existing,
|
|
313
|
+
description: existing.description ?? tag.description,
|
|
314
|
+
}
|
|
315
|
+
: tag);
|
|
316
|
+
}
|
|
317
|
+
const used = new Set();
|
|
318
|
+
for (const item of Object.values(document.paths ?? {})) {
|
|
319
|
+
for (const method of httpMethods) {
|
|
320
|
+
for (const tag of item?.[method]?.tags ?? [])
|
|
321
|
+
used.add(tag);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
return [...used]
|
|
325
|
+
.sort((left, right) => left.localeCompare(right))
|
|
326
|
+
.map((name) => described.get(name) ?? { name });
|
|
327
|
+
}
|
|
328
|
+
const componentKinds = [
|
|
329
|
+
'schemas',
|
|
330
|
+
'responses',
|
|
331
|
+
'parameters',
|
|
332
|
+
'examples',
|
|
333
|
+
'requestBodies',
|
|
334
|
+
'headers',
|
|
335
|
+
'securitySchemes',
|
|
336
|
+
'links',
|
|
337
|
+
'callbacks',
|
|
338
|
+
'pathItems',
|
|
339
|
+
];
|
|
340
|
+
function defaultNamespace(owner) {
|
|
341
|
+
const bare = owner.replace(/^@[^/]+\//, '').replace(/^app-plugin-/, '');
|
|
342
|
+
return bare.replace(/[-_.\s]+([a-zA-Z0-9])/g, (_match, letter) => letter.toUpperCase());
|
|
343
|
+
}
|
|
344
|
+
function capitalize(value) {
|
|
345
|
+
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
346
|
+
}
|
|
347
|
+
function uniqueName(base, taken) {
|
|
348
|
+
if (!taken(base))
|
|
349
|
+
return base;
|
|
350
|
+
let index = 2;
|
|
351
|
+
while (taken(`${base}${index}`))
|
|
352
|
+
index += 1;
|
|
353
|
+
return `${base}${index}`;
|
|
354
|
+
}
|
|
355
|
+
function rewriteRefs(value, renames) {
|
|
356
|
+
if (Array.isArray(value))
|
|
357
|
+
return value.map((item) => rewriteRefs(item, renames));
|
|
358
|
+
if (typeof value !== 'object' || value === null)
|
|
359
|
+
return value;
|
|
360
|
+
const result = {};
|
|
361
|
+
for (const [key, child] of Object.entries(value)) {
|
|
362
|
+
result[key] =
|
|
363
|
+
key === '$ref' && typeof child === 'string'
|
|
364
|
+
? (renames.get(child) ?? child)
|
|
365
|
+
: rewriteRefs(child, renames);
|
|
366
|
+
}
|
|
367
|
+
return result;
|
|
368
|
+
}
|
|
369
|
+
function sameJson(left, right) {
|
|
370
|
+
return JSON.stringify(left) === JSON.stringify(right);
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Merge one fragment into a document in place.
|
|
374
|
+
*
|
|
375
|
+
* - A component whose name is free is added; one identical to an existing component is shared; one that differs is
|
|
376
|
+
* renamed with the fragment's namespace in PascalCase as prefix (`AuthSession`; a security scheme takes it in
|
|
377
|
+
* camelCase, `authCookieAuth`), and every `$ref` and security requirement in the fragment follows the rename.
|
|
378
|
+
* - An operation whose method and path the document already has is dropped with a warning: a declared route is what
|
|
379
|
+
* actually answers.
|
|
380
|
+
* - An `operationId` already in use is prefixed with the namespace (`authSignIn`), then numbered if still taken.
|
|
381
|
+
* - Tags merge by name; a description already in the document wins.
|
|
382
|
+
* - Security requirements are appended to the document's top-level `security` unless an identical one is already
|
|
383
|
+
* there, following any rename of the security schemes they name.
|
|
384
|
+
*/
|
|
385
|
+
export function mergeApiDocumentFragment(document, fragment, onWarning = () => undefined) {
|
|
386
|
+
const namespace = fragment.namespace ?? defaultNamespace(fragment.owner);
|
|
387
|
+
const components = (document.components ??= {});
|
|
388
|
+
const renames = new Map();
|
|
389
|
+
const additions = [];
|
|
390
|
+
const fragmentComponents = (fragment.components ?? {});
|
|
391
|
+
for (const kind of componentKinds) {
|
|
392
|
+
for (const [name, component] of Object.entries(fragmentComponents[kind] ?? {})) {
|
|
393
|
+
const existing = components[kind]?.[name];
|
|
394
|
+
if (existing === undefined) {
|
|
395
|
+
additions.push([kind, name, component]);
|
|
396
|
+
continue;
|
|
397
|
+
}
|
|
398
|
+
if (sameJson(existing, component))
|
|
399
|
+
continue;
|
|
400
|
+
// Security schemes are named in camelCase, as a requirement names them (`authCookieAuth`); every other component
|
|
401
|
+
// in PascalCase (`AuthSession`).
|
|
402
|
+
const renamed = uniqueName(kind === 'securitySchemes'
|
|
403
|
+
? `${namespace}${capitalize(name)}`
|
|
404
|
+
: `${capitalize(namespace)}${name}`, (candidate) => components[kind]?.[candidate] !== undefined ||
|
|
405
|
+
fragmentComponents[kind]?.[candidate] !== undefined);
|
|
406
|
+
renames.set(`#/components/${kind}/${name}`, `#/components/${kind}/${renamed}`);
|
|
407
|
+
additions.push([kind, renamed, component]);
|
|
408
|
+
onWarning(`${fragment.owner}: component ${kind}/${name} differs from the one already in the API document and was renamed to ${renamed}.`);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
for (const [kind, name, component] of additions) {
|
|
412
|
+
(components[kind] ??= {})[name] = rewriteRefs(component, renames);
|
|
413
|
+
}
|
|
414
|
+
// A security requirement names its scheme by key rather than by `$ref`, so a renamed scheme is followed here.
|
|
415
|
+
const schemeRenames = new Map();
|
|
416
|
+
for (const [from, to] of renames) {
|
|
417
|
+
const prefix = '#/components/securitySchemes/';
|
|
418
|
+
if (from.startsWith(prefix))
|
|
419
|
+
schemeRenames.set(from.slice(prefix.length), to.slice(prefix.length));
|
|
420
|
+
}
|
|
421
|
+
const renameSecurity = (requirements) => requirements.map((requirement) => Object.fromEntries(Object.entries(requirement).map(([name, scopes]) => [
|
|
422
|
+
schemeRenames.get(name) ?? name,
|
|
423
|
+
scopes,
|
|
424
|
+
])));
|
|
425
|
+
if (fragment.security && fragment.security.length > 0) {
|
|
426
|
+
const security = (document.security ??= []);
|
|
427
|
+
for (const requirement of renameSecurity(fragment.security)) {
|
|
428
|
+
if (!security.some((existing) => sameJson(existing, requirement)))
|
|
429
|
+
security.push(requirement);
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
const operationIds = new Set();
|
|
433
|
+
for (const item of Object.values(document.paths ?? {})) {
|
|
434
|
+
for (const method of httpMethods) {
|
|
435
|
+
const operationId = item?.[method]?.operationId;
|
|
436
|
+
if (operationId)
|
|
437
|
+
operationIds.add(operationId);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
const paths = (document.paths ??= {});
|
|
441
|
+
for (const [path, rawItem] of Object.entries(fragment.paths ?? {})) {
|
|
442
|
+
if (!rawItem)
|
|
443
|
+
continue;
|
|
444
|
+
const item = rewriteRefs(rawItem, renames);
|
|
445
|
+
const target = (paths[path] ??= {});
|
|
446
|
+
for (const [key, value] of Object.entries(item)) {
|
|
447
|
+
const method = key;
|
|
448
|
+
if (!httpMethods.includes(method)) {
|
|
449
|
+
if (!(key in target))
|
|
450
|
+
target[key] = value;
|
|
451
|
+
continue;
|
|
452
|
+
}
|
|
453
|
+
if (target[method]) {
|
|
454
|
+
onWarning(`${fragment.owner}: ${method.toUpperCase()} ${path} is already declared by a route and was left out of the fragment.`);
|
|
455
|
+
continue;
|
|
456
|
+
}
|
|
457
|
+
const operation = { ...value };
|
|
458
|
+
if (operation.security && schemeRenames.size > 0)
|
|
459
|
+
operation.security = renameSecurity(operation.security);
|
|
460
|
+
if (operation.operationId && operationIds.has(operation.operationId)) {
|
|
461
|
+
const renamed = uniqueName(`${namespace}${capitalize(operation.operationId)}`, (candidate) => operationIds.has(candidate));
|
|
462
|
+
onWarning(`${fragment.owner}: operationId ${operation.operationId} of ${method.toUpperCase()} ${path} is already used and was renamed to ${renamed}.`);
|
|
463
|
+
operation.operationId = renamed;
|
|
464
|
+
}
|
|
465
|
+
if (operation.operationId)
|
|
466
|
+
operationIds.add(operation.operationId);
|
|
467
|
+
target[method] = operation;
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
//# sourceMappingURL=document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/router/openapi/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { apiErrorResponse, apiErrorResponses, apiValidator, dataResponse, describeRoute, emptyResponse, listResponse, resolver, type ApiResponseObject, type ApiSchema, type ApiValidatorInput, type ApiValidatorOptions, type DescribeRouteOptions, type OpenAPIV3_1, type ResolverReturnType, } from './describe.js';
|
|
2
|
+
export { apiErrorResponseNames, type ApiErrorResponseCode, } from './components.js';
|
|
3
|
+
export { findUndeclaredApiRoutes, generateApiDocument, inspectApiRoutes, mergeApiDocumentFragment, type ApiDocument, type ApiDocumentFragment, type ApiDocumentInfo, type ApiForwardedRouter, type ApiForwardedRoutes, type ApiRouteDeclaration, type ApiRouterSource, type ApiUndeclaredRoute, type GenerateApiDocumentOptions, } from './document.js';
|
|
4
|
+
export { declaredRouteActionOf, declaredRouteOf, routeAcceptsScheme, } from './declared.js';
|
|
5
|
+
export { findApiDocumentSchemaProblems, type ApiSchemaDirection, } from './schema.js';
|
|
6
|
+
export { ApiDocsService, apiDocsToken, type ApiDocsAccess, type ApiDocsAccessCheck, type ApiDocsDescription, type ApiDocsTarget, type ApiDocumentFragmentSource, type ApiDocumentTransform, } from './service.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/openapi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,qBAAqB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,GAChC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,6BAA6B,EAC7B,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { apiErrorResponse, apiErrorResponses, apiValidator, dataResponse, describeRoute, emptyResponse, listResponse, resolver, } from './describe.js';
|
|
2
|
+
export { apiErrorResponseNames, } from './components.js';
|
|
3
|
+
export { findUndeclaredApiRoutes, generateApiDocument, inspectApiRoutes, mergeApiDocumentFragment, } from './document.js';
|
|
4
|
+
export { declaredRouteActionOf, declaredRouteOf, routeAcceptsScheme, } from './declared.js';
|
|
5
|
+
export { findApiDocumentSchemaProblems, } from './schema.js';
|
|
6
|
+
export { ApiDocsService, apiDocsToken, } from './service.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/openapi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,GAQT,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,qBAAqB,GAEtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,GAUzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,6BAA6B,GAE9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,YAAY,GAOb,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type CollectionDefinition, type FieldDefinition, type NormalizedRepositoryPolicy } from '@nocobase/db';
|
|
2
|
+
import type { MiddlewareHandler } from 'hono';
|
|
3
|
+
import type { OpenAPIV3_1 } from 'openapi-types';
|
|
4
|
+
import type { RepositoryApiAction } from '../repository-routes.js';
|
|
5
|
+
import type { ApiSchema } from './describe.js';
|
|
6
|
+
/** What the document generator needs to describe one data endpoint. */
|
|
7
|
+
export interface RepositoryEndpointDescriptor {
|
|
8
|
+
readonly exposure: string;
|
|
9
|
+
readonly collection: string;
|
|
10
|
+
readonly connection: string | undefined;
|
|
11
|
+
readonly action: RepositoryApiAction;
|
|
12
|
+
readonly maxLimit: number;
|
|
13
|
+
/** The exposure's fixed Policy, or `undefined` when the Policy is built per request from the principal. */
|
|
14
|
+
readonly policy: NormalizedRepositoryPolicy | undefined;
|
|
15
|
+
/** Fields the exposure adds to every returned record, documented read-only in its record schema. */
|
|
16
|
+
readonly computedFields: Readonly<Record<string, ApiSchema>>;
|
|
17
|
+
readonly loadCollection: () => Promise<CollectionDefinition | undefined>;
|
|
18
|
+
}
|
|
19
|
+
type SchemaObject = OpenAPIV3_1.SchemaObject;
|
|
20
|
+
/** The declaration a data endpoint registers, so it is documented without a hand-written `describeRoute()`. */
|
|
21
|
+
export declare function describeRepositoryEndpoint(descriptor: RepositoryEndpointDescriptor): MiddlewareHandler;
|
|
22
|
+
/** The JSON shape a scalar field's value takes over HTTP, before nullability. */
|
|
23
|
+
export declare function fieldValueSchema(field: FieldDefinition): SchemaObject;
|
|
24
|
+
/**
|
|
25
|
+
* Replace each data endpoint's placeholder declaration in `document` with its operation: per-field record, `values`
|
|
26
|
+
* and filter schemas read from the Collection, and the shared Repository components.
|
|
27
|
+
*/
|
|
28
|
+
export declare function expandRepositoryOperations(document: OpenAPIV3_1.Document): Promise<void>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=repository-document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository-document.d.ts","sourceRoot":"","sources":["../../../src/router/openapi/repository-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAEhC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAQ/C,uEAAuE;AACvE,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2GAA2G;IAC3G,QAAQ,CAAC,MAAM,EAAE,0BAA0B,GAAG,SAAS,CAAC;IACxD,oGAAoG;IACpG,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;CAC1E;AAED,KAAK,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;AAuB7C,+GAA+G;AAC/G,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,4BAA4B,GACvC,iBAAiB,CAQnB;AAyND,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CA4DrE;AAsjBD;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,WAAW,CAAC,QAAQ,GAC7B,OAAO,CAAC,IAAI,CAAC,CA0Cf"}
|