arkos 2.0.0-next.2 → 2.0.0-next.20
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 -13
- package/dist/esm/app.js +17 -16
- package/dist/esm/app.js.map +1 -1
- package/dist/esm/components/arkos-gateway/arkos-gateway.js +338 -0
- package/dist/esm/components/arkos-gateway/arkos-gateway.js.map +1 -0
- package/dist/esm/components/arkos-gateway/socket-extensions.js +168 -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 +2 -1
- 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/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 +214 -222
- package/dist/esm/modules/auth/auth.controller.js.map +1 -1
- package/dist/esm/modules/auth/auth.router.js +26 -9
- package/dist/esm/modules/auth/auth.router.js.map +1 -1
- package/dist/esm/modules/auth/auth.service.js +90 -102
- package/dist/esm/modules/auth/auth.service.js.map +1 -1
- 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/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/base/base.controller.js +182 -162
- package/dist/esm/modules/base/base.controller.js.map +1 -1
- package/dist/esm/modules/base/base.middlewares.js +31 -48
- 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 +33 -138
- 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 +26 -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 +17 -10
- 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 +9 -103
- 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 +68 -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 +208 -214
- package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.router.js +35 -12
- package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.service.js +13 -8
- 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 +346 -0
- package/dist/esm/modules/file-upload/utils/file-upload-json-schema-generator.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 +6 -3
- 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/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 +49 -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 +37 -130
- 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/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 +188 -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 +88 -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 +364 -89
- 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 -7
- package/dist/esm/utils/cli/build.js.map +1 -1
- package/dist/esm/utils/cli/dev.js +18 -28
- package/dist/esm/utils/cli/dev.js.map +1 -1
- package/dist/esm/utils/cli/export-auth-action.js +5 -4
- package/dist/esm/utils/cli/export-auth-action.js.map +1 -1
- package/dist/esm/utils/cli/generate.js +70 -56
- package/dist/esm/utils/cli/generate.js.map +1 -1
- package/dist/esm/utils/cli/index.js +54 -50
- package/dist/esm/utils/cli/index.js.map +1 -1
- package/dist/esm/utils/cli/prisma-generate.js +8 -37
- package/dist/esm/utils/cli/prisma-generate.js.map +1 -1
- package/dist/esm/utils/cli/start.js +25 -14
- 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/runtime-cli-commander.js +7 -4
- 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/define-config.js +14 -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 +0 -6
- package/dist/esm/utils/dotenv.helpers.js.map +1 -1
- package/dist/esm/utils/dynamic-loader.js +2 -1
- 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 +20 -2
- 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 +26 -33
- 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 +41 -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 +23 -21
- package/dist/esm/utils/validate-schema.js.map +1 -1
- package/dist/types/app.d.ts +10 -7
- package/dist/types/components/arkos-gateway/arkos-gateway.d.ts +121 -0
- package/dist/types/components/arkos-gateway/socket-extensions.d.ts +79 -0
- package/dist/types/components/arkos-gateway/types.d.ts +364 -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 +11 -5
- package/dist/types/components/arkos-route-hook/reader.d.ts +4 -7
- package/dist/types/components/arkos-route-hook/types.d.ts +9 -5
- package/dist/types/exports/error-handler/index.d.ts +1 -0
- package/dist/types/exports/index.d.ts +5 -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.service.d.ts +80 -51
- 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/services/auth-action.service.d.ts +2 -2
- package/dist/types/modules/base/base.controller.d.ts +4 -4
- package/dist/types/modules/base/base.middlewares.d.ts +1 -7
- package/dist/types/modules/base/base.service.d.ts +8 -17
- package/dist/types/modules/base/types/base.service.types.d.ts +11 -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 +1 -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 +1 -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/utils/file-upload-json-schema-generator.d.ts +12 -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 +6 -1
- package/dist/types/types/arkos-config/utils.d.ts +68 -0
- package/dist/types/types/arkos-prisma-input.d.ts +4 -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 +10 -58
- package/dist/types/types/new-arkos-config.d.ts +326 -36
- package/dist/types/types/router-config.d.ts +0 -63
- package/dist/types/types/upload.d.ts +10 -0
- package/dist/types/types/validation/validation-manager.d.ts +27 -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 +83 -8
- package/dist/types/utils/arkos-router/types/index.d.ts +74 -23
- package/dist/types/utils/arkos-router/types/openapi-config.d.ts +3 -2
- package/dist/types/utils/arkos-router/types/upload-config.d.ts +65 -8
- 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 +1 -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/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 +1 -1
- package/dist/types/utils/docs-links.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 +7 -0
- 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/package.json +117 -84
- 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 -199
- 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 -115
- 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,6 +1,85 @@
|
|
|
1
1
|
import { RouterOptions } from "express";
|
|
2
2
|
import { IArkosRouter } from "./types";
|
|
3
3
|
import { OpenAPIV3 } from "openapi-types";
|
|
4
|
+
import { Arkos } from "../../types/arkos";
|
|
5
|
+
import { ArkosRouterBaseUploadConfig } from "./types/upload-config";
|
|
6
|
+
export type ArkosRouterOptions = {
|
|
7
|
+
/**
|
|
8
|
+
* Prefix to apply to all routes in this router.
|
|
9
|
+
* Nested routers inherit and concatenate prefixes from parent routers.
|
|
10
|
+
*
|
|
11
|
+
* @since 1.5.0-beta
|
|
12
|
+
* @example
|
|
13
|
+
* // All routes in this router will be prefixed with "/api"
|
|
14
|
+
* prefix: "/api"
|
|
15
|
+
*/
|
|
16
|
+
prefix?: string | RegExp | Array<string | RegExp>;
|
|
17
|
+
/**
|
|
18
|
+
* OpenAPI metadata to apply to all routes in this router.
|
|
19
|
+
* Nested routers inherit from parent routers unless explicitly overridden.
|
|
20
|
+
* Route-level openapi config fully replaces inherited values when defined.
|
|
21
|
+
*
|
|
22
|
+
* @since 1.6.0-beta
|
|
23
|
+
* @example
|
|
24
|
+
* openapi: {
|
|
25
|
+
* tags: ["Users"],
|
|
26
|
+
* security: [{ bearerAuth: [] }]
|
|
27
|
+
* }
|
|
28
|
+
*/
|
|
29
|
+
openapi?: {
|
|
30
|
+
/**
|
|
31
|
+
* Tags to apply to all routes in this router, used to group them in OpenAPI documentation.
|
|
32
|
+
* Route-level tags fully replaces this value when defined.
|
|
33
|
+
*
|
|
34
|
+
* @since 1.6.0-beta
|
|
35
|
+
* @example
|
|
36
|
+
* // Group all routes in this router under "Users"
|
|
37
|
+
* tags: ["Users"]
|
|
38
|
+
*/
|
|
39
|
+
tags?: string[];
|
|
40
|
+
/**
|
|
41
|
+
* Security requirements to apply to all routes in this router.
|
|
42
|
+
* Route-level security fully replaces this value when defined.
|
|
43
|
+
*
|
|
44
|
+
* @since 1.6.2-canary.1
|
|
45
|
+
* @example
|
|
46
|
+
* // Require bearer auth for all routes in this router
|
|
47
|
+
* security: [{ bearerAuth: [] }]
|
|
48
|
+
*
|
|
49
|
+
* // Explicitly make all routes public (overridable per route)
|
|
50
|
+
* security: []
|
|
51
|
+
*/
|
|
52
|
+
security?: OpenAPIV3.SecurityRequirementObject[];
|
|
53
|
+
/**
|
|
54
|
+
* Server definitions to apply to all routes in this router.
|
|
55
|
+
* Follows the OpenAPI 3.0 Server Object specification.
|
|
56
|
+
* Route-level servers fully replaces this value when defined.
|
|
57
|
+
*
|
|
58
|
+
* @since 1.6.2-canary.1
|
|
59
|
+
* @example
|
|
60
|
+
* servers: [{ url: "https://api.example.com/v2", description: "V2 API" }]
|
|
61
|
+
*/
|
|
62
|
+
servers?: OpenAPIV3.ServerObject[];
|
|
63
|
+
/**
|
|
64
|
+
* External documentation to apply to all routes in this router.
|
|
65
|
+
* Route-level externalDocs fully replaces this value when defined.
|
|
66
|
+
*
|
|
67
|
+
* @since 1.6.2-canary.1
|
|
68
|
+
* @example
|
|
69
|
+
* externalDocs: {
|
|
70
|
+
* description: "Find more information here",
|
|
71
|
+
* url: "https://docs.example.com/users"
|
|
72
|
+
* }
|
|
73
|
+
*/
|
|
74
|
+
externalDocs?: OpenAPIV3.ExternalDocumentationObject;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Allow customizing uploads on route level
|
|
78
|
+
*
|
|
79
|
+
* @since 1.7.0-canary.39
|
|
80
|
+
*/
|
|
81
|
+
uploads?: ArkosRouterBaseUploadConfig;
|
|
82
|
+
};
|
|
4
83
|
/**
|
|
5
84
|
* Creates an enhanced Express Router with features like OpenAPI documentation capabilities and smart data validation.
|
|
6
85
|
*
|
|
@@ -23,15 +102,11 @@ import { OpenAPIV3 } from "openapi-types";
|
|
|
23
102
|
*
|
|
24
103
|
* @returns {IArkosRouter} A proxied Express Router instance with enhanced OpenAPI capabilities
|
|
25
104
|
*
|
|
26
|
-
* @see {@link
|
|
105
|
+
* @see {@link https://www.arkosjs.com/docs/reference/arkos-router} for configuration options
|
|
106
|
+
* @since 1.4.0-beta
|
|
27
107
|
*/
|
|
28
|
-
export default function ArkosRouter(options?: RouterOptions &
|
|
29
|
-
|
|
30
|
-
openapi?: {
|
|
31
|
-
tags?: string[];
|
|
32
|
-
};
|
|
33
|
-
}): IArkosRouter;
|
|
34
|
-
export declare function generateOpenAPIFromApp(app: any): Record<string, Record<string, Partial<{
|
|
108
|
+
export default function ArkosRouter(options?: RouterOptions & ArkosRouterOptions): IArkosRouter;
|
|
109
|
+
export declare function generateOpenAPIFromApp(app: Arkos): Record<string, Record<string, Partial<{
|
|
35
110
|
tags?: string[];
|
|
36
111
|
summary?: string;
|
|
37
112
|
description?: string;
|
|
@@ -1,15 +1,31 @@
|
|
|
1
|
-
import { IRoute, IRouter } from "express";
|
|
2
|
-
import {
|
|
1
|
+
import { Application, IRoute, IRouter, IRouterHandler, IRouterMatcher, Locals } from "express";
|
|
2
|
+
import { ZodType } from "zod";
|
|
3
3
|
import { Options as RateLimitOptions } from "express-rate-limit";
|
|
4
4
|
import { Options as QueryParserOptions } from "../../../utils/helpers/query-parser.helpers";
|
|
5
5
|
import { DetailedAccessControlRule } from "../../../types/auth";
|
|
6
|
-
import { ArkosErrorRequestHandler, ArkosRequestHandler } from "../../../types";
|
|
6
|
+
import { ArkosAnyRequestHandler, ArkosErrorRequestHandler, ArkosRequestHandler } from "../../../types";
|
|
7
7
|
import compression from "compression";
|
|
8
8
|
import { OpenApiConfig } from "./openapi-config";
|
|
9
9
|
import { UploadConfig } from "./upload-config";
|
|
10
10
|
import { BodyParserConfig } from "./body-parser-config";
|
|
11
|
+
import { ArkosRouterOptions } from "..";
|
|
12
|
+
import { Validator } from "../../../types/validation/validator";
|
|
13
|
+
import { ArkosLoadable } from "../../../exports";
|
|
14
|
+
export type ArkosUseConfig = Pick<ArkosRouteConfig, "authentication" | "rateLimit" | "compression" | "queryParser" | "bodyParser" | "disabled"> & {
|
|
15
|
+
path?: PathParams;
|
|
16
|
+
};
|
|
17
|
+
type InferValidationType<T, Fallback> = T extends ZodType ? T : T extends new (...args: any[]) => infer I ? I : Fallback;
|
|
11
18
|
export type PathParams = string | RegExp | Array<string | RegExp>;
|
|
12
|
-
export type
|
|
19
|
+
export type InternalIArkosRouter = IArkosRouter & {
|
|
20
|
+
_arkos: {
|
|
21
|
+
options?: ArkosRouterOptions;
|
|
22
|
+
routes: Array<{
|
|
23
|
+
handler: ArkosAnyRequestHandler;
|
|
24
|
+
config: ArkosRouteConfig;
|
|
25
|
+
method: string;
|
|
26
|
+
}>;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
13
29
|
/**
|
|
14
30
|
* Handler function for HTTP methods that accepts route configuration and request handlers.
|
|
15
31
|
*
|
|
@@ -17,9 +33,30 @@ export type ArkosAnyRequestHandler = ArkosRequestHandler | ArkosErrorRequestHand
|
|
|
17
33
|
* @param {...(ArkosRequestHandler | ArkosErrorRequestHandler)[]} handlers - Request and error handlers for the route.
|
|
18
34
|
* @returns {IRouter} The Express router instance.
|
|
19
35
|
*/
|
|
20
|
-
type
|
|
21
|
-
|
|
22
|
-
|
|
36
|
+
type IArkosRouterMethodHandler<T> = IRouterHandler<T> & IRouterMatcher<T> & {
|
|
37
|
+
<TQuery extends Validator = any, TBody extends Validator = any, TParams extends Validator = any>(config: ArkosRouteConfig<TQuery, TBody, TParams>, ...handlers: Array<ArkosRequestHandler<InferValidationType<TParams, Record<string, any>>, any, InferValidationType<TBody, any>, InferValidationType<TQuery, qs.ParsedQs>, any> | Array<ArkosRequestHandler<InferValidationType<TParams, Record<string, string>>, any, InferValidationType<TBody, any>, InferValidationType<TQuery, qs.ParsedQs>, any>>>): T;
|
|
38
|
+
<TQuery extends Validator = any, TBody extends Validator = any, TParams extends Validator = any>(config: ArkosRouteConfig<TQuery, TBody, TParams> | PathParams, ...handlers: Array<ArkosAnyRequestHandler<InferValidationType<TParams, Record<string, string>>, any, InferValidationType<TBody, any>, InferValidationType<TQuery, qs.ParsedQs>, any> | Array<ArkosAnyRequestHandler<InferValidationType<TParams, Record<string, string>>, any, InferValidationType<TBody, any>, InferValidationType<TQuery, qs.ParsedQs>, any> | Array<ArkosErrorRequestHandler<InferValidationType<TParams, Record<string, string>>, any, InferValidationType<TBody, any>, InferValidationType<TQuery, qs.ParsedQs>, any>>>>): T;
|
|
39
|
+
<TQuery extends Validator = any, TBody extends Validator = any, TParams extends Validator = any>(config: ArkosRouteConfig<TQuery, TBody, TParams>, subApplication: Application): T;
|
|
40
|
+
};
|
|
41
|
+
export type ArkosRouteMethodHandler<T> = {
|
|
42
|
+
<TQuery extends Validator = any, TBody extends Validator = any, TParams extends Validator = any>(config: ArkosAnyRequestHandler | Omit<ArkosRouteConfig, "path">, ...handlers: Array<ArkosAnyRequestHandler<InferValidationType<TParams, Record<string, string>>, any, InferValidationType<TBody, any>, InferValidationType<TQuery, qs.ParsedQs>, Locals>>): T;
|
|
43
|
+
<TQuery extends Validator = any, TBody extends Validator = any, TParams extends Validator = any>(config: Omit<ArkosRouteConfig<TQuery, TBody, TParams>, "path">, ...handlers: Array<ArkosAnyRequestHandler<InferValidationType<TParams, Record<string, string>>, any, InferValidationType<TBody, any>, InferValidationType<TQuery, qs.ParsedQs>, Locals> | Array<ArkosRequestHandler<InferValidationType<TParams, Record<string, string>>, any, InferValidationType<TBody, any>, InferValidationType<TQuery, qs.ParsedQs>, Locals>>>): T;
|
|
44
|
+
<TQuery extends Validator = any, TBody extends Validator = any, TParams extends Validator = any>(config: Omit<ArkosRouteConfig<TQuery, TBody, TParams>, "path">, ...handlers: Array<ArkosAnyRequestHandler<InferValidationType<TParams, Record<string, string>>, any, InferValidationType<TBody, any>, InferValidationType<TQuery, qs.ParsedQs>, Locals> | Array<ArkosAnyRequestHandler<InferValidationType<TParams, Record<string, string>>, any, InferValidationType<TBody, any>, InferValidationType<TQuery, qs.ParsedQs>, Locals>>>): T;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Handler function for `use` that accepts route configuration and middleware handlers.
|
|
48
|
+
*
|
|
49
|
+
* @param {ArkosUseConfig} config - The use configuration object or path.
|
|
50
|
+
* @param {...ArkosAnyRequestHandler} handlers - Middleware handlers.
|
|
51
|
+
* @returns {T} The router instance.
|
|
52
|
+
*/
|
|
53
|
+
export type UseMethodHandler<T> = IRouterHandler<T> & IRouterMatcher<T> & {
|
|
54
|
+
(config: ArkosUseConfig, ...handlers: Array<ArkosRequestHandler | Array<ArkosRequestHandler>>): T;
|
|
55
|
+
(config: ArkosUseConfig, ...handlers: Array<ArkosErrorRequestHandler | Array<ArkosErrorRequestHandler>>): T;
|
|
56
|
+
(config: ArkosUseConfig, ...handlers: Array<ArkosRequestHandler | ArkosErrorRequestHandler | Array<ArkosRequestHandler | ArkosErrorRequestHandler>>): T;
|
|
57
|
+
(...handlers: Array<ArkosRequestHandler | ArkosErrorRequestHandler | Array<ArkosRequestHandler | ArkosErrorRequestHandler>>): T;
|
|
58
|
+
};
|
|
59
|
+
export interface IArkosRoute extends IRoute {
|
|
23
60
|
/** GET method handler with route configuration support */
|
|
24
61
|
get: ArkosRouteMethodHandler<this>;
|
|
25
62
|
/** POST method handler with route configuration support */
|
|
@@ -64,29 +101,42 @@ export interface ArkosIRoute extends IRoute {
|
|
|
64
101
|
*/
|
|
65
102
|
export interface IArkosRouter extends IRouter {
|
|
66
103
|
/** GET method handler with route configuration support */
|
|
67
|
-
get:
|
|
104
|
+
get: IArkosRouterMethodHandler<this>;
|
|
68
105
|
/** POST method handler with route configuration support */
|
|
69
|
-
post:
|
|
106
|
+
post: IArkosRouterMethodHandler<this>;
|
|
70
107
|
/** PUT method handler with route configuration support */
|
|
71
|
-
put:
|
|
108
|
+
put: IArkosRouterMethodHandler<this>;
|
|
72
109
|
/** PATCH method handler with route configuration support */
|
|
73
|
-
patch:
|
|
110
|
+
patch: IArkosRouterMethodHandler<this>;
|
|
74
111
|
/** DELETE method handler with route configuration support */
|
|
75
|
-
delete:
|
|
112
|
+
delete: IArkosRouterMethodHandler<this>;
|
|
76
113
|
/** OPTIONS method handler with route configuration support */
|
|
77
|
-
options:
|
|
114
|
+
options: IArkosRouterMethodHandler<this>;
|
|
78
115
|
/** HEAD method handler with route configuration support */
|
|
79
|
-
head:
|
|
80
|
-
trace:
|
|
116
|
+
head: IArkosRouterMethodHandler<this>;
|
|
117
|
+
trace: IArkosRouterMethodHandler<this>;
|
|
81
118
|
/** ALL methods handler with route configuration support */
|
|
82
|
-
all:
|
|
83
|
-
|
|
84
|
-
route(prefix:
|
|
119
|
+
all: IArkosRouterMethodHandler<this>;
|
|
120
|
+
use: UseMethodHandler<this>;
|
|
121
|
+
route<T extends string>(prefix: T): IArkosRoute;
|
|
122
|
+
route(prefix: PathParams): IArkosRoute;
|
|
123
|
+
/**
|
|
124
|
+
* Loads Arkos-specific instances into the app for internal usage.
|
|
125
|
+
* Unlike use(), load() has no order — it simply makes the loaded
|
|
126
|
+
* data available for Arkos to apply where needed.
|
|
127
|
+
*/
|
|
128
|
+
load(...items: ArkosLoadable[]): this;
|
|
129
|
+
/**
|
|
130
|
+
* Loads Arkos-specific instances into the app for internal usage.
|
|
131
|
+
* Unlike use(), load() has no order — it simply makes the loaded
|
|
132
|
+
* data available for Arkos to apply where needed.
|
|
133
|
+
*/
|
|
134
|
+
load(items: ArkosLoadable[] | ArkosLoadable): this;
|
|
85
135
|
}
|
|
86
136
|
/**
|
|
87
137
|
* Configuration object for defining routes in Arkos.js.
|
|
88
138
|
*/
|
|
89
|
-
export type ArkosRouteConfig = {
|
|
139
|
+
export type ArkosRouteConfig<TQuery extends Validator = any, TBody extends Validator = any, TParams extends Validator = any> = {
|
|
90
140
|
/**
|
|
91
141
|
* Disables the route by not mounting it internally.
|
|
92
142
|
*/
|
|
@@ -115,13 +165,14 @@ export type ArkosRouteConfig = {
|
|
|
115
165
|
*
|
|
116
166
|
* @remarks
|
|
117
167
|
* - Set to `false` to disable all validation.
|
|
168
|
+
* - Set to `null` to forbidden all request inputs.
|
|
118
169
|
* - Provide an object with `query`, `body`, and/or `params` properties to validate specific parts of the request.
|
|
119
170
|
* - Each property accepts a Zod schema, a class constructor, or `false` to disable validation for that part.
|
|
120
171
|
*/
|
|
121
|
-
validation?: false | {
|
|
122
|
-
query?:
|
|
123
|
-
body?:
|
|
124
|
-
params?:
|
|
172
|
+
validation?: false | null | {
|
|
173
|
+
query?: TQuery;
|
|
174
|
+
body?: TBody;
|
|
175
|
+
params?: TParams;
|
|
125
176
|
};
|
|
126
177
|
/**
|
|
127
178
|
* Rate limiting configuration for this route.
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { OpenAPIV3 } from "openapi-types";
|
|
2
2
|
import { ZodSchema } from "zod";
|
|
3
|
+
import { JsonSchema } from "../../prisma/types";
|
|
3
4
|
/**
|
|
4
5
|
* Represents a schema-like object that can be used for OpenAPI documentation.
|
|
5
6
|
* Accepts Zod schemas, class constructors (DTOs), or plain JSON Schema objects.
|
|
6
7
|
*/
|
|
7
|
-
type SchemaLike = ZodSchema | (new (...args: any[]) => object) | OpenAPIV3.SchemaObject;
|
|
8
|
+
type SchemaLike = ZodSchema | (new (...args: any[]) => object) | OpenAPIV3.SchemaObject | JsonSchema;
|
|
8
9
|
/**
|
|
9
10
|
* Extended media type object that accepts SchemaLike in addition to standard OpenAPI schemas.
|
|
10
11
|
*/
|
|
@@ -131,7 +132,7 @@ type RequestBodyDefinition = SchemaLike | {
|
|
|
131
132
|
* Defining both validation and openapi schemas for the same field will cause
|
|
132
133
|
* a startup error to prevent documentation drift.
|
|
133
134
|
*/
|
|
134
|
-
type ExtendedOperationObject = Omit<OpenAPIV3.OperationObject, "responses" | "requestBody"> & {
|
|
135
|
+
export type ExtendedOperationObject = Omit<OpenAPIV3.OperationObject, "responses" | "requestBody"> & {
|
|
135
136
|
/**
|
|
136
137
|
* Response definitions keyed by HTTP status code.
|
|
137
138
|
* Supports shorthand, medium, and full OpenAPI formats.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ArkosFile } from "../../../exports";
|
|
1
2
|
export type UploadConfig =
|
|
2
3
|
/**
|
|
3
4
|
* Creates middleware that processes a single file associated with the
|
|
@@ -16,7 +17,7 @@ export type UploadConfig =
|
|
|
16
17
|
*/
|
|
17
18
|
({
|
|
18
19
|
type: "single";
|
|
19
|
-
/** Name of the multipart form field to process */
|
|
20
|
+
/** Name of the multipart form field to process. Supports bracket notation, including nested array paths (e.g. "banners[][image]") */
|
|
20
21
|
field: string;
|
|
21
22
|
} & ArkosRouterBaseUploadConfig)
|
|
22
23
|
/**
|
|
@@ -39,10 +40,12 @@ export type UploadConfig =
|
|
|
39
40
|
*/
|
|
40
41
|
| ({
|
|
41
42
|
type: "array";
|
|
42
|
-
/** Shared name of the multipart form fields to process */
|
|
43
|
+
/** Shared name of the multipart form fields to process. Supports bracket notation, including nested array paths (e.g. "banners[][images]") */
|
|
43
44
|
field: string;
|
|
44
45
|
/** Maximum number of files to process (defaults to framework config) */
|
|
45
46
|
maxCount?: number;
|
|
47
|
+
/** Minimum number of files required */
|
|
48
|
+
minCount?: number;
|
|
46
49
|
} & ArkosRouterBaseUploadConfig)
|
|
47
50
|
/**
|
|
48
51
|
* Creates middleware that processes multiple files associated with the
|
|
@@ -52,18 +55,25 @@ export type UploadConfig =
|
|
|
52
55
|
* maps each field name to an array of the associated file information
|
|
53
56
|
* objects.
|
|
54
57
|
*
|
|
55
|
-
*
|
|
58
|
+
* Each field entry is a full single or array upload config with a `name`
|
|
59
|
+
* property. Field names support bracket notation, including nested array
|
|
60
|
+
* paths (e.g. "banners[][images]").
|
|
56
61
|
*
|
|
57
62
|
* @example
|
|
58
63
|
* uploads: {
|
|
59
64
|
* type: "fields",
|
|
60
65
|
* fields: [
|
|
61
|
-
* {
|
|
62
|
-
* {
|
|
66
|
+
* { name: "avatar", type: "single", uploadDir: "images" },
|
|
67
|
+
* { name: "resume", type: "single", uploadDir: "documents" },
|
|
68
|
+
* { name: "banners[][images]", type: "array", maxCount: 5, uploadDir: "banners" }
|
|
63
69
|
* ]
|
|
64
70
|
* }
|
|
65
71
|
*/
|
|
66
72
|
| ({
|
|
73
|
+
type: "fields";
|
|
74
|
+
/** Array of field configurations describing multipart form fields to process */
|
|
75
|
+
fields: UploadConfigFieldEntry[];
|
|
76
|
+
} & Pick<ArkosRouterBaseUploadConfig, "deleteOnError">) | ({
|
|
67
77
|
type: "fields";
|
|
68
78
|
/** Array of field configurations describing multipart form fields to process */
|
|
69
79
|
fields: {
|
|
@@ -71,12 +81,59 @@ export type UploadConfig =
|
|
|
71
81
|
name: string;
|
|
72
82
|
/** Maximum number of files for this field (defaults to framework config) */
|
|
73
83
|
maxCount?: number;
|
|
84
|
+
minCount?: number;
|
|
74
85
|
}[];
|
|
75
86
|
} & ArkosRouterBaseUploadConfig);
|
|
76
87
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
88
|
+
* A single field entry inside a `fields` upload config.
|
|
89
|
+
* Each entry is a full single or array upload config with an additional
|
|
90
|
+
* `name` property identifying the form field.
|
|
91
|
+
*
|
|
92
|
+
* Field names support bracket notation, including nested array paths
|
|
93
|
+
* (e.g. "banners[][images]"). For nested array paths, multer validation
|
|
94
|
+
* is bypassed and constraints (allowedFileTypes, maxSize, minCount, maxCount)
|
|
95
|
+
* are enforced per group after upload.
|
|
96
|
+
*/
|
|
97
|
+
export type UploadConfigFieldEntry =
|
|
98
|
+
/**
|
|
99
|
+
* A single-file field entry.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* { name: "avatar", type: "single", uploadDir: "images", required: true }
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* // nested array path — one image per banner
|
|
106
|
+
* { name: "banners[][image]", type: "single", uploadDir: "banners" }
|
|
107
|
+
*/
|
|
108
|
+
({
|
|
109
|
+
/** Name of the form field. Supports bracket notation including nested array paths. */
|
|
110
|
+
name: string;
|
|
111
|
+
type: "single";
|
|
112
|
+
} & Omit<ArkosRouterBaseUploadConfig, "deleteOnError">)
|
|
113
|
+
/**
|
|
114
|
+
* A multi-file field entry.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* { name: "gallery", type: "array", maxCount: 6, uploadDir: "gallery" }
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* // nested array path — multiple images per banner, min 1 max 5
|
|
121
|
+
* { name: "banners[][images]", type: "array", minCount: 1, maxCount: 5, uploadDir: "banners" }
|
|
79
122
|
*/
|
|
123
|
+
| ({
|
|
124
|
+
/** Name of the form field. Supports bracket notation including nested array paths. */
|
|
125
|
+
name: string;
|
|
126
|
+
type?: "array";
|
|
127
|
+
/** Maximum number of files for this field (defaults to framework config) */
|
|
128
|
+
maxCount?: number;
|
|
129
|
+
/** Minimum number of files required for this field */
|
|
130
|
+
minCount?: number;
|
|
131
|
+
} & Omit<ArkosRouterBaseUploadConfig, "deleteOnError">); /**
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Base configuration options for file uploads.
|
|
135
|
+
* These settings can override framework-level defaults for specific routes.
|
|
136
|
+
*/
|
|
80
137
|
export type ArkosRouterBaseUploadConfig = {
|
|
81
138
|
/**
|
|
82
139
|
* Directory category where files will be stored.
|
|
@@ -105,7 +162,7 @@ export type ArkosRouterBaseUploadConfig = {
|
|
|
105
162
|
* When using validation, the attached format will be available in your validated body.
|
|
106
163
|
* For array/fields uploads, an array of the specified format will be attached.
|
|
107
164
|
*/
|
|
108
|
-
attachToBody?: "pathname" | "url" | "file" | false;
|
|
165
|
+
attachToBody?: "pathname" | "url" | "file" | false | ((file: ArkosFile) => any);
|
|
109
166
|
/**
|
|
110
167
|
* Maximum file size in bytes.
|
|
111
168
|
* Overrides the framework-level default for this uploadDir category.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IRouter, RouterOptions } from "express";
|
|
2
|
+
import { IArkosRouter } from "../../types";
|
|
3
|
+
import { ArkosRouterOptions } from "../..";
|
|
4
|
+
import { Arkos } from "../../../../types/arkos";
|
|
5
|
+
import { Express } from "express";
|
|
6
|
+
export declare function applyArkosRouterProxy<T extends Express | IRouter>(target: T, options?: RouterOptions & ArkosRouterOptions, component?: "app" | "router"): T extends Express ? Arkos : IArkosRouter;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { ArkosRouteConfig } from "../../types";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}>;
|
|
7
|
-
export declare function getMiddlewareStack(config: ArkosRouteConfig): any[];
|
|
2
|
+
import { ArkosRouterOptions } from "../..";
|
|
3
|
+
export declare function extractArkosRoutes(app: any, basePath?: string, inheritedRouteOptions?: ArkosRouterOptions): any[];
|
|
4
|
+
export declare function extractLayerPath(layer: any): string;
|
|
5
|
+
export declare function getMiddlewareStack(config: ArkosRouteConfig | Omit<ArkosRouteConfig, "path">): any[];
|
|
8
6
|
/**
|
|
9
7
|
* Extracts path parameters from an Express route path
|
|
10
8
|
*
|
|
@@ -5,46 +5,11 @@ declare class UploadManager {
|
|
|
5
5
|
private getUpload;
|
|
6
6
|
getMiddleware(config: UploadConfig): RequestHandler;
|
|
7
7
|
handleUpload(config: UploadConfig, oldFilePath?: string): any;
|
|
8
|
-
/**
|
|
9
|
-
* Validates that all required upload files are present in the request.
|
|
10
|
-
* Checks req.file or req.files based on upload configuration type.
|
|
11
|
-
*
|
|
12
|
-
* @param {UploadConfig} uploadConfig - The upload configuration from config.experimental.uploads
|
|
13
|
-
* @throws {AppError} If required files are missing
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* // Single file upload - checks req.file
|
|
17
|
-
* validateRequiredFiles(
|
|
18
|
-
* { type: 'single', field: 'avatar', required: true },
|
|
19
|
-
* req,
|
|
20
|
-
* '/users/:id/avatar'
|
|
21
|
-
* )
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* // Array file upload - checks req.files array
|
|
25
|
-
* validateRequiredFiles(
|
|
26
|
-
* { type: 'array', field: 'photos', required: true },
|
|
27
|
-
* req,
|
|
28
|
-
* '/gallery/upload'
|
|
29
|
-
* )
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* // Multiple fields - checks req.files object
|
|
33
|
-
* validateRequiredFiles(
|
|
34
|
-
* { type: 'fields', fields: [{ name: 'avatar' }, { name: 'resume' }], required: true },
|
|
35
|
-
* req,
|
|
36
|
-
* '/profile/upload'
|
|
37
|
-
* )
|
|
38
|
-
*/
|
|
39
8
|
validateRequiredFiles(uploadConfig: UploadConfig): any;
|
|
40
9
|
handleFileCleanup(config: UploadConfig): (err: any, req: ArkosRequest, _: ArkosResponse, next: ArkosNextFunction) => Promise<void>;
|
|
41
10
|
handlePostUpload(config: UploadConfig): any;
|
|
42
|
-
/**
|
|
43
|
-
* Validates the file's type and MIME type.
|
|
44
|
-
* @param {Express.Multer.File} file - The uploaded file.
|
|
45
|
-
* @param {Function} cb - The callback function to indicate if file is valid.
|
|
46
|
-
*/
|
|
47
11
|
private fileFilter;
|
|
12
|
+
isAllFieldRequired(uploadConfig: UploadConfig): boolean;
|
|
48
13
|
}
|
|
49
14
|
declare const uploadManager: UploadManager;
|
|
50
15
|
export default uploadManager;
|
|
@@ -87,7 +87,7 @@ export declare class Bundler {
|
|
|
87
87
|
* @param filePath - Absolute path to the JSON file
|
|
88
88
|
* @returns Parsed object, or empty object if parsing fails
|
|
89
89
|
*/
|
|
90
|
-
|
|
90
|
+
readJsonWithComments(filePath: string): any;
|
|
91
91
|
/**
|
|
92
92
|
* Resolves a single import path to its final rewritten form.
|
|
93
93
|
*
|
|
@@ -10,21 +10,30 @@ export type GenerateOptions = {
|
|
|
10
10
|
shouldPrintError?: boolean;
|
|
11
11
|
isBulk?: boolean;
|
|
12
12
|
};
|
|
13
|
+
export interface GenerateConfig {
|
|
14
|
+
templateName: string;
|
|
15
|
+
fileSuffix?: string;
|
|
16
|
+
customValidation?: (modelName: string) => void;
|
|
17
|
+
customImports?: (names: any) => any;
|
|
18
|
+
customPath?: string;
|
|
19
|
+
prefix?: string;
|
|
20
|
+
allowedModules: string[] | "*";
|
|
21
|
+
ext?: string;
|
|
22
|
+
attachModuleName?: boolean;
|
|
23
|
+
}
|
|
13
24
|
export declare const generateCommand: {
|
|
14
25
|
controller: (options: GenerateOptions) => Promise<void>;
|
|
15
26
|
service: (options: GenerateOptions) => Promise<void>;
|
|
16
27
|
router: (options: GenerateOptions) => Promise<void>;
|
|
17
28
|
policy: (options: GenerateOptions) => Promise<void>;
|
|
18
|
-
routeHook: (options: GenerateOptions) => Promise<void>;
|
|
19
|
-
serviceHook: (options: GenerateOptions) => Promise<void>;
|
|
20
|
-
createSchema: (options: GenerateOptions) => Promise<void>;
|
|
21
|
-
updateSchema: (options: GenerateOptions) => Promise<void>;
|
|
22
|
-
baseSchema: (options: GenerateOptions) => Promise<void>;
|
|
23
|
-
querySchema: (options: GenerateOptions) => Promise<void>;
|
|
24
29
|
createDto: (options: GenerateOptions) => Promise<void>;
|
|
25
30
|
updateDto: (options: GenerateOptions) => Promise<void>;
|
|
26
31
|
baseDto: (options: GenerateOptions) => Promise<void>;
|
|
27
32
|
queryDto: (options: GenerateOptions) => Promise<void>;
|
|
28
33
|
prismaModel: (options: GenerateOptions) => Promise<void>;
|
|
34
|
+
loginDto: (options: GenerateOptions) => Promise<void>;
|
|
35
|
+
signupDto: (options: GenerateOptions) => Promise<void>;
|
|
36
|
+
updateMeDto: (options: GenerateOptions) => Promise<void>;
|
|
37
|
+
updatePasswordDto: (options: GenerateOptions) => Promise<void>;
|
|
29
38
|
multipleComponents: (options: MultipleComponentsGenerateOptions) => Promise<void>;
|
|
30
39
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
interface StartOptions {
|
|
2
2
|
port?: string;
|
|
3
3
|
host?: string;
|
|
4
|
+
stamp?: false;
|
|
5
|
+
shouldThrow?: true;
|
|
4
6
|
}
|
|
5
7
|
/**
|
|
6
8
|
* Production start command for the arkos CLI
|
|
7
9
|
*/
|
|
8
|
-
export declare function startCommand(options?: StartOptions): void
|
|
10
|
+
export declare function startCommand(options?: StartOptions): Promise<void>;
|
|
9
11
|
/**
|
|
10
12
|
* Help function to help other processes to terminate the production server child process
|
|
11
13
|
*/
|
package/dist/types/utils/cli/utils/template-generator/templates/class-validator-dto-generator.d.ts
CHANGED
|
@@ -8,10 +8,21 @@ export declare class ClassValidatorDtoGenerator {
|
|
|
8
8
|
private getFilterTypeForField;
|
|
9
9
|
private generateFilterClasses;
|
|
10
10
|
private generateNestedDtoClass;
|
|
11
|
+
/**
|
|
12
|
+
* Builds a @Transform decorator that coerces raw incoming values
|
|
13
|
+
* (e.g. strings from multipart/form-data or query params) into the
|
|
14
|
+
* correct native type before class-validator runs its checks.
|
|
15
|
+
* Mirrors the z.coerce.* behavior used in the Zod schema generator.
|
|
16
|
+
*/
|
|
17
|
+
private generateTransformDecorator;
|
|
11
18
|
private generateClassValidatorField;
|
|
12
19
|
private generateClassValidatorFieldForUpdate;
|
|
13
20
|
private getValidatorsForType;
|
|
14
21
|
private mapPrismaTypeToTS;
|
|
22
|
+
generateLoginDto(_: TemplateOptions): string;
|
|
23
|
+
generateSignupDto(_: TemplateOptions): string;
|
|
24
|
+
generateUpdateMeDto(_: TemplateOptions): string;
|
|
25
|
+
generateUpdatePasswordDto(_: TemplateOptions): string;
|
|
15
26
|
}
|
|
16
27
|
declare const classValidatorDtoGenerator: ClassValidatorDtoGenerator;
|
|
17
28
|
export default classValidatorDtoGenerator;
|
|
@@ -9,6 +9,10 @@ export declare class ZodSchemaGenerator {
|
|
|
9
9
|
private generateFilterSchemas;
|
|
10
10
|
private generateZodField;
|
|
11
11
|
private mapPrismaTypeToZod;
|
|
12
|
+
generateLoginSchema(_: TemplateOptions): string;
|
|
13
|
+
generateSignupSchema(_: TemplateOptions): string;
|
|
14
|
+
generateUpdateMeSchema(_: TemplateOptions): string;
|
|
15
|
+
generateUpdatePasswordSchema(_: TemplateOptions): string;
|
|
12
16
|
}
|
|
13
17
|
declare const zodSchemaGenerator: ZodSchemaGenerator;
|
|
14
18
|
export default zodSchemaGenerator;
|
|
@@ -15,7 +15,7 @@ import { ArkosConfig } from "../exports";
|
|
|
15
15
|
* });
|
|
16
16
|
* ```
|
|
17
17
|
*
|
|
18
|
-
* @see {@link https://www.arkosjs.com/docs/
|
|
18
|
+
* @see {@link https://www.arkosjs.com/docs/reference/define-config}
|
|
19
19
|
*/
|
|
20
20
|
export declare function defineConfig(config: ArkosConfig): ArkosConfig;
|
|
21
21
|
export type UserArkosConfig = ReturnType<typeof defineConfig> & {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const baseDocsLink = "https://www.arkosjs.com";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ZodType } from "zod";
|
|
2
2
|
export declare function isClass(value: any): boolean;
|
|
3
|
-
export declare function isZodSchema(value: any): value is
|
|
3
|
+
export declare function isZodSchema(value: any): value is ZodType;
|
|
4
4
|
export declare const appModules: string[];
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Request } from "express";
|
|
2
1
|
import { ArkosRequest } from "../../types";
|
|
3
2
|
type ModelName = string;
|
|
4
3
|
export default class APIFeatures {
|
|
@@ -9,7 +8,7 @@ export default class APIFeatures {
|
|
|
9
8
|
reqFiltersSearchParam: any;
|
|
10
9
|
modelName?: ModelName;
|
|
11
10
|
excludedFields: string[];
|
|
12
|
-
constructor(req?:
|
|
11
|
+
constructor(req?: ArkosRequest, modelName?: ModelName);
|
|
13
12
|
filter(): this;
|
|
14
13
|
sort(): this;
|
|
15
14
|
limitFields(): this;
|
|
@@ -7,3 +7,10 @@ export declare function isAuthenticationEnabled(): boolean | undefined;
|
|
|
7
7
|
* @returns {ArkosConfig}
|
|
8
8
|
*/
|
|
9
9
|
export declare function getArkosConfig(): UserArkosConfig;
|
|
10
|
+
/**
|
|
11
|
+
* Returns true if application is being run through `arkos start` after `arkos build`
|
|
12
|
+
*
|
|
13
|
+
* @since 1.5.16-beta
|
|
14
|
+
*/
|
|
15
|
+
export declare function isProduction(): boolean;
|
|
16
|
+
export declare function validateArkosConfig(): void;
|
|
@@ -12,19 +12,4 @@ export declare let userFileExtension: "ts" | "js" | undefined;
|
|
|
12
12
|
* Returns 'ts' when TypeScript config exists and not in build mode, otherwise 'js'
|
|
13
13
|
* @returns 'ts' | 'js'
|
|
14
14
|
*/
|
|
15
|
-
export declare const getUserFileExtension: () => "ts" | "js";
|
|
16
|
-
/**
|
|
17
|
-
* Checks if a file exists at the specified file path.
|
|
18
|
-
*
|
|
19
|
-
* @param filePath - The path to the file to check
|
|
20
|
-
* @returns {boolean} True if the file exists, false otherwise or if there's an error
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* ```ts
|
|
24
|
-
* const exists = checkFileExists('./path/to/file.txt');
|
|
25
|
-
* if (exists) {
|
|
26
|
-
* console.info('File exists!');
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export declare function checkFileExists(filePath: string): boolean;
|
|
15
|
+
export declare const getUserFileExtension: (root?: string) => "ts" | "js";
|