arkos 2.0.0-next.3 → 2.0.0-next.30
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 +146 -145
- package/cli.js +11 -20
- package/dist/esm/app.js +37 -35
- package/dist/esm/app.js.map +1 -1
- package/dist/esm/components/arkos-gateway/arkos-gateway.js +362 -0
- package/dist/esm/components/arkos-gateway/arkos-gateway.js.map +1 -0
- package/dist/esm/components/arkos-gateway/socket-extensions.js +176 -0
- package/dist/esm/components/arkos-gateway/socket-extensions.js.map +1 -0
- package/dist/esm/components/arkos-gateway/types.js +3 -0
- package/dist/esm/components/arkos-gateway/types.js.map +1 -0
- package/dist/esm/components/arkos-gateway/utils/helpers.js +105 -0
- package/dist/esm/components/arkos-gateway/utils/helpers.js.map +1 -0
- package/dist/esm/components/arkos-gateway/utils/memory-gateway-store.js +45 -0
- package/dist/esm/components/arkos-gateway/utils/memory-gateway-store.js.map +1 -0
- package/dist/esm/components/arkos-gateway/utils/multi-tier-arkos-gateway-store.js +40 -0
- package/dist/esm/components/arkos-gateway/utils/multi-tier-arkos-gateway-store.js.map +1 -0
- package/dist/esm/components/arkos-gateway/utils/rate-limiter.js +13 -0
- package/dist/esm/components/arkos-gateway/utils/rate-limiter.js.map +1 -0
- package/dist/esm/components/arkos-loadable-registry/index.js +1 -3
- package/dist/esm/components/arkos-loadable-registry/index.js.map +1 -1
- package/dist/esm/components/arkos-policy/index.js +3 -1
- package/dist/esm/components/arkos-policy/index.js.map +1 -1
- package/dist/esm/components/arkos-route-hook/index.js +30 -19
- package/dist/esm/components/arkos-route-hook/index.js.map +1 -1
- package/dist/esm/components/arkos-route-hook/reader.js.map +1 -1
- package/dist/esm/components/arkos-route-hook/types.js.map +1 -1
- package/dist/esm/exports/error-handler/index.js +1 -0
- package/dist/esm/exports/error-handler/index.js.map +1 -1
- package/dist/esm/exports/file-upload.js +2 -0
- package/dist/esm/exports/file-upload.js.map +1 -0
- package/dist/esm/exports/index.js +3 -3
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/exports/middlewares/index.js +1 -1
- package/dist/esm/exports/middlewares/index.js.map +1 -1
- package/dist/esm/exports/services/index.js +2 -2
- package/dist/esm/exports/services/index.js.map +1 -1
- package/dist/esm/exports/websockets.js +5 -0
- package/dist/esm/exports/websockets.js.map +1 -0
- package/dist/esm/generated.js.map +1 -1
- package/dist/esm/modules/auth/auth.controller.js +165 -230
- package/dist/esm/modules/auth/auth.controller.js.map +1 -1
- package/dist/esm/modules/auth/auth.router.js +28 -10
- package/dist/esm/modules/auth/auth.router.js.map +1 -1
- package/dist/esm/modules/auth/auth.service.js +202 -136
- package/dist/esm/modules/auth/auth.service.js.map +1 -1
- package/dist/esm/modules/auth/auth.types.js +2 -0
- package/dist/esm/modules/auth/auth.types.js.map +1 -0
- package/dist/esm/modules/auth/utils/auth-error-objects.js +2 -2
- package/dist/esm/modules/auth/utils/auth-error-objects.js.map +1 -1
- package/dist/esm/modules/auth/utils/auth-hooks-manager.js +148 -0
- package/dist/esm/modules/auth/utils/auth-hooks-manager.js.map +1 -0
- package/dist/esm/modules/auth/utils/auth-openapi-generator.js +367 -0
- package/dist/esm/modules/auth/utils/auth-openapi-generator.js.map +1 -0
- package/dist/esm/modules/auth/utils/auth-prisma-json-schema-generator.js +97 -0
- package/dist/esm/modules/auth/utils/auth-prisma-json-schema-generator.js.map +1 -0
- package/dist/esm/modules/auth/utils/docs-links.js +6 -0
- package/dist/esm/modules/auth/utils/docs-links.js.map +1 -0
- package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -0
- package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js.map +1 -1
- package/dist/esm/modules/auth/utils/services/auth-action.service.js +20 -16
- package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
- package/dist/esm/modules/auth/utils/token-extraction.js +57 -0
- package/dist/esm/modules/auth/utils/token-extraction.js.map +1 -0
- package/dist/esm/modules/base/base.controller.js +228 -202
- package/dist/esm/modules/base/base.controller.js.map +1 -1
- package/dist/esm/modules/base/base.middlewares.js +69 -86
- package/dist/esm/modules/base/base.middlewares.js.map +1 -1
- package/dist/esm/modules/base/base.router.js +23 -9
- package/dist/esm/modules/base/base.router.js.map +1 -1
- package/dist/esm/modules/base/base.service.js +92 -197
- package/dist/esm/modules/base/base.service.js.map +1 -1
- package/dist/esm/modules/base/types/base.service.types.js.map +1 -1
- package/dist/esm/modules/base/utils/error-prettifier.js +90 -30
- package/dist/esm/modules/base/utils/error-prettifier.js.map +1 -1
- package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +26 -5
- package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
- package/dist/esm/modules/base/utils/model-openapi-generator.js +438 -0
- package/dist/esm/modules/base/utils/model-openapi-generator.js.map +1 -0
- package/dist/esm/modules/email/email.service.js +21 -12
- package/dist/esm/modules/email/email.service.js.map +1 -1
- package/dist/esm/modules/error-handler/error-handler.controller.js +24 -113
- package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
- package/dist/esm/modules/error-handler/utils/app-error.js +5 -2
- package/dist/esm/modules/error-handler/utils/app-error.js.map +1 -1
- package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -1
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +60 -110
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
- package/dist/esm/modules/error-handler/utils/errors.js +127 -0
- package/dist/esm/modules/error-handler/utils/errors.js.map +1 -0
- package/dist/esm/modules/error-handler/utils/get-handled-error.js +73 -0
- package/dist/esm/modules/error-handler/utils/get-handled-error.js.map +1 -0
- package/dist/esm/modules/error-handler/utils/multer-error-handler.js +34 -0
- package/dist/esm/modules/error-handler/utils/multer-error-handler.js.map +1 -0
- package/dist/esm/modules/file-upload/file-upload.controller.js +227 -215
- package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.router.js +54 -15
- package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.service.js +41 -26
- package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -1
- package/dist/esm/modules/file-upload/utils/file-upload-json-schema-generator.js +371 -0
- package/dist/esm/modules/file-upload/utils/file-upload-json-schema-generator.js.map +1 -0
- package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +73 -35
- package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -1
- package/dist/esm/modules/file-upload/utils/helpers/serve-upload-dir.js +206 -0
- package/dist/esm/modules/file-upload/utils/helpers/serve-upload-dir.js.map +1 -0
- package/dist/esm/modules/file-upload/utils/helpers/upload-path.helper.js +103 -0
- package/dist/esm/modules/file-upload/utils/helpers/upload-path.helper.js.map +1 -0
- package/dist/esm/modules/file-upload/utils/helpers/upload-serving-validation.js +212 -0
- package/dist/esm/modules/file-upload/utils/helpers/upload-serving-validation.js.map +1 -0
- package/dist/esm/modules/file-upload/utils/helpers/upload-serving.registry.js +30 -0
- package/dist/esm/modules/file-upload/utils/helpers/upload-serving.registry.js.map +1 -0
- package/dist/esm/modules/swagger/swagger.router.js +39 -22
- package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
- package/dist/esm/modules/swagger/utils/get-open-api-login-html.js +305 -0
- package/dist/esm/modules/swagger/utils/get-open-api-login-html.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +6 -7
- package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js +47 -43
- package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -1
- package/dist/esm/server.js +1 -1
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/types/arkos-config/utils.js +2 -0
- package/dist/esm/types/arkos-config/utils.js.map +1 -0
- package/dist/esm/types/arkos-prisma-input.js.map +1 -1
- package/dist/esm/types/arkos.js.map +1 -1
- package/dist/esm/types/auth.js.map +1 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/internal.js +2 -0
- package/dist/esm/types/internal.js.map +1 -0
- package/dist/esm/types/new-arkos-config.js.map +1 -1
- package/dist/esm/types/router-config.js.map +1 -1
- package/dist/esm/types/upload.js +2 -0
- package/dist/esm/types/upload.js.map +1 -0
- package/dist/esm/types/validation/validation-manager.js +57 -0
- package/dist/esm/types/validation/validation-manager.js.map +1 -0
- package/dist/esm/types/validation/validator.js +2 -0
- package/dist/esm/types/validation/validator.js.map +1 -0
- package/dist/esm/utils/arkos-router/arkos-router-openapi-manager.js +68 -34
- package/dist/esm/utils/arkos-router/arkos-router-openapi-manager.js.map +1 -1
- package/dist/esm/utils/arkos-router/index.js +58 -158
- package/dist/esm/utils/arkos-router/index.js.map +1 -1
- package/dist/esm/utils/arkos-router/route-config-registry.js +2 -3
- package/dist/esm/utils/arkos-router/route-config-registry.js.map +1 -1
- package/dist/esm/utils/arkos-router/route-config-validator.js +11 -10
- package/dist/esm/utils/arkos-router/route-config-validator.js.map +1 -1
- package/dist/esm/utils/arkos-router/types/index.js.map +1 -1
- package/dist/esm/utils/arkos-router/types/openapi-config.js.map +1 -1
- package/dist/esm/utils/arkos-router/types/upload-config.js.map +1 -1
- package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +198 -0
- package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -0
- package/dist/esm/utils/arkos-router/utils/helpers/index.js +92 -29
- package/dist/esm/utils/arkos-router/utils/helpers/index.js.map +1 -1
- package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js +683 -119
- package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -1
- package/dist/esm/utils/bundler.js +6 -6
- package/dist/esm/utils/bundler.js.map +1 -1
- package/dist/esm/utils/cli/build.js +16 -9
- package/dist/esm/utils/cli/build.js.map +1 -1
- package/dist/esm/utils/cli/dev.js +33 -32
- package/dist/esm/utils/cli/dev.js.map +1 -1
- package/dist/esm/utils/cli/export-auth-action.js +7 -7
- package/dist/esm/utils/cli/export-auth-action.js.map +1 -1
- package/dist/esm/utils/cli/generate.js +77 -58
- package/dist/esm/utils/cli/generate.js.map +1 -1
- package/dist/esm/utils/cli/index.js +74 -56
- package/dist/esm/utils/cli/index.js.map +1 -1
- package/dist/esm/utils/cli/prisma-generate.js +66 -35
- package/dist/esm/utils/cli/prisma-generate.js.map +1 -1
- package/dist/esm/utils/cli/start.js +27 -16
- package/dist/esm/utils/cli/start.js.map +1 -1
- package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
- package/dist/esm/utils/cli/utils/dependency-version-check.js +39 -0
- package/dist/esm/utils/cli/utils/dependency-version-check.js.map +1 -0
- package/dist/esm/utils/cli/utils/runtime-cli-commander.js +7 -3
- package/dist/esm/utils/cli/utils/runtime-cli-commander.js.map +1 -1
- package/dist/esm/utils/cli/utils/smart-fs-watcher.js +3 -0
- package/dist/esm/utils/cli/utils/smart-fs-watcher.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +307 -11
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +16 -7
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js +117 -65
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js +6 -8
- package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +13 -2
- package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +2 -2
- package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/zod-schema-generator.js +213 -19
- package/dist/esm/utils/cli/utils/template-generator/templates/zod-schema-generator.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generators.js +31 -18
- package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
- package/dist/esm/utils/cli/utils/watermark-stamper.js +1 -1
- package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -1
- package/dist/esm/utils/define-config.js +15 -0
- package/dist/esm/utils/define-config.js.map +1 -1
- package/dist/esm/utils/docs-links.js +2 -0
- package/dist/esm/utils/docs-links.js.map +1 -0
- package/dist/esm/utils/dotenv.helpers.js +3 -7
- package/dist/esm/utils/dotenv.helpers.js.map +1 -1
- package/dist/esm/utils/dynamic-loader.js +6 -5
- package/dist/esm/utils/dynamic-loader.js.map +1 -1
- package/dist/esm/utils/features/api.features.js +46 -27
- package/dist/esm/utils/features/api.features.js.map +1 -1
- package/dist/esm/utils/features/port-and-host-allocator.js +4 -3
- package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -1
- package/dist/esm/utils/helpers/api.features.helpers.js +20 -0
- package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/arkos-config.helpers.js +60 -24
- package/dist/esm/utils/helpers/arkos-config.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/exit-error.js +1 -0
- package/dist/esm/utils/helpers/exit-error.js.map +1 -1
- package/dist/esm/utils/helpers/fs.helpers.js +25 -32
- package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/global.helpers.js +1 -1
- package/dist/esm/utils/helpers/global.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/prisma.helpers.js +10 -7
- package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/query-parser.helpers.js +7 -22
- package/dist/esm/utils/helpers/query-parser.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/routers.helpers.js +2 -2
- package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/url-helpers.js +11 -0
- package/dist/esm/utils/helpers/url-helpers.js.map +1 -0
- package/dist/esm/utils/initialize-app.js +43 -17
- package/dist/esm/utils/initialize-app.js.map +1 -1
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js +154 -226
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -1
- package/dist/esm/utils/prisma/prisma-schema-parser.js +37 -11
- package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -1
- package/dist/esm/utils/prisma/types.js.map +1 -1
- package/dist/esm/utils/remove-dir.js +1 -1
- package/dist/esm/utils/remove-dir.js.map +1 -1
- package/dist/esm/utils/setup-app.js +59 -42
- package/dist/esm/utils/setup-app.js.map +1 -1
- package/dist/esm/utils/validate-schema.js +25 -23
- package/dist/esm/utils/validate-schema.js.map +1 -1
- package/dist/types/app.d.ts +15 -10
- package/dist/types/components/arkos-gateway/arkos-gateway.d.ts +135 -0
- package/dist/types/components/arkos-gateway/socket-extensions.d.ts +80 -0
- package/dist/types/components/arkos-gateway/types.d.ts +467 -0
- package/dist/types/components/arkos-gateway/utils/helpers.d.ts +9 -0
- package/dist/types/components/arkos-gateway/utils/memory-gateway-store.d.ts +14 -0
- package/dist/types/components/arkos-gateway/utils/multi-tier-arkos-gateway-store.d.ts +20 -0
- package/dist/types/components/arkos-gateway/utils/rate-limiter.d.ts +11 -0
- package/dist/types/components/arkos-route-hook/index.d.ts +13 -6
- package/dist/types/components/arkos-route-hook/reader.d.ts +4 -7
- package/dist/types/components/arkos-route-hook/types.d.ts +12 -5
- package/dist/types/exports/error-handler/index.d.ts +1 -0
- package/dist/types/exports/file-upload.d.ts +1 -0
- package/dist/types/exports/index.d.ts +4 -5
- package/dist/types/exports/middlewares/index.d.ts +1 -1
- package/dist/types/exports/services/index.d.ts +3 -3
- package/dist/types/exports/websockets.d.ts +5 -0
- package/dist/types/modules/auth/auth.controller.d.ts +10 -3
- package/dist/types/modules/auth/auth.service.d.ts +170 -51
- package/dist/types/modules/auth/auth.types.d.ts +72 -0
- package/dist/types/modules/auth/utils/auth-hooks-manager.d.ts +63 -0
- package/dist/types/modules/auth/utils/auth-openapi-generator.d.ts +9 -0
- package/dist/types/modules/auth/utils/auth-prisma-json-schema-generator.d.ts +13 -0
- package/dist/types/modules/auth/utils/docs-links.d.ts +3 -0
- package/dist/types/modules/auth/utils/helpers/auth.controller.helpers.d.ts +1 -0
- package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +2 -2
- package/dist/types/modules/auth/utils/token-extraction.d.ts +53 -0
- package/dist/types/modules/base/base.controller.d.ts +7 -6
- package/dist/types/modules/base/base.middlewares.d.ts +3 -9
- package/dist/types/modules/base/base.service.d.ts +18 -26
- package/dist/types/modules/base/types/base.service.types.d.ts +11 -0
- package/dist/types/modules/base/utils/error-prettifier.d.ts +8 -0
- package/dist/types/modules/base/utils/helpers/base.service.helpers.d.ts +1 -1
- package/dist/types/modules/base/utils/model-openapi-generator.d.ts +12 -0
- package/dist/types/modules/email/email.service.d.ts +3 -1
- package/dist/types/modules/error-handler/utils/app-error.d.ts +0 -2
- package/dist/types/modules/error-handler/utils/catch-async.d.ts +2 -2
- package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +2 -27
- package/dist/types/modules/error-handler/utils/errors.d.ts +176 -0
- package/dist/types/modules/error-handler/utils/get-handled-error.d.ts +1 -0
- package/dist/types/modules/error-handler/utils/multer-error-handler.d.ts +7 -0
- package/dist/types/modules/file-upload/file-upload.controller.d.ts +7 -2
- package/dist/types/modules/file-upload/file-upload.service.d.ts +2 -6
- package/dist/types/modules/file-upload/utils/file-upload-json-schema-generator.d.ts +12 -0
- package/dist/types/modules/file-upload/utils/helpers/file-upload.helpers.d.ts +21 -1
- package/dist/types/modules/file-upload/utils/helpers/serve-upload-dir.d.ts +43 -0
- package/dist/types/modules/file-upload/utils/helpers/upload-path.helper.d.ts +14 -0
- package/dist/types/modules/file-upload/utils/helpers/upload-serving-validation.d.ts +5 -0
- package/dist/types/modules/file-upload/utils/helpers/upload-serving.registry.d.ts +31 -0
- package/dist/types/modules/swagger/swagger.router.d.ts +1 -2
- package/dist/types/modules/swagger/utils/get-open-api-login-html.d.ts +1 -0
- package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +48 -3
- package/dist/types/modules/swagger/utils/helpers/openapi-schema-converter.d.ts +8 -3
- package/dist/types/types/arkos-config/utils.d.ts +68 -0
- package/dist/types/types/arkos-prisma-input.d.ts +7 -3
- package/dist/types/types/arkos.d.ts +5 -15
- package/dist/types/types/auth.d.ts +4 -4
- package/dist/types/types/index.d.ts +15 -58
- package/dist/types/types/internal.d.ts +25 -0
- package/dist/types/types/new-arkos-config.d.ts +374 -67
- package/dist/types/types/router-config.d.ts +3 -66
- package/dist/types/types/upload.d.ts +45 -0
- package/dist/types/types/validation/validation-manager.d.ts +25 -0
- package/dist/types/types/validation/validator.d.ts +2 -0
- package/dist/types/utils/arkos-router/arkos-router-openapi-manager.d.ts +14 -1
- package/dist/types/utils/arkos-router/index.d.ts +86 -11
- package/dist/types/utils/arkos-router/types/index.d.ts +83 -31
- package/dist/types/utils/arkos-router/types/openapi-config.d.ts +3 -2
- package/dist/types/utils/arkos-router/types/upload-config.d.ts +158 -10
- package/dist/types/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.d.ts +6 -0
- package/dist/types/utils/arkos-router/utils/helpers/index.d.ts +4 -6
- package/dist/types/utils/arkos-router/utils/helpers/upload-manager.d.ts +21 -36
- package/dist/types/utils/bundler.d.ts +1 -1
- package/dist/types/utils/cli/build.d.ts +1 -1
- package/dist/types/utils/cli/generate.d.ts +15 -6
- package/dist/types/utils/cli/start.d.ts +3 -1
- package/dist/types/utils/cli/utils/dependency-version-check.d.ts +15 -0
- package/dist/types/utils/cli/utils/template-generator/templates/class-validator-dto-generator.d.ts +11 -0
- package/dist/types/utils/cli/utils/template-generator/templates/zod-schema-generator.d.ts +4 -0
- package/dist/types/utils/define-config.d.ts +57 -3
- package/dist/types/utils/docs-links.d.ts +1 -0
- package/dist/types/utils/dotenv.helpers.d.ts +1 -0
- package/dist/types/utils/dynamic-loader.d.ts +2 -2
- package/dist/types/utils/features/api.features.d.ts +1 -2
- package/dist/types/utils/helpers/arkos-config.helpers.d.ts +9 -1
- package/dist/types/utils/helpers/fs.helpers.d.ts +1 -16
- package/dist/types/utils/helpers/global.helpers.d.ts +1 -0
- package/dist/types/utils/helpers/prisma.helpers.d.ts +1 -1
- package/dist/types/utils/helpers/query-parser.helpers.d.ts +1 -1
- package/dist/types/utils/helpers/url-helpers.d.ts +1 -0
- package/dist/types/utils/initialize-app.d.ts +1 -0
- package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +12 -30
- package/dist/types/utils/prisma/prisma-schema-parser.d.ts +4 -0
- package/dist/types/utils/prisma/types.d.ts +3 -2
- package/dist/types/utils/validate-schema.d.ts +1 -1
- package/package.json +84 -75
- package/dist/cjs/app.js +0 -79
- package/dist/cjs/app.js.map +0 -1
- package/dist/cjs/components/arkos-loadable-registry/index.js +0 -28
- package/dist/cjs/components/arkos-loadable-registry/index.js.map +0 -1
- package/dist/cjs/components/arkos-loadable-translator/index.js +0 -144
- package/dist/cjs/components/arkos-loadable-translator/index.js.map +0 -1
- package/dist/cjs/components/arkos-policy/index.js +0 -36
- package/dist/cjs/components/arkos-policy/index.js.map +0 -1
- package/dist/cjs/components/arkos-policy/types.js +0 -3
- package/dist/cjs/components/arkos-policy/types.js.map +0 -1
- package/dist/cjs/components/arkos-route-hook/index.js +0 -50
- package/dist/cjs/components/arkos-route-hook/index.js.map +0 -1
- package/dist/cjs/components/arkos-route-hook/reader.js +0 -47
- package/dist/cjs/components/arkos-route-hook/reader.js.map +0 -1
- package/dist/cjs/components/arkos-route-hook/types.js +0 -3
- package/dist/cjs/components/arkos-route-hook/types.js.map +0 -1
- package/dist/cjs/components/arkos-service-hook/index.js +0 -35
- package/dist/cjs/components/arkos-service-hook/index.js.map +0 -1
- package/dist/cjs/components/arkos-service-hook/reader.js +0 -30
- package/dist/cjs/components/arkos-service-hook/reader.js.map +0 -1
- package/dist/cjs/components/arkos-service-hook/types.js +0 -3
- package/dist/cjs/components/arkos-service-hook/types.js.map +0 -1
- package/dist/cjs/exports/auth/index.js +0 -6
- package/dist/cjs/exports/auth/index.js.map +0 -1
- package/dist/cjs/exports/config.js +0 -6
- package/dist/cjs/exports/config.js.map +0 -1
- package/dist/cjs/exports/controllers/index.js +0 -42
- package/dist/cjs/exports/controllers/index.js.map +0 -1
- package/dist/cjs/exports/error-handler/index.js +0 -11
- package/dist/cjs/exports/error-handler/index.js.map +0 -1
- package/dist/cjs/exports/index.js +0 -23
- package/dist/cjs/exports/index.js.map +0 -1
- package/dist/cjs/exports/middlewares/index.js +0 -7
- package/dist/cjs/exports/middlewares/index.js.map +0 -1
- package/dist/cjs/exports/prisma/index.js +0 -13
- package/dist/cjs/exports/prisma/index.js.map +0 -1
- package/dist/cjs/exports/services/index.js +0 -53
- package/dist/cjs/exports/services/index.js.map +0 -1
- package/dist/cjs/exports/utils/index.js +0 -26
- package/dist/cjs/exports/utils/index.js.map +0 -1
- package/dist/cjs/exports/validation/index.js +0 -11
- package/dist/cjs/exports/validation/index.js.map +0 -1
- package/dist/cjs/generated.js +0 -7
- package/dist/cjs/generated.js.map +0 -1
- package/dist/cjs/modules/auth/auth.controller.js +0 -254
- package/dist/cjs/modules/auth/auth.controller.js.map +0 -1
- package/dist/cjs/modules/auth/auth.router.js +0 -113
- package/dist/cjs/modules/auth/auth.router.js.map +0 -1
- package/dist/cjs/modules/auth/auth.service.js +0 -277
- package/dist/cjs/modules/auth/auth.service.js.map +0 -1
- package/dist/cjs/modules/auth/utils/auth-error-objects.js +0 -10
- package/dist/cjs/modules/auth/utils/auth-error-objects.js.map +0 -1
- package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +0 -83
- package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -1
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js +0 -150
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +0 -1
- package/dist/cjs/modules/base/base.controller.js +0 -275
- package/dist/cjs/modules/base/base.controller.js.map +0 -1
- package/dist/cjs/modules/base/base.middlewares.js +0 -231
- package/dist/cjs/modules/base/base.middlewares.js.map +0 -1
- package/dist/cjs/modules/base/base.router.js +0 -112
- package/dist/cjs/modules/base/base.router.js.map +0 -1
- package/dist/cjs/modules/base/base.service.js +0 -432
- package/dist/cjs/modules/base/base.service.js.map +0 -1
- package/dist/cjs/modules/base/types/base.service.types.js +0 -3
- package/dist/cjs/modules/base/types/base.service.types.js.map +0 -1
- package/dist/cjs/modules/base/utils/error-prettifier.js +0 -188
- package/dist/cjs/modules/base/utils/error-prettifier.js.map +0 -1
- package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +0 -49
- package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -1
- package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +0 -13
- package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
- package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +0 -222
- package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +0 -1
- package/dist/cjs/modules/base/utils/router-validator.js +0 -13
- package/dist/cjs/modules/base/utils/router-validator.js.map +0 -1
- package/dist/cjs/modules/base/utils/service-hooks-manager.js +0 -19
- package/dist/cjs/modules/base/utils/service-hooks-manager.js.map +0 -1
- package/dist/cjs/modules/debugger/debugger.service.js +0 -59
- package/dist/cjs/modules/debugger/debugger.service.js.map +0 -1
- package/dist/cjs/modules/email/email.service.js +0 -106
- package/dist/cjs/modules/email/email.service.js.map +0 -1
- package/dist/cjs/modules/error-handler/error-handler.controller.js +0 -192
- package/dist/cjs/modules/error-handler/error-handler.controller.js.map +0 -1
- package/dist/cjs/modules/error-handler/utils/app-error.js +0 -28
- package/dist/cjs/modules/error-handler/utils/app-error.js.map +0 -1
- package/dist/cjs/modules/error-handler/utils/catch-async.js +0 -21
- package/dist/cjs/modules/error-handler/utils/catch-async.js.map +0 -1
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +0 -218
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +0 -1
- package/dist/cjs/modules/file-upload/file-upload.controller.js +0 -256
- package/dist/cjs/modules/file-upload/file-upload.controller.js.map +0 -1
- package/dist/cjs/modules/file-upload/file-upload.router.js +0 -80
- package/dist/cjs/modules/file-upload/file-upload.router.js.map +0 -1
- package/dist/cjs/modules/file-upload/file-upload.service.js +0 -343
- package/dist/cjs/modules/file-upload/file-upload.service.js.map +0 -1
- package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js +0 -134
- package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js.map +0 -1
- package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +0 -100
- package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -1
- package/dist/cjs/modules/swagger/swagger.router.js +0 -65
- package/dist/cjs/modules/swagger/swagger.router.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/built-in-route-path-object-manager.js +0 -7
- package/dist/cjs/modules/swagger/utils/built-in-route-path-object-manager.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js +0 -53
- package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +0 -473
- package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +0 -491
- package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +0 -73
- package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +0 -37
- package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +0 -61
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +0 -31
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +0 -49
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +0 -39
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +0 -468
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +0 -260
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js +0 -331
- package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +0 -109
- package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +0 -1
- package/dist/cjs/package.json +0 -3
- package/dist/cjs/server.js +0 -60
- package/dist/cjs/server.js.map +0 -1
- package/dist/cjs/types/arkos-prisma-input.js +0 -3
- package/dist/cjs/types/arkos-prisma-input.js.map +0 -1
- package/dist/cjs/types/arkos.js +0 -3
- package/dist/cjs/types/arkos.js.map +0 -1
- package/dist/cjs/types/auth.js +0 -3
- package/dist/cjs/types/auth.js.map +0 -1
- package/dist/cjs/types/index.js +0 -3
- package/dist/cjs/types/index.js.map +0 -1
- package/dist/cjs/types/new-arkos-config.js +0 -3
- package/dist/cjs/types/new-arkos-config.js.map +0 -1
- package/dist/cjs/types/router-config.js +0 -3
- package/dist/cjs/types/router-config.js.map +0 -1
- package/dist/cjs/utils/arkos-env.js +0 -9
- package/dist/cjs/utils/arkos-env.js.map +0 -1
- package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js +0 -126
- package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js.map +0 -1
- package/dist/cjs/utils/arkos-router/index.js +0 -253
- package/dist/cjs/utils/arkos-router/index.js.map +0 -1
- package/dist/cjs/utils/arkos-router/route-config-registry.js +0 -16
- package/dist/cjs/utils/arkos-router/route-config-registry.js.map +0 -1
- package/dist/cjs/utils/arkos-router/route-config-validator.js +0 -56
- package/dist/cjs/utils/arkos-router/route-config-validator.js.map +0 -1
- package/dist/cjs/utils/arkos-router/types/body-parser-config.js +0 -3
- package/dist/cjs/utils/arkos-router/types/body-parser-config.js.map +0 -1
- package/dist/cjs/utils/arkos-router/types/index.js +0 -3
- package/dist/cjs/utils/arkos-router/types/index.js.map +0 -1
- package/dist/cjs/utils/arkos-router/types/openapi-config.js +0 -3
- package/dist/cjs/utils/arkos-router/types/openapi-config.js.map +0 -1
- package/dist/cjs/utils/arkos-router/types/upload-config.js +0 -3
- package/dist/cjs/utils/arkos-router/types/upload-config.js.map +0 -1
- package/dist/cjs/utils/arkos-router/utils/helpers/index.js +0 -163
- package/dist/cjs/utils/arkos-router/utils/helpers/index.js.map +0 -1
- package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js +0 -283
- package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js.map +0 -1
- package/dist/cjs/utils/bundler.js +0 -163
- package/dist/cjs/utils/bundler.js.map +0 -1
- package/dist/cjs/utils/cli/build.js +0 -200
- package/dist/cjs/utils/cli/build.js.map +0 -1
- package/dist/cjs/utils/cli/dev.js +0 -128
- package/dist/cjs/utils/cli/dev.js.map +0 -1
- package/dist/cjs/utils/cli/export-auth-action.js +0 -79
- package/dist/cjs/utils/cli/export-auth-action.js.map +0 -1
- package/dist/cjs/utils/cli/generate.js +0 -229
- package/dist/cjs/utils/cli/generate.js.map +0 -1
- package/dist/cjs/utils/cli/index.js +0 -191
- package/dist/cjs/utils/cli/index.js.map +0 -1
- package/dist/cjs/utils/cli/prisma-generate.js +0 -112
- package/dist/cjs/utils/cli/prisma-generate.js.map +0 -1
- package/dist/cjs/utils/cli/start.js +0 -72
- package/dist/cjs/utils/cli/start.js.map +0 -1
- package/dist/cjs/utils/cli/utils/cli.helpers.js +0 -24
- package/dist/cjs/utils/cli/utils/cli.helpers.js.map +0 -1
- package/dist/cjs/utils/cli/utils/runtime-cli-commander.js +0 -114
- package/dist/cjs/utils/cli/utils/runtime-cli-commander.js.map +0 -1
- package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +0 -73
- package/dist/cjs/utils/cli/utils/smart-fs-watcher.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +0 -550
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -52
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js +0 -139
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js +0 -53
- package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/route-hook.template.js +0 -39
- package/dist/cjs/utils/cli/utils/template-generator/templates/route-hook.template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +0 -19
- package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/service-hook.template.js +0 -32
- package/dist/cjs/utils/cli/utils/template-generator/templates/service-hook.template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +0 -50
- package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js +0 -351
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generators.js +0 -52
- package/dist/cjs/utils/cli/utils/template-generators.js.map +0 -1
- package/dist/cjs/utils/cli/utils/watermark-stamper.js +0 -26
- package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +0 -1
- package/dist/cjs/utils/define-config.js +0 -46
- package/dist/cjs/utils/define-config.js.map +0 -1
- package/dist/cjs/utils/dotenv.helpers.js +0 -52
- package/dist/cjs/utils/dotenv.helpers.js.map +0 -1
- package/dist/cjs/utils/dynamic-loader.js +0 -22
- package/dist/cjs/utils/dynamic-loader.js.map +0 -1
- package/dist/cjs/utils/expand-env.js +0 -72
- package/dist/cjs/utils/expand-env.js.map +0 -1
- package/dist/cjs/utils/features/api.features.js +0 -201
- package/dist/cjs/utils/features/api.features.js.map +0 -1
- package/dist/cjs/utils/features/port-and-host-allocator.js +0 -129
- package/dist/cjs/utils/features/port-and-host-allocator.js.map +0 -1
- package/dist/cjs/utils/helpers/api.features.helpers.js +0 -327
- package/dist/cjs/utils/helpers/api.features.helpers.js.map +0 -1
- package/dist/cjs/utils/helpers/arkos-config.helpers.js +0 -86
- package/dist/cjs/utils/helpers/arkos-config.helpers.js.map +0 -1
- package/dist/cjs/utils/helpers/change-case.helpers.js +0 -177
- package/dist/cjs/utils/helpers/change-case.helpers.js.map +0 -1
- package/dist/cjs/utils/helpers/deepmerge.helper.js +0 -115
- package/dist/cjs/utils/helpers/deepmerge.helper.js.map +0 -1
- package/dist/cjs/utils/helpers/exit-error.js +0 -12
- package/dist/cjs/utils/helpers/exit-error.js.map +0 -1
- package/dist/cjs/utils/helpers/fs.helpers.js +0 -60
- package/dist/cjs/utils/helpers/fs.helpers.js.map +0 -1
- package/dist/cjs/utils/helpers/global.helpers.js +0 -105
- package/dist/cjs/utils/helpers/global.helpers.js.map +0 -1
- package/dist/cjs/utils/helpers/prisma.helpers.js +0 -53
- package/dist/cjs/utils/helpers/prisma.helpers.js.map +0 -1
- package/dist/cjs/utils/helpers/query-parser.helpers.js +0 -69
- package/dist/cjs/utils/helpers/query-parser.helpers.js.map +0 -1
- package/dist/cjs/utils/helpers/routers.helpers.js +0 -36
- package/dist/cjs/utils/helpers/routers.helpers.js.map +0 -1
- package/dist/cjs/utils/helpers/text.helpers.js +0 -28
- package/dist/cjs/utils/helpers/text.helpers.js.map +0 -1
- package/dist/cjs/utils/initialize-app.js +0 -55
- package/dist/cjs/utils/initialize-app.js.map +0 -1
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +0 -437
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +0 -1
- package/dist/cjs/utils/prisma/prisma-schema-parser.js +0 -360
- package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +0 -1
- package/dist/cjs/utils/prisma/types.js +0 -3
- package/dist/cjs/utils/prisma/types.js.map +0 -1
- package/dist/cjs/utils/remove-dir.js +0 -14
- package/dist/cjs/utils/remove-dir.js.map +0 -1
- package/dist/cjs/utils/setup-app.js +0 -119
- package/dist/cjs/utils/setup-app.js.map +0 -1
- package/dist/cjs/utils/sheu.js +0 -131
- package/dist/cjs/utils/sheu.js.map +0 -1
- package/dist/cjs/utils/validate-dto.js +0 -19
- package/dist/cjs/utils/validate-dto.js.map +0 -1
- package/dist/cjs/utils/validate-schema.js +0 -75
- package/dist/cjs/utils/validate-schema.js.map +0 -1
- package/dist/esm/components/arkos-loadable-translator/index.js +0 -138
- package/dist/esm/components/arkos-loadable-translator/index.js.map +0 -1
- package/dist/esm/components/arkos-service-hook/index.js +0 -32
- package/dist/esm/components/arkos-service-hook/index.js.map +0 -1
- package/dist/esm/components/arkos-service-hook/reader.js +0 -24
- package/dist/esm/components/arkos-service-hook/reader.js.map +0 -1
- package/dist/esm/components/arkos-service-hook/types.js +0 -2
- package/dist/esm/components/arkos-service-hook/types.js.map +0 -1
- package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +0 -10
- package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
- package/dist/esm/modules/base/utils/service-hooks-manager.js +0 -17
- package/dist/esm/modules/base/utils/service-hooks-manager.js.map +0 -1
- package/dist/esm/modules/swagger/utils/built-in-route-path-object-manager.js +0 -5
- package/dist/esm/modules/swagger/utils/built-in-route-path-object-manager.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +0 -469
- package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +0 -485
- package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +0 -34
- package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +0 -55
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +0 -25
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +0 -46
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +0 -33
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +0 -462
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +0 -255
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +0 -98
- package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/route-hook.template.js +0 -36
- package/dist/esm/utils/cli/utils/template-generator/templates/route-hook.template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/service-hook.template.js +0 -29
- package/dist/esm/utils/cli/utils/template-generator/templates/service-hook.template.js.map +0 -1
- package/dist/types/components/arkos-loadable-translator/index.d.ts +0 -53
- package/dist/types/components/arkos-service-hook/index.d.ts +0 -41
- package/dist/types/components/arkos-service-hook/reader.d.ts +0 -35
- package/dist/types/components/arkos-service-hook/types.d.ts +0 -240
- package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +0 -3
- package/dist/types/modules/base/utils/service-hooks-manager.d.ts +0 -10
- package/dist/types/modules/swagger/utils/built-in-route-path-object-manager.d.ts +0 -4
- package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +0 -5
- package/dist/types/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.d.ts +0 -3
- package/dist/types/modules/swagger/utils/helpers/get-system-json-schema-paths.d.ts +0 -2
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +0 -1
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +0 -1
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.d.ts +0 -4
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +0 -1
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +0 -2
- package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +0 -76
- package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +0 -19
- package/dist/types/utils/cli/utils/template-generator/templates/route-hook.template.d.ts +0 -2
- package/dist/types/utils/cli/utils/template-generator/templates/service-hook.template.d.ts +0 -2
|
@@ -1,26 +1,64 @@
|
|
|
1
|
-
import cors from
|
|
2
|
-
import express from
|
|
3
|
-
import { Options as RateLimitOptions } from
|
|
4
|
-
import cookieParser from
|
|
5
|
-
import compression from
|
|
6
|
-
import { Options as QueryParserOptions } from
|
|
7
|
-
import { ValidatorOptions } from
|
|
8
|
-
import { MsDuration } from
|
|
9
|
-
import { OpenAPIV3 } from
|
|
10
|
-
import type { ApiReferenceConfiguration } from
|
|
11
|
-
import
|
|
12
|
-
|
|
13
|
-
import
|
|
1
|
+
import cors from 'cors';
|
|
2
|
+
import express, { CookieOptions } from 'express';
|
|
3
|
+
import { Options as RateLimitOptions } from 'express-rate-limit';
|
|
4
|
+
import cookieParser from 'cookie-parser';
|
|
5
|
+
import compression from 'compression';
|
|
6
|
+
import { Options as QueryParserOptions } from '../utils/helpers/query-parser.helpers';
|
|
7
|
+
import { ValidatorOptions } from 'class-validator';
|
|
8
|
+
import { MsDuration } from '../modules/auth/utils/helpers/auth.controller.helpers';
|
|
9
|
+
import { OpenAPIV3 } from 'openapi-types';
|
|
10
|
+
import type { ApiReferenceConfiguration } from '@scalar/express-api-reference' with {
|
|
11
|
+
'resolution-mode': 'import'
|
|
12
|
+
};
|
|
13
|
+
import nodemailer from 'nodemailer';
|
|
14
|
+
import { ArkosRequestHandler } from '.';
|
|
15
|
+
import { PrismaClient } from '../generated';
|
|
16
|
+
import { AuthenticateHookHandler, AuthenticateAfterHookHandler, AuthenticateErrorHookHandler, AuthorizeHookHandler, AuthorizeAfterHookHandler, AuthorizeErrorHookHandler } from './arkos-config/utils';
|
|
14
17
|
/**
|
|
15
|
-
* Defines the initial configs of the api to be loaded at startup
|
|
18
|
+
* Defines the initial configs of the api to be loaded at startup.
|
|
16
19
|
*/
|
|
17
20
|
export type ArkosConfig = {
|
|
21
|
+
/**
|
|
22
|
+
* Configuration for resolving your Arkos application's source files at runtime.
|
|
23
|
+
*
|
|
24
|
+
* @since 1.6.1-canary.2
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
27
|
+
source?: {
|
|
28
|
+
/**
|
|
29
|
+
* The entry point file of your Arkos application, resolved at runtime.
|
|
30
|
+
*
|
|
31
|
+
* This should point to the file where `app.listen()` or `app.listen(server)`
|
|
32
|
+
* is called to start the HTTP server.
|
|
33
|
+
*
|
|
34
|
+
* Supports both TypeScript and JavaScript projects.
|
|
35
|
+
*
|
|
36
|
+
* @type {string}
|
|
37
|
+
*
|
|
38
|
+
* @default "src/app.ts" (TypeScript) | "src/app.js" (JavaScript)
|
|
39
|
+
*
|
|
40
|
+
* @since 1.6.1-canary.2
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* // TypeScript project
|
|
45
|
+
* entryPoint: "src/app.ts"
|
|
46
|
+
*
|
|
47
|
+
* // JavaScript project
|
|
48
|
+
* entryPoint: "src/app.js"
|
|
49
|
+
*
|
|
50
|
+
* // Custom path
|
|
51
|
+
* entryPoint: "src/server/main.ts"
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
entryPoint?: string;
|
|
55
|
+
};
|
|
18
56
|
/**
|
|
19
57
|
* The global prefixer for the whole application
|
|
20
58
|
*
|
|
21
59
|
* @default "/api"
|
|
22
60
|
*/
|
|
23
|
-
globalPrefix?: string;
|
|
61
|
+
readonly globalPrefix?: string;
|
|
24
62
|
/**
|
|
25
63
|
* Allows to configure request configs
|
|
26
64
|
*/
|
|
@@ -66,16 +104,139 @@ export type ArkosConfig = {
|
|
|
66
104
|
/**
|
|
67
105
|
* Defines authentication related configurations, by default is undefined.
|
|
68
106
|
*
|
|
69
|
-
* See [www.arkosjs.com/docs/core-concepts/authentication
|
|
107
|
+
* See [www.arkosjs.com/docs/core-concepts/authentication/setup](https://www.arkosjs.com/docs/core-concepts/authentication/setup) for details.
|
|
70
108
|
*/
|
|
71
109
|
authentication?: {
|
|
110
|
+
/**
|
|
111
|
+
* Lifecycle hooks for the built-in authentication and authorization pipeline.
|
|
112
|
+
*
|
|
113
|
+
* These hooks only apply to **auto-generated Arkos routes**. On custom routes using
|
|
114
|
+
* `authService.authenticate` directly, chain them manually as standard middlewares.
|
|
115
|
+
*
|
|
116
|
+
* Hooks run as standard Express middlewares — call `next()` to continue or
|
|
117
|
+
* `next(error)` to abort and forward to the global error handler.
|
|
118
|
+
*
|
|
119
|
+
* @see {@link https://www.arkosjs.com/docs/core-concepts/authentication/hooks}
|
|
120
|
+
*/
|
|
121
|
+
hooks?: {
|
|
122
|
+
authenticate?: {
|
|
123
|
+
/**
|
|
124
|
+
* Runs before JWT extraction and verification.
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```ts
|
|
128
|
+
* before: ({ req, skip, action, resource, rule }) => {
|
|
129
|
+
* req.authContext = { startedAt: Date.now() };
|
|
130
|
+
* }
|
|
131
|
+
* ```
|
|
132
|
+
*
|
|
133
|
+
* @example Skip core logic entirely (e.g. custom auth)
|
|
134
|
+
* ```ts
|
|
135
|
+
* before: ({ req, skip, action, resource, rule }) => {
|
|
136
|
+
* req.user = myCustomAuth(req);
|
|
137
|
+
* skip();
|
|
138
|
+
* }
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
before?: AuthenticateHookHandler | AuthenticateHookHandler[];
|
|
142
|
+
/**
|
|
143
|
+
* Runs after `req.user` has been set.
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```ts
|
|
147
|
+
* after: ({ req }) => {
|
|
148
|
+
* if (!req.user.hasChangedPassword) {
|
|
149
|
+
* throw new AppError("Password change required.", 403, "PasswordChangeRequired");
|
|
150
|
+
* }
|
|
151
|
+
* }
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
after?: AuthenticateAfterHookHandler | AuthenticateAfterHookHandler[];
|
|
155
|
+
/**
|
|
156
|
+
* Runs when authentication throws — invalid token, expired token, user not found, etc.
|
|
157
|
+
* Throw to forward to the global error handler, or call `skip()` to suppress and jump to `after` hooks.
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```ts
|
|
161
|
+
* onError: ({ req, error, skip, action, resource, rule }) => {
|
|
162
|
+
* console.warn(`Auth failed:`, error);
|
|
163
|
+
* throw error;
|
|
164
|
+
* }
|
|
165
|
+
* ```
|
|
166
|
+
*
|
|
167
|
+
* @example Suppress error and continue
|
|
168
|
+
* ```ts
|
|
169
|
+
* onError: ({ req, skip, action, resource, rule }) => {
|
|
170
|
+
* req.user = guestUser;
|
|
171
|
+
* skip();
|
|
172
|
+
* }
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
onError?: AuthenticateErrorHookHandler | AuthenticateErrorHookHandler[];
|
|
176
|
+
};
|
|
177
|
+
authorize?: {
|
|
178
|
+
/**
|
|
179
|
+
* Runs before the role/permission check.
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```ts
|
|
183
|
+
* before: ({ req }) => {
|
|
184
|
+
* if (req.headers["x-elevated-access"] === process.env.ELEVATION_KEY) {
|
|
185
|
+
* req.user.role = "admin";
|
|
186
|
+
* }
|
|
187
|
+
* }
|
|
188
|
+
* ```
|
|
189
|
+
*
|
|
190
|
+
* @example Skip permission check entirely
|
|
191
|
+
* ```ts
|
|
192
|
+
* before: ({ req, skip, action, resource, rule }) => {
|
|
193
|
+
* req.user.role = myCustomRoleResolver(req);
|
|
194
|
+
* skip();
|
|
195
|
+
* }
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
before?: AuthorizeHookHandler | AuthorizeHookHandler[];
|
|
199
|
+
/**
|
|
200
|
+
* Runs after the permission check passes.
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```ts
|
|
204
|
+
* after: ({ req }) => {
|
|
205
|
+
* auditLog.record({ userId: req.user.id, path: req.path });
|
|
206
|
+
* }
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
after?: AuthorizeAfterHookHandler | AuthorizeAfterHookHandler[];
|
|
210
|
+
/**
|
|
211
|
+
* Runs when the user lacks sufficient permissions (403).
|
|
212
|
+
* Throw to forward to the global error handler, or call `skip()` to suppress and jump to `after` hooks.
|
|
213
|
+
*
|
|
214
|
+
* @example
|
|
215
|
+
* ```ts
|
|
216
|
+
* onError: ({ req, error, action, resource, rule }) => {
|
|
217
|
+
* auditLog.record({ userId: req.user?.id, reason: "insufficient_permissions" });
|
|
218
|
+
* throw error;
|
|
219
|
+
* }
|
|
220
|
+
* ```
|
|
221
|
+
*
|
|
222
|
+
* @example Suppress error and continue
|
|
223
|
+
* ```ts
|
|
224
|
+
* onError: ({ req, skip, action, resource, rule }) => {
|
|
225
|
+
* req.user.role = "guest";
|
|
226
|
+
* skip();
|
|
227
|
+
* }
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
onError?: AuthorizeErrorHookHandler | AuthorizeErrorHookHandler[];
|
|
231
|
+
};
|
|
232
|
+
};
|
|
72
233
|
enabled?: boolean;
|
|
73
234
|
/**
|
|
74
235
|
* Defines whether to use Static or Dynamic Role-Based Acess Control
|
|
75
236
|
*
|
|
76
|
-
* Visit [www.arkosjs.com/docs/core-concepts/authentication
|
|
237
|
+
* Visit [www.arkosjs.com/docs/core-concepts/authentication/setup](https://www.arkosjs.com/docs/core-concepts/authentication/setup) for more details.
|
|
77
238
|
*/
|
|
78
|
-
mode:
|
|
239
|
+
mode: 'static' | 'dynamic';
|
|
79
240
|
/**
|
|
80
241
|
* Defines auth login related configurations to customize the api.
|
|
81
242
|
*/
|
|
@@ -96,7 +257,7 @@ export type ArkosConfig = {
|
|
|
96
257
|
* POST /api/auth/login?usernameField=email
|
|
97
258
|
* ```
|
|
98
259
|
*
|
|
99
|
-
* See more at [www.arkosjs.com/docs/core-concepts/authentication
|
|
260
|
+
* See more at [www.arkosjs.com/docs/core-concepts/authentication/setup#login-with-different-fileds](https://www.arkosjs.com/docs/core-concepts/authentication/setup#login-with-different-fileds)
|
|
100
261
|
*
|
|
101
262
|
* By specifing here another field for username, for example passing "email", "companyCode" or something else your json will be like:
|
|
102
263
|
*
|
|
@@ -111,20 +272,7 @@ export type ArkosConfig = {
|
|
|
111
272
|
*/
|
|
112
273
|
allowedUsernames?: string[];
|
|
113
274
|
/** Defines wether to send the access token in response after login or only send as cookie, defeault is both.*/
|
|
114
|
-
sendAccessTokenThrough?:
|
|
115
|
-
};
|
|
116
|
-
/**
|
|
117
|
-
* Specifies the regex pattern used by the authentication system to enforce password strength requirements.
|
|
118
|
-
*
|
|
119
|
-
* **Important**: If using validation libraries like Zod or class-validator, this will be completely overwritten.
|
|
120
|
-
*
|
|
121
|
-
* **Default**: ```/^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).+$/``` - Ensures the password contains at least one uppercase letter, one lowercase letter, and one numeric digit.
|
|
122
|
-
*
|
|
123
|
-
* **message**: (Optional) A custom error message to display when the password does not meet the required strength criteria.
|
|
124
|
-
*/
|
|
125
|
-
passwordValidation?: {
|
|
126
|
-
regex: RegExp;
|
|
127
|
-
message?: string;
|
|
275
|
+
sendAccessTokenThrough?: 'cookie-only' | 'response-only' | 'both';
|
|
128
276
|
};
|
|
129
277
|
/**
|
|
130
278
|
* Allows to specify the request rate limit for all authentication endpoints but `/api/users/me`.
|
|
@@ -172,36 +320,55 @@ export type ArkosConfig = {
|
|
|
172
320
|
/**
|
|
173
321
|
* Whether the cookie should be marked as secure (sent only over HTTPS).
|
|
174
322
|
* Defaults to `true` in production and `false` in development.
|
|
323
|
+
*
|
|
324
|
+
* @env `JWT_COOKIE_SECURE`
|
|
175
325
|
*/
|
|
176
326
|
secure?: boolean;
|
|
177
327
|
/**
|
|
178
328
|
* Whether the cookie should be marked as HTTP-only.
|
|
179
329
|
* Default is `true` to prevent access via JavaScript.
|
|
330
|
+
*
|
|
331
|
+
* @env `JWT_COOKIE_HTTP_ONLY`
|
|
180
332
|
*/
|
|
181
333
|
httpOnly?: boolean;
|
|
182
334
|
/**
|
|
183
335
|
* Controls the SameSite attribute of the cookie.
|
|
184
336
|
* Defaults to "none" in production and "lax" in development.
|
|
185
337
|
* Options: "lax" | "strict" | "none"
|
|
338
|
+
*
|
|
339
|
+
* @env `JWT_COOKIE_SAME_SITE`
|
|
186
340
|
*/
|
|
187
|
-
sameSite?:
|
|
188
|
-
|
|
341
|
+
sameSite?: 'lax' | 'strict' | 'none';
|
|
342
|
+
/**
|
|
343
|
+
* Expiry date of the cookie in GMT. If not specified (undefined), creates a session cookie.
|
|
344
|
+
*
|
|
345
|
+
* @default `now() + authentication.jwt.expireIn | JWT_EXPIRES_IN`
|
|
346
|
+
*
|
|
347
|
+
* @since 1.5.11-beta
|
|
348
|
+
*/
|
|
349
|
+
expires?: Date | undefined;
|
|
350
|
+
/**
|
|
351
|
+
* Domain for the cookie. Use a leading dot (e.g. `.example.com`) to include all subdomains.
|
|
352
|
+
*
|
|
353
|
+
* @env `JWT_COOKIE_DOMAIN`
|
|
354
|
+
*
|
|
355
|
+
* @since 1.5.11-beta
|
|
356
|
+
*/
|
|
357
|
+
domain?: string | undefined;
|
|
358
|
+
} & Omit<CookieOptions, 'secure' | 'httpOnly' | 'sameSite' | 'expires' | 'domain'>;
|
|
189
359
|
};
|
|
190
360
|
};
|
|
191
361
|
/** Allows to customize and toggle the built-in validation, by default it is set to `false`. If true is passed it will use validation with the default resolver set to `class-validator` if you intend to change the resolver to `zod` do the following:
|
|
192
362
|
*
|
|
193
363
|
*```ts
|
|
194
|
-
*
|
|
195
|
-
* import arkos from 'arkos'
|
|
196
|
-
*
|
|
197
|
-
* arkos.init({
|
|
364
|
+
* const config = defineConfig({
|
|
198
365
|
* validation: {
|
|
199
366
|
* resolver: "zod"
|
|
200
367
|
* }
|
|
201
368
|
* })
|
|
202
369
|
* ```
|
|
203
370
|
*
|
|
204
|
-
* @See [www.arkosjs.com/docs/
|
|
371
|
+
* @See [www.arkosjs.com/docs/guides/validation/setup](https://www.arkosjs.com/docs/guides/validation/setup) for more details.
|
|
205
372
|
*/
|
|
206
373
|
validation?: {
|
|
207
374
|
/**
|
|
@@ -225,10 +392,12 @@ export type ArkosConfig = {
|
|
|
225
392
|
* })
|
|
226
393
|
*
|
|
227
394
|
* ```
|
|
395
|
+
*
|
|
396
|
+
* @since 1.4.0-beta
|
|
228
397
|
*/
|
|
229
398
|
strict?: boolean;
|
|
230
399
|
} & ({
|
|
231
|
-
resolver:
|
|
400
|
+
resolver: 'class-validator';
|
|
232
401
|
/**
|
|
233
402
|
* ValidatorOptions to used while validating request data.
|
|
234
403
|
*
|
|
@@ -242,7 +411,10 @@ export type ArkosConfig = {
|
|
|
242
411
|
*/
|
|
243
412
|
validationOptions?: ValidatorOptions;
|
|
244
413
|
} | {
|
|
245
|
-
resolver:
|
|
414
|
+
resolver: 'zod' | 'hybrid';
|
|
415
|
+
/**
|
|
416
|
+
* @since v1.5.0-beta
|
|
417
|
+
*/
|
|
246
418
|
validationOptions?: {
|
|
247
419
|
/**
|
|
248
420
|
* Throws an error for know whitelisted fields
|
|
@@ -255,9 +427,15 @@ export type ArkosConfig = {
|
|
|
255
427
|
/**
|
|
256
428
|
* Defines file upload configurations
|
|
257
429
|
*
|
|
258
|
-
* See
|
|
430
|
+
* See {@link https://www.arkosjs.com/docs/guides/file-handling/file-uploads/setup}
|
|
259
431
|
*/
|
|
260
432
|
fileUpload?: {
|
|
433
|
+
/**
|
|
434
|
+
* Disables built-in file upload
|
|
435
|
+
*
|
|
436
|
+
* @since 1.5.11-beta
|
|
437
|
+
*/
|
|
438
|
+
enabled?: boolean;
|
|
261
439
|
/**
|
|
262
440
|
* Defiens the base file upload directory, default is set to /uploads (on root directory)
|
|
263
441
|
*
|
|
@@ -281,6 +459,17 @@ export type ArkosConfig = {
|
|
|
281
459
|
*
|
|
282
460
|
*/
|
|
283
461
|
baseRoute?: string;
|
|
462
|
+
/**
|
|
463
|
+
* Controls how uploaded files are served.
|
|
464
|
+
*
|
|
465
|
+
* - `"all"`: serves every directory under `baseUploadDir` (default, backwards compatible).
|
|
466
|
+
* - `"registered"`: serves only `images`, `videos`, `documents` and `files`.
|
|
467
|
+
* Any other directory must be registered with `arkos.serveUploadDir()`.
|
|
468
|
+
*
|
|
469
|
+
* @default "all"
|
|
470
|
+
* @since 1.8.0-rc
|
|
471
|
+
*/
|
|
472
|
+
serving?: "all" | "registered";
|
|
284
473
|
/**
|
|
285
474
|
* Defines options for `express.static(somePath, someOptions)`
|
|
286
475
|
*
|
|
@@ -292,7 +481,7 @@ export type ArkosConfig = {
|
|
|
292
481
|
etag: true,
|
|
293
482
|
lastModified: true,
|
|
294
483
|
dotfiles: "ignore",
|
|
295
|
-
fallthrough:
|
|
484
|
+
fallthrough: false,
|
|
296
485
|
index: false,
|
|
297
486
|
cacheControl: true,
|
|
298
487
|
}
|
|
@@ -312,7 +501,7 @@ export type ArkosConfig = {
|
|
|
312
501
|
* Passing an object without overriding everything will only cause it
|
|
313
502
|
* to be deepmerged with the default options.
|
|
314
503
|
*
|
|
315
|
-
* See [www.arkosjs.com/docs/
|
|
504
|
+
* See [www.arkosjs.com/docs/reference/default-supported-upload-files](https://www.arkosjs.com/docs/reference/default-supported-upload-files) for detailed explanation about default values.
|
|
316
505
|
* ```
|
|
317
506
|
*/
|
|
318
507
|
restrictions?: {
|
|
@@ -371,25 +560,35 @@ export type ArkosConfig = {
|
|
|
371
560
|
/**
|
|
372
561
|
* Configuration for CORS (Cross-Origin Resource Sharing).
|
|
373
562
|
*
|
|
374
|
-
*
|
|
375
|
-
*
|
|
376
|
-
*
|
|
563
|
+
* Accepts:
|
|
564
|
+
* - `false` — disables CORS middleware entirely.
|
|
565
|
+
* - `cors.CorsOptions` — passed directly to the `cors` middleware.
|
|
566
|
+
* - `cors.CorsOptionsDelegate` — a delegate function passed directly to the `cors` middleware.
|
|
567
|
+
* - `ArkosRequestHandler` — a full Express middleware that replaces the cors middleware entirely.
|
|
568
|
+
* - An object with deprecated `allowedOrigins`, `options`, and `customHandler` properties.
|
|
377
569
|
*
|
|
378
|
-
*
|
|
379
|
-
*
|
|
570
|
+
* In development, defaults to `origin: true, credentials: true`.
|
|
571
|
+
* In production, defaults to `origin: "*"` (equivalent to plain `cors()`).
|
|
380
572
|
*
|
|
381
573
|
* See https://www.npmjs.com/package/cors
|
|
382
574
|
*/
|
|
383
|
-
cors?: false | {
|
|
575
|
+
cors?: false | cors.CorsOptions | cors.CorsOptionsDelegate | {
|
|
384
576
|
/**
|
|
385
|
-
* Defines allowed origins to
|
|
577
|
+
* Defines allowed origins to access the API.
|
|
578
|
+
*
|
|
579
|
+
* @deprecated Use `cors: { origin: string | string[] }` (cors.CorsOptions) directly instead.
|
|
580
|
+
*/
|
|
581
|
+
allowedOrigins?: string | string[] | '*' | true;
|
|
582
|
+
/**
|
|
583
|
+
* Additional cors options.
|
|
584
|
+
*
|
|
585
|
+
* @deprecated Pass cors.CorsOptions directly instead: `cors: { origin: "...", credentials: true }`.
|
|
386
586
|
*/
|
|
387
|
-
allowedOrigins?: string | string[] | "*";
|
|
388
587
|
options?: cors.CorsOptions;
|
|
389
588
|
/**
|
|
390
|
-
* If you would like to override the entire middleware
|
|
589
|
+
* If you would like to override the entire middleware.
|
|
391
590
|
*
|
|
392
|
-
*
|
|
591
|
+
* @deprecated Pass the handler directly instead: `cors: myCorsHandler`.
|
|
393
592
|
*/
|
|
394
593
|
customHandler?: cors.CorsOptionsDelegate;
|
|
395
594
|
} | ArkosRequestHandler;
|
|
@@ -404,7 +603,10 @@ export type ArkosConfig = {
|
|
|
404
603
|
*
|
|
405
604
|
* See [www.npmjs.com/package/cookie-parser](https://www.npmjs.com/package/cookie-parser) for further details.
|
|
406
605
|
*/
|
|
407
|
-
cookieParser?: false |
|
|
606
|
+
cookieParser?: false | {
|
|
607
|
+
secret?: string | string[];
|
|
608
|
+
options?: Parameters<typeof cookieParser>[1];
|
|
609
|
+
} | ArkosRequestHandler;
|
|
408
610
|
/**
|
|
409
611
|
* Options to define how query must be parsed.
|
|
410
612
|
*
|
|
@@ -467,7 +669,7 @@ export type ArkosConfig = {
|
|
|
467
669
|
*
|
|
468
670
|
* See documentation: https://www.arkosjs.com/docs/guide/security#strict-mode
|
|
469
671
|
*/
|
|
470
|
-
strict?: boolean |
|
|
672
|
+
strict?: boolean | 'no-bulk';
|
|
471
673
|
/**
|
|
472
674
|
* Replace the default welcome endpoint handler
|
|
473
675
|
* @param req Express request object
|
|
@@ -479,7 +681,7 @@ export type ArkosConfig = {
|
|
|
479
681
|
/**
|
|
480
682
|
* Allows to configure email configurations for sending emails through `emailService`
|
|
481
683
|
*
|
|
482
|
-
* See [www.arkosjs.com/docs/
|
|
684
|
+
* See [www.arkosjs.com/docs/guides/email-service](https://www.arkosjs.com/docs/guides/email-service)
|
|
483
685
|
*/
|
|
484
686
|
email?: {
|
|
485
687
|
/**
|
|
@@ -522,14 +724,9 @@ export type ArkosConfig = {
|
|
|
522
724
|
* **Usage**
|
|
523
725
|
*
|
|
524
726
|
* ```ts
|
|
525
|
-
*
|
|
526
|
-
*
|
|
527
|
-
* import arkos from "arkos"
|
|
528
|
-
*
|
|
529
|
-
* arkos.init({
|
|
727
|
+
* const config = defineConfig({
|
|
530
728
|
* // other configs
|
|
531
729
|
* swagger: {
|
|
532
|
-
* mode: "zod",
|
|
533
730
|
* options: {
|
|
534
731
|
* defintion: {
|
|
535
732
|
* info: {
|
|
@@ -542,13 +739,18 @@ export type ArkosConfig = {
|
|
|
542
739
|
* }
|
|
543
740
|
* })
|
|
544
741
|
* ```
|
|
545
|
-
* @see {@link https://www.arkosjs.com/docs/
|
|
742
|
+
* @see {@link https://www.arkosjs.com/docs/guides/open-api-documentation/setup}
|
|
546
743
|
*/
|
|
547
744
|
swagger?: {
|
|
548
745
|
/**
|
|
549
746
|
* By default Arkos will disable API Documentation when the project is built `npm run build`, it does not matter what node environment is set. If you want to use it even after the `arkos build` command just set this to `true`.
|
|
550
747
|
* */
|
|
551
748
|
enableAfterBuild?: boolean;
|
|
749
|
+
/**
|
|
750
|
+
* Whether to require superUser authentication to access docs in production.
|
|
751
|
+
* Default: true after build
|
|
752
|
+
*/
|
|
753
|
+
authenticate?: boolean;
|
|
552
754
|
/**
|
|
553
755
|
* Endpoint where the Swagger UI will be available.
|
|
554
756
|
*
|
|
@@ -607,7 +809,7 @@ export type ArkosConfig = {
|
|
|
607
809
|
*
|
|
608
810
|
* @default [{ url: "http://localhost:8000", description: "Development server" }]
|
|
609
811
|
*
|
|
610
|
-
* This can be overridden automatically by Arkos based on CLI, .env, or
|
|
812
|
+
* This can be overridden automatically by Arkos based on CLI, .env, or config.
|
|
611
813
|
*/
|
|
612
814
|
servers?: {
|
|
613
815
|
/**
|
|
@@ -709,7 +911,7 @@ export type ArkosConfig = {
|
|
|
709
911
|
*/
|
|
710
912
|
requests?: {
|
|
711
913
|
level?: 0 | 1 | 2 | 3;
|
|
712
|
-
filter?: (
|
|
914
|
+
filter?: ('Query' | 'Body' | 'Params' | 'TransformedQuery' | 'ServiceArgs' | 'PrismaFinalQueryArgs')[];
|
|
713
915
|
};
|
|
714
916
|
};
|
|
715
917
|
/**
|
|
@@ -732,4 +934,109 @@ export type ArkosConfig = {
|
|
|
732
934
|
*/
|
|
733
935
|
instance: PrismaClient;
|
|
734
936
|
};
|
|
937
|
+
/**
|
|
938
|
+
* Allows to suppress specific warnings emitted by Arkos at startup or runtime.
|
|
939
|
+
*
|
|
940
|
+
* @since 1.5.10-beta
|
|
941
|
+
*/
|
|
942
|
+
warnings?: {
|
|
943
|
+
/**
|
|
944
|
+
* File upload related warning controls.
|
|
945
|
+
*
|
|
946
|
+
* @since 1.8.0-rc
|
|
947
|
+
*/
|
|
948
|
+
fileUpload?: {
|
|
949
|
+
/**
|
|
950
|
+
* Suppresses the startup warning about URL parameters that are not used
|
|
951
|
+
* by the disk folder template.
|
|
952
|
+
*/
|
|
953
|
+
suppressUnusedUrlParams?: boolean;
|
|
954
|
+
};
|
|
955
|
+
/**
|
|
956
|
+
* Suppresses specific warning messages.
|
|
957
|
+
*/
|
|
958
|
+
suppress?: {
|
|
959
|
+
/**
|
|
960
|
+
* Suppresses Prisma-related warnings.
|
|
961
|
+
*/
|
|
962
|
+
prisma?: {
|
|
963
|
+
/**
|
|
964
|
+
* Suppresses the warning emitted when no Prisma instance is found.
|
|
965
|
+
*/
|
|
966
|
+
noInstanceFound?: boolean;
|
|
967
|
+
/**
|
|
968
|
+
* Suppresses the warning emitted when no Prisma schema is found.
|
|
969
|
+
*/
|
|
970
|
+
noSchemaFound?: boolean;
|
|
971
|
+
};
|
|
972
|
+
};
|
|
973
|
+
};
|
|
974
|
+
/**
|
|
975
|
+
* Defines static file serving configurations.
|
|
976
|
+
*
|
|
977
|
+
* Arkos will automatically serve files from the configured folder using `express.static`.
|
|
978
|
+
* If the folder does not exist at startup, a warning will be emitted.
|
|
979
|
+
*
|
|
980
|
+
* **Note:** The static files route is **not** prefixed with the `globalPrefix`.
|
|
981
|
+
*
|
|
982
|
+
* @since 1.7.0-canary.16
|
|
983
|
+
*
|
|
984
|
+
* @example
|
|
985
|
+
* ```ts
|
|
986
|
+
* import { defineConfig } from "arkos"
|
|
987
|
+
*
|
|
988
|
+
* export default defineConfig({
|
|
989
|
+
* staticFiles: {
|
|
990
|
+
* folder: "assets",
|
|
991
|
+
* prefix: "/static",
|
|
992
|
+
* }
|
|
993
|
+
* }) */
|
|
994
|
+
staticFiles?: {
|
|
995
|
+
/**
|
|
996
|
+
* Whether to enable static file serving.
|
|
997
|
+
*
|
|
998
|
+
* Set to `false` to disable static file serving entirely and suppress
|
|
999
|
+
* the warning when the folder is not found.
|
|
1000
|
+
*
|
|
1001
|
+
* @default true
|
|
1002
|
+
*/
|
|
1003
|
+
enabled?: boolean;
|
|
1004
|
+
/**
|
|
1005
|
+
* The folder to serve static files from, relative to the project root.
|
|
1006
|
+
*
|
|
1007
|
+
* @default "public"
|
|
1008
|
+
*/
|
|
1009
|
+
folder?: string;
|
|
1010
|
+
/**
|
|
1011
|
+
* The URL path prefix under which static files will be served.
|
|
1012
|
+
*
|
|
1013
|
+
* **Note:** This is not affected by `globalPrefix`.
|
|
1014
|
+
*
|
|
1015
|
+
* @default "/"
|
|
1016
|
+
*
|
|
1017
|
+
* @example "/static" // files served at /static/image.png
|
|
1018
|
+
*/
|
|
1019
|
+
prefix?: string;
|
|
1020
|
+
/**
|
|
1021
|
+
* Options passed directly to `express.static()`.
|
|
1022
|
+
*
|
|
1023
|
+
* By passing custom options, they will be deep merged with the defaults.
|
|
1024
|
+
*
|
|
1025
|
+
* #### Default:
|
|
1026
|
+
* ```ts
|
|
1027
|
+
* {
|
|
1028
|
+
* maxAge: "1y",
|
|
1029
|
+
* etag: true,
|
|
1030
|
+
* lastModified: true,
|
|
1031
|
+
* dotfiles: "ignore",
|
|
1032
|
+
* fallthrough: true,
|
|
1033
|
+
* index: false,
|
|
1034
|
+
* cacheControl: true,
|
|
1035
|
+
* }
|
|
1036
|
+
* ```
|
|
1037
|
+
*
|
|
1038
|
+
* @see {@link https://expressjs.com/en/4x/api.html#express.static}
|
|
1039
|
+
*/
|
|
1040
|
+
expressStatic?: Parameters<typeof express.static>[1];
|
|
1041
|
+
};
|
|
735
1042
|
};
|