arkos 2.0.0-next.2 → 2.0.0-next.21
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,7 +1,9 @@
|
|
|
1
1
|
import { User } from "../../types";
|
|
2
2
|
import { ArkosRequest, ArkosRequestHandler } from "../../types";
|
|
3
|
-
import { AuthJwtPayload, AccessAction, AccessControlConfig,
|
|
3
|
+
import { AuthJwtPayload, AccessAction, AccessControlConfig, DetailedAccessControlRule } from "../../types/auth";
|
|
4
4
|
import { MsDuration } from "./utils/helpers/auth.controller.helpers";
|
|
5
|
+
import { CookieOptions } from "express";
|
|
6
|
+
import { ArkosSocket } from "../../components/arkos-gateway/types";
|
|
5
7
|
/**
|
|
6
8
|
* Handles various authentication-related tasks such as JWT signing, password hashing, and verifying user credentials.
|
|
7
9
|
*/
|
|
@@ -37,18 +39,13 @@ export declare class AuthService {
|
|
|
37
39
|
* res.cookie('jwt', token, cookieOptions);
|
|
38
40
|
* ```
|
|
39
41
|
*/
|
|
40
|
-
getJwtCookieOptions(req: ArkosRequest):
|
|
41
|
-
expires: Date;
|
|
42
|
-
httpOnly: boolean;
|
|
43
|
-
secure: boolean;
|
|
44
|
-
sameSite: "none" | "strict" | "lax";
|
|
45
|
-
};
|
|
42
|
+
getJwtCookieOptions(req: ArkosRequest): CookieOptions;
|
|
46
43
|
/**
|
|
47
|
-
* Is used by default internally by Arkos under `
|
|
44
|
+
* Is used by default internally by Arkos under `ArkosPrismaService` class to check if the password is already hashed.
|
|
48
45
|
*
|
|
49
|
-
* This was just added to prevent unwanted errors when someone just forgets that the `
|
|
46
|
+
* This was just added to prevent unwanted errors when someone just forgets that the `ArkosPrismaService` class will automatically hash the password field using `authService.hashPassword` by default.
|
|
50
47
|
*
|
|
51
|
-
* So now before `
|
|
48
|
+
* So now before `ArkosPrismaService` hashes it will test it.
|
|
52
49
|
*
|
|
53
50
|
*
|
|
54
51
|
* @param password The password to be tested if is hashed
|
|
@@ -70,24 +67,6 @@ export declare class AuthService {
|
|
|
70
67
|
* @returns {Promise<string>} Returns the hashed password.
|
|
71
68
|
*/
|
|
72
69
|
hashPassword(password: string): Promise<string>;
|
|
73
|
-
/**
|
|
74
|
-
* Checks if a password is strong, requiring uppercase, lowercase, and numeric characters as the default.
|
|
75
|
-
*
|
|
76
|
-
* **NB**: You must pay attention when using custom validation with zod or class-validator, try to use the same regex always.
|
|
77
|
-
*
|
|
78
|
-
* **Note**: You can define it when calling arkos.init()
|
|
79
|
-
* ```ts
|
|
80
|
-
* arkos.init({
|
|
81
|
-
* authentication: {
|
|
82
|
-
* passwordValidation:{ regex: /your-desired-regex/, message: 'password must contain...'}
|
|
83
|
-
* }
|
|
84
|
-
* })
|
|
85
|
-
* ```
|
|
86
|
-
*
|
|
87
|
-
* @param {string} password - The password to check.
|
|
88
|
-
* @returns {boolean} Returns true if the password meets the strength criteria, otherwise false.
|
|
89
|
-
*/
|
|
90
|
-
isPasswordStrong(password: string): boolean;
|
|
91
70
|
/**
|
|
92
71
|
* Checks if a user has changed their password after the JWT was issued.
|
|
93
72
|
*
|
|
@@ -120,7 +99,7 @@ export declare class AuthService {
|
|
|
120
99
|
* @returns True if user has permission, false otherwise
|
|
121
100
|
* @throws Error if user doesn't have role/roles field
|
|
122
101
|
*/
|
|
123
|
-
|
|
102
|
+
checkStaticAccessControl(user: User, action: string, accessControl: AccessControlConfig): boolean;
|
|
124
103
|
/**
|
|
125
104
|
* Checks if a user has permission for a specific action and resource using dynamic access control.
|
|
126
105
|
* Queries the database to verify user's role permissions.
|
|
@@ -130,40 +109,90 @@ export declare class AuthService {
|
|
|
130
109
|
* @param resource - The resource being accessed
|
|
131
110
|
* @returns Promise resolving to true if user has permission, false otherwise
|
|
132
111
|
*/
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
* @param {AccessAction} action - The action being performed (e.g., create, update, delete, view).
|
|
138
|
-
* @param {string} resource - The resource name that the action is being performed on (e.g., "User", "Post").
|
|
139
|
-
* @param {AccessControlConfig} accessControl - The access control configuration.
|
|
140
|
-
* @returns {ArkosRequestHandler} The middleware function that checks if the user has permission to perform the action.
|
|
141
|
-
*/
|
|
142
|
-
handleAccessControl(action: AccessAction, resource: string, accessControl?: AccessControlConfig): ArkosRequestHandler;
|
|
112
|
+
checkDynamicAccessControl(userId: string, action: string, resource: string): Promise<boolean>;
|
|
113
|
+
private extractRequestToken;
|
|
114
|
+
private extractSocketToken;
|
|
115
|
+
validateDecodedUser(decoded: AuthJwtPayload, action?: "logout" | "default"): Promise<User>;
|
|
143
116
|
/**
|
|
144
117
|
* Processes the cookies or authoriation token and returns the user.
|
|
145
|
-
*
|
|
118
|
+
*
|
|
119
|
+
* @param ctx | socket
|
|
146
120
|
* @returns {Promise<User | null>} - if authentication is turned off in arkosConfig it returns null
|
|
147
121
|
* @throws {AppError} Throws an error if the token is invalid or the user is not logged in.
|
|
148
122
|
*/
|
|
149
|
-
getAuthenticatedUser(
|
|
123
|
+
getAuthenticatedUser(ctx: ArkosRequest | ArkosSocket, action?: "logout" | "default"): Promise<User | null>;
|
|
150
124
|
/**
|
|
151
|
-
* Middleware
|
|
125
|
+
* Middleware to authenticate the request by extracting and verifying the JWT token and setting `req.user`.
|
|
126
|
+
*
|
|
127
|
+
* Runs `authentication.hooks.authenticate` before/after the authentication logic.
|
|
128
|
+
*
|
|
129
|
+
* Hook execution flow:
|
|
130
|
+
* - `before` hooks run first — call `ctx.skip()` to bypass core logic and jump to `after` hooks,
|
|
131
|
+
* call `ctx.next()` to stop the chain early, or return without calling anything to continue.
|
|
132
|
+
* - Core logic runs — extracts and verifies the JWT token, sets `req.user`.
|
|
133
|
+
* - `after` hooks run — call `ctx.next(err)` to abort or return without calling anything to continue.
|
|
134
|
+
* - `onError` hooks run if core logic throws — call `ctx.skip()` to suppress the error and jump to
|
|
135
|
+
* `after` hooks, or call `ctx.next(err)` to forward it to the global error handler.
|
|
136
|
+
*
|
|
137
|
+
* On custom routes, hooks defined in `arkosConfig` still apply since they are baked into this method.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* // custom route - hooks still run
|
|
142
|
+
* router.get("/custom", authService.authenticate, handler);
|
|
143
|
+
* ```
|
|
152
144
|
*
|
|
153
|
-
* @
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```ts
|
|
147
|
+
* // skip built-in auth from a before hook
|
|
148
|
+
* before: (ctx) => {
|
|
149
|
+
* ctx.req.user = myCustomAuth(ctx.req);
|
|
150
|
+
* ctx.skip();
|
|
151
|
+
* }
|
|
152
|
+
* ```
|
|
153
|
+
*
|
|
154
|
+
* @see {@link https://www.arkosjs.com/docs/core-concepts/authentication/hooks}
|
|
157
155
|
*/
|
|
158
156
|
authenticate: any;
|
|
159
157
|
/**
|
|
160
|
-
*
|
|
158
|
+
* Middleware to authorize the authenticated user for a given action on a resource.
|
|
159
|
+
*
|
|
160
|
+
* Runs `authentication.hooks.authorize` before/after the authorization logic.
|
|
161
|
+
*
|
|
162
|
+
* Hook execution flow:
|
|
163
|
+
* - `before` hooks run first — call `ctx.skip()` to bypass core logic and jump to `after` hooks,
|
|
164
|
+
* call `ctx.next()` to stop the chain early, or return without calling anything to continue.
|
|
165
|
+
* - Core logic runs — checks user role/permissions against the access control rules.
|
|
166
|
+
* - `after` hooks run — call `ctx.next(err)` to abort or return without calling anything to continue.
|
|
167
|
+
* - `onError` hooks run if authorization fails — call `ctx.skip()` to suppress the error and jump to
|
|
168
|
+
* `after` hooks, or call `ctx.next(err)` to forward it to the global error handler.
|
|
169
|
+
*
|
|
170
|
+
* @param resource - The resource being accessed, in kebabCase (e.g. `"product"`, `"cart-item"`)
|
|
171
|
+
* @param action - The action being performed (e.g. `"View"`, `"Create"`, `"Delete"`)
|
|
172
|
+
* @param rule - Access control rules for this action. Accepts a role list, a wildcard, or a `DetailedAccessControlRule`.
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```ts
|
|
176
|
+
* router.delete("/products/:id",
|
|
177
|
+
* authService.authenticate,
|
|
178
|
+
* authService.authorize("product", "Delete", ["admin"]),
|
|
179
|
+
* handler
|
|
180
|
+
* );
|
|
181
|
+
* ```
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```ts
|
|
185
|
+
* // skip built-in authorization from a before hook
|
|
186
|
+
* before: (ctx) => {
|
|
187
|
+
* ctx.req.user.role = myCustomRoleResolver(ctx.req);
|
|
188
|
+
* ctx.skip();
|
|
189
|
+
* }
|
|
190
|
+
* ```
|
|
161
191
|
*
|
|
162
|
-
* @
|
|
163
|
-
* @
|
|
164
|
-
* @returns {ArkosRequestHandler} The middleware function that checks if authentication is required.
|
|
192
|
+
* @see {@link https://www.arkosjs.com/docs/core-concepts/authentication/hooks#authorize}
|
|
193
|
+
* @since v1.6.0-beta
|
|
165
194
|
*/
|
|
166
|
-
|
|
195
|
+
authorize(action: AccessAction, resource: string, rule?: string[] | DetailedAccessControlRule | "*"): ArkosRequestHandler;
|
|
167
196
|
/**
|
|
168
197
|
* Creates a permission checker function for a specific action and resource.
|
|
169
198
|
*
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ArkosSocket } from "../../../components/arkos-gateway/types";
|
|
2
|
+
import { ArkosRequest, User } from "../../../types";
|
|
3
|
+
import { AuthAction } from "./services/auth-action.service";
|
|
4
|
+
type ArkosBaseContext = ArkosRequest | ArkosSocket;
|
|
5
|
+
interface ArkosMiddlewareAdapter<TContext extends ArkosBaseContext> {
|
|
6
|
+
context: TContext;
|
|
7
|
+
done: (error?: unknown | any) => void;
|
|
8
|
+
}
|
|
9
|
+
declare class AuthHookManager {
|
|
10
|
+
/**
|
|
11
|
+
* Runs the full authenticate pipeline — before hooks, core user resolution,
|
|
12
|
+
* after hooks — and calls `done` when finished.
|
|
13
|
+
*
|
|
14
|
+
* Shared by the HTTP authenticate middleware and the WebSocket auth ns.use().
|
|
15
|
+
*
|
|
16
|
+
* @param adapter.context - The request or socket being authenticated.
|
|
17
|
+
* @param adapter.done - Called with no args on success, or with an error to propagate.
|
|
18
|
+
* @param getUser - Async function that resolves the user from the context.
|
|
19
|
+
*/
|
|
20
|
+
runAuthenticate<TContext extends ArkosBaseContext>(adapter: ArkosMiddlewareAdapter<TContext>, getUser: (context: TContext) => Promise<User | null>, keyName?: "user" | "currentUser"): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Runs the full authorize pipeline — before hooks, core permission check,
|
|
23
|
+
* after hooks — and calls `done` when finished.
|
|
24
|
+
*
|
|
25
|
+
* Shared by the HTTP `authorize()` middleware and WebSocket per-event authorization.
|
|
26
|
+
*
|
|
27
|
+
* @param adapter.context - The request or socket being authorized.
|
|
28
|
+
* @param authAction {AuthAction}
|
|
29
|
+
* @param keyName {"user" | "currentUser"}
|
|
30
|
+
*/
|
|
31
|
+
runAuthorize<TContext extends ArkosBaseContext>(adapter: ArkosMiddlewareAdapter<TContext>, authAction: Required<AuthAction>, keyName?: "user" | "currentUser"): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Runs a chain of `after` hooks in sequence.
|
|
34
|
+
*
|
|
35
|
+
* - If a hook throws — chain aborts, error is forwarded to the global error handler.
|
|
36
|
+
* - If a hook returns — next hook in chain runs.
|
|
37
|
+
*
|
|
38
|
+
* @returns Promise resolving to `{ error? }`
|
|
39
|
+
*/
|
|
40
|
+
private runAfterHooks;
|
|
41
|
+
/**
|
|
42
|
+
* Runs a chain of `before` hooks in sequence.
|
|
43
|
+
*
|
|
44
|
+
* - If a hook throws — chain aborts, error is forwarded to `onError` hooks.
|
|
45
|
+
* - If a hook calls `skip()` — chain stops, core logic is bypassed, jumps to `after` hooks.
|
|
46
|
+
* - If a hook returns — next hook in chain runs.
|
|
47
|
+
*
|
|
48
|
+
* @returns Promise resolving to `{ skipped, error? }`
|
|
49
|
+
*/
|
|
50
|
+
private runHooks;
|
|
51
|
+
/**
|
|
52
|
+
* Runs a chain of `onError` hooks in sequence.
|
|
53
|
+
*
|
|
54
|
+
* - If a hook throws — chain aborts, error is forwarded to the global error handler.
|
|
55
|
+
* - If a hook calls `skip()` — suppresses the error and jumps to `after` hooks.
|
|
56
|
+
* - If a hook returns — next hook in chain runs.
|
|
57
|
+
*
|
|
58
|
+
* @returns Promise resolving to `{ skipped, error? }`
|
|
59
|
+
*/
|
|
60
|
+
private runErrorHooks;
|
|
61
|
+
}
|
|
62
|
+
declare const authHookManager: AuthHookManager;
|
|
63
|
+
export default authHookManager;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthRouterEndpoint } from "../../../types/router-config";
|
|
2
|
+
import { ArkosRouteConfig } from "../../../exports";
|
|
3
|
+
import { ExtendedOperationObject } from "../../../utils/arkos-router/types/openapi-config";
|
|
4
|
+
declare class AuthOpenAPIGenerator {
|
|
5
|
+
getOpenApiConfig(endpointRouterConfig: Omit<ArkosRouteConfig, "path"> | undefined, endpoint: AuthRouterEndpoint): Partial<ExtendedOperationObject>;
|
|
6
|
+
private getAuthActionSchema;
|
|
7
|
+
}
|
|
8
|
+
declare const authOpenAPIGenerator: AuthOpenAPIGenerator;
|
|
9
|
+
export default authOpenAPIGenerator;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { JsonSchema } from "../../../utils/prisma/types";
|
|
2
|
+
declare class AuthPrismaJsonSchemaGenerator {
|
|
3
|
+
private userModel?;
|
|
4
|
+
private getUserModel;
|
|
5
|
+
private getPrismaArgs;
|
|
6
|
+
generateGetMeResponse(): JsonSchema;
|
|
7
|
+
generateUpdatePasswordSchema(): JsonSchema;
|
|
8
|
+
generateUpdateMeSchema(): JsonSchema;
|
|
9
|
+
generateSignupSchema(): JsonSchema;
|
|
10
|
+
generateLoginSchema(): JsonSchema;
|
|
11
|
+
}
|
|
12
|
+
declare const authPrismaJsonSchemaGenerator: AuthPrismaJsonSchemaGenerator;
|
|
13
|
+
export default authPrismaJsonSchemaGenerator;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AccessControlConfig } from "../../../../types/auth";
|
|
2
|
-
interface AuthAction {
|
|
2
|
+
export interface AuthAction {
|
|
3
3
|
roles?: string[] | "*";
|
|
4
4
|
action: string;
|
|
5
5
|
resource: string;
|
|
@@ -9,7 +9,7 @@ interface AuthAction {
|
|
|
9
9
|
}
|
|
10
10
|
declare class AuthActionService {
|
|
11
11
|
authActions: AuthAction[];
|
|
12
|
-
add(action: string, resource: string, accessControl?: AccessControlConfig):
|
|
12
|
+
add(action: string, resource: string, accessControl?: AccessControlConfig): Required<AuthAction>;
|
|
13
13
|
remove(action: string, resource: string): void;
|
|
14
14
|
getAll(): AuthAction[];
|
|
15
15
|
getOne(action: string, resource: string): AuthAction | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ArkosRequest } from "../../types";
|
|
2
|
-
import {
|
|
2
|
+
import { ArkosPrismaService } from "./base.service";
|
|
3
3
|
import { PrismaModels } from "../../generated";
|
|
4
4
|
export interface OperationHooks {
|
|
5
5
|
beforeQuery?: (req: ArkosRequest) => void | Promise<void>;
|
|
@@ -31,17 +31,17 @@ export interface OperationHooks {
|
|
|
31
31
|
*
|
|
32
32
|
* @param {string} modelName - The Prisma model name this controller handles.
|
|
33
33
|
*
|
|
34
|
-
* @see {@link https://www.arkosjs.com/docs/
|
|
34
|
+
* @see {@link https://www.arkosjs.com/docs/reference/base-controller}
|
|
35
35
|
*--
|
|
36
36
|
* **See about how Arkos handles routers**
|
|
37
|
-
* @see {@link https://www.arkosjs.com/docs/
|
|
37
|
+
* @see {@link https://www.arkosjs.com/docs/core-concepts/routing/setup}
|
|
38
38
|
*/
|
|
39
39
|
export declare class BaseController<TModuleName extends keyof PrismaModels<any>> {
|
|
40
40
|
/**
|
|
41
41
|
* Service instance to handle business logic operations
|
|
42
42
|
* @public
|
|
43
43
|
*/
|
|
44
|
-
service:
|
|
44
|
+
service: ArkosPrismaService<TModuleName>;
|
|
45
45
|
/**
|
|
46
46
|
* Name of the model this controller handles
|
|
47
47
|
* @private
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { NextFunction, Request, Response } from "express";
|
|
2
|
-
import { PrismaQueryOptions, ArkosRequest,
|
|
3
|
-
import { ZodSchema } from "zod";
|
|
4
|
-
import { ClassConstructor } from "class-transformer";
|
|
5
|
-
import { ValidatorOptions } from "class-validator";
|
|
2
|
+
import { PrismaQueryOptions, ArkosRequest, ArkosResponse, AuthPrismaQueryOptions } from "../../types";
|
|
6
3
|
import { ArkosRouteConfig } from "../../utils/arkos-router/types";
|
|
7
|
-
export declare function callNext(_: Request, _1: Response, next: NextFunction): void;
|
|
8
4
|
/**
|
|
9
5
|
* Sends response with backward compatibility support
|
|
10
6
|
* Compares current values against original values to detect middleware changes
|
|
@@ -30,6 +26,4 @@ export declare function addPrismaQueryOptionsToRequest<T extends Record<string,
|
|
|
30
26
|
*
|
|
31
27
|
*/
|
|
32
28
|
export declare function handleRequestLogs(req: Request, res: Response, next: NextFunction): void;
|
|
33
|
-
export declare function handleRequestBodyValidationAndTransformation<T extends object>(schemaOrDtoClass?: ClassConstructor<T>, classValidatorValidationOptions?: ValidatorOptions): ArkosRequestHandler;
|
|
34
|
-
export declare function handleRequestBodyValidationAndTransformation<T extends object>(schemaOrDtoClass?: ZodSchema<T>): ArkosRequestHandler;
|
|
35
29
|
export declare function validateRequestInputs(routeConfig: ArkosRouteConfig): any;
|
|
@@ -1,43 +1,34 @@
|
|
|
1
1
|
import { ModelGroupRelationFields } from "./utils/helpers/base.service.helpers";
|
|
2
2
|
import { PrismaClient } from "../../generated";
|
|
3
3
|
import { CountFilters, CreateData, CreateManyData, CreateManyOptions, CreateOptions, DeleteManyFilters, DeleteOneFilters, FindManyFilters, FindManyOptions, FindOneFilters, FindOneOptions, GetPayload, Models, UpdateManyData, UpdateManyFilters, UpdateManyOptions, UpdateOneData, UpdateOneFilters, UpdateOneOptions } from "./types/base.service.types";
|
|
4
|
-
import { ServiceHookContext } from "
|
|
5
|
-
export interface ServiceOperationHooks {
|
|
6
|
-
beforeOperation?: (params: any) => void | Promise<void>;
|
|
7
|
-
afterOperation?: (result: any, params: any) => void | Promise<void>;
|
|
8
|
-
beforePrisma?: (prismaArgs: any, params: any) => any | Promise<any>;
|
|
9
|
-
afterPrisma?: (result: any, params: any) => any | Promise<any>;
|
|
10
|
-
}
|
|
4
|
+
import { ServiceHookContext } from "./types/base.service.types";
|
|
11
5
|
/**
|
|
12
6
|
* Base service class for handling CRUD operations on a specific model.
|
|
13
7
|
* This class provides standard implementation of data operations that can be extended
|
|
14
8
|
* by model-specific service classes.
|
|
15
9
|
*
|
|
16
|
-
* @class
|
|
10
|
+
* @class ArkosPrismaService
|
|
17
11
|
*
|
|
18
12
|
* @example
|
|
19
13
|
* ```ts
|
|
20
|
-
* import {
|
|
14
|
+
* import { ArkosPrismaService } from "arkos/services";
|
|
21
15
|
*
|
|
22
|
-
* export class UserService extends
|
|
16
|
+
* export class UserService extends ArkosPrismaService<"user"> {}
|
|
23
17
|
*
|
|
24
18
|
* const userService = new UserService("user");
|
|
25
19
|
* ```
|
|
26
20
|
*
|
|
27
|
-
* @see {@link https://www.arkosjs.com/docs/
|
|
21
|
+
* @see {@link https://www.arkosjs.com/docs/reference/base-service}
|
|
28
22
|
* @see {@link https://www.arkosjs.com/docs/guide/accessing-request-context-in-services}
|
|
29
23
|
*/
|
|
30
|
-
export declare class
|
|
24
|
+
export declare class ArkosPrismaService<TModelName extends keyof Models = keyof Models> {
|
|
31
25
|
modelName: TModelName;
|
|
32
26
|
relationFields: ModelGroupRelationFields;
|
|
33
|
-
|
|
27
|
+
private prismaInstace?;
|
|
34
28
|
constructor(modelName: TModelName);
|
|
35
|
-
|
|
29
|
+
get prisma(): PrismaClient;
|
|
36
30
|
private executeOperation;
|
|
37
31
|
private executeTransactionOperation;
|
|
38
|
-
private executeHooks;
|
|
39
|
-
private buildHookParams;
|
|
40
|
-
private buildTransactionHookParams;
|
|
41
32
|
private handlePasswordHashing;
|
|
42
33
|
private processRelationFieldsInBody;
|
|
43
34
|
private buildPrismaArgs;
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { ExtractPrismaData, ExtractPrismaFilters, ExtractPrismaQueryOptions, PrismaModels } from "../../../generated";
|
|
2
|
+
import { User } from "../../../types";
|
|
2
3
|
export type Models = PrismaModels<any>;
|
|
4
|
+
export interface ServiceHookContext {
|
|
5
|
+
/**
|
|
6
|
+
* The authenticated user making the request.
|
|
7
|
+
*/
|
|
8
|
+
user?: User;
|
|
9
|
+
/**
|
|
10
|
+
* The access token from the request for authorization.
|
|
11
|
+
*/
|
|
12
|
+
accessToken?: string;
|
|
13
|
+
}
|
|
3
14
|
export type Delegate<TModelName extends keyof Models> = Models[TModelName]["Delegate"];
|
|
4
15
|
export type CreateData<TModelName extends keyof Models> = ExtractPrismaData<Models[TModelName]["CreateArgs"]>;
|
|
5
16
|
export type CreateOptions<TModelName extends keyof Models> = ExtractPrismaQueryOptions<Models[TModelName]["CreateArgs"], "data">;
|
|
@@ -40,7 +40,7 @@ export declare function throwErrorIfApiActionIsInvalid(apiAction: string): void;
|
|
|
40
40
|
* @param {string[]} ignoreActions - Optional list of apiAction values to ignore.
|
|
41
41
|
* @returns {Record<string, any>} The transformed data with appropriate Prisma operations applied.
|
|
42
42
|
*/
|
|
43
|
-
export declare function handleRelationFieldsInBody(body: Record<string, any>, relationFields: ModelGroupRelationFields, ignoreActions?: string[], isRelation?: boolean): Record<string, any>;
|
|
43
|
+
export declare function handleRelationFieldsInBody(body: Record<string, any>, relationFields: ModelGroupRelationFields, ignoreActions?: string[], isRelation?: boolean, parentOperation?: "create" | "update" | null): Record<string, any>;
|
|
44
44
|
export type ModelGroupRelationFields = ReturnType<typeof getGroupedModelReations>;
|
|
45
45
|
declare function getGroupedModelReations(modelName: string): {
|
|
46
46
|
singular: PrismaField[] | undefined;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ArkosRouteConfig } from "../../../exports";
|
|
2
|
+
import { PrismaQueryOptions } from "../../../exports/prisma";
|
|
3
|
+
import { RouterEndpoint } from "../../../types/router-config";
|
|
4
|
+
import { ExtendedOperationObject } from "../../../utils/arkos-router/types/openapi-config";
|
|
5
|
+
declare class ModelOpenAPIGenerator {
|
|
6
|
+
private getModel;
|
|
7
|
+
private getAuthErrorResponses;
|
|
8
|
+
private resolvePrismaQueryOptions;
|
|
9
|
+
getOpenApiConfig(endpointRouterConfig: Omit<ArkosRouteConfig, "path"> | undefined, endpoint: RouterEndpoint, modelNameInKebab: string, prismaQueryOptions?: PrismaQueryOptions<any>): Partial<ExtendedOperationObject>;
|
|
10
|
+
}
|
|
11
|
+
declare const modelOpenAPIGenerator: ModelOpenAPIGenerator;
|
|
12
|
+
export default modelOpenAPIGenerator;
|
|
@@ -25,7 +25,7 @@ export type SMTPConnectionOptions = {
|
|
|
25
25
|
/**
|
|
26
26
|
* A service class to handle email-related tasks, including sending emails.
|
|
27
27
|
*
|
|
28
|
-
* See the api reference [www.arkosjs.com/docs/
|
|
28
|
+
* See the api reference [www.arkosjs.com/docs/reference/the-email-service-class](https://www.arkosjs.com/docs/reference/the-email-service-class)
|
|
29
29
|
*/
|
|
30
30
|
export declare class EmailService {
|
|
31
31
|
transporter: Transporter | null;
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @property {number} statusCode - HTTP status code of the error.
|
|
7
7
|
* @property {string} status - Status message derived from the status code (`fail` for 4xx, `error` for 5xx).
|
|
8
|
-
* @property {boolean} [missing=false] - Flag to indicate if a resource is missing.
|
|
9
8
|
* @property {boolean} isOperational - Indicates if the error is operational (intended for client visibility).
|
|
10
9
|
* @property {string} [code] - Optional error code for categorization.
|
|
11
10
|
* @property {Record<string, any>} [meta] - Additional metadata related to the error.
|
|
@@ -33,7 +32,6 @@
|
|
|
33
32
|
declare class AppError extends Error {
|
|
34
33
|
statusCode: number;
|
|
35
34
|
status: string;
|
|
36
|
-
missing?: boolean;
|
|
37
35
|
isOperational: boolean;
|
|
38
36
|
code?: string;
|
|
39
37
|
meta?: Record<string, any>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ArkosAnyRequestHandler } from "../../../types";
|
|
2
2
|
/**
|
|
3
3
|
* Used to wrap request handlers and middleware for automatic catch async errors and throw to next to invoke the global error handler
|
|
4
4
|
*
|
|
@@ -16,7 +16,7 @@ import { ArkosRequestHandler, ArkosErrorRequestHandler } from "../../../types";
|
|
|
16
16
|
* })
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
|
-
declare const catchAsync: (fn:
|
|
19
|
+
declare const catchAsync: (fn: ArkosAnyRequestHandler, options?: {
|
|
20
20
|
type: "error" | "normal";
|
|
21
21
|
}) => any;
|
|
22
22
|
export type CatchAsyncReturnType = ReturnType<typeof catchAsync>;
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import AppError from "./app-error";
|
|
2
|
-
export interface PrismaError {
|
|
3
|
-
code?: string;
|
|
4
|
-
message: string;
|
|
5
|
-
meta?: Record<string, any>;
|
|
6
|
-
name?: string;
|
|
7
|
-
}
|
|
8
2
|
export declare function handleJWTError(): AppError;
|
|
9
3
|
export declare function handleJWTExpired(): AppError;
|
|
10
4
|
export declare function handlePrismaClientValidationError(err: AppError): AppError;
|
|
@@ -12,37 +6,17 @@ export declare function handleAuthenticationError(_: AppError): AppError;
|
|
|
12
6
|
export declare function handleServerNotReachableError(_: AppError): AppError;
|
|
13
7
|
export declare function handleConnectionTimeoutError(_: AppError): AppError;
|
|
14
8
|
export declare function handleDatabaseNotFoundError(_: AppError): AppError;
|
|
15
|
-
export declare function handleEnvironmentVariableError(err: AppError): AppError;
|
|
16
9
|
export declare function handleFieldValueTooLargeError(err: AppError): AppError;
|
|
17
10
|
export declare function handleRecordNotFoundError(_: AppError): AppError;
|
|
18
|
-
export declare function handleUniqueConstraintError(err:
|
|
11
|
+
export declare function handleUniqueConstraintError(err: any): AppError;
|
|
19
12
|
export declare function handleForeignKeyConstraintError(_: AppError): AppError;
|
|
20
13
|
export declare function handleConstraintFailedError(err: AppError): AppError;
|
|
21
|
-
export declare function handleInvalidFieldValueError(err: AppError): AppError;
|
|
22
|
-
export declare function handleInvalidFieldProvidedError(err: AppError): AppError;
|
|
23
|
-
export declare function handleDataValidationError(_: AppError): AppError;
|
|
24
|
-
export declare function handleQueryParsingError(err: AppError): AppError;
|
|
25
|
-
export declare function handleInvalidQueryFormatError(err: AppError): AppError;
|
|
26
|
-
export declare function handleRawQueryExecutionError(_: AppError): AppError;
|
|
27
|
-
export declare function handleNullConstraintViolationError(err: AppError): AppError;
|
|
28
14
|
export declare function handleSchemaCreationFailedError(_: AppError): AppError;
|
|
29
15
|
export declare function handleMigrationAlreadyAppliedError(err: AppError): AppError;
|
|
30
16
|
export declare function handleMigrationScriptFailedError(err: AppError): AppError;
|
|
31
17
|
export declare function handleVersionMismatchError(_: AppError): AppError;
|
|
32
|
-
export declare function handleMigrationFileReadError(err: AppError): AppError;
|
|
33
|
-
export declare function handleSchemaDriftError(_: AppError): AppError;
|
|
34
|
-
export declare function handleSchemaSyntaxError(_: AppError): AppError;
|
|
35
|
-
export declare function handleClientTypeError(_: AppError): AppError;
|
|
36
|
-
export declare function handleDynamicQueryError(_: AppError): AppError;
|
|
37
|
-
export declare function handleRelationLoadingError(err: AppError): AppError;
|
|
38
|
-
export declare function handleBinaryError(err: AppError): AppError;
|
|
39
|
-
export declare function handleNetworkError(_: AppError): AppError;
|
|
40
|
-
export declare function handleUnhandledPromiseError(_: AppError): AppError;
|
|
41
|
-
export declare function handleDataTypeError(err: AppError): AppError;
|
|
42
|
-
export declare function handleEmptyResultError(_: AppError): AppError;
|
|
43
18
|
export declare function handleNonExistingRecord(err: {
|
|
44
19
|
meta?: Record<string, any>;
|
|
45
20
|
[x: string]: any;
|
|
46
21
|
}): AppError;
|
|
47
22
|
export declare function handlePrismaClientInitializationError(_: any): AppError;
|
|
48
|
-
export declare function handleRequiredRelationViolationError(err: AppError): AppError;
|