arkos 2.0.0-next.16 → 2.0.0-next.18
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 +33 -31
- package/cli.js +1 -8
- package/dist/esm/app.js +5 -12
- package/dist/esm/app.js.map +1 -1
- package/dist/esm/components/arkos-gateway/arkos-gateway.js +337 -0
- package/dist/esm/components/arkos-gateway/arkos-gateway.js.map +1 -0
- package/dist/esm/components/arkos-gateway/socket-extensions.js +161 -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 +47 -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 +39 -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-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/index.js +2 -2
- package/dist/esm/exports/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 +2 -2
- package/dist/esm/modules/auth/auth.controller.js.map +1 -1
- package/dist/esm/modules/auth/auth.service.js +83 -204
- 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/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 +6 -4
- package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
- package/dist/esm/modules/base/base.controller.js +11 -5
- package/dist/esm/modules/base/base.controller.js.map +1 -1
- package/dist/esm/modules/base/base.middlewares.js +12 -21
- package/dist/esm/modules/base/base.middlewares.js.map +1 -1
- package/dist/esm/modules/base/base.service.js +16 -128
- 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/email/email.service.js +14 -7
- package/dist/esm/modules/email/email.service.js.map +1 -1
- package/dist/esm/modules/error-handler/error-handler.controller.js +6 -66
- package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
- package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -1
- 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/file-upload/file-upload.router.js +9 -2
- package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.service.js +1 -1
- package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -1
- package/dist/esm/modules/swagger/swagger.router.js +11 -10
- package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
- package/dist/esm/modules/swagger/utils/get-open-api-login-html.js +3 -1
- package/dist/esm/modules/swagger/utils/get-open-api-login-html.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js +4 -2
- 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.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/upload.js +2 -0
- package/dist/esm/types/upload.js.map +1 -0
- package/dist/esm/types/validation/validation-manager.js +50 -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 +9 -33
- package/dist/esm/utils/arkos-router/arkos-router-openapi-manager.js.map +1 -1
- package/dist/esm/utils/arkos-router/index.js +15 -3
- package/dist/esm/utils/arkos-router/index.js.map +1 -1
- package/dist/esm/utils/arkos-router/types/index.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 +45 -9
- package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -1
- package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js +26 -6
- package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -1
- package/dist/esm/utils/cli/build.js +11 -2
- package/dist/esm/utils/cli/build.js.map +1 -1
- package/dist/esm/utils/cli/dev.js +4 -6
- package/dist/esm/utils/cli/dev.js.map +1 -1
- package/dist/esm/utils/cli/generate.js +0 -90
- package/dist/esm/utils/cli/generate.js.map +1 -1
- package/dist/esm/utils/cli/index.js +10 -74
- package/dist/esm/utils/cli/index.js.map +1 -1
- package/dist/esm/utils/cli/start.js +20 -11
- 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/template-generator/templates/class-validator-dto-generator.js +53 -17
- 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-multiple-components.js +3 -54
- 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/router-template.js +11 -4
- 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 +18 -18
- 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 +27 -24
- package/dist/esm/utils/cli/utils/template-generators.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/features/api.features.js.map +1 -1
- package/dist/esm/utils/helpers/arkos-config.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/exit-error.js +1 -1
- package/dist/esm/utils/helpers/exit-error.js.map +1 -1
- package/dist/esm/utils/initialize-app.js +3 -3
- package/dist/esm/utils/initialize-app.js.map +1 -1
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js +19 -18
- package/dist/esm/utils/prisma/prisma-json-schema-generator.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.map +1 -1
- package/dist/types/app.d.ts +4 -0
- 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 +2 -2
- package/dist/types/components/arkos-route-hook/types.d.ts +5 -1
- package/dist/types/exports/index.d.ts +3 -2
- 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 +12 -36
- package/dist/types/modules/auth/utils/auth-hooks-manager.d.ts +63 -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 +2 -2
- package/dist/types/modules/base/base.service.d.ts +5 -15
- package/dist/types/modules/base/types/base.service.types.d.ts +11 -0
- package/dist/types/modules/error-handler/utils/catch-async.d.ts +2 -2
- package/dist/types/modules/error-handler/utils/get-handled-error.d.ts +1 -0
- package/dist/types/modules/swagger/utils/helpers/openapi-schema-converter.d.ts +6 -1
- package/dist/types/types/arkos.d.ts +2 -15
- package/dist/types/types/index.d.ts +6 -5
- package/dist/types/types/new-arkos-config.d.ts +1 -1
- 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/index.d.ts +7 -0
- package/dist/types/utils/arkos-router/types/index.d.ts +35 -21
- package/dist/types/utils/arkos-router/types/upload-config.d.ts +2 -1
- package/dist/types/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.d.ts +6 -7
- package/dist/types/utils/arkos-router/utils/helpers/upload-manager.d.ts +1 -0
- package/dist/types/utils/cli/build.d.ts +1 -1
- package/dist/types/utils/cli/generate.d.ts +11 -10
- package/dist/types/utils/cli/start.d.ts +2 -0
- package/dist/types/utils/cli/utils/template-generator/templates/class-validator-dto-generator.d.ts +7 -0
- package/dist/types/utils/docs-links.d.ts +1 -0
- package/dist/types/utils/features/api.features.d.ts +1 -2
- package/dist/types/utils/helpers/arkos-config.helpers.d.ts +5 -0
- package/package.json +61 -30
- package/dist/cjs/app.js +0 -121
- 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 -38
- 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 -26
- 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 -130
- package/dist/cjs/modules/auth/auth.router.js.map +0 -1
- package/dist/cjs/modules/auth/auth.service.js +0 -433
- 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/auth-openapi-generator.js +0 -372
- package/dist/cjs/modules/auth/utils/auth-openapi-generator.js.map +0 -1
- package/dist/cjs/modules/auth/utils/auth-prisma-json-schema-generator.js +0 -101
- package/dist/cjs/modules/auth/utils/auth-prisma-json-schema-generator.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 -154
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +0 -1
- package/dist/cjs/modules/base/base.controller.js +0 -287
- package/dist/cjs/modules/base/base.controller.js.map +0 -1
- package/dist/cjs/modules/base/base.middlewares.js +0 -238
- package/dist/cjs/modules/base/base.middlewares.js.map +0 -1
- package/dist/cjs/modules/base/base.router.js +0 -126
- package/dist/cjs/modules/base/base.router.js.map +0 -1
- package/dist/cjs/modules/base/base.service.js +0 -436
- 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.service.helpers.js +0 -243
- package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +0 -1
- package/dist/cjs/modules/base/utils/model-openapi-generator.js +0 -443
- package/dist/cjs/modules/base/utils/model-openapi-generator.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 -166
- package/dist/cjs/modules/error-handler/error-handler.controller.js.map +0 -1
- package/dist/cjs/modules/error-handler/utils/app-error.js +0 -27
- 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 -104
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +0 -1
- package/dist/cjs/modules/error-handler/utils/errors.js +0 -158
- package/dist/cjs/modules/error-handler/utils/errors.js.map +0 -1
- package/dist/cjs/modules/error-handler/utils/multer-error-handler.js +0 -39
- package/dist/cjs/modules/error-handler/utils/multer-error-handler.js.map +0 -1
- package/dist/cjs/modules/file-upload/file-upload.controller.js +0 -252
- package/dist/cjs/modules/file-upload/file-upload.controller.js.map +0 -1
- package/dist/cjs/modules/file-upload/file-upload.router.js +0 -96
- 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/file-upload-json-schema-generator.js +0 -351
- package/dist/cjs/modules/file-upload/utils/file-upload-json-schema-generator.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 -81
- package/dist/cjs/modules/swagger/swagger.router.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/get-open-api-login-html.js +0 -306
- package/dist/cjs/modules/swagger/utils/get-open-api-login-html.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-swagger-default-configs.js +0 -72
- package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.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/package.json +0 -3
- package/dist/cjs/server.js +0 -60
- package/dist/cjs/server.js.map +0 -1
- package/dist/cjs/types/arkos-config/utils.js +0 -3
- package/dist/cjs/types/arkos-config/utils.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 -184
- package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js.map +0 -1
- package/dist/cjs/utils/arkos-router/index.js +0 -153
- 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/apply-arkos-router-proxy.js +0 -158
- package/dist/cjs/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +0 -1
- package/dist/cjs/utils/arkos-router/utils/helpers/index.js +0 -179
- 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 -540
- 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 -133
- package/dist/cjs/utils/cli/dev.js.map +0 -1
- package/dist/cjs/utils/cli/export-auth-action.js +0 -80
- package/dist/cjs/utils/cli/export-auth-action.js.map +0 -1
- package/dist/cjs/utils/cli/generate.js +0 -333
- package/dist/cjs/utils/cli/generate.js.map +0 -1
- package/dist/cjs/utils/cli/index.js +0 -259
- 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 -74
- 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 -118
- 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 -810
- 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 -64
- 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 -242
- 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 -51
- package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +0 -23
- 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-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 -545
- 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 -62
- 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 -60
- package/dist/cjs/utils/define-config.js.map +0 -1
- package/dist/cjs/utils/dotenv.helpers.js +0 -46
- 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 -216
- 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 -347
- package/dist/cjs/utils/helpers/api.features.helpers.js.map +0 -1
- package/dist/cjs/utils/helpers/arkos-config.helpers.js +0 -106
- 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 -13
- package/dist/cjs/utils/helpers/exit-error.js.map +0 -1
- package/dist/cjs/utils/helpers/fs.helpers.js +0 -52
- package/dist/cjs/utils/helpers/fs.helpers.js.map +0 -1
- package/dist/cjs/utils/helpers/global.helpers.js +0 -106
- package/dist/cjs/utils/helpers/global.helpers.js.map +0 -1
- package/dist/cjs/utils/helpers/prisma.helpers.js +0 -56
- 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/helpers/url-helpers.js +0 -14
- package/dist/cjs/utils/helpers/url-helpers.js.map +0 -1
- package/dist/cjs/utils/initialize-app.js +0 -80
- package/dist/cjs/utils/initialize-app.js.map +0 -1
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +0 -366
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +0 -1
- package/dist/cjs/utils/prisma/prisma-schema-parser.js +0 -380
- 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 -136
- 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-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/service-hooks-manager.js +0 -17
- package/dist/esm/modules/base/utils/service-hooks-manager.js.map +0 -1
- 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/service-hooks-manager.d.ts +0 -10
|
@@ -1,347 +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.parseQueryParamsWithModifiers = parseQueryParamsWithModifiers;
|
|
7
|
-
const deepmerge_helper_1 = __importDefault(require("./deepmerge.helper.js"));
|
|
8
|
-
const prisma_schema_parser_1 = __importDefault(require("../prisma/prisma-schema-parser.js"));
|
|
9
|
-
function parseNestedObject(key, value) {
|
|
10
|
-
const results = [];
|
|
11
|
-
function traverse(obj, path = []) {
|
|
12
|
-
for (const [k, v] of Object.entries(obj)) {
|
|
13
|
-
if (k.includes("__")) {
|
|
14
|
-
const parsedKey = parseKeyString(k);
|
|
15
|
-
const basePath = v && typeof v === "object" && !Array.isArray(v) && parsedKey.operator
|
|
16
|
-
? [...path, ...parsedKey.fields, parsedKey.operator]
|
|
17
|
-
: [...path, ...parsedKey.fields];
|
|
18
|
-
if (v && typeof v === "object" && !Array.isArray(v))
|
|
19
|
-
traverse(v, basePath);
|
|
20
|
-
else
|
|
21
|
-
results.push({
|
|
22
|
-
fields: basePath,
|
|
23
|
-
operator: parsedKey.operator,
|
|
24
|
-
value: v,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
const currentPath = [...path, k];
|
|
29
|
-
if (v && typeof v === "object" && !Array.isArray(v)) {
|
|
30
|
-
traverse(v, currentPath);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
const lastPart = currentPath[currentPath.length - 1];
|
|
34
|
-
const possibleOperators = [
|
|
35
|
-
"icontains",
|
|
36
|
-
"contains",
|
|
37
|
-
"in",
|
|
38
|
-
"notIn",
|
|
39
|
-
"hasSome",
|
|
40
|
-
"hasEvery",
|
|
41
|
-
"or",
|
|
42
|
-
"isNull",
|
|
43
|
-
"isEmpty",
|
|
44
|
-
"gt",
|
|
45
|
-
"gte",
|
|
46
|
-
"lt",
|
|
47
|
-
"lte",
|
|
48
|
-
"equals",
|
|
49
|
-
"startsWith",
|
|
50
|
-
"endsWith",
|
|
51
|
-
"not",
|
|
52
|
-
"some",
|
|
53
|
-
"none",
|
|
54
|
-
"every",
|
|
55
|
-
];
|
|
56
|
-
let operator = null;
|
|
57
|
-
let fields = [...currentPath];
|
|
58
|
-
if (possibleOperators.includes(lastPart)) {
|
|
59
|
-
operator = lastPart;
|
|
60
|
-
fields = currentPath.slice(0, -1);
|
|
61
|
-
}
|
|
62
|
-
results.push({ fields, operator, value: v });
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
traverse({ [key]: value });
|
|
68
|
-
return results;
|
|
69
|
-
}
|
|
70
|
-
function parseKey(key, value) {
|
|
71
|
-
if ((key === "AND" || key === "OR") && Array.isArray(value)) {
|
|
72
|
-
return [
|
|
73
|
-
{
|
|
74
|
-
fields: [key],
|
|
75
|
-
operator: null,
|
|
76
|
-
value: value,
|
|
77
|
-
},
|
|
78
|
-
];
|
|
79
|
-
}
|
|
80
|
-
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
81
|
-
if (key.includes("__")) {
|
|
82
|
-
const parsedKey = parseKeyString(key);
|
|
83
|
-
const basePath = parsedKey.operator
|
|
84
|
-
? [...parsedKey.fields, parsedKey.operator]
|
|
85
|
-
: parsedKey.fields;
|
|
86
|
-
const results = [];
|
|
87
|
-
function traverse(obj, path = []) {
|
|
88
|
-
for (const [k, v] of Object.entries(obj)) {
|
|
89
|
-
if (k.includes("__")) {
|
|
90
|
-
const innerParsedKey = parseKeyString(k);
|
|
91
|
-
const basePath = v &&
|
|
92
|
-
typeof v === "object" &&
|
|
93
|
-
!Array.isArray(v) &&
|
|
94
|
-
innerParsedKey.operator
|
|
95
|
-
? [...path, ...innerParsedKey.fields, innerParsedKey.operator]
|
|
96
|
-
: [...path, ...innerParsedKey.fields];
|
|
97
|
-
if (v && typeof v === "object" && !Array.isArray(v)) {
|
|
98
|
-
traverse(v, basePath);
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
results.push({
|
|
102
|
-
fields: basePath,
|
|
103
|
-
operator: innerParsedKey.operator,
|
|
104
|
-
value: v,
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
const currentPath = [...path, k];
|
|
110
|
-
if (v && typeof v === "object" && !Array.isArray(v)) {
|
|
111
|
-
traverse(v, currentPath);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
const possibleOperators = [
|
|
115
|
-
"icontains",
|
|
116
|
-
"contains",
|
|
117
|
-
"in",
|
|
118
|
-
"notIn",
|
|
119
|
-
"hasSome",
|
|
120
|
-
"hasEvery",
|
|
121
|
-
"or",
|
|
122
|
-
"isNull",
|
|
123
|
-
"isEmpty",
|
|
124
|
-
"gt",
|
|
125
|
-
"gte",
|
|
126
|
-
"lt",
|
|
127
|
-
"lte",
|
|
128
|
-
"equals",
|
|
129
|
-
"startsWith",
|
|
130
|
-
"endsWith",
|
|
131
|
-
"not",
|
|
132
|
-
"some",
|
|
133
|
-
"none",
|
|
134
|
-
"every",
|
|
135
|
-
];
|
|
136
|
-
let operator = null;
|
|
137
|
-
let fields = [...currentPath];
|
|
138
|
-
if (possibleOperators.includes(k)) {
|
|
139
|
-
operator = k;
|
|
140
|
-
fields = currentPath.slice(0, -1);
|
|
141
|
-
}
|
|
142
|
-
results.push({ fields, operator, value: v });
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
traverse(value, basePath);
|
|
148
|
-
return results;
|
|
149
|
-
}
|
|
150
|
-
return parseNestedObject(key, value);
|
|
151
|
-
}
|
|
152
|
-
const parsedKey = parseKeyString(key);
|
|
153
|
-
return [{ fields: parsedKey.fields, operator: parsedKey.operator, value }];
|
|
154
|
-
}
|
|
155
|
-
function parseKeyString(key) {
|
|
156
|
-
const fields = [];
|
|
157
|
-
let i = 0;
|
|
158
|
-
while (i < key.length) {
|
|
159
|
-
if (key[i] === "_" && key[i + 1] === "_") {
|
|
160
|
-
i += 2;
|
|
161
|
-
continue;
|
|
162
|
-
}
|
|
163
|
-
let nextDelimiter = key.length;
|
|
164
|
-
const nextUnderscore = key.indexOf("__", i);
|
|
165
|
-
if (nextUnderscore !== -1 && nextUnderscore < nextDelimiter) {
|
|
166
|
-
nextDelimiter = nextUnderscore;
|
|
167
|
-
}
|
|
168
|
-
const fieldName = key.substring(i, nextDelimiter);
|
|
169
|
-
if (fieldName) {
|
|
170
|
-
fields.push(fieldName);
|
|
171
|
-
}
|
|
172
|
-
i = nextDelimiter;
|
|
173
|
-
}
|
|
174
|
-
if (fields.length === 0)
|
|
175
|
-
return { fields: [], operator: null };
|
|
176
|
-
const possibleOperators = [
|
|
177
|
-
"icontains",
|
|
178
|
-
"contains",
|
|
179
|
-
"in",
|
|
180
|
-
"notIn",
|
|
181
|
-
"hasSome",
|
|
182
|
-
"hasEvery",
|
|
183
|
-
"or",
|
|
184
|
-
"isNull",
|
|
185
|
-
"isEmpty",
|
|
186
|
-
"gt",
|
|
187
|
-
"gte",
|
|
188
|
-
"lt",
|
|
189
|
-
"lte",
|
|
190
|
-
"equals",
|
|
191
|
-
"startsWith",
|
|
192
|
-
"endsWith",
|
|
193
|
-
"not",
|
|
194
|
-
"some",
|
|
195
|
-
"none",
|
|
196
|
-
"every",
|
|
197
|
-
];
|
|
198
|
-
const lastField = fields[fields.length - 1];
|
|
199
|
-
let operator = null;
|
|
200
|
-
let finalFields = fields;
|
|
201
|
-
if (possibleOperators.includes(lastField)) {
|
|
202
|
-
operator = lastField;
|
|
203
|
-
finalFields = fields.slice(0, -1);
|
|
204
|
-
}
|
|
205
|
-
return { fields: finalFields, operator };
|
|
206
|
-
}
|
|
207
|
-
function buildNestedObject(fields, operator, value, fieldConfig) {
|
|
208
|
-
if ((fields[0] === "AND" || fields[0] === "OR") &&
|
|
209
|
-
Array.isArray(value) &&
|
|
210
|
-
fields.length === 1) {
|
|
211
|
-
const processedConditions = value.map((condition) => {
|
|
212
|
-
const tempResult = parseQueryParamsWithModifiers(condition, fieldConfig);
|
|
213
|
-
return tempResult;
|
|
214
|
-
});
|
|
215
|
-
return {
|
|
216
|
-
[fields[0]]: processedConditions,
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
if (fields.length === 0)
|
|
220
|
-
return {};
|
|
221
|
-
const firstField = fields[0];
|
|
222
|
-
const lastField = fields[fields.length - 1];
|
|
223
|
-
if (firstField === "orderBy" && fields.length === 2 && !operator) {
|
|
224
|
-
return {
|
|
225
|
-
orderBy: {
|
|
226
|
-
[fields[1]]: value,
|
|
227
|
-
},
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
if (fields.length === 1 && !operator) {
|
|
231
|
-
if (typeof value === "object" && value !== null) {
|
|
232
|
-
return { [firstField]: value };
|
|
233
|
-
}
|
|
234
|
-
const convertedValue = typeof value === "string"
|
|
235
|
-
? convertValue(value, firstField, fieldConfig)
|
|
236
|
-
: value;
|
|
237
|
-
return { [firstField]: convertedValue };
|
|
238
|
-
}
|
|
239
|
-
if (operator === "or") {
|
|
240
|
-
const values = Array.isArray(value) ? value : value.toString().split(",");
|
|
241
|
-
return {
|
|
242
|
-
OR: values.map((val) => {
|
|
243
|
-
const nested = {};
|
|
244
|
-
let current = nested;
|
|
245
|
-
for (let i = 0; i < fields.length - 1; i++) {
|
|
246
|
-
current[fields[i]] = {};
|
|
247
|
-
current = current[fields[i]];
|
|
248
|
-
}
|
|
249
|
-
current[lastField] = convertValue(typeof val === "string" ? val.trim() : val, lastField, fieldConfig);
|
|
250
|
-
return nested;
|
|
251
|
-
}),
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
const result = {};
|
|
255
|
-
let current = result;
|
|
256
|
-
for (let i = 0; i < fields.length - 1; i++) {
|
|
257
|
-
current[fields[i]] = {};
|
|
258
|
-
current = current[fields[i]];
|
|
259
|
-
}
|
|
260
|
-
if (!operator) {
|
|
261
|
-
current[lastField] = convertValue(value, lastField, fieldConfig);
|
|
262
|
-
return result;
|
|
263
|
-
}
|
|
264
|
-
const stringValue = typeof value === "string" ? value : value?.toString();
|
|
265
|
-
switch (operator) {
|
|
266
|
-
case "icontains":
|
|
267
|
-
current[lastField] = {
|
|
268
|
-
contains: stringValue,
|
|
269
|
-
mode: "insensitive",
|
|
270
|
-
};
|
|
271
|
-
if (!["mongodb", "postgresql"].includes(prisma_schema_parser_1.default.config.datasourceProvider))
|
|
272
|
-
delete current[lastField].mode;
|
|
273
|
-
break;
|
|
274
|
-
case "contains":
|
|
275
|
-
current[lastField] = {
|
|
276
|
-
contains: stringValue,
|
|
277
|
-
mode: "sensitive",
|
|
278
|
-
};
|
|
279
|
-
if (!["mongodb", "postgresql"].includes(prisma_schema_parser_1.default.config.datasourceProvider))
|
|
280
|
-
delete current[lastField].mode;
|
|
281
|
-
break;
|
|
282
|
-
case "in":
|
|
283
|
-
case "notIn":
|
|
284
|
-
const inValues = Array.isArray(value) ? value : stringValue.split(",");
|
|
285
|
-
current[lastField] = {
|
|
286
|
-
[operator]: inValues.map((v) => convertValue(typeof v === "string" ? v.trim() : v, lastField, fieldConfig)),
|
|
287
|
-
};
|
|
288
|
-
break;
|
|
289
|
-
case "hasSome":
|
|
290
|
-
case "hasEvery":
|
|
291
|
-
const arrayValues = Array.isArray(value) ? value : stringValue.split(",");
|
|
292
|
-
current[lastField] = {
|
|
293
|
-
[operator]: arrayValues.map((v) => convertValue(typeof v === "string" ? v.trim() : v, lastField, fieldConfig)),
|
|
294
|
-
};
|
|
295
|
-
break;
|
|
296
|
-
case "isNull":
|
|
297
|
-
current[lastField] = {
|
|
298
|
-
equals: stringValue?.toLowerCase() === "true" ? null : undefined,
|
|
299
|
-
};
|
|
300
|
-
break;
|
|
301
|
-
case "isEmpty":
|
|
302
|
-
current[lastField] = {
|
|
303
|
-
equals: stringValue?.toLowerCase() === "true" ? "" : undefined,
|
|
304
|
-
};
|
|
305
|
-
break;
|
|
306
|
-
default:
|
|
307
|
-
current[lastField] = {
|
|
308
|
-
[operator]: value === null ? null : convertValue(value, lastField, fieldConfig),
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
return result;
|
|
312
|
-
}
|
|
313
|
-
const DEFAULT_FIELD_CONFIG = {
|
|
314
|
-
dateFields: ["createdAt", "updatedAt", "deletedAt", "date"],
|
|
315
|
-
booleanFields: ["isActive", "isDeleted", "isPublished", "isArchived"],
|
|
316
|
-
numericFields: ["age", "price", "quantity", "amount", "rating"],
|
|
317
|
-
};
|
|
318
|
-
function parseQueryParamsWithModifiers(query, fieldConfig = DEFAULT_FIELD_CONFIG) {
|
|
319
|
-
const entries = Object.entries(JSON.parse(JSON.stringify(query)));
|
|
320
|
-
let result = {};
|
|
321
|
-
for (const [key, value] of entries) {
|
|
322
|
-
if (value === undefined)
|
|
323
|
-
continue;
|
|
324
|
-
const parsedItems = parseKey(key, value);
|
|
325
|
-
for (const { fields, operator, value: val } of parsedItems) {
|
|
326
|
-
if (fields.length === 0)
|
|
327
|
-
continue;
|
|
328
|
-
const currentResult = buildNestedObject(fields, operator, val, fieldConfig);
|
|
329
|
-
result = (0, deepmerge_helper_1.default)(result, currentResult);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
return result;
|
|
333
|
-
}
|
|
334
|
-
function convertValue(value, fieldName, config) {
|
|
335
|
-
if (typeof value !== "string")
|
|
336
|
-
return value;
|
|
337
|
-
if (config.dateFields?.includes?.(fieldName) && value)
|
|
338
|
-
return new Date(value);
|
|
339
|
-
if (config.booleanFields?.includes?.(fieldName))
|
|
340
|
-
return value.toLowerCase() === "true";
|
|
341
|
-
if (config.numericFields?.includes?.(fieldName)) {
|
|
342
|
-
const num = Number(value);
|
|
343
|
-
return isNaN(num) ? value : num;
|
|
344
|
-
}
|
|
345
|
-
return value;
|
|
346
|
-
}
|
|
347
|
-
//# sourceMappingURL=api.features.helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.features.helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers/api.features.helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import deepmerge from \"./deepmerge.helper\";\nimport prismaSchemaParser from \"../prisma/prisma-schema-parser\";\n\nfunction parseNestedObject(\n key: string,\n value: any\n): { fields: string[]; operator: string | null; value: any }[] {\n const results: { fields: string[]; operator: string | null; value: any }[] =\n [];\n\n function traverse(obj: any, path: string[] = []) {\n for (const [k, v] of Object.entries(obj)) {\n if (k.includes(\"__\")) {\n const parsedKey = parseKeyString(k);\n const basePath =\n v && typeof v === \"object\" && !Array.isArray(v) && parsedKey.operator\n ? [...path, ...parsedKey.fields, parsedKey.operator]\n : [...path, ...parsedKey.fields];\n\n if (v && typeof v === \"object\" && !Array.isArray(v))\n traverse(v, basePath);\n else\n results.push({\n fields: basePath,\n operator: parsedKey.operator,\n value: v,\n });\n } else {\n const currentPath = [...path, k];\n\n if (v && typeof v === \"object\" && !Array.isArray(v)) {\n traverse(v, currentPath);\n } else {\n const lastPart = currentPath[currentPath.length - 1];\n const possibleOperators = [\n \"icontains\",\n \"contains\",\n \"in\",\n \"notIn\",\n \"hasSome\",\n \"hasEvery\",\n \"or\",\n \"isNull\",\n \"isEmpty\",\n \"gt\",\n \"gte\",\n \"lt\",\n \"lte\",\n \"equals\",\n \"startsWith\",\n \"endsWith\",\n \"not\",\n \"some\",\n \"none\",\n \"every\",\n ];\n\n let operator: string | null = null;\n let fields = [...currentPath];\n\n if (possibleOperators.includes(lastPart)) {\n operator = lastPart;\n fields = currentPath.slice(0, -1);\n }\n\n results.push({ fields, operator, value: v });\n }\n }\n }\n }\n\n traverse({ [key]: value });\n return results;\n}\n\nfunction parseKey(\n key: string,\n value: any\n): { fields: string[]; operator: string | null; value: any }[] {\n if ((key === \"AND\" || key === \"OR\") && Array.isArray(value)) {\n return [\n {\n fields: [key],\n operator: null,\n value: value,\n },\n ];\n }\n\n if (value && typeof value === \"object\" && !Array.isArray(value)) {\n if (key.includes(\"__\")) {\n const parsedKey = parseKeyString(key);\n\n const basePath = parsedKey.operator\n ? [...parsedKey.fields, parsedKey.operator]\n : parsedKey.fields;\n\n const results: {\n fields: string[];\n operator: string | null;\n value: any;\n }[] = [];\n\n function traverse(obj: any, path: string[] = []) {\n for (const [k, v] of Object.entries(obj)) {\n if (k.includes(\"__\")) {\n const innerParsedKey = parseKeyString(k);\n const basePath =\n v &&\n typeof v === \"object\" &&\n !Array.isArray(v) &&\n innerParsedKey.operator\n ? [...path, ...innerParsedKey.fields, innerParsedKey.operator]\n : [...path, ...innerParsedKey.fields];\n\n if (v && typeof v === \"object\" && !Array.isArray(v)) {\n traverse(v, basePath);\n } else {\n results.push({\n fields: basePath,\n operator: innerParsedKey.operator,\n value: v,\n });\n }\n } else {\n const currentPath = [...path, k];\n\n if (v && typeof v === \"object\" && !Array.isArray(v)) {\n traverse(v, currentPath);\n } else {\n const possibleOperators = [\n \"icontains\",\n \"contains\",\n \"in\",\n \"notIn\",\n \"hasSome\",\n \"hasEvery\",\n \"or\",\n \"isNull\",\n \"isEmpty\",\n \"gt\",\n \"gte\",\n \"lt\",\n \"lte\",\n \"equals\",\n \"startsWith\",\n \"endsWith\",\n \"not\",\n \"some\",\n \"none\",\n \"every\",\n ];\n\n let operator: string | null = null;\n let fields = [...currentPath];\n\n if (possibleOperators.includes(k)) {\n operator = k;\n fields = currentPath.slice(0, -1);\n }\n\n results.push({ fields, operator, value: v });\n }\n }\n }\n }\n\n traverse(value, basePath);\n return results;\n }\n\n return parseNestedObject(key, value);\n }\n\n const parsedKey = parseKeyString(key);\n return [{ fields: parsedKey.fields, operator: parsedKey.operator, value }];\n}\n\nfunction parseKeyString(key: string): {\n fields: string[];\n operator: string | null;\n} {\n const fields: string[] = [];\n let i = 0;\n\n while (i < key.length) {\n if (key[i] === \"_\" && key[i + 1] === \"_\") {\n i += 2;\n continue;\n }\n\n let nextDelimiter = key.length;\n const nextUnderscore = key.indexOf(\"__\", i);\n\n if (nextUnderscore !== -1 && nextUnderscore < nextDelimiter) {\n nextDelimiter = nextUnderscore;\n }\n\n const fieldName = key.substring(i, nextDelimiter);\n if (fieldName) {\n fields.push(fieldName);\n }\n i = nextDelimiter;\n }\n\n if (fields.length === 0) return { fields: [], operator: null };\n\n const possibleOperators = [\n \"icontains\",\n \"contains\",\n \"in\",\n \"notIn\",\n \"hasSome\",\n \"hasEvery\",\n \"or\",\n \"isNull\",\n \"isEmpty\",\n \"gt\",\n \"gte\",\n \"lt\",\n \"lte\",\n \"equals\",\n \"startsWith\",\n \"endsWith\",\n \"not\",\n \"some\",\n \"none\",\n \"every\",\n ];\n\n const lastField = fields[fields.length - 1];\n let operator: string | null = null;\n let finalFields = fields;\n\n if (possibleOperators.includes(lastField)) {\n operator = lastField;\n finalFields = fields.slice(0, -1);\n }\n\n return { fields: finalFields, operator };\n}\n\nfunction buildNestedObject(\n fields: string[],\n operator: string | null,\n value: any,\n fieldConfig: FieldConfig\n): any {\n // Handle top-level AND/OR arrays\n if (\n (fields[0] === \"AND\" || fields[0] === \"OR\") &&\n Array.isArray(value) &&\n fields.length === 1\n ) {\n // Process each condition in the array\n const processedConditions = value.map((condition: any) => {\n const tempResult = parseQueryParamsWithModifiers(condition, fieldConfig);\n return tempResult;\n });\n\n return {\n [fields[0]]: processedConditions,\n };\n }\n\n if (fields.length === 0) return {};\n\n const firstField = fields[0];\n const lastField = fields[fields.length - 1];\n\n if (firstField === \"orderBy\" && fields.length === 2 && !operator) {\n return {\n orderBy: {\n [fields[1]]: value as \"asc\" | \"desc\",\n },\n };\n }\n\n if (fields.length === 1 && !operator) {\n if (typeof value === \"object\" && value !== null) {\n return { [firstField]: value };\n }\n\n const convertedValue =\n typeof value === \"string\"\n ? convertValue(value, firstField, fieldConfig)\n : value;\n return { [firstField]: convertedValue };\n }\n\n if (operator === \"or\") {\n const values = Array.isArray(value) ? value : value.toString().split(\",\");\n\n return {\n OR: values.map((val: any) => {\n const nested: any = {};\n let current = nested;\n\n for (let i = 0; i < fields.length - 1; i++) {\n current[fields[i]] = {};\n current = current[fields[i]];\n }\n\n current[lastField] = convertValue(\n typeof val === \"string\" ? val.trim() : val,\n lastField,\n fieldConfig\n );\n\n return nested;\n }),\n };\n }\n\n const result: any = {};\n let current = result;\n\n for (let i = 0; i < fields.length - 1; i++) {\n current[fields[i]] = {};\n current = current[fields[i]];\n }\n\n if (!operator) {\n current[lastField] = convertValue(value, lastField, fieldConfig);\n return result;\n }\n\n const stringValue = typeof value === \"string\" ? value : value?.toString();\n\n switch (operator) {\n case \"icontains\":\n current[lastField] = {\n contains: stringValue,\n mode: \"insensitive\",\n };\n if (\n ![\"mongodb\", \"postgresql\"].includes(\n prismaSchemaParser.config.datasourceProvider\n )\n )\n delete current[lastField].mode;\n break;\n\n case \"contains\":\n current[lastField] = {\n contains: stringValue,\n mode: \"sensitive\",\n };\n if (\n ![\"mongodb\", \"postgresql\"].includes(\n prismaSchemaParser.config.datasourceProvider\n )\n )\n delete current[lastField].mode;\n break;\n\n case \"in\":\n case \"notIn\":\n const inValues = Array.isArray(value) ? value : stringValue.split(\",\");\n current[lastField] = {\n [operator]: inValues.map((v: any) =>\n convertValue(\n typeof v === \"string\" ? v.trim() : v,\n lastField,\n fieldConfig\n )\n ),\n };\n break;\n\n case \"hasSome\":\n case \"hasEvery\":\n const arrayValues = Array.isArray(value) ? value : stringValue.split(\",\");\n current[lastField] = {\n [operator]: arrayValues.map((v: any) =>\n convertValue(\n typeof v === \"string\" ? v.trim() : v,\n lastField,\n fieldConfig\n )\n ),\n };\n break;\n\n case \"isNull\":\n current[lastField] = {\n equals: stringValue?.toLowerCase() === \"true\" ? null : undefined,\n };\n break;\n\n case \"isEmpty\":\n current[lastField] = {\n equals: stringValue?.toLowerCase() === \"true\" ? \"\" : undefined,\n };\n break;\n\n default:\n current[lastField] = {\n [operator]:\n value === null ? null : convertValue(value, lastField, fieldConfig),\n };\n }\n\n return result;\n}\n\n/**\n * Configuration types for field type mapping\n */\ninterface FieldConfig {\n dateFields: string[];\n booleanFields: string[];\n numericFields: string[];\n}\n\n/**\n * Type for the structured filter object returned by the parser\n */\ntype ParsedFilter = {\n [key: string]: any;\n orderBy?: Record<string, \"asc\" | \"desc\">;\n OR?: Record<string, any>[];\n};\n\n/**\n * Default configuration for field types\n */\nconst DEFAULT_FIELD_CONFIG: FieldConfig = {\n dateFields: [\"createdAt\", \"updatedAt\", \"deletedAt\", \"date\"],\n booleanFields: [\"isActive\", \"isDeleted\", \"isPublished\", \"isArchived\"],\n numericFields: [\"age\", \"price\", \"quantity\", \"amount\", \"rating\"],\n};\n\n/**\n * Parses query parameters into a structured filter object compatible with Prisma queries.\n * Supports various operators and data type conversions with deep merge strategy.\n *\n * @param query - Object containing query parameters\n * @param fieldConfig - Optional configuration for field type mapping\n * @returns Structured filter object for database queries\n */\nexport function parseQueryParamsWithModifiers(\n query: Record<string, any>,\n fieldConfig: FieldConfig = DEFAULT_FIELD_CONFIG\n): ParsedFilter {\n const entries = Object.entries(JSON.parse(JSON.stringify(query)));\n let result: ParsedFilter = {};\n\n for (const [key, value] of entries) {\n if (value === undefined) continue;\n\n const parsedItems = parseKey(key, value);\n\n for (const { fields, operator, value: val } of parsedItems) {\n if (fields.length === 0) continue;\n\n const currentResult = buildNestedObject(\n fields,\n operator,\n val,\n fieldConfig\n );\n result = deepmerge(result, currentResult);\n }\n }\n\n return result;\n}\n\n/**\n * Converts string values to appropriate types based on field configuration\n */\nfunction convertValue(\n value: string,\n fieldName: string,\n config: FieldConfig\n): any {\n if (typeof value !== \"string\") return value;\n\n if (config.dateFields?.includes?.(fieldName) && value) return new Date(value);\n\n if (config.booleanFields?.includes?.(fieldName))\n return value.toLowerCase() === \"true\";\n\n if (config.numericFields?.includes?.(fieldName)) {\n const num = Number(value);\n return isNaN(num) ? value : num;\n }\n\n return value;\n}\n"]}
|
|
@@ -1,106 +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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.isUsingAuthentication = isUsingAuthentication;
|
|
40
|
-
exports.isAuthenticationEnabled = isAuthenticationEnabled;
|
|
41
|
-
exports.getArkosConfig = getArkosConfig;
|
|
42
|
-
exports.isProduction = isProduction;
|
|
43
|
-
exports.validateArkosConfig = validateArkosConfig;
|
|
44
|
-
const define_config_1 = require("../define-config.js");
|
|
45
|
-
const sheu_1 = __importDefault(require("../sheu.js"));
|
|
46
|
-
const exit_error_1 = __importDefault(require("./exit-error.js"));
|
|
47
|
-
const fsHelpers = __importStar(require("./fs.helpers.js"));
|
|
48
|
-
const prisma_helpers_1 = require("./prisma.helpers.js");
|
|
49
|
-
const fs_helpers_1 = require("./fs.helpers");
|
|
50
|
-
let definedArkosConfig = {};
|
|
51
|
-
try {
|
|
52
|
-
definedArkosConfig = process.env.NO_CLI === "true" ? __importDefault(require(`${fs_helpers_1.crd()}/arkos.config.${fs_helpers_1.getUserFileExtension()}`)) : () => {};
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
if (err.message.toLowerCase().includes("cannot find module"))
|
|
56
|
-
sheu_1.default.warn(`Using default configs, because arkos.config.${fsHelpers.getUserFileExtension()} was not found`, {
|
|
57
|
-
timestamp: true,
|
|
58
|
-
});
|
|
59
|
-
else
|
|
60
|
-
throw err;
|
|
61
|
-
}
|
|
62
|
-
function isUsingAuthentication() {
|
|
63
|
-
const { authentication } = getArkosConfig();
|
|
64
|
-
return authentication?.mode;
|
|
65
|
-
}
|
|
66
|
-
function isAuthenticationEnabled() {
|
|
67
|
-
const { authentication } = getArkosConfig();
|
|
68
|
-
return authentication?.mode && authentication?.enabled !== false;
|
|
69
|
-
}
|
|
70
|
-
function getArkosConfig() {
|
|
71
|
-
const config = typeof definedArkosConfig === "string"
|
|
72
|
-
? { __loader: "defineConfig" }
|
|
73
|
-
: definedArkosConfig?.default || { __loader: "defineConfig" };
|
|
74
|
-
const configFile = `arkos.config.${fsHelpers.getUserFileExtension()}`;
|
|
75
|
-
if (config.__loader !== "defineConfig" &&
|
|
76
|
-
typeof jest == "undefined" &&
|
|
77
|
-
typeof definedArkosConfig === "object") {
|
|
78
|
-
sheu_1.default.error(`From v1.6 config under ${configFile} must be wrapped in \`defineConfig()\` function from \`arkos/config\`. You can do the following under your ${configFile}:
|
|
79
|
-
|
|
80
|
-
import { defineConfig } from "arkos/config"
|
|
81
|
-
|
|
82
|
-
const config = defineConfig({ ... })
|
|
83
|
-
|
|
84
|
-
export default config
|
|
85
|
-
`);
|
|
86
|
-
process.exit(1);
|
|
87
|
-
}
|
|
88
|
-
return (0, define_config_1.defineConfig)(config);
|
|
89
|
-
}
|
|
90
|
-
function isProduction() {
|
|
91
|
-
return process.env.ARKOS_BUILD === "true";
|
|
92
|
-
}
|
|
93
|
-
function validateArkosConfig() {
|
|
94
|
-
const config = getArkosConfig();
|
|
95
|
-
const authenticationEnabled = isAuthenticationEnabled();
|
|
96
|
-
if (!config?.source?.entryPoint)
|
|
97
|
-
throw (0, exit_error_1.default)(`Invalid value for 'arkosConfig.source.entryPoint', please pass a valid path from the current working directory`);
|
|
98
|
-
if (authenticationEnabled &&
|
|
99
|
-
isProduction() &&
|
|
100
|
-
!process.env.JWT_SECRET &&
|
|
101
|
-
!config.authentication?.jwt?.secret)
|
|
102
|
-
throw (0, exit_error_1.default)(`Missing jwt secret in production, see https://www.arkosjs.com/docs/core-concepts/authentication/setup#configuration`);
|
|
103
|
-
if (authenticationEnabled && !(0, prisma_helpers_1.getPrismaInstance)())
|
|
104
|
-
throw (0, exit_error_1.default)(`Arkos' authentication system relies on prisma instance, please disabled your authentication or see https://www.arkosjs.com/docs/core-concepts/prisma-orm/setup to setup a prisma instance`);
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=arkos-config.helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arkos-config.helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers/arkos-config.helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,sDAIC;AAED,0DAIC;AAOD,wCA0BC;AAED,oCAEC;AAED,kDAuBC;AA9FD,oDAAiE;AACjE,mDAA2B;AAC3B,8DAAqC;AACrC,wDAA0C;AAC1C,qDAAqD;AACrD,CAAC,wCAAwC,CAAC,CAAC;AAE3C,IAAI,kBAAkB,GAAQ,EAAE,CAAC;AAEjC,IAAI,CAAC;IACH,kBAAkB,GAAG,0BAA0B,CAAC;AAClD,CAAC;AAAC,OAAO,GAAQ,EAAE,CAAC;IAClB,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC1D,cAAI,CAAC,IAAI,CACP,+CAA+C,SAAS,CAAC,oBAAoB,EAAE,gBAAgB,EAC/F;YACE,SAAS,EAAE,IAAI;SAChB,CACF,CAAC;;QACC,MAAM,GAAG,CAAC;AACjB,CAAC;AAED,SAAgB,qBAAqB;IACnC,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAC;IAE5C,OAAO,cAAc,EAAE,IAAI,CAAC;AAC9B,CAAC;AAED,SAAgB,uBAAuB;IACrC,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAC;IAE5C,OAAO,cAAc,EAAE,IAAI,IAAI,cAAc,EAAE,OAAO,KAAK,KAAK,CAAC;AACnE,CAAC;AAOD,SAAgB,cAAc;IAC5B,MAAM,MAAM,GACV,OAAO,kBAAkB,KAAK,QAAQ;QACpC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE;QAC9B,CAAC,CAAE,kBAA0B,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3E,MAAM,UAAU,GAAG,gBAAgB,SAAS,CAAC,oBAAoB,EAAE,EAAE,CAAC;IAEtE,IACG,MAAc,CAAC,QAAQ,KAAK,cAAc;QAC3C,OAAO,IAAI,IAAI,WAAW;QAC1B,OAAO,kBAAkB,KAAK,QAAQ,EACtC,CAAC;QACD,cAAI,CAAC,KAAK,CACR,0BAA0B,UAAU,8GAA8G,UAAU;;;;;;;CAOjK,CACI,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAA,4BAAY,EAAC,MAAM,CAAQ,CAAC;AACrC,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC;AAC5C,CAAC;AAED,SAAgB,mBAAmB;IACjC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,qBAAqB,GAAG,uBAAuB,EAAE,CAAC;IAExD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU;QAC7B,MAAM,IAAA,oBAAS,EACb,gHAAgH,CACjH,CAAC;IAEJ,IACE,qBAAqB;QACrB,YAAY,EAAE;QACd,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU;QACvB,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM;QAEnC,MAAM,IAAA,oBAAS,EACb,qHAAqH,CACtH,CAAC;IAEJ,IAAI,qBAAqB,IAAI,CAAC,IAAA,kCAAiB,GAAE;QAC/C,MAAM,IAAA,oBAAS,EACb,2LAA2L,CAC5L,CAAC;AACN,CAAC","sourcesContent":["import { defineConfig, UserArkosConfig } from \"../define-config\";\nimport sheu from \"../sheu\";\nimport ExitError from \"./exit-error\";\nimport * as fsHelpers from \"./fs.helpers\";\nimport { getPrismaInstance } from \"./prisma.helpers\";\n(\"ReplaceWithNeededImportsForArkosConfig\"); // This will be filled by post build script\n\nlet definedArkosConfig: any = {};\n\ntry {\n definedArkosConfig = \"ReplaceWithDynamicImport\"; // This will be filled by post build script\n} catch (err: any) {\n if (err.message.toLowerCase().includes(\"cannot find module\"))\n sheu.warn(\n `Using default configs, because arkos.config.${fsHelpers.getUserFileExtension()} was not found`,\n {\n timestamp: true,\n }\n );\n else throw err;\n}\n\nexport function isUsingAuthentication() {\n const { authentication } = getArkosConfig();\n\n return authentication?.mode;\n}\n\nexport function isAuthenticationEnabled() {\n const { authentication } = getArkosConfig();\n\n return authentication?.mode && authentication?.enabled !== false;\n}\n\n/**\n * Gives access to the underlying current configurations being used by **Arkos** by default and also loaded through `arkos.config.{ts|js}`\n *\n * @returns {ArkosConfig}\n */\nexport function getArkosConfig(): UserArkosConfig {\n const config =\n typeof definedArkosConfig === \"string\"\n ? { __loader: \"defineConfig\" }\n : (definedArkosConfig as any)?.default || { __loader: \"defineConfig\" };\n const configFile = `arkos.config.${fsHelpers.getUserFileExtension()}`;\n\n if (\n (config as any).__loader !== \"defineConfig\" &&\n typeof jest == \"undefined\" &&\n typeof definedArkosConfig === \"object\"\n ) {\n sheu.error(\n `From v1.6 config under ${configFile} must be wrapped in \\`defineConfig()\\` function from \\`arkos/config\\`. You can do the following under your ${configFile}:\n\nimport { defineConfig } from \"arkos/config\"\n\nconst config = defineConfig({ ... })\n\nexport default config\n`\n );\n process.exit(1);\n }\n\n return defineConfig(config) as any;\n}\n\nexport function isProduction() {\n return process.env.ARKOS_BUILD === \"true\";\n}\n\nexport function validateArkosConfig() {\n const config = getArkosConfig();\n const authenticationEnabled = isAuthenticationEnabled();\n\n if (!config?.source?.entryPoint)\n throw ExitError(\n `Invalid value for 'arkosConfig.source.entryPoint', please pass a valid path from the current working directory`\n );\n\n if (\n authenticationEnabled &&\n isProduction() &&\n !process.env.JWT_SECRET &&\n !config.authentication?.jwt?.secret\n )\n throw ExitError(\n `Missing jwt secret in production, see https://www.arkosjs.com/docs/core-concepts/authentication/setup#configuration`\n );\n\n if (authenticationEnabled && !getPrismaInstance())\n throw ExitError(\n `Arkos' authentication system relies on prisma instance, please disabled your authentication or see https://www.arkosjs.com/docs/core-concepts/prisma-orm/setup to setup a prisma instance`\n );\n}\n"]}
|