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,144 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.loadableDynamicTranslator = void 0;
|
|
7
|
-
const arkos_loadable_registry_1 = __importDefault(require("../arkos-loadable-registry/index.js"));
|
|
8
|
-
const reader_1 = require("../arkos-route-hook/reader.js");
|
|
9
|
-
const PRISMA_OPERATIONS = [
|
|
10
|
-
"createOne",
|
|
11
|
-
"createMany",
|
|
12
|
-
"findOne",
|
|
13
|
-
"findMany",
|
|
14
|
-
"updateOne",
|
|
15
|
-
"updateMany",
|
|
16
|
-
"deleteOne",
|
|
17
|
-
"deleteMany",
|
|
18
|
-
];
|
|
19
|
-
const AUTH_OPERATIONS = [
|
|
20
|
-
"login",
|
|
21
|
-
"logout",
|
|
22
|
-
"signup",
|
|
23
|
-
"getMe",
|
|
24
|
-
"updateMe",
|
|
25
|
-
"updatePassword",
|
|
26
|
-
"refreshToken",
|
|
27
|
-
];
|
|
28
|
-
const FILE_UPLOAD_OPERATIONS = [
|
|
29
|
-
"uploadFile",
|
|
30
|
-
"updateFile",
|
|
31
|
-
"deleteFile",
|
|
32
|
-
"findFile",
|
|
33
|
-
];
|
|
34
|
-
const VALIDATION_OPERATIONS = [
|
|
35
|
-
"createOne",
|
|
36
|
-
"updateOne",
|
|
37
|
-
"login",
|
|
38
|
-
"signup",
|
|
39
|
-
"updateMe",
|
|
40
|
-
"updatePassword",
|
|
41
|
-
];
|
|
42
|
-
class LoadableDynamicTranslator {
|
|
43
|
-
getOperations(moduleName) {
|
|
44
|
-
if (moduleName === "auth")
|
|
45
|
-
return AUTH_OPERATIONS;
|
|
46
|
-
if (moduleName === "file-upload")
|
|
47
|
-
return FILE_UPLOAD_OPERATIONS;
|
|
48
|
-
return PRISMA_OPERATIONS;
|
|
49
|
-
}
|
|
50
|
-
translateInterceptors(moduleName) {
|
|
51
|
-
const interceptors = {};
|
|
52
|
-
for (const operation of this.getOperations(moduleName)) {
|
|
53
|
-
const hooks = reader_1.routeHookReader.getHooks(moduleName, operation);
|
|
54
|
-
if (!hooks)
|
|
55
|
-
continue;
|
|
56
|
-
const pascal = operation.charAt(0).toUpperCase() + operation.slice(1);
|
|
57
|
-
if (hooks.before?.length)
|
|
58
|
-
interceptors[`before${pascal}`] = hooks.before;
|
|
59
|
-
if (hooks.after?.length)
|
|
60
|
-
interceptors[`after${pascal}`] = hooks.after;
|
|
61
|
-
if (hooks.onError?.length)
|
|
62
|
-
interceptors[`on${pascal}Error`] = hooks.onError;
|
|
63
|
-
}
|
|
64
|
-
return interceptors;
|
|
65
|
-
}
|
|
66
|
-
translateHooks(moduleName) {
|
|
67
|
-
const serviceHook = arkos_loadable_registry_1.default.getItem("ArkosServiceHook", moduleName);
|
|
68
|
-
if (!serviceHook)
|
|
69
|
-
return {};
|
|
70
|
-
const hooks = {};
|
|
71
|
-
const store = serviceHook._store ?? {};
|
|
72
|
-
for (const [operation, config] of Object.entries(store)) {
|
|
73
|
-
const pascal = operation.charAt(0).toUpperCase() + operation.slice(1);
|
|
74
|
-
if (config?.before?.length)
|
|
75
|
-
hooks[`before${pascal}`] = config.before;
|
|
76
|
-
if (config?.after?.length)
|
|
77
|
-
hooks[`after${pascal}`] = config.after;
|
|
78
|
-
if (config?.onError?.length)
|
|
79
|
-
hooks[`on${pascal}Error`] = config.onError;
|
|
80
|
-
}
|
|
81
|
-
return hooks;
|
|
82
|
-
}
|
|
83
|
-
translateRouterConfig(moduleName) {
|
|
84
|
-
const config = {};
|
|
85
|
-
for (const operation of this.getOperations(moduleName)) {
|
|
86
|
-
const routeConfig = reader_1.routeHookReader.getRouteConfig(moduleName, operation);
|
|
87
|
-
if (routeConfig && Object.keys(routeConfig).length > 0) {
|
|
88
|
-
config[operation] = routeConfig;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return config;
|
|
92
|
-
}
|
|
93
|
-
translateValidation(moduleName) {
|
|
94
|
-
const schemas = {};
|
|
95
|
-
const dtos = {};
|
|
96
|
-
const isAuth = moduleName === "auth";
|
|
97
|
-
for (const operation of VALIDATION_OPERATIONS) {
|
|
98
|
-
const isAuthOp = [
|
|
99
|
-
"login",
|
|
100
|
-
"signup",
|
|
101
|
-
"updateMe",
|
|
102
|
-
"updatePassword",
|
|
103
|
-
].includes(operation);
|
|
104
|
-
if (isAuth && !isAuthOp)
|
|
105
|
-
continue;
|
|
106
|
-
if (!isAuth && isAuthOp)
|
|
107
|
-
continue;
|
|
108
|
-
const config = reader_1.routeHookReader.getFullConfig(moduleName, operation);
|
|
109
|
-
const body = config?.validation?.body;
|
|
110
|
-
if (!body)
|
|
111
|
-
continue;
|
|
112
|
-
const key = isAuth
|
|
113
|
-
? operation
|
|
114
|
-
: operation === "createOne"
|
|
115
|
-
? "create"
|
|
116
|
-
: operation === "updateOne"
|
|
117
|
-
? "update"
|
|
118
|
-
: operation;
|
|
119
|
-
const isZod = body?._def?.typeName?.startsWith("Zod");
|
|
120
|
-
if (isZod)
|
|
121
|
-
schemas[key] = body;
|
|
122
|
-
else
|
|
123
|
-
dtos[key] = body;
|
|
124
|
-
}
|
|
125
|
-
return { schemas, dtos };
|
|
126
|
-
}
|
|
127
|
-
translate(moduleName) {
|
|
128
|
-
const interceptors = this.translateInterceptors(moduleName);
|
|
129
|
-
const hooks = this.translateHooks(moduleName);
|
|
130
|
-
const routerConfig = this.translateRouterConfig(moduleName);
|
|
131
|
-
const { schemas, dtos } = this.translateValidation(moduleName);
|
|
132
|
-
return {
|
|
133
|
-
...(Object.keys(interceptors).length && { interceptors }),
|
|
134
|
-
...(Object.keys(hooks).length && { hooks }),
|
|
135
|
-
...(Object.keys(routerConfig).length && {
|
|
136
|
-
router: { config: routerConfig, default: routerConfig },
|
|
137
|
-
}),
|
|
138
|
-
...(Object.keys(schemas).length && { schemas }),
|
|
139
|
-
...(Object.keys(dtos).length && { dtos }),
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
exports.loadableDynamicTranslator = new LoadableDynamicTranslator();
|
|
144
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/arkos-loadable-translator/index.ts"],"names":[],"mappings":";;;;;;AACA,yFAA0D;AAC1D,uDAA6D;AAK7D,MAAM,iBAAiB,GAAG;IACxB,WAAW;IACX,YAAY;IACZ,SAAS;IACT,UAAU;IACV,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;CACJ,CAAC;AAEX,MAAM,eAAe,GAAG;IACtB,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,gBAAgB;IAChB,cAAc;CACN,CAAC;AAEX,MAAM,sBAAsB,GAAG;IAC7B,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,UAAU;CACF,CAAC;AAEX,MAAM,qBAAqB,GAAG;IAC5B,WAAW;IACX,WAAW;IACX,OAAO;IACP,QAAQ;IACR,UAAU;IACV,gBAAgB;CACR,CAAC;AAsBX,MAAM,yBAAyB;IACrB,aAAa,CAAC,UAA2B;QAC/C,IAAI,UAAU,KAAK,MAAM;YAAE,OAAO,eAAe,CAAC;QAClD,IAAI,UAAU,KAAK,aAAa;YAAE,OAAO,sBAAsB,CAAC;QAChE,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAMO,qBAAqB,CAC3B,UAA2B;QAE3B,MAAM,YAAY,GAA+B,EAAE,CAAC;QAEpD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,wBAAe,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAgB,CAAC,CAAC;YACrE,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtE,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM;gBAAE,YAAY,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YACzE,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM;gBAAE,YAAY,CAAC,QAAQ,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YACtE,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM;gBACvB,YAAY,CAAC,KAAK,MAAM,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QACrD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAMO,cAAc,CACpB,UAA2B;QAE3B,MAAM,WAAW,GAAG,iCAAgB,CAAC,OAAO,CAC1C,kBAAkB,EAClB,UAAU,CACX,CAAC;QACF,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAE5B,MAAM,KAAK,GAA+B,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAI,WAAmB,CAAC,MAAM,IAAI,EAAE,CAAC;QAEhD,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAQ,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtE,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM;gBAAE,KAAK,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YACrE,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM;gBAAE,KAAK,CAAC,QAAQ,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YAClE,IAAI,MAAM,EAAE,OAAO,EAAE,MAAM;gBAAE,KAAK,CAAC,KAAK,MAAM,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QAC1E,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAMO,qBAAqB,CAC3B,UAA2B;QAE3B,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,MAAM,WAAW,GAAG,wBAAe,CAAC,cAAc,CAChD,UAAU,EACV,SAAgB,CACjB,CAAC;YACF,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IASO,mBAAmB,CAAC,UAA2B;QAIrD,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAwB,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,UAAU,KAAK,MAAM,CAAC;QAErC,KAAK,MAAM,SAAS,IAAI,qBAAqB,EAAE,CAAC;YAE9C,MAAM,QAAQ,GAAG;gBACf,OAAO;gBACP,QAAQ;gBACR,UAAU;gBACV,gBAAgB;aACjB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtB,IAAI,MAAM,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAClC,IAAI,CAAC,MAAM,IAAI,QAAQ;gBAAE,SAAS;YAElC,MAAM,MAAM,GAAG,wBAAe,CAAC,aAAa,CAC1C,UAAU,EACV,SAAgB,CACjB,CAAC;YACF,MAAM,IAAI,GAAI,MAAc,EAAE,UAAU,EAAE,IAAI,CAAC;YAC/C,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,GAAG,GAAG,MAAM;gBAChB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,KAAK,WAAW;oBACzB,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,SAAS,KAAK,WAAW;wBACzB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,SAAS,CAAC;YAGlB,MAAM,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;;gBAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAMD,SAAS,CAAC,UAA2B;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAE/D,OAAO;YACL,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,EAAE,YAAY,EAAE,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI;gBACtC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE;aACxD,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC;CACF;AAEY,QAAA,yBAAyB,GAAG,IAAI,yBAAyB,EAAE,CAAC","sourcesContent":["// import { ModuleComponents } from \"../../utils/dynamic-loader\";\nimport loadableRegistry from \"../arkos-loadable-registry\";\nimport { routeHookReader } from \"../arkos-route-hook/reader\";\nimport { ArkosModuleType } from \"../arkos-route-hook/types\";\n\ntype ModuleComponents = any;\n\nconst PRISMA_OPERATIONS = [\n \"createOne\",\n \"createMany\",\n \"findOne\",\n \"findMany\",\n \"updateOne\",\n \"updateMany\",\n \"deleteOne\",\n \"deleteMany\",\n] as const;\n\nconst AUTH_OPERATIONS = [\n \"login\",\n \"logout\",\n \"signup\",\n \"getMe\",\n \"updateMe\",\n \"updatePassword\",\n \"refreshToken\",\n] as const;\n\nconst FILE_UPLOAD_OPERATIONS = [\n \"uploadFile\",\n \"updateFile\",\n \"deleteFile\",\n \"findFile\",\n] as const;\n\nconst VALIDATION_OPERATIONS = [\n \"createOne\",\n \"updateOne\",\n \"login\",\n \"signup\",\n \"updateMe\",\n \"updatePassword\",\n] as const;\n\ntype ValidationOperation = (typeof VALIDATION_OPERATIONS)[number];\n\n/**\n * Translates from the new `ArkosRouteHook` and `ArkosServiceHook` loadable\n * instances in the global registry back to the old `ModuleComponents` shape\n * that the rest of the codebase still consumes.\n *\n * This is a compatibility bridge between v1 dynamic-loader and v2 explicit\n * registry — it allows call sites that still use `getModuleComponents()` to\n * keep working without changes while the migration to the new API is in progress.\n *\n * @example\n * ```ts\n * // Before (dynamic loader)\n * const { interceptors, hooks, router } = getModuleComponents(\"user\");\n *\n * // Now transparently backed by the registry translator\n * const { interceptors, hooks, router } = loadableDynamicTranslator.translate(\"user\");\n * ```\n */\nclass LoadableDynamicTranslator {\n private getOperations(moduleName: ArkosModuleType): readonly string[] {\n if (moduleName === \"auth\") return AUTH_OPERATIONS;\n if (moduleName === \"file-upload\") return FILE_UPLOAD_OPERATIONS;\n return PRISMA_OPERATIONS;\n }\n\n /**\n * Translates the route hook for a given module into the old `interceptors` shape.\n * Maps `{ before, after, onError }` per operation to flat `beforeX`, `afterX`, `onXError` keys.\n */\n private translateInterceptors(\n moduleName: ArkosModuleType\n ): Record<string, Function[]> {\n const interceptors: Record<string, Function[]> = {};\n\n for (const operation of this.getOperations(moduleName)) {\n const hooks = routeHookReader.getHooks(moduleName, operation as any);\n if (!hooks) continue;\n\n const pascal = operation.charAt(0).toUpperCase() + operation.slice(1);\n\n if (hooks.before?.length) interceptors[`before${pascal}`] = hooks.before;\n if (hooks.after?.length) interceptors[`after${pascal}`] = hooks.after;\n if (hooks.onError?.length)\n interceptors[`on${pascal}Error`] = hooks.onError;\n }\n\n return interceptors;\n }\n\n /**\n * Translates the service hook for a given module into the old `hooks` shape.\n * Maps `{ before, after, onError }` per operation to flat `beforeX`, `afterX`, `onXError` keys.\n */\n private translateHooks(\n moduleName: ArkosModuleType\n ): Record<string, Function[]> {\n const serviceHook = loadableRegistry.getItem(\n \"ArkosServiceHook\",\n moduleName\n );\n if (!serviceHook) return {};\n\n const hooks: Record<string, Function[]> = {};\n const store = (serviceHook as any)._store ?? {};\n\n for (const [operation, config] of Object.entries(store) as any) {\n const pascal = operation.charAt(0).toUpperCase() + operation.slice(1);\n\n if (config?.before?.length) hooks[`before${pascal}`] = config.before;\n if (config?.after?.length) hooks[`after${pascal}`] = config.after;\n if (config?.onError?.length) hooks[`on${pascal}Error`] = config.onError;\n }\n\n return hooks;\n }\n\n /**\n * Translates the route hook for a given module into the old `router.config` shape.\n * Maps per-operation route configs into a flat `RouterConfig` object.\n */\n private translateRouterConfig(\n moduleName: ArkosModuleType\n ): Record<string, any> {\n const config: Record<string, any> = {};\n\n for (const operation of this.getOperations(moduleName)) {\n const routeConfig = routeHookReader.getRouteConfig(\n moduleName,\n operation as any\n );\n if (routeConfig && Object.keys(routeConfig).length > 0) {\n config[operation] = routeConfig;\n }\n }\n\n return config;\n }\n\n /**\n * Translates validation body from route hook configs into the old `schemas`/`dtos` shape.\n * Only cares about: createOne, updateOne, login, signup, updateMe, updatePassword.\n *\n * Auth operations map 1:1 by operation name.\n * Prisma: createOne → create, updateOne → update.\n */\n private translateValidation(moduleName: ArkosModuleType): {\n schemas: Record<string, any>;\n dtos: Record<string, any>;\n } {\n const schemas: Record<string, any> = {};\n const dtos: Record<string, any> = {};\n const isAuth = moduleName === \"auth\";\n\n for (const operation of VALIDATION_OPERATIONS) {\n // only process operations relevant to this module type\n const isAuthOp = [\n \"login\",\n \"signup\",\n \"updateMe\",\n \"updatePassword\",\n ].includes(operation);\n if (isAuth && !isAuthOp) continue;\n if (!isAuth && isAuthOp) continue;\n\n const config = routeHookReader.getFullConfig(\n moduleName,\n operation as any\n );\n const body = (config as any)?.validation?.body;\n if (!body) continue;\n\n const key = isAuth\n ? operation\n : operation === \"createOne\"\n ? \"create\"\n : operation === \"updateOne\"\n ? \"update\"\n : operation;\n\n // determine if it's a zod schema or class-validator dto\n const isZod = body?._def?.typeName?.startsWith(\"Zod\");\n if (isZod) schemas[key] = body;\n else dtos[key] = body;\n }\n\n return { schemas, dtos };\n }\n\n /**\n * Returns the resolved `ModuleComponents` for a given module name,\n * translated from the global loadable registry.\n */\n translate(moduleName: ArkosModuleType): ModuleComponents {\n const interceptors = this.translateInterceptors(moduleName);\n const hooks = this.translateHooks(moduleName);\n const routerConfig = this.translateRouterConfig(moduleName);\n const { schemas, dtos } = this.translateValidation(moduleName);\n\n return {\n ...(Object.keys(interceptors).length && { interceptors }),\n ...(Object.keys(hooks).length && { hooks }),\n ...(Object.keys(routerConfig).length && {\n router: { config: routerConfig, default: routerConfig },\n }),\n ...(Object.keys(schemas).length && { schemas }),\n ...(Object.keys(dtos).length && { dtos }),\n };\n }\n}\n\nexport const loadableDynamicTranslator = new LoadableDynamicTranslator();\n"]}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ArkosPolicy = ArkosPolicy;
|
|
7
|
-
const auth_service_1 = __importDefault(require("../../modules/auth/auth.service.js"));
|
|
8
|
-
function ArkosPolicy(resource) {
|
|
9
|
-
return buildPolicy(resource, {});
|
|
10
|
-
}
|
|
11
|
-
function buildPolicy(resource, store) {
|
|
12
|
-
const rule = (action, config) => {
|
|
13
|
-
const newStore = { ...store, [action]: config };
|
|
14
|
-
return buildPolicy(resource, newStore);
|
|
15
|
-
};
|
|
16
|
-
const actionEntries = Object.fromEntries(Object.entries(store).flatMap(([action, config]) => {
|
|
17
|
-
const authEntry = {
|
|
18
|
-
resource,
|
|
19
|
-
action,
|
|
20
|
-
rule: config,
|
|
21
|
-
};
|
|
22
|
-
const checker = (user) => auth_service_1.default.permission(action, resource, { [action]: config || {} })(user);
|
|
23
|
-
const canKey = `can${action.charAt(0).toUpperCase()}${action.slice(1)}`;
|
|
24
|
-
return [
|
|
25
|
-
[action, authEntry],
|
|
26
|
-
[canKey, checker],
|
|
27
|
-
];
|
|
28
|
-
}));
|
|
29
|
-
return {
|
|
30
|
-
__type: "ArkosPolicy",
|
|
31
|
-
resource,
|
|
32
|
-
rule,
|
|
33
|
-
...actionEntries,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/arkos-policy/index.ts"],"names":[],"mappings":";;;;;AAuCA,kCAIC;AAnCD,mFAA0D;AA+B1D,SAAgB,WAAW,CACzB,QAAmB;IAEnB,OAAO,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,WAAW,CAClB,QAAmB,EACnB,KAAsC;IAEtC,MAAM,IAAI,GAAG,CACX,MAAe,EACf,MAAuB,EAC2B,EAAE;QACpD,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAChD,OAAO,WAAW,CAAgC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;QACjD,MAAM,SAAS,GAA8C;YAC3D,QAAQ;YACR,MAAM;YACN,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,MAAM,OAAO,GAAkB,CAAC,IAAW,EAAoB,EAAE,CAC/D,sBAAW,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAClE,IAAI,CACL,CAAC;QAEJ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAExE,OAAO;YACL,CAAC,MAAM,EAAE,SAAS,CAAC;YACnB,CAAC,MAAM,EAAE,OAAO,CAAC;SAClB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,aAAsB;QAC9B,QAAQ;QACR,IAAI;QACJ,GAAG,aAAa;KACoC,CAAC;AACzD,CAAC","sourcesContent":["import { User } from \"../../types\";\nimport {\n ArkosPolicyRule,\n IArkosPolicy,\n PolicyAuthEntry,\n PolicyChecker,\n PolicyWithActions,\n} from \"./types\";\nimport authService from \"../../modules/auth/auth.service\";\n\n/**\n * Creates a typed policy for a Prisma model resource.\n *\n * Each `.rule()` call registers an action and returns the policy\n * with a typed `can{Action}` permission checker and a typed `{Action}`\n * entry — both passable to the `authentication` field on `ArkosRouteHook`\n * and `ArkosRouter`, and callable for fine-grained permission checks.\n *\n * @param resource - The resource name in kebab-case (e.g. `\"user\"`, `\"blog-post\"`)\n *\n * @example\n * ```ts\n * const userPolicy = ArkosPolicy(\"user\")\n * .rule(\"Create\", [\"Admin\", \"Editor\"])\n * .rule(\"View\", \"*\")\n * .rule(\"Delete\", [\"Admin\"]);\n *\n * // Pass to authentication field\n * userRouter.post({ path: \"/users\", authentication: userPolicy.Create });\n * userRouteHook.deleteOne({ authentication: userPolicy.Delete });\n *\n * // Fine-grained check\n * if (userPolicy.canCreate(req.user)) { ... }\n *\n * export default userPolicy;\n * ```\n *\n * @see {@link https://www.arkosjs.com/docs/api-referency/arkos-policy}\n */\nexport function ArkosPolicy<TResource extends string>(\n resource: TResource\n): IArkosPolicy<TResource, never> {\n return buildPolicy(resource, {});\n}\n\nfunction buildPolicy<TResource extends string, TActions extends string>(\n resource: TResource,\n store: Record<string, ArkosPolicyRule>\n): PolicyWithActions<TResource, TActions> {\n const rule = <TAction extends string>(\n action: TAction,\n config: ArkosPolicyRule\n ): PolicyWithActions<TResource, TActions | TAction> => {\n const newStore = { ...store, [action]: config };\n return buildPolicy<TResource, TActions | TAction>(resource, newStore);\n };\n\n const actionEntries = Object.fromEntries(\n Object.entries(store).flatMap(([action, config]) => {\n const authEntry: PolicyAuthEntry<TResource, typeof action> = {\n resource,\n action,\n rule: config,\n };\n\n const checker: PolicyChecker = (user?: User): Promise<boolean> =>\n authService.permission(action, resource, { [action]: config || {} })(\n user\n );\n\n const canKey = `can${action.charAt(0).toUpperCase()}${action.slice(1)}`;\n\n return [\n [action, authEntry],\n [canKey, checker],\n ];\n })\n );\n\n return {\n __type: \"ArkosPolicy\" as const,\n resource,\n rule,\n ...actionEntries,\n } as unknown as PolicyWithActions<TResource, TActions>;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/arkos-policy/types.ts"],"names":[],"mappings":"","sourcesContent":["import { User, UserRole } from \"../../types\";\nimport { DetailedAccessControlRule } from \"../../types/auth\";\n\nexport type ArkosPolicyRule = UserRole[] | DetailedAccessControlRule | \"*\";\n\nexport type PolicyAuthEntry<\n TResource extends string,\n TAction extends string,\n> = {\n readonly resource: TResource;\n readonly action: TAction;\n readonly rule: ArkosPolicyRule;\n};\n\nexport type PolicyChecker = (user?: User) => Promise<boolean>;\n\ntype CanKey<TAction extends string> = `can${Capitalize<TAction>}`;\n\nexport type PolicyWithActions<\n TResource extends string,\n TActions extends string,\n> = IArkosPolicy<TResource, TActions> & {\n [K in TActions]: PolicyAuthEntry<TResource, K>;\n} & {\n [K in CanKey<TActions>]: PolicyChecker;\n};\n\nexport interface IArkosPolicy<\n TResource extends string,\n TActions extends string = never,\n> {\n readonly __type: \"ArkosPolicy\";\n readonly resource: TResource;\n\n rule<TAction extends string>(\n action: TAction,\n config?: ArkosPolicyRule\n ): PolicyWithActions<TResource, TActions | TAction>;\n}\n"]}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArkosRouteHook = ArkosRouteHook;
|
|
4
|
-
function ArkosRouteHook(moduleName) {
|
|
5
|
-
const store = {};
|
|
6
|
-
const makeMethod = (name) => (config) => {
|
|
7
|
-
store[name] = config;
|
|
8
|
-
return proxy;
|
|
9
|
-
};
|
|
10
|
-
const base = {
|
|
11
|
-
__type: "ArkosRouteHook",
|
|
12
|
-
moduleName,
|
|
13
|
-
_store: store,
|
|
14
|
-
};
|
|
15
|
-
const methods = {};
|
|
16
|
-
if (moduleName === "auth") {
|
|
17
|
-
for (const name of [
|
|
18
|
-
"getMe",
|
|
19
|
-
"login",
|
|
20
|
-
"logout",
|
|
21
|
-
"signup",
|
|
22
|
-
"updateMe",
|
|
23
|
-
"updatePassword",
|
|
24
|
-
]) {
|
|
25
|
-
methods[name] = makeMethod(name);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
else if (moduleName === "file-upload" || moduleName === "fileUpload") {
|
|
29
|
-
for (const name of ["findFile", "uploadFile", "updateFile", "deleteFile"]) {
|
|
30
|
-
methods[name] = makeMethod(name);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
for (const name of [
|
|
35
|
-
"createOne",
|
|
36
|
-
"findOne",
|
|
37
|
-
"findMany",
|
|
38
|
-
"updateOne",
|
|
39
|
-
"deleteOne",
|
|
40
|
-
"createMany",
|
|
41
|
-
"updateMany",
|
|
42
|
-
"deleteMany",
|
|
43
|
-
]) {
|
|
44
|
-
methods[name] = makeMethod(name);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
const proxy = Object.assign(base, methods);
|
|
48
|
-
return proxy;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/arkos-route-hook/index.ts"],"names":[],"mappings":";;AAiCA,wCAuDC;AAvDD,SAAgB,cAAc,CAC5B,UAAa;IAEb,MAAM,KAAK,GAAqB,EAAE,CAAC;IAEnC,MAAM,UAAU,GACd,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,MAAkC,EAAE,EAAE;QACvD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEJ,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,gBAAyB;QACjC,UAAU;QACV,MAAM,EAAE,KAAK;KACd,CAAC;IAEF,MAAM,OAAO,GAGT,EAAE,CAAC;IAEP,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI;YACjB,OAAO;YACP,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,UAAU;YACV,gBAAgB;SACjB,EAAE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,KAAK,aAAa,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QACvE,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI;YACjB,WAAW;YACX,SAAS;YACT,UAAU;YACV,WAAW;YACX,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,YAAY;SACb,EAAE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE3C,OAAO,KAA2C,CAAC;AACrD,CAAC","sourcesContent":["import {\n ArkosModuleType,\n ArkosRouteHookReturn,\n ArkosRouteHookMethodConfig,\n} from \"./types\";\n\ninterface InterceptorStore {\n [methodName: string]: ArkosRouteHookMethodConfig;\n}\n\n/**\n * Creates an interceptor for a built-in Arkos module or a generated model route.\n *\n * The returned instance exposes only the methods relevant to that module,\n * and is registered into the app via `app.load()`.\n *\n * @param moduleName - The module to intercept. Use `\"auth\"` or `\"file-upload\"`\n * for built-in modules, or any prisma model name string for generated CRUD routes.\n *\n * @example\n * ```ts\n * const userInterceptor = ArkosRouteHook(\"user\");\n *\n * userInterceptor.createOne({\n * validation: { body: CreateUserSchema },\n * before: [sanitize],\n * after: [notify]\n * });\n *\n * app.load(userInterceptor);\n * ```\n * @see {@link https://www.arkosjs.com/docs/core-concepts/components/interceptors}\n */\nexport function ArkosRouteHook<T extends ArkosModuleType>(\n moduleName: T\n): ArkosRouteHookReturn<T> {\n const store: InterceptorStore = {};\n\n const makeMethod =\n (name: string) => (config: ArkosRouteHookMethodConfig) => {\n store[name] = config;\n return proxy;\n };\n\n const base = {\n __type: \"ArkosRouteHook\" as const,\n moduleName,\n _store: store,\n };\n\n const methods: Record<\n string,\n (config: ArkosRouteHookMethodConfig) => unknown\n > = {};\n\n if (moduleName === \"auth\") {\n for (const name of [\n \"getMe\",\n \"login\",\n \"logout\",\n \"signup\",\n \"updateMe\",\n \"updatePassword\",\n ]) {\n methods[name] = makeMethod(name);\n }\n } else if (moduleName === \"file-upload\" || moduleName === \"fileUpload\") {\n for (const name of [\"findFile\", \"uploadFile\", \"updateFile\", \"deleteFile\"]) {\n methods[name] = makeMethod(name);\n }\n } else {\n for (const name of [\n \"createOne\",\n \"findOne\",\n \"findMany\",\n \"updateOne\",\n \"deleteOne\",\n \"createMany\",\n \"updateMany\",\n \"deleteMany\",\n ]) {\n methods[name] = makeMethod(name);\n }\n }\n\n const proxy = Object.assign(base, methods);\n\n return proxy as unknown as ArkosRouteHookReturn<T>;\n}\n"]}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.routeHookReader = void 0;
|
|
7
|
-
const arkos_loadable_registry_1 = __importDefault(require("../../components/arkos-loadable-registry/index.js"));
|
|
8
|
-
const utils_1 = require("../../exports/utils/index.js");
|
|
9
|
-
class ArkosRouteHookReader {
|
|
10
|
-
getRouteHook(moduleName) {
|
|
11
|
-
return arkos_loadable_registry_1.default.getItem("ArkosRouteHook", (0, utils_1.kebabCase)(moduleName));
|
|
12
|
-
}
|
|
13
|
-
getStore(moduleName) {
|
|
14
|
-
return this.getRouteHook(moduleName)?._store ?? {};
|
|
15
|
-
}
|
|
16
|
-
hasOperation(moduleName, operation) {
|
|
17
|
-
return operation in this.getStore(moduleName);
|
|
18
|
-
}
|
|
19
|
-
getFullConfig(moduleName, operation) {
|
|
20
|
-
return this.getStore(moduleName)[operation] ?? null;
|
|
21
|
-
}
|
|
22
|
-
getHooks(moduleName, operation) {
|
|
23
|
-
const config = this.getStore(moduleName)[operation];
|
|
24
|
-
if (!config)
|
|
25
|
-
return {};
|
|
26
|
-
const { before, after, onError } = config;
|
|
27
|
-
return { before, after, onError };
|
|
28
|
-
}
|
|
29
|
-
getRouteConfig(moduleName, operation) {
|
|
30
|
-
const config = this.getStore(moduleName)[operation];
|
|
31
|
-
if (!config)
|
|
32
|
-
return null;
|
|
33
|
-
const { before, after, onError, prismaArgs, ...routeConfig } = config;
|
|
34
|
-
return routeConfig;
|
|
35
|
-
}
|
|
36
|
-
getPrismaArgs(moduleName, operation) {
|
|
37
|
-
return this.getStore(moduleName)[operation]?.prismaArgs;
|
|
38
|
-
}
|
|
39
|
-
forOperation(moduleName, operation) {
|
|
40
|
-
const { before = [], after = [], onError = [], } = this.getHooks(moduleName, operation) || {};
|
|
41
|
-
const prismaArgs = this.getPrismaArgs(moduleName, operation);
|
|
42
|
-
const routeConfig = this.getRouteConfig(moduleName, operation) ?? {};
|
|
43
|
-
return { before, after, onError, prismaArgs, routeConfig };
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.routeHookReader = new ArkosRouteHookReader();
|
|
47
|
-
//# sourceMappingURL=reader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../../src/components/arkos-route-hook/reader.ts"],"names":[],"mappings":";;;;;;AAAA,uGAAwE;AAUxE,+CAAgD;AA4BhD,MAAM,oBAAoB;IAChB,YAAY,CAAC,UAA2B;QAC9C,OAAO,iCAAgB,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAA,iBAAS,EAAC,UAAU,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,QAAQ,CACd,UAA2B;QAE3B,OAAQ,IAAI,CAAC,YAAY,CAAC,UAAU,CAAS,EAAE,MAAM,IAAI,EAAE,CAAC;IAC9D,CAAC;IAKD,YAAY,CACV,UAAmB,EACnB,SAAqC;QAErC,OAAO,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAKD,aAAa,CACX,UAAmB,EACnB,SAAqC;QAErC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAmB,CAAC,IAAI,IAAI,CAAC;IAChE,CAAC;IAKD,QAAQ,CACN,UAAmB,EACnB,SAAqC;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAmB,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IAMD,cAAc,CACZ,UAAmB,EACnB,SAAqC;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAmB,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC;QACtE,OAAO,WAAW,CAAC;IACrB,CAAC;IAKD,aAAa,CACX,UAAmB,EACnB,SAAqC;QAErC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAmB,CAAC,EAAE,UAAU,CAAC;IACpE,CAAC;IAKD,YAAY,CACV,UAAmB,EACnB,SAAqC;QAQrC,MAAM,EACJ,MAAM,GAAG,EAAE,EACX,KAAK,GAAG,EAAE,EACV,OAAO,GAAG,EAAE,GACb,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QACrE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC7D,CAAC;CACF;AAEY,QAAA,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAC","sourcesContent":["import loadableRegistry from \"../../components/arkos-loadable-registry\";\nimport {\n ArkosModuleType,\n ArkosRouteHookHooks,\n ArkosRouteHookMethodConfig,\n ArkosRouteHookInstance,\n ArkosAuthRouteHookInstance,\n ArkosFileUploadRouteHookInstance,\n} from \"./types\";\nimport { ArkosRequestHandler, ArkosRouteConfig } from \"../../exports\";\nimport { kebabCase } from \"../../exports/utils\";\n\ntype PrismaOperations = keyof Omit<\n ArkosRouteHookInstance<any>,\n \"__type\" | \"moduleName\"\n>;\n\nexport type OperationByModule<TModule extends ArkosModuleType> =\n TModule extends \"file-upload\"\n ? keyof Omit<ArkosFileUploadRouteHookInstance, \"__type\" | \"moduleName\">\n : TModule extends \"auth\"\n ? keyof Omit<ArkosAuthRouteHookInstance, \"__type\" | \"moduleName\">\n : PrismaOperations;\n\n/**\n * Reader for `ArkosRouteHook` instances.\n * Reads config from the global loadable registry by module name.\n *\n * @example\n * ```ts\n * routeHookReader.getHooks(\"user\", \"findMany\") // { before, after, onError }\n * routeHookReader.getRouteConfig(\"user\", \"findMany\") // ArkosRouteConfig minus path and hooks\n * routeHookReader.getPrismaArgs(\"user\", \"findMany\") // prismaArgs for that operation\n * routeHookReader.getFullConfig(\"user\", \"findMany\") // full raw config object\n * routeHookReader.hasOperation(\"user\", \"findMany\") // true | false\n * routeHookReader.forOperation(\"user\", \"findMany\") // { before, after, onError, prismaArgs, routeConfig }\n * ```\n */\nclass ArkosRouteHookReader {\n private getRouteHook(moduleName: ArkosModuleType) {\n return loadableRegistry.getItem(\"ArkosRouteHook\", kebabCase(moduleName));\n }\n\n private getStore(\n moduleName: ArkosModuleType\n ): Record<string, ArkosRouteHookMethodConfig> {\n return (this.getRouteHook(moduleName) as any)?._store ?? {};\n }\n\n /**\n * Returns true if the routeHook has a config registered for the given operation.\n */\n hasOperation<TModule extends ArkosModuleType>(\n moduleName: TModule,\n operation: OperationByModule<TModule>\n ): boolean {\n return operation in this.getStore(moduleName);\n }\n\n /**\n * Returns the full raw config for the given operation, or `null` if not registered.\n */\n getFullConfig<TModule extends ArkosModuleType>(\n moduleName: TModule,\n operation: OperationByModule<TModule>\n ): ArkosRouteHookMethodConfig | null {\n return this.getStore(moduleName)[operation as string] ?? null;\n }\n\n /**\n * Returns only the lifecycle hooks (`before`, `after`, `onError`) for the given operation.\n */\n getHooks<TModule extends ArkosModuleType>(\n moduleName: TModule,\n operation: OperationByModule<TModule>\n ): ArkosRouteHookHooks | undefined {\n const config = this.getStore(moduleName)[operation as string];\n if (!config) return {};\n const { before, after, onError } = config;\n return { before, after, onError };\n }\n\n /**\n * Returns the `ArkosRouteConfig` portion of the config (excludes `path`, hooks, and `prismaArgs`)\n * for the given operation.\n */\n getRouteConfig<TModule extends ArkosModuleType>(\n moduleName: TModule,\n operation: OperationByModule<TModule>\n ): Omit<ArkosRouteConfig, \"path\"> | null {\n const config = this.getStore(moduleName)[operation as string];\n if (!config) return null;\n const { before, after, onError, prismaArgs, ...routeConfig } = config;\n return routeConfig;\n }\n\n /**\n * Returns the `prismaArgs` for the given operation, or `undefined` if not set.\n */\n getPrismaArgs<TModule extends ArkosModuleType>(\n moduleName: TModule,\n operation: OperationByModule<TModule>\n ): Record<string, any> | undefined {\n return this.getStore(moduleName)[operation as string]?.prismaArgs;\n }\n\n /**\n * Returns all extracted slices for a given operation in one call.\n */\n forOperation<TModule extends ArkosModuleType>(\n moduleName: TModule,\n operation: OperationByModule<TModule>\n ): {\n before: ArkosRequestHandler[];\n after: ArkosRequestHandler[];\n onError: ArkosRequestHandler[];\n prismaArgs?: Record<string, any>;\n routeConfig: Omit<ArkosRouteConfig, \"path\">;\n } {\n const {\n before = [],\n after = [],\n onError = [],\n } = this.getHooks(moduleName, operation) || {};\n const prismaArgs = this.getPrismaArgs(moduleName, operation);\n const routeConfig = this.getRouteConfig(moduleName, operation) ?? {};\n return { before, after, onError, prismaArgs, routeConfig };\n }\n}\n\nexport const routeHookReader = new ArkosRouteHookReader();\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/arkos-route-hook/types.ts"],"names":[],"mappings":"","sourcesContent":["import { ArkosRouteConfig } from \"../../exports\";\nimport { PrismaModels } from \"../../generated\";\nimport { ArkosRequestHandler } from \"../../types\";\n\nexport type Models = keyof PrismaModels<any>;\n\nexport interface ArkosRouteHookHooks {\n before?: ArkosRequestHandler[];\n after?: ArkosRequestHandler[];\n onError?: ArkosRequestHandler[];\n}\n\n/**\n * Extracts the correct Prisma args type for a given model and operation.\n * Falls back to `Record<string, any>` if the model or operation is not found.\n */\ntype PrismaQueryFor<\n TModel extends string,\n TOp extends string,\n> = TModel extends keyof PrismaModels<any>\n ? TOp extends keyof PrismaModels<any>[TModel]\n ? Partial<PrismaModels<any>[TModel][TOp]>\n : Record<string, any>\n : Record<string, any>;\n\n/**\n * Full config for an interceptor method — inherits all ArkosRouteConfig options\n * (validation, auth, rate limiting, etc.) minus `path`, plus lifecycle hooks,\n * plus `prismaQuery` typed to the specific model and operation's Prisma args.\n */\nexport type ArkosRouteHookMethodConfig<\n TModel extends string = string,\n TOp extends string = string,\n> = Omit<ArkosRouteConfig, \"path\"> &\n ArkosRouteHookHooks & {\n /**\n * Prisma options merged into this operation's query.\n * Typed against the model's actual Prisma args for this operation.\n */\n prismaArgs?: PrismaQueryFor<TModel, TOp>;\n };\n\n/**\n * Union of all valid module name types for ArkosRouteHook.\n * `string & {}` preserves autocomplete for \"auth\" and \"file-upload\"\n * while still accepting arbitrary model names.\n */\nexport type ArkosModuleType = \"auth\" | \"file-upload\" | Models;\n\n/**\n * Route hook instance for standard CRUD model routes.\n * Each method's `prismaQuery` is typed against the model's actual Prisma args.\n */\nexport interface ArkosRouteHookInstance<TModel extends Models> {\n readonly __type: \"ArkosRouteHook\";\n readonly moduleName: TModel;\n\n createOne(config: ArkosRouteHookMethodConfig<TModel, \"CreateArgs\">): this;\n findOne(config: ArkosRouteHookMethodConfig<TModel, \"FindFirstArgs\">): this;\n findMany(config: ArkosRouteHookMethodConfig<TModel, \"FindManyArgs\">): this;\n updateOne(config: ArkosRouteHookMethodConfig<TModel, \"UpdateArgs\">): this;\n deleteOne(config: ArkosRouteHookMethodConfig<TModel, \"DeleteArgs\">): this;\n createMany(\n config: ArkosRouteHookMethodConfig<TModel, \"CreateManyArgs\">\n ): this;\n updateMany(\n config: ArkosRouteHookMethodConfig<TModel, \"UpdateManyArgs\">\n ): this;\n deleteMany(\n config: ArkosRouteHookMethodConfig<TModel, \"DeleteManyArgs\">\n ): this;\n}\n\n/**\n * Route hook instance for the built-in auth module.\n * Only exposes methods relevant to auth routes.\n */\nexport interface ArkosAuthRouteHookInstance {\n readonly __type: \"ArkosRouteHook\";\n readonly moduleName: \"auth\";\n\n getMe(config: ArkosRouteHookMethodConfig): this;\n login(config: ArkosRouteHookMethodConfig): this;\n logout(config: ArkosRouteHookMethodConfig): this;\n signup(config: ArkosRouteHookMethodConfig): this;\n updateMe(config: ArkosRouteHookMethodConfig): this;\n deleteMe(config: ArkosRouteHookMethodConfig): this;\n updatePassword(config: ArkosRouteHookMethodConfig): this;\n findOneAuthAction(config: ArkosRouteHookMethodConfig): this;\n findManyAuthAction(config: ArkosRouteHookMethodConfig): this;\n}\n\n/**\n * Route hook instance for the built-in file-upload module.\n * Only exposes methods relevant to file routes.\n */\nexport interface ArkosFileUploadRouteHookInstance {\n readonly __type: \"ArkosRouteHook\";\n readonly moduleName: \"file-upload\";\n\n findFile(config: Omit<ArkosRouteHookMethodConfig, \"after\">): this;\n uploadFile(config: ArkosRouteHookMethodConfig): this;\n updateFile(config: ArkosRouteHookMethodConfig): this;\n deleteFile(config: ArkosRouteHookMethodConfig): this;\n}\n\n/**\n * Maps the module type string to its corresponding interceptor instance type.\n * Enables ArkosRouteHook() to return a narrowed type based on the argument.\n */\nexport type ArkosRouteHookReturn<T extends ArkosModuleType> = T extends \"auth\"\n ? ArkosAuthRouteHookInstance\n : T extends \"file-upload\"\n ? ArkosFileUploadRouteHookInstance\n : ArkosRouteHookInstance<T>;\n"]}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArkosServiceHook = ArkosServiceHook;
|
|
4
|
-
function ArkosServiceHook(moduleName) {
|
|
5
|
-
const store = {};
|
|
6
|
-
const makeMethod = (name) => (config) => {
|
|
7
|
-
store[name] = config;
|
|
8
|
-
return proxy;
|
|
9
|
-
};
|
|
10
|
-
const base = {
|
|
11
|
-
__type: "ArkosServiceHook",
|
|
12
|
-
moduleName,
|
|
13
|
-
_store: store,
|
|
14
|
-
};
|
|
15
|
-
const methods = {};
|
|
16
|
-
for (const name of [
|
|
17
|
-
"createOne",
|
|
18
|
-
"createMany",
|
|
19
|
-
"count",
|
|
20
|
-
"findMany",
|
|
21
|
-
"findOne",
|
|
22
|
-
"findById",
|
|
23
|
-
"updateOne",
|
|
24
|
-
"updateById",
|
|
25
|
-
"updateMany",
|
|
26
|
-
"deleteOne",
|
|
27
|
-
"deleteById",
|
|
28
|
-
"deleteMany",
|
|
29
|
-
]) {
|
|
30
|
-
methods[name] = makeMethod(name);
|
|
31
|
-
}
|
|
32
|
-
const proxy = Object.assign(base, methods);
|
|
33
|
-
return proxy;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/arkos-service-hook/index.ts"],"names":[],"mappings":";;AA6CA,4CA0CC;AA1CD,SAAgB,gBAAgB,CAG9B,UAAsB;IACtB,MAAM,KAAK,GAAgE,EAAE,CAAC;IAE9E,MAAM,UAAU,GACd,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,MAAiD,EAAE,EAAE;QACrE,KAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEJ,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,kBAA2B;QACnC,UAAU;QACV,MAAM,EAAE,KAAK;KACd,CAAC;IAEF,MAAM,OAAO,GAGT,EAAE,CAAC;IAEP,KAAK,MAAM,IAAI,IAAI;QACjB,WAAW;QACX,YAAY;QACZ,OAAO;QACP,UAAU;QACV,SAAS;QACT,UAAU;QACV,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,YAAY;KACb,EAAE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,KAAiE,CAAC;AAC3E,CAAC","sourcesContent":["import { ServiceHookContext } from \"../../exports/services\";\nimport { PrismaModels } from \"../../generated\";\nimport {\n ArkosServiceHookMethodConfigs,\n ArkosServiceHookInstance,\n ServiceHookOperationConfig,\n} from \"./types\";\n\ntype Models = PrismaModels<any>;\n\n/**\n * Creates a service hook for a generated Prisma model service.\n *\n * The returned instance exposes a method per service operation.\n * Each method accepts typed `before`, `after`, and `onError` handler arrays\n * that run around the corresponding `BaseService` method call.\n *\n * Unlike `ArkosRouteHook`, handlers here are **not** Express middlewares —\n * they receive a typed args object specific to each operation.\n *\n * Register via `app.load()` before calling `app.build()`.\n *\n * @param moduleName - The Prisma model name in kebab-case (e.g. `\"user\"`, `\"blog-post\"`)\n *\n * @example\n * ```ts\n * const userServiceHook = ArkosServiceHook(\"user\");\n *\n * userServiceHook.createOne({\n * before: [async ({ data, context }) => {\n * data.createdBy = context?.user?.id;\n * }],\n * after: [async ({ result }) => {\n * await notifyAdmins(result);\n * }],\n * onError: [async ({ error, data }) => {\n * await logFailure(error, data);\n * }],\n * });\n *\n * app.load(userServiceHook);\n * ```\n *\n * @see {@link https://www.arkosjs.com/docs/core-concepts/components/service-hooks}\n */\nexport function ArkosServiceHook<\n TModelName extends keyof Models = keyof Models,\n Context = ServiceHookContext,\n>(moduleName: TModelName): ArkosServiceHookInstance<TModelName, Context> {\n const store: Partial<ArkosServiceHookMethodConfigs<TModelName, Context>> = {};\n\n const makeMethod =\n (name: string) => (config: ServiceHookOperationConfig<any, any, any>) => {\n (store as any)[name] = config;\n return proxy;\n };\n\n const base = {\n __type: \"ArkosServiceHook\" as const,\n moduleName,\n _store: store,\n };\n\n const methods: Record<\n string,\n (config: ServiceHookOperationConfig<any, any, any>) => unknown\n > = {};\n\n for (const name of [\n \"createOne\",\n \"createMany\",\n \"count\",\n \"findMany\",\n \"findOne\",\n \"findById\",\n \"updateOne\",\n \"updateById\",\n \"updateMany\",\n \"deleteOne\",\n \"deleteById\",\n \"deleteMany\",\n ]) {\n methods[name] = makeMethod(name);\n }\n\n const proxy = Object.assign(base, methods);\n return proxy as unknown as ArkosServiceHookInstance<TModelName, Context>;\n}\n"]}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.serviceHookReader = void 0;
|
|
7
|
-
const arkos_loadable_registry_1 = __importDefault(require("../../components/arkos-loadable-registry/index.js"));
|
|
8
|
-
class ArkosServiceHookReader {
|
|
9
|
-
getServiceHook(moduleName) {
|
|
10
|
-
return arkos_loadable_registry_1.default.getItem("ArkosServiceHook", moduleName);
|
|
11
|
-
}
|
|
12
|
-
getStore(moduleName) {
|
|
13
|
-
return this.getServiceHook(moduleName)?._store ?? {};
|
|
14
|
-
}
|
|
15
|
-
hasOperation(moduleName, operation) {
|
|
16
|
-
return operation in this.getStore(moduleName);
|
|
17
|
-
}
|
|
18
|
-
getFullConfig(moduleName, operation) {
|
|
19
|
-
return this.getStore(moduleName)[operation] ?? null;
|
|
20
|
-
}
|
|
21
|
-
getHooks(moduleName, operation) {
|
|
22
|
-
const config = this.getStore(moduleName)[operation];
|
|
23
|
-
if (!config)
|
|
24
|
-
return {};
|
|
25
|
-
const { before, after, onError } = config;
|
|
26
|
-
return { before, after, onError };
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.serviceHookReader = new ArkosServiceHookReader();
|
|
30
|
-
//# sourceMappingURL=reader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../../src/components/arkos-service-hook/reader.ts"],"names":[],"mappings":";;;;;;AAAA,uGAAwE;AAuBxE,MAAM,sBAAsB;IAClB,cAAc,CAAC,UAA2B;QAChD,OAAO,iCAAgB,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAEO,QAAQ,CACd,UAA2B;QAE3B,OAAQ,IAAI,CAAC,cAAc,CAAC,UAAU,CAAS,EAAE,MAAM,IAAI,EAAE,CAAC;IAChE,CAAC;IAKD,YAAY,CACV,UAA2B,EAC3B,SAA+B;QAE/B,OAAO,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAKD,aAAa,CACX,UAA2B,EAC3B,SAA+B;QAE/B,OAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAS,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAC/D,CAAC;IAKD,QAAQ,CACN,UAA2B,EAC3B,SAA+B;QAE/B,MAAM,MAAM,GAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAS,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAC1C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACpC,CAAC;CACF;AAEY,QAAA,iBAAiB,GAAG,IAAI,sBAAsB,EAAE,CAAC","sourcesContent":["import loadableRegistry from \"../../components/arkos-loadable-registry\";\nimport { ArkosModuleType } from \"../arkos-route-hook/types\";\nimport {\n ArkosServiceHookMethodConfigs,\n ServiceHookOperationConfig,\n} from \"./types\";\n\ntype ServiceHookOperation = keyof ArkosServiceHookMethodConfigs<any, any>;\n\n/**\n * Reader for `ArkosServiceHook` instances.\n * Reads config from the global loadable registry by module name.\n *\n * @example\n * ```ts\n * serviceHookReader.getHooks(\"user\", \"createOne\") // { before, after, onError }\n * serviceHookReader.getHooks(\"user\", \"createOne\").before // ServiceHookHandler[]\n * serviceHookReader.getHooks(\"user\", \"createOne\").after // ServiceHookHandler[]\n * serviceHookReader.getHooks(\"user\", \"createOne\").onError // ServiceHookHandler[]\n * serviceHookReader.hasOperation(\"user\", \"createOne\") // true | false\n * serviceHookReader.getFullConfig(\"user\", \"createOne\") // { before, after, onError } | null\n * ```\n */\nclass ArkosServiceHookReader {\n private getServiceHook(moduleName: ArkosModuleType) {\n return loadableRegistry.getItem(\"ArkosServiceHook\", moduleName);\n }\n\n private getStore(\n moduleName: ArkosModuleType\n ): Partial<ArkosServiceHookMethodConfigs<any, any>> {\n return (this.getServiceHook(moduleName) as any)?._store ?? {};\n }\n\n /**\n * Returns true if the serviceHook has a config registered for the given operation.\n */\n hasOperation(\n moduleName: ArkosModuleType,\n operation: ServiceHookOperation\n ): boolean {\n return operation in this.getStore(moduleName);\n }\n\n /**\n * Returns the full raw config for the given operation, or `null` if not registered.\n */\n getFullConfig(\n moduleName: ArkosModuleType,\n operation: ServiceHookOperation\n ): ServiceHookOperationConfig<any, any, any> | null {\n return (this.getStore(moduleName) as any)[operation] ?? null;\n }\n\n /**\n * Returns only the lifecycle hooks (`before`, `after`, `onError`) for the given operation.\n */\n getHooks(\n moduleName: ArkosModuleType,\n operation: ServiceHookOperation\n ): ServiceHookOperationConfig<any, any, any> | undefined {\n const config = (this.getStore(moduleName) as any)[operation];\n if (!config) return {};\n const { before, after, onError } = config;\n return { before, after, onError };\n }\n}\n\nexport const serviceHookReader = new ArkosServiceHookReader();\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/arkos-service-hook/types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n CountFilters,\n CreateData,\n CreateManyData,\n CreateManyOptions,\n CreateManyResult,\n CreateOptions,\n CreateResult,\n DeleteManyFilters,\n DeleteOneFilters,\n FindManyFilters,\n FindManyOptions,\n FindManyResult,\n FindOneFilters,\n FindOneOptions,\n FindOneResult,\n Models,\n UpdateManyData,\n UpdateManyFilters,\n UpdateManyOptions,\n UpdateOneData,\n UpdateOneFilters,\n UpdateOneOptions,\n UpdateOneResult,\n} from \"../../modules/base/types/base.service.types\";\nimport { User } from \"../../types\";\n\nexport interface ServiceHookContext {\n /**\n * The authenticated user making the request.\n */\n user?: User;\n\n /**\n * The access token from the request for authorization.\n */\n accessToken?: string;\n\n /**\n * Hook types to skip for this operation.\n * - `\"before\"`: Skip before hooks\n * - `\"after\"`: Skip after hooks\n * - `\"error\"`: Skip error hooks\n * - `\"all\"`: Skip all hooks\n *\n * @example\n * ```ts\n * { skip: [\"before\", \"error\"] }\n * { skip: \"all\" }\n * ```\n */\n skip?:\n | (\"before\" | \"after\" | \"error\")[]\n | \"before\"\n | \"after\"\n | \"error\"\n | \"all\";\n\n /**\n * Whether to re-throw errors after error hooks have run.\n * - `true` (default): re-throws the error\n * - `false`: returns the fallback value instead\n * @default true\n */\n throwOnError?: boolean;\n}\n\nexport type ServiceHookHandler<TArgs> = (args: TArgs) => void | Promise<void>;\n\nexport interface ServiceHookOperationConfig<TBefore, TAfter, TError> {\n before?: ServiceHookHandler<TBefore>[];\n after?: ServiceHookHandler<TAfter>[];\n onError?: ServiceHookHandler<TError>[];\n}\n\nexport interface BeforeCreateOneHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n data: CreateData<TModelName>;\n queryOptions?: CreateOptions<TModelName>;\n context?: Context;\n}\n\nexport interface AfterCreateOneHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: CreateResult<TModelName>;\n data: CreateData<TModelName>;\n queryOptions?: CreateOptions<TModelName>;\n context?: Context;\n}\n\nexport interface OnCreateOneErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeCreateOneHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport interface BeforeCreateManyHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n data: CreateManyData<TModelName>;\n queryOptions?: CreateManyOptions<TModelName>;\n context?: Context;\n}\n\nexport interface AfterCreateManyHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: CreateManyResult<TModelName>;\n data: CreateManyData<TModelName>;\n queryOptions?: CreateManyOptions<TModelName>;\n context?: Context;\n}\n\nexport interface OnCreateManyErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeCreateManyHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport interface BeforeCountHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n filters?: CountFilters<TModelName>;\n context?: Context;\n}\n\nexport interface AfterCountHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: number;\n filters?: CountFilters<TModelName>;\n context?: Context;\n}\n\nexport interface OnCountErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeCountHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport interface BeforeFindManyHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n filters?: FindManyFilters<TModelName>;\n queryOptions?: FindManyOptions<TModelName>;\n context?: Context;\n}\n\nexport interface AfterFindManyHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: FindManyResult<TModelName>;\n filters?: FindManyFilters<TModelName>;\n queryOptions?: FindManyOptions<TModelName>;\n context?: Context;\n}\n\nexport interface OnFindManyErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeFindManyHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport interface BeforeFindOneHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n filters: FindOneFilters<TModelName>;\n queryOptions?: FindOneOptions<TModelName>;\n context?: Context;\n}\n\nexport interface AfterFindOneHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: FindOneResult<TModelName>;\n filters: FindOneFilters<TModelName>;\n queryOptions?: FindOneOptions<TModelName>;\n context?: Context;\n}\n\nexport interface OnFindOneErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeFindOneHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport interface BeforeUpdateOneHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n filters: UpdateOneFilters<TModelName>;\n data: UpdateOneData<TModelName>;\n queryOptions?: UpdateOneOptions<TModelName>;\n context?: Context;\n}\n\nexport interface AfterUpdateOneHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: UpdateOneResult<TModelName>;\n filters: UpdateOneFilters<TModelName>;\n data: UpdateOneData<TModelName>;\n queryOptions?: UpdateOneOptions<TModelName>;\n context?: Context;\n}\n\nexport interface OnUpdateOneErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeUpdateOneHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport interface BeforeUpdateManyHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n filters: UpdateManyFilters<TModelName>;\n data: UpdateManyData<TModelName>;\n queryOptions?: UpdateManyOptions<TModelName>;\n context?: Context;\n}\n\nexport interface AfterUpdateManyHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: { count: number };\n filters: UpdateManyFilters<TModelName>;\n data: UpdateManyData<TModelName>;\n queryOptions?: UpdateManyOptions<TModelName>;\n context?: Context;\n}\n\nexport interface OnUpdateManyErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeUpdateManyHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport interface BeforeDeleteOneHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n filters: DeleteOneFilters<TModelName>;\n context?: Context;\n}\n\nexport interface AfterDeleteOneHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: Models[TModelName][\"GetPayload\"];\n filters: DeleteOneFilters<TModelName>;\n context?: Context;\n}\n\nexport interface OnDeleteOneErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeDeleteOneHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport interface BeforeDeleteManyHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n filters: DeleteManyFilters<TModelName>;\n context?: Context;\n}\n\nexport interface AfterDeleteManyHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: { count: number };\n filters: DeleteManyFilters<TModelName>;\n context?: Context;\n}\n\nexport interface OnDeleteManyErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeDeleteManyHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport interface BeforeFindByIdHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n id: string | number;\n queryOptions?: FindOneOptions<TModelName>;\n context?: Context;\n}\n\nexport interface AfterFindByIdHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: FindOneResult<TModelName>;\n id: string | number;\n queryOptions?: FindOneOptions<TModelName>;\n context?: Context;\n}\n\nexport interface OnFindByIdErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeFindByIdHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport interface BeforeUpdateByIdHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n id: string | number;\n data: UpdateOneData<TModelName>;\n queryOptions?: UpdateOneOptions<TModelName>;\n context?: Context;\n}\n\nexport interface AfterUpdateByIdHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: UpdateOneResult<TModelName>;\n id: string | number;\n data: UpdateOneData<TModelName>;\n queryOptions?: UpdateOneOptions<TModelName>;\n context?: Context;\n}\n\nexport interface OnUpdateByIdErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeUpdateByIdHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport interface BeforeDeleteByIdHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n id: string | number;\n context?: Context;\n}\n\nexport interface AfterDeleteByIdHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> {\n result: Models[TModelName][\"GetPayload\"];\n id: string | number;\n context?: Context;\n}\n\nexport interface OnDeleteByIdErrorHookArgs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> extends BeforeDeleteByIdHookArgs<TModelName, Context> {\n error: any;\n}\n\nexport type ArkosServiceHookMethodConfigs<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> = {\n createOne?: ServiceHookOperationConfig<\n BeforeCreateOneHookArgs<TModelName, Context>,\n AfterCreateOneHookArgs<TModelName, Context>,\n OnCreateOneErrorHookArgs<TModelName, Context>\n >;\n createMany?: ServiceHookOperationConfig<\n BeforeCreateManyHookArgs<TModelName, Context>,\n AfterCreateManyHookArgs<TModelName, Context>,\n OnCreateManyErrorHookArgs<TModelName, Context>\n >;\n count?: ServiceHookOperationConfig<\n BeforeCountHookArgs<TModelName, Context>,\n AfterCountHookArgs<TModelName, Context>,\n OnCountErrorHookArgs<TModelName, Context>\n >;\n findMany?: ServiceHookOperationConfig<\n BeforeFindManyHookArgs<TModelName, Context>,\n AfterFindManyHookArgs<TModelName, Context>,\n OnFindManyErrorHookArgs<TModelName, Context>\n >;\n findOne?: ServiceHookOperationConfig<\n BeforeFindOneHookArgs<TModelName, Context>,\n AfterFindOneHookArgs<TModelName, Context>,\n OnFindOneErrorHookArgs<TModelName, Context>\n >;\n updateOne?: ServiceHookOperationConfig<\n BeforeUpdateOneHookArgs<TModelName, Context>,\n AfterUpdateOneHookArgs<TModelName, Context>,\n OnUpdateOneErrorHookArgs<TModelName, Context>\n >;\n updateMany?: ServiceHookOperationConfig<\n BeforeUpdateManyHookArgs<TModelName, Context>,\n AfterUpdateManyHookArgs<TModelName, Context>,\n OnUpdateManyErrorHookArgs<TModelName, Context>\n >;\n deleteOne?: ServiceHookOperationConfig<\n BeforeDeleteOneHookArgs<TModelName, Context>,\n AfterDeleteOneHookArgs<TModelName, Context>,\n OnDeleteOneErrorHookArgs<TModelName, Context>\n >;\n deleteMany?: ServiceHookOperationConfig<\n BeforeDeleteManyHookArgs<TModelName, Context>,\n AfterDeleteManyHookArgs<TModelName, Context>,\n OnDeleteManyErrorHookArgs<TModelName, Context>\n >;\n findById?: ServiceHookOperationConfig<\n BeforeFindByIdHookArgs<TModelName, Context>,\n AfterFindByIdHookArgs<TModelName, Context>,\n OnFindByIdErrorHookArgs<TModelName, Context>\n >;\n\n updateById?: ServiceHookOperationConfig<\n BeforeUpdateByIdHookArgs<TModelName, Context>,\n AfterUpdateByIdHookArgs<TModelName, Context>,\n OnUpdateByIdErrorHookArgs<TModelName, Context>\n >;\n\n deleteById?: ServiceHookOperationConfig<\n BeforeDeleteByIdHookArgs<TModelName, Context>,\n AfterDeleteByIdHookArgs<TModelName, Context>,\n OnDeleteByIdErrorHookArgs<TModelName, Context>\n >;\n};\n\nexport type ArkosServiceHookInstance<\n TModelName extends keyof Models,\n Context = ServiceHookContext,\n> = {\n readonly __type: \"ArkosServiceHook\";\n readonly moduleName: TModelName;\n readonly _store: Partial<ArkosServiceHookMethodConfigs<TModelName, Context>>;\n\n createOne(\n config: ServiceHookOperationConfig<\n BeforeCreateOneHookArgs<TModelName, Context>,\n AfterCreateOneHookArgs<TModelName, Context>,\n OnCreateOneErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n\n createMany(\n config: ServiceHookOperationConfig<\n BeforeCreateManyHookArgs<TModelName, Context>,\n AfterCreateManyHookArgs<TModelName, Context>,\n OnCreateManyErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n\n count(\n config: ServiceHookOperationConfig<\n BeforeCountHookArgs<TModelName, Context>,\n AfterCountHookArgs<TModelName, Context>,\n OnCountErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n\n findMany(\n config: ServiceHookOperationConfig<\n BeforeFindManyHookArgs<TModelName, Context>,\n AfterFindManyHookArgs<TModelName, Context>,\n OnFindManyErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n\n findOne(\n config: ServiceHookOperationConfig<\n BeforeFindOneHookArgs<TModelName, Context>,\n AfterFindOneHookArgs<TModelName, Context>,\n OnFindOneErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n\n updateOne(\n config: ServiceHookOperationConfig<\n BeforeUpdateOneHookArgs<TModelName, Context>,\n AfterUpdateOneHookArgs<TModelName, Context>,\n OnUpdateOneErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n\n updateMany(\n config: ServiceHookOperationConfig<\n BeforeUpdateManyHookArgs<TModelName, Context>,\n AfterUpdateManyHookArgs<TModelName, Context>,\n OnUpdateManyErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n\n deleteOne(\n config: ServiceHookOperationConfig<\n BeforeDeleteOneHookArgs<TModelName, Context>,\n AfterDeleteOneHookArgs<TModelName, Context>,\n OnDeleteOneErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n\n deleteMany(\n config: ServiceHookOperationConfig<\n BeforeDeleteManyHookArgs<TModelName, Context>,\n AfterDeleteManyHookArgs<TModelName, Context>,\n OnDeleteManyErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n\n findById(\n config: ServiceHookOperationConfig<\n BeforeFindByIdHookArgs<TModelName, Context>,\n AfterFindByIdHookArgs<TModelName, Context>,\n OnFindByIdErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n\n updateById(\n config: ServiceHookOperationConfig<\n BeforeUpdateByIdHookArgs<TModelName, Context>,\n AfterUpdateByIdHookArgs<TModelName, Context>,\n OnUpdateByIdErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n\n deleteById(\n config: ServiceHookOperationConfig<\n BeforeDeleteByIdHookArgs<TModelName, Context>,\n AfterDeleteByIdHookArgs<TModelName, Context>,\n OnDeleteByIdErrorHookArgs<TModelName, Context>\n >\n ): ArkosServiceHookInstance<TModelName, Context>;\n};\n"]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defaultExcludedUserFields = void 0;
|
|
4
|
-
var auth_controller_1 = require("./../../modules/auth/auth.controller.js");
|
|
5
|
-
Object.defineProperty(exports, "defaultExcludedUserFields", { enumerable: true, get: function () { return auth_controller_1.defaultExcludedUserFields; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/auth/index.ts"],"names":[],"mappings":";;;AAAA,wEAAiF;AAAxE,4HAAA,yBAAyB,OAAA","sourcesContent":["export { defaultExcludedUserFields } from \"./../../modules/auth/auth.controller\";\nexport {\n AuthConfigs,\n AuthJwtPayload,\n AccessControlConfig,\n AuthenticationControlConfig,\n} from \"../../types/auth\";\n"]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineConfig = void 0;
|
|
4
|
-
const define_config_1 = require("../utils/define-config.js");
|
|
5
|
-
Object.defineProperty(exports, "defineConfig", { enumerable: true, get: function () { return define_config_1.defineConfig; } });
|
|
6
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/exports/config.ts"],"names":[],"mappings":";;;AAAA,0DAAsD;AAE7C,6FAFA,4BAAY,OAEA","sourcesContent":["import { defineConfig } from \"../utils/define-config\";\n\nexport { defineConfig };\n"]}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.BaseController = exports.FileUploadController = exports.fileUploadController = void 0;
|
|
37
|
-
const base_controller_1 = require("./../../modules/base/base.controller.js");
|
|
38
|
-
Object.defineProperty(exports, "BaseController", { enumerable: true, get: function () { return base_controller_1.BaseController; } });
|
|
39
|
-
const file_upload_controller_1 = __importStar(require("../../modules/file-upload/file-upload.controller.js"));
|
|
40
|
-
exports.fileUploadController = file_upload_controller_1.default;
|
|
41
|
-
Object.defineProperty(exports, "FileUploadController", { enumerable: true, get: function () { return file_upload_controller_1.FileUploadController; } });
|
|
42
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0EAAsE;AAKjB,+FAL5C,gCAAc,OAK4C;AAJnE,2GAE0D;AAEjD,+BAJF,gCAAoB,CAIE;AAAE,qGAH7B,6CAAoB,OAG6B","sourcesContent":["import { BaseController } from \"./../../modules/base/base.controller\";\nimport fileUploadController, {\n FileUploadController,\n} from \"../../modules/file-upload/file-upload.controller\";\n\nexport { fileUploadController, FileUploadController, BaseController };\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.AppError = exports.catchAsync = void 0;
|
|
7
|
-
const catch_async_1 = __importDefault(require("../../modules/error-handler/utils/catch-async.js"));
|
|
8
|
-
exports.catchAsync = catch_async_1.default;
|
|
9
|
-
const app_error_1 = __importDefault(require("../../modules/error-handler/utils/app-error.js"));
|
|
10
|
-
exports.AppError = app_error_1.default;
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/error-handler/index.ts"],"names":[],"mappings":";;;;;;AAAA,gGAAuE;AAG9D,qBAHF,qBAAU,CAGE;AAFnB,4FAAmE;AAE9C,mBAFd,mBAAQ,CAEc","sourcesContent":["import catchAsync from \"../../modules/error-handler/utils/catch-async\";\nimport AppError from \"../../modules/error-handler/utils/app-error\";\n\nexport { catchAsync, AppError };\n"]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ArkosPolicy = exports.ArkosRouter = exports.ArkosServiceHook = exports.ArkosRouteHook = exports.getArkosConfig = exports.loadEnvironmentVariables = exports.BaseController = void 0;
|
|
7
|
-
const base_controller_1 = require("./../modules/base/base.controller.js");
|
|
8
|
-
Object.defineProperty(exports, "BaseController", { enumerable: true, get: function () { return base_controller_1.BaseController; } });
|
|
9
|
-
const server_1 = require("../server.js");
|
|
10
|
-
Object.defineProperty(exports, "getArkosConfig", { enumerable: true, get: function () { return server_1.getArkosConfig; } });
|
|
11
|
-
const arkos_router_1 = __importDefault(require("../utils/arkos-router/index.js"));
|
|
12
|
-
exports.ArkosRouter = arkos_router_1.default;
|
|
13
|
-
const dotenv_helpers_1 = require("../utils/dotenv.helpers.js");
|
|
14
|
-
Object.defineProperty(exports, "loadEnvironmentVariables", { enumerable: true, get: function () { return dotenv_helpers_1.loadEnvironmentVariables; } });
|
|
15
|
-
const app_1 = require("../app.js");
|
|
16
|
-
const arkos_route_hook_1 = require("../components/arkos-route-hook/index.js");
|
|
17
|
-
Object.defineProperty(exports, "ArkosRouteHook", { enumerable: true, get: function () { return arkos_route_hook_1.ArkosRouteHook; } });
|
|
18
|
-
const arkos_service_hook_1 = require("../components/arkos-service-hook/index.js");
|
|
19
|
-
Object.defineProperty(exports, "ArkosServiceHook", { enumerable: true, get: function () { return arkos_service_hook_1.ArkosServiceHook; } });
|
|
20
|
-
const arkos_policy_1 = require("../components/arkos-policy/index.js");
|
|
21
|
-
Object.defineProperty(exports, "ArkosPolicy", { enumerable: true, get: function () { return arkos_policy_1.ArkosPolicy; } });
|
|
22
|
-
exports.default = app_1.arkos;
|
|
23
|
-
//# sourceMappingURL=index.js.map
|