arkos 1.4.0-canary.8 → 1.4.0-canary.82
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/cli.js +3 -5
- package/dist/cjs/app.js +104 -72
- package/dist/cjs/app.js.map +1 -1
- package/dist/cjs/exports/index.js.map +1 -1
- package/dist/cjs/exports/services/index.js +6 -1
- package/dist/cjs/exports/services/index.js.map +1 -1
- package/dist/cjs/modules/auth/auth.controller.js +9 -25
- package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
- package/dist/cjs/modules/auth/auth.router.js +30 -22
- package/dist/cjs/modules/auth/auth.router.js.map +1 -1
- package/dist/cjs/modules/auth/auth.service.js +35 -11
- package/dist/cjs/modules/auth/auth.service.js.map +1 -1
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js +16 -10
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +1 -1
- package/dist/cjs/modules/base/base.controller.js +3 -4
- package/dist/cjs/modules/base/base.controller.js.map +1 -1
- package/dist/cjs/modules/base/base.middlewares.js +33 -8
- package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
- package/dist/cjs/modules/base/base.router.js +4 -3
- package/dist/cjs/modules/base/base.router.js.map +1 -1
- package/dist/cjs/modules/base/base.service.js +68 -66
- package/dist/cjs/modules/base/base.service.js.map +1 -1
- package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +17 -40
- package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
- package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +22 -6
- package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
- package/dist/cjs/modules/debugger/debugger.service.js +11 -4
- package/dist/cjs/modules/debugger/debugger.service.js.map +1 -1
- package/dist/cjs/modules/debugger/utils/loaded-components-logger.js +1 -1
- package/dist/cjs/modules/debugger/utils/loaded-components-logger.js.map +1 -1
- package/dist/cjs/modules/email/email.service.js +7 -5
- package/dist/cjs/modules/email/email.service.js.map +1 -1
- package/dist/cjs/modules/error-handler/error-handler.controller.js +22 -15
- package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
- package/dist/cjs/modules/error-handler/utils/app-error.js +14 -3
- package/dist/cjs/modules/error-handler/utils/app-error.js.map +1 -1
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +1 -1
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
- package/dist/cjs/modules/file-upload/file-upload.controller.js +5 -6
- package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
- package/dist/cjs/modules/file-upload/file-upload.router.js +13 -5
- package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
- package/dist/cjs/modules/file-upload/file-upload.service.js +38 -48
- package/dist/cjs/modules/file-upload/file-upload.service.js.map +1 -1
- package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js +134 -0
- package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js.map +1 -0
- package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +10 -5
- package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -1
- package/dist/cjs/modules/swagger/swagger.router.js +14 -6
- package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js +53 -0
- package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +10 -10
- package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +419 -0
- package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +3 -3
- package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +4 -6
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +4 -4
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +9 -9
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +9 -9
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +6 -8
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js +204 -0
- package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +9 -9
- package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
- package/dist/cjs/server.js +33 -36
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/types/arkos-config.js.map +1 -1
- package/dist/cjs/types/auth.js.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/new-arkos-config.js +3 -0
- package/dist/cjs/types/new-arkos-config.js.map +1 -0
- package/dist/cjs/types/router-config.js.map +1 -1
- package/dist/cjs/utils/arkos-router/index.js +91 -37
- package/dist/cjs/utils/arkos-router/index.js.map +1 -1
- package/dist/cjs/utils/arkos-router/route-config-validator.js +9 -8
- package/dist/cjs/utils/arkos-router/route-config-validator.js.map +1 -1
- package/dist/cjs/utils/arkos-router/types/index.js.map +1 -1
- package/dist/cjs/utils/arkos-router/types/openapi-config.js +3 -0
- package/dist/cjs/utils/arkos-router/types/openapi-config.js.map +1 -0
- package/dist/cjs/utils/arkos-router/types/upload-config.js +3 -0
- package/dist/cjs/utils/arkos-router/types/upload-config.js.map +1 -0
- package/dist/cjs/utils/arkos-router/utils/helpers/index.js +24 -6
- package/dist/cjs/utils/arkos-router/utils/helpers/index.js.map +1 -1
- package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js +232 -0
- package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -0
- package/dist/cjs/utils/cli/build.js +9 -13
- package/dist/cjs/utils/cli/build.js.map +1 -1
- package/dist/cjs/utils/cli/dev.js +8 -7
- package/dist/cjs/utils/cli/dev.js.map +1 -1
- package/dist/cjs/utils/cli/export-auth-action.js +78 -0
- package/dist/cjs/utils/cli/export-auth-action.js.map +1 -0
- package/dist/cjs/utils/cli/generate.js +28 -12
- package/dist/cjs/utils/cli/generate.js.map +1 -1
- package/dist/cjs/utils/cli/index.js +32 -18
- package/dist/cjs/utils/cli/index.js.map +1 -1
- package/dist/cjs/utils/cli/prisma-generate.js +2 -2
- package/dist/cjs/utils/cli/prisma-generate.js.map +1 -1
- package/dist/cjs/utils/cli/start.js +13 -52
- package/dist/cjs/utils/cli/start.js.map +1 -1
- package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -1
- package/dist/cjs/utils/cli/utils/runtime-cli-commander.js +58 -0
- package/dist/cjs/utils/cli/utils/runtime-cli-commander.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js +38 -13
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js +44 -17
- package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/{controller-template.js → generate-controller-template.js} +12 -2
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js +1 -34
- package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js +97 -265
- package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js +16 -16
- package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +5 -2
- package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +8 -32
- package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod/create-schema-template.js +3 -5
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod/create-schema-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod/update-schema-template.js +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/zod/update-schema-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generators.js +2 -2
- package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
- package/dist/cjs/utils/cli/utils/watermark-stamper.js +14 -5
- package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +1 -1
- package/dist/cjs/utils/define-config.js +2 -0
- package/dist/cjs/utils/define-config.js.map +1 -0
- package/dist/cjs/utils/dotenv.helpers.js +2 -1
- package/dist/cjs/utils/dotenv.helpers.js.map +1 -1
- package/dist/cjs/utils/dynamic-loader.js +7 -7
- package/dist/cjs/utils/dynamic-loader.js.map +1 -1
- package/dist/cjs/utils/features/port-and-host-allocator.js +28 -4
- package/dist/cjs/utils/features/port-and-host-allocator.js.map +1 -1
- package/dist/cjs/utils/helpers/arkos-config.helpers.js +45 -0
- package/dist/cjs/utils/helpers/arkos-config.helpers.js.map +1 -0
- package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +135 -46
- package/dist/cjs/utils/helpers/dynamic-loader.helpers.js.map +1 -1
- package/dist/cjs/utils/helpers/fs.helpers.js +1 -4
- package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
- package/dist/cjs/utils/helpers/routers.helpers.js +55 -4
- package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -1
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +20 -31
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +1 -1
- package/dist/cjs/utils/prisma/prisma-schema-parser.js +3 -4
- package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -1
- package/dist/cjs/utils/sheu.js.map +1 -1
- package/dist/cjs/utils/validate-schema.js +1 -1
- package/dist/cjs/utils/validate-schema.js.map +1 -1
- package/dist/esm/app.js +104 -72
- package/dist/esm/app.js.map +1 -1
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/exports/services/index.js +2 -1
- package/dist/esm/exports/services/index.js.map +1 -1
- package/dist/esm/modules/auth/auth.controller.js +10 -26
- package/dist/esm/modules/auth/auth.controller.js.map +1 -1
- package/dist/esm/modules/auth/auth.router.js +33 -25
- package/dist/esm/modules/auth/auth.router.js.map +1 -1
- package/dist/esm/modules/auth/auth.service.js +35 -11
- package/dist/esm/modules/auth/auth.service.js.map +1 -1
- package/dist/esm/modules/auth/utils/services/auth-action.service.js +12 -9
- package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
- package/dist/esm/modules/base/base.controller.js +3 -4
- package/dist/esm/modules/base/base.controller.js.map +1 -1
- package/dist/esm/modules/base/base.middlewares.js +33 -8
- package/dist/esm/modules/base/base.middlewares.js.map +1 -1
- package/dist/esm/modules/base/base.router.js +4 -3
- package/dist/esm/modules/base/base.router.js.map +1 -1
- package/dist/esm/modules/base/base.service.js +68 -66
- package/dist/esm/modules/base/base.service.js.map +1 -1
- package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +19 -41
- package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
- package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +22 -6
- package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
- package/dist/esm/modules/debugger/debugger.service.js +11 -4
- package/dist/esm/modules/debugger/debugger.service.js.map +1 -1
- package/dist/esm/modules/debugger/utils/loaded-components-logger.js +1 -1
- package/dist/esm/modules/debugger/utils/loaded-components-logger.js.map +1 -1
- package/dist/esm/modules/email/email.service.js +7 -5
- package/dist/esm/modules/email/email.service.js.map +1 -1
- package/dist/esm/modules/error-handler/error-handler.controller.js +22 -12
- package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
- package/dist/esm/modules/error-handler/utils/app-error.js +14 -3
- package/dist/esm/modules/error-handler/utils/app-error.js.map +1 -1
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +1 -1
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.controller.js +5 -6
- package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.router.js +13 -5
- package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.service.js +37 -47
- package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -1
- package/dist/esm/modules/file-upload/utils/helpers/file-extensions.js +131 -0
- package/dist/esm/modules/file-upload/utils/helpers/file-extensions.js.map +1 -0
- package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +9 -5
- package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -1
- package/dist/esm/modules/swagger/swagger.router.js +14 -6
- package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/class-validator-to-json-schema.js +48 -0
- package/dist/esm/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +10 -10
- package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +413 -0
- package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +3 -3
- package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +3 -5
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +4 -4
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +9 -9
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +9 -9
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +6 -8
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js +199 -0
- package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +9 -9
- package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
- package/dist/esm/server.js +31 -34
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/types/arkos-config.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 +2 -0
- package/dist/esm/types/new-arkos-config.js.map +1 -0
- package/dist/esm/types/router-config.js.map +1 -1
- package/dist/esm/utils/arkos-router/index.js +91 -37
- package/dist/esm/utils/arkos-router/index.js.map +1 -1
- package/dist/esm/utils/arkos-router/route-config-validator.js +9 -8
- package/dist/esm/utils/arkos-router/route-config-validator.js.map +1 -1
- package/dist/esm/utils/arkos-router/types/index.js.map +1 -1
- package/dist/esm/utils/arkos-router/types/openapi-config.js +2 -0
- package/dist/esm/utils/arkos-router/types/openapi-config.js.map +1 -0
- package/dist/esm/utils/arkos-router/types/upload-config.js +2 -0
- package/dist/esm/utils/arkos-router/types/upload-config.js.map +1 -0
- package/dist/esm/utils/arkos-router/utils/helpers/index.js +23 -5
- package/dist/esm/utils/arkos-router/utils/helpers/index.js.map +1 -1
- package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js +227 -0
- package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -0
- package/dist/esm/utils/cli/build.js +9 -13
- package/dist/esm/utils/cli/build.js.map +1 -1
- package/dist/esm/utils/cli/dev.js +8 -7
- package/dist/esm/utils/cli/dev.js.map +1 -1
- package/dist/esm/utils/cli/export-auth-action.js +72 -0
- package/dist/esm/utils/cli/export-auth-action.js.map +1 -0
- package/dist/esm/utils/cli/generate.js +28 -12
- package/dist/esm/utils/cli/generate.js.map +1 -1
- package/dist/esm/utils/cli/index.js +32 -18
- package/dist/esm/utils/cli/index.js.map +1 -1
- package/dist/esm/utils/cli/prisma-generate.js +2 -2
- package/dist/esm/utils/cli/prisma-generate.js.map +1 -1
- package/dist/esm/utils/cli/start.js +13 -52
- 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 +53 -0
- package/dist/esm/utils/cli/utils/runtime-cli-commander.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js +38 -13
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js +44 -17
- package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/{controller-template.js → generate-controller-template.js} +12 -2
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js +1 -34
- package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js +97 -265
- package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js +16 -16
- package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +5 -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 +8 -32
- 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/create-schema-template.js +3 -5
- package/dist/esm/utils/cli/utils/template-generator/templates/zod/create-schema-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/zod/update-schema-template.js +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/zod/update-schema-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generators.js +1 -1
- package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
- package/dist/esm/utils/cli/utils/watermark-stamper.js +11 -5
- package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -1
- package/dist/esm/utils/define-config.js +2 -0
- package/dist/esm/utils/define-config.js.map +1 -0
- package/dist/esm/utils/dotenv.helpers.js +2 -1
- package/dist/esm/utils/dotenv.helpers.js.map +1 -1
- package/dist/esm/utils/dynamic-loader.js +8 -8
- package/dist/esm/utils/dynamic-loader.js.map +1 -1
- package/dist/esm/utils/features/port-and-host-allocator.js +28 -4
- package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -1
- package/dist/esm/utils/helpers/arkos-config.helpers.js +38 -0
- package/dist/esm/utils/helpers/arkos-config.helpers.js.map +1 -0
- package/dist/esm/utils/helpers/dynamic-loader.helpers.js +134 -46
- package/dist/esm/utils/helpers/dynamic-loader.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/fs.helpers.js +1 -4
- package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/routers.helpers.js +53 -4
- package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js +20 -31
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -1
- package/dist/esm/utils/prisma/prisma-schema-parser.js +3 -4
- package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -1
- package/dist/esm/utils/sheu.js.map +1 -1
- package/dist/esm/utils/validate-schema.js +1 -1
- package/dist/esm/utils/validate-schema.js.map +1 -1
- package/dist/types/app.d.ts +2 -2
- package/dist/types/exports/index.d.ts +3 -2
- package/dist/types/exports/services/index.d.ts +2 -1
- package/dist/types/modules/auth/auth.controller.d.ts +2 -2
- package/dist/types/modules/auth/auth.router.d.ts +2 -3
- package/dist/types/modules/auth/auth.service.d.ts +6 -0
- package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +1 -0
- package/dist/types/modules/base/base.middlewares.d.ts +1 -1
- package/dist/types/modules/base/base.router.d.ts +2 -2
- package/dist/types/modules/base/base.service.d.ts +2 -1
- package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +2 -4
- package/dist/types/modules/debugger/debugger.service.d.ts +1 -1
- package/dist/types/modules/email/email.service.d.ts +1 -1
- package/dist/types/modules/error-handler/utils/app-error.d.ts +1 -1
- package/dist/types/modules/file-upload/file-upload.router.d.ts +2 -2
- package/dist/types/modules/file-upload/file-upload.service.d.ts +24 -2
- package/dist/types/modules/file-upload/utils/helpers/file-extensions.d.ts +3 -0
- package/dist/types/modules/file-upload/utils/helpers/file-upload.helpers.d.ts +2 -1
- package/dist/types/modules/swagger/swagger.router.d.ts +1 -1
- package/dist/types/modules/swagger/utils/helpers/class-validator-to-json-schema.d.ts +3 -0
- package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +2 -2
- package/dist/types/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.d.ts +3 -0
- package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +2 -45
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +1 -1
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +1 -1
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +1 -1
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +1 -1
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.d.ts +1 -1
- package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +1 -1
- package/dist/types/modules/swagger/utils/helpers/openapi-schema-converter.d.ts +17 -0
- package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +3 -3
- package/dist/types/server.d.ts +4 -6
- package/dist/types/types/arkos-config.d.ts +4 -181
- package/dist/types/types/auth.d.ts +1 -1
- package/dist/types/types/index.d.ts +5 -4
- package/dist/types/types/new-arkos-config.d.ts +167 -0
- package/dist/types/types/router-config.d.ts +16 -23
- package/dist/types/utils/arkos-router/types/index.d.ts +40 -10
- package/dist/types/utils/arkos-router/types/openapi-config.d.ts +35 -0
- package/dist/types/utils/arkos-router/types/upload-config.d.ts +21 -0
- package/dist/types/utils/arkos-router/utils/helpers/upload-manager.d.ts +13 -0
- package/dist/types/utils/cli/export-auth-action.d.ts +4 -0
- package/dist/types/utils/cli/generate.d.ts +2 -1
- package/dist/types/utils/cli/utils/runtime-cli-commander.d.ts +11 -0
- package/dist/types/utils/cli/utils/watermark-stamper.d.ts +3 -3
- package/dist/types/utils/define-config.d.ts +0 -0
- package/dist/types/utils/features/port-and-host-allocator.d.ts +4 -2
- package/dist/types/utils/helpers/arkos-config.helpers.d.ts +7 -0
- package/dist/types/utils/helpers/dynamic-loader.helpers.d.ts +1 -0
- package/dist/types/utils/helpers/routers.helpers.d.ts +9 -0
- package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +1 -1
- package/dist/types/utils/validate-schema.d.ts +1 -1
- package/package.json +3 -2
- package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js.map +0 -1
- /package/dist/types/utils/cli/utils/template-generator/templates/{controller-template.d.ts → generate-controller-template.d.ts} +0 -0
|
@@ -0,0 +1,419 @@
|
|
|
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.default = getFileUploadJsonSchemaPaths;
|
|
7
|
+
const dynamic_loader_1 = require("../../../../utils/dynamic-loader");
|
|
8
|
+
const base_router_helpers_1 = require("../../../base/utils/helpers/base.router.helpers");
|
|
9
|
+
const deepmerge_helper_1 = __importDefault(require("../../../../utils/helpers/deepmerge.helper"));
|
|
10
|
+
const file_upload_service_1 = require("../../../file-upload/file-upload.service");
|
|
11
|
+
function getFileUploadJsonSchemaPaths(arkosConfig) {
|
|
12
|
+
const paths = {};
|
|
13
|
+
if (!arkosConfig.fileUpload)
|
|
14
|
+
return paths;
|
|
15
|
+
const FileUploadModuleComponents = (0, dynamic_loader_1.getModuleComponents)("file-upload");
|
|
16
|
+
const routerConfig = FileUploadModuleComponents?.router
|
|
17
|
+
?.config;
|
|
18
|
+
const authConfigs = FileUploadModuleComponents?.authConfigs;
|
|
19
|
+
if (routerConfig?.disable === true)
|
|
20
|
+
return paths;
|
|
21
|
+
const isFileUploadEndpointDisabled = (endpoint) => {
|
|
22
|
+
return (0, base_router_helpers_1.isEndpointDisabled)(routerConfig, endpoint);
|
|
23
|
+
};
|
|
24
|
+
const basePathname = arkosConfig.fileUpload?.baseRoute || "/api/uploads/";
|
|
25
|
+
const baseUploadDir = arkosConfig.fileUpload?.baseUploadDir || "uploads";
|
|
26
|
+
const restrictions = (0, deepmerge_helper_1.default)(file_upload_service_1.fileUploadDefaultRestrictions, arkosConfig.fileUpload?.restrictions || {});
|
|
27
|
+
const formatBytes = (bytes) => {
|
|
28
|
+
if (bytes === 0)
|
|
29
|
+
return "0 Bytes";
|
|
30
|
+
const k = 1024;
|
|
31
|
+
const sizes = ["Bytes", "KB", "MB", "GB"];
|
|
32
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
33
|
+
return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + " " + sizes[i];
|
|
34
|
+
};
|
|
35
|
+
const getFileTypeDescription = (fileType) => {
|
|
36
|
+
const restriction = restrictions[fileType];
|
|
37
|
+
if (!restriction)
|
|
38
|
+
return "";
|
|
39
|
+
const maxSize = formatBytes(restriction.maxSize);
|
|
40
|
+
const maxCount = restriction.maxCount;
|
|
41
|
+
const formats = restriction.supportedFilesRegex
|
|
42
|
+
?.toString()
|
|
43
|
+
.replace(/\|/g, ", ")
|
|
44
|
+
.replace(/\//g, "")
|
|
45
|
+
.replace(/\.\*/g, "any format");
|
|
46
|
+
return `Maximum file size: ${maxSize}. Maximum files per upload: ${maxCount}. Supported formats: ${formats}`;
|
|
47
|
+
};
|
|
48
|
+
const shouldIncludeSecurity = (action) => {
|
|
49
|
+
const authControl = authConfigs?.authenticationControl;
|
|
50
|
+
if (!authControl)
|
|
51
|
+
return false;
|
|
52
|
+
if (typeof authControl === "boolean")
|
|
53
|
+
return authControl;
|
|
54
|
+
if (typeof authControl === "object") {
|
|
55
|
+
return authControl[action] === true;
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
58
|
+
};
|
|
59
|
+
if (!isFileUploadEndpointDisabled("findFile")) {
|
|
60
|
+
const cleanBasePath = basePathname.endsWith("/")
|
|
61
|
+
? basePathname.slice(0, -1)
|
|
62
|
+
: basePathname;
|
|
63
|
+
paths[`${cleanBasePath}/{filePath*}`] = {
|
|
64
|
+
get: {
|
|
65
|
+
tags: ["File Upload"],
|
|
66
|
+
summary: "Retrieve uploaded file",
|
|
67
|
+
description: `Serves static files from the upload directory (${baseUploadDir}). This endpoint uses wildcard path matching to serve files from any subdirectory.`,
|
|
68
|
+
operationId: "findFile",
|
|
69
|
+
...(shouldIncludeSecurity("View") && {
|
|
70
|
+
security: [{ BearerAuth: [] }],
|
|
71
|
+
}),
|
|
72
|
+
parameters: [
|
|
73
|
+
{
|
|
74
|
+
name: "filePath",
|
|
75
|
+
in: "path",
|
|
76
|
+
required: true,
|
|
77
|
+
schema: { type: "string" },
|
|
78
|
+
description: "Path to the file including file type directory (e.g., images/photo.jpg, videos/clip.mp4)",
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
responses: {
|
|
82
|
+
"200": {
|
|
83
|
+
description: "File retrieved successfully",
|
|
84
|
+
content: {
|
|
85
|
+
"application/octet-stream": {
|
|
86
|
+
schema: {
|
|
87
|
+
type: "string",
|
|
88
|
+
format: "binary",
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
"404": {
|
|
94
|
+
description: "File not found",
|
|
95
|
+
},
|
|
96
|
+
...(shouldIncludeSecurity("View") && {
|
|
97
|
+
"401": { description: "Authentication required" },
|
|
98
|
+
"403": { description: "Insufficient permissions to view files" },
|
|
99
|
+
}),
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
if (!isFileUploadEndpointDisabled("uploadFile")) {
|
|
105
|
+
const cleanBasePath = basePathname.endsWith("/")
|
|
106
|
+
? basePathname.slice(0, -1)
|
|
107
|
+
: basePathname;
|
|
108
|
+
paths[`${cleanBasePath}/{fileType}`] = {
|
|
109
|
+
post: {
|
|
110
|
+
tags: ["File Upload"],
|
|
111
|
+
summary: "Upload file(s)",
|
|
112
|
+
description: "Upload one or multiple files. Supports image processing options for image uploads.",
|
|
113
|
+
operationId: "uploadFile",
|
|
114
|
+
...(shouldIncludeSecurity("Create") && {
|
|
115
|
+
security: [{ BearerAuth: [] }],
|
|
116
|
+
}),
|
|
117
|
+
parameters: [
|
|
118
|
+
{
|
|
119
|
+
name: "fileType",
|
|
120
|
+
in: "path",
|
|
121
|
+
required: true,
|
|
122
|
+
schema: {
|
|
123
|
+
type: "string",
|
|
124
|
+
enum: ["images", "videos", "documents", "files"],
|
|
125
|
+
},
|
|
126
|
+
description: "Type of file being uploaded",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: "format",
|
|
130
|
+
in: "query",
|
|
131
|
+
required: false,
|
|
132
|
+
schema: {
|
|
133
|
+
type: "string",
|
|
134
|
+
enum: ["jpeg", "jpg", "png", "webp", "gif", "avif"],
|
|
135
|
+
},
|
|
136
|
+
description: "Image format for conversion (only applicable for fileType=images)",
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
name: "width",
|
|
140
|
+
in: "query",
|
|
141
|
+
required: false,
|
|
142
|
+
schema: { type: "integer", minimum: 1 },
|
|
143
|
+
description: "Target width for image resize (only applicable for fileType=images)",
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
name: "height",
|
|
147
|
+
in: "query",
|
|
148
|
+
required: false,
|
|
149
|
+
schema: { type: "integer", minimum: 1 },
|
|
150
|
+
description: "Target height for image resize (only applicable for fileType=images)",
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
name: "resizeTo",
|
|
154
|
+
in: "query",
|
|
155
|
+
required: false,
|
|
156
|
+
schema: {
|
|
157
|
+
type: "string",
|
|
158
|
+
enum: ["cover", "contain", "fill", "inside", "outside"],
|
|
159
|
+
},
|
|
160
|
+
description: "Resize strategy (only applicable for fileType=images)",
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
requestBody: {
|
|
164
|
+
required: true,
|
|
165
|
+
content: {
|
|
166
|
+
"multipart/form-data": {
|
|
167
|
+
schema: {
|
|
168
|
+
type: "object",
|
|
169
|
+
properties: {
|
|
170
|
+
images: {
|
|
171
|
+
type: "array",
|
|
172
|
+
items: { type: "string", format: "binary" },
|
|
173
|
+
description: getFileTypeDescription("images"),
|
|
174
|
+
},
|
|
175
|
+
videos: {
|
|
176
|
+
type: "array",
|
|
177
|
+
items: { type: "string", format: "binary" },
|
|
178
|
+
description: getFileTypeDescription("videos"),
|
|
179
|
+
},
|
|
180
|
+
documents: {
|
|
181
|
+
type: "array",
|
|
182
|
+
items: { type: "string", format: "binary" },
|
|
183
|
+
description: getFileTypeDescription("documents"),
|
|
184
|
+
},
|
|
185
|
+
files: {
|
|
186
|
+
type: "array",
|
|
187
|
+
items: { type: "string", format: "binary" },
|
|
188
|
+
description: getFileTypeDescription("files"),
|
|
189
|
+
},
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
responses: {
|
|
196
|
+
"200": {
|
|
197
|
+
description: "File(s) uploaded successfully",
|
|
198
|
+
content: {
|
|
199
|
+
"application/json": {
|
|
200
|
+
schema: {
|
|
201
|
+
type: "object",
|
|
202
|
+
properties: {
|
|
203
|
+
success: { type: "boolean", example: true },
|
|
204
|
+
data: {
|
|
205
|
+
oneOf: [
|
|
206
|
+
{ type: "string", description: "URL of uploaded file" },
|
|
207
|
+
{
|
|
208
|
+
type: "array",
|
|
209
|
+
items: { type: "string" },
|
|
210
|
+
description: "URLs of uploaded files",
|
|
211
|
+
},
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
message: { type: "string" },
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
"400": {
|
|
221
|
+
description: "Invalid file type, size limit exceeded, or no file uploaded",
|
|
222
|
+
},
|
|
223
|
+
...(shouldIncludeSecurity("Create") && {
|
|
224
|
+
"401": { description: "Authentication required" },
|
|
225
|
+
"403": { description: "Insufficient permissions to upload files" },
|
|
226
|
+
}),
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
if (!isFileUploadEndpointDisabled("updateFile")) {
|
|
232
|
+
const cleanBasePath = basePathname.endsWith("/")
|
|
233
|
+
? basePathname.slice(0, -1)
|
|
234
|
+
: basePathname;
|
|
235
|
+
paths[`${cleanBasePath}/{fileType}/{fileName}`] = {
|
|
236
|
+
...(paths[`${cleanBasePath}/{fileType}/{fileName}`] || {}),
|
|
237
|
+
patch: {
|
|
238
|
+
tags: ["File Upload"],
|
|
239
|
+
summary: "Update existing file",
|
|
240
|
+
description: "Replace an existing file with a new one. Deletes the old file and uploads the new one.",
|
|
241
|
+
operationId: "updateFile",
|
|
242
|
+
...(shouldIncludeSecurity("Update") && {
|
|
243
|
+
security: [{ BearerAuth: [] }],
|
|
244
|
+
}),
|
|
245
|
+
parameters: [
|
|
246
|
+
{
|
|
247
|
+
name: "fileType",
|
|
248
|
+
in: "path",
|
|
249
|
+
required: true,
|
|
250
|
+
schema: {
|
|
251
|
+
type: "string",
|
|
252
|
+
enum: ["images", "videos", "documents", "files"],
|
|
253
|
+
},
|
|
254
|
+
description: "Type of file being updated",
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
name: "fileName",
|
|
258
|
+
in: "path",
|
|
259
|
+
required: true,
|
|
260
|
+
schema: { type: "string" },
|
|
261
|
+
description: "Name of the file to update",
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
name: "format",
|
|
265
|
+
in: "query",
|
|
266
|
+
required: false,
|
|
267
|
+
schema: {
|
|
268
|
+
type: "string",
|
|
269
|
+
enum: ["jpeg", "jpg", "png", "webp", "gif", "avif"],
|
|
270
|
+
},
|
|
271
|
+
description: "Image format for conversion (only applicable for fileType=images)",
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
name: "width",
|
|
275
|
+
in: "query",
|
|
276
|
+
required: false,
|
|
277
|
+
schema: { type: "integer", minimum: 1 },
|
|
278
|
+
description: "Target width for image resize (only applicable for fileType=images)",
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
name: "height",
|
|
282
|
+
in: "query",
|
|
283
|
+
required: false,
|
|
284
|
+
schema: { type: "integer", minimum: 1 },
|
|
285
|
+
description: "Target height for image resize (only applicable for fileType=images)",
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
name: "resizeTo",
|
|
289
|
+
in: "query",
|
|
290
|
+
required: false,
|
|
291
|
+
schema: {
|
|
292
|
+
type: "string",
|
|
293
|
+
enum: ["cover", "contain", "fill", "inside", "outside"],
|
|
294
|
+
},
|
|
295
|
+
description: "Resize strategy (only applicable for fileType=images)",
|
|
296
|
+
},
|
|
297
|
+
],
|
|
298
|
+
requestBody: {
|
|
299
|
+
required: true,
|
|
300
|
+
content: {
|
|
301
|
+
"multipart/form-data": {
|
|
302
|
+
schema: {
|
|
303
|
+
type: "object",
|
|
304
|
+
properties: {
|
|
305
|
+
images: {
|
|
306
|
+
type: "array",
|
|
307
|
+
items: { type: "string", format: "binary" },
|
|
308
|
+
description: getFileTypeDescription("images"),
|
|
309
|
+
},
|
|
310
|
+
videos: {
|
|
311
|
+
type: "array",
|
|
312
|
+
items: { type: "string", format: "binary" },
|
|
313
|
+
description: getFileTypeDescription("videos"),
|
|
314
|
+
},
|
|
315
|
+
documents: {
|
|
316
|
+
type: "array",
|
|
317
|
+
items: { type: "string", format: "binary" },
|
|
318
|
+
description: getFileTypeDescription("documents"),
|
|
319
|
+
},
|
|
320
|
+
files: {
|
|
321
|
+
type: "array",
|
|
322
|
+
items: { type: "string", format: "binary" },
|
|
323
|
+
description: getFileTypeDescription("files"),
|
|
324
|
+
},
|
|
325
|
+
},
|
|
326
|
+
},
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
},
|
|
330
|
+
responses: {
|
|
331
|
+
"200": {
|
|
332
|
+
description: "File updated successfully",
|
|
333
|
+
content: {
|
|
334
|
+
"application/json": {
|
|
335
|
+
schema: {
|
|
336
|
+
type: "object",
|
|
337
|
+
properties: {
|
|
338
|
+
success: { type: "boolean", example: true },
|
|
339
|
+
data: {
|
|
340
|
+
oneOf: [
|
|
341
|
+
{ type: "string", description: "URL of updated file" },
|
|
342
|
+
{
|
|
343
|
+
type: "array",
|
|
344
|
+
items: { type: "string" },
|
|
345
|
+
description: "URLs of updated files",
|
|
346
|
+
},
|
|
347
|
+
],
|
|
348
|
+
},
|
|
349
|
+
message: { type: "string" },
|
|
350
|
+
},
|
|
351
|
+
},
|
|
352
|
+
},
|
|
353
|
+
},
|
|
354
|
+
},
|
|
355
|
+
"400": {
|
|
356
|
+
description: "Invalid file type, size limit exceeded, or no file uploaded",
|
|
357
|
+
},
|
|
358
|
+
"404": {
|
|
359
|
+
description: "Original file not found",
|
|
360
|
+
},
|
|
361
|
+
...(shouldIncludeSecurity("Update") && {
|
|
362
|
+
"401": { description: "Authentication required" },
|
|
363
|
+
"403": { description: "Insufficient permissions to update files" },
|
|
364
|
+
}),
|
|
365
|
+
},
|
|
366
|
+
},
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
if (!isFileUploadEndpointDisabled("deleteFile")) {
|
|
370
|
+
const cleanBasePath = basePathname.endsWith("/")
|
|
371
|
+
? basePathname.slice(0, -1)
|
|
372
|
+
: basePathname;
|
|
373
|
+
if (!paths[`${cleanBasePath}/{fileType}/{fileName}`]) {
|
|
374
|
+
paths[`${cleanBasePath}/{fileType}/{fileName}`] = {};
|
|
375
|
+
}
|
|
376
|
+
paths[`${cleanBasePath}/{fileType}/{fileName}`].delete = {
|
|
377
|
+
tags: ["File Upload"],
|
|
378
|
+
summary: "Delete file",
|
|
379
|
+
description: "Delete an uploaded file from the server",
|
|
380
|
+
operationId: "deleteFile",
|
|
381
|
+
...(shouldIncludeSecurity("Delete") && {
|
|
382
|
+
security: [{ BearerAuth: [] }],
|
|
383
|
+
}),
|
|
384
|
+
parameters: [
|
|
385
|
+
{
|
|
386
|
+
name: "fileType",
|
|
387
|
+
in: "path",
|
|
388
|
+
required: true,
|
|
389
|
+
schema: {
|
|
390
|
+
type: "string",
|
|
391
|
+
enum: ["images", "videos", "documents", "files"],
|
|
392
|
+
},
|
|
393
|
+
description: "Type of file being deleted",
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
name: "fileName",
|
|
397
|
+
in: "path",
|
|
398
|
+
required: true,
|
|
399
|
+
schema: { type: "string" },
|
|
400
|
+
description: "Name of the file to delete",
|
|
401
|
+
},
|
|
402
|
+
],
|
|
403
|
+
responses: {
|
|
404
|
+
"204": {
|
|
405
|
+
description: "File deleted successfully",
|
|
406
|
+
},
|
|
407
|
+
"404": {
|
|
408
|
+
description: "File not found",
|
|
409
|
+
},
|
|
410
|
+
...(shouldIncludeSecurity("Delete") && {
|
|
411
|
+
"401": { description: "Authentication required" },
|
|
412
|
+
"403": { description: "Insufficient permissions to delete files" },
|
|
413
|
+
}),
|
|
414
|
+
},
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
return paths;
|
|
418
|
+
}
|
|
419
|
+
//# sourceMappingURL=get-file-upload-json-schema-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-file-upload-json-schema-paths.js","sourceRoot":"","sources":["../../../../../../src/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.ts"],"names":[],"mappings":"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","sourcesContent":["import { OpenAPIV3 } from \"openapi-types\";\nimport { ArkosConfig, RouterConfig } from \"../../../../exports\";\nimport { getModuleComponents } from \"../../../../utils/dynamic-loader\";\nimport { isEndpointDisabled } from \"../../../base/utils/helpers/base.router.helpers\";\nimport deepmerge from \"../../../../utils/helpers/deepmerge.helper\";\nimport { fileUploadDefaultRestrictions } from \"../../../file-upload/file-upload.service\";\n\nexport default function getFileUploadJsonSchemaPaths(arkosConfig: ArkosConfig) {\n const paths: OpenAPIV3.PathsObject = {};\n\n if (!arkosConfig.fileUpload) return paths;\n\n const FileUploadModuleComponents = getModuleComponents(\"file-upload\");\n const routerConfig = FileUploadModuleComponents?.router\n ?.config as RouterConfig<\"file-upload\">;\n const authConfigs = FileUploadModuleComponents?.authConfigs;\n\n if (routerConfig?.disable === true) return paths;\n\n const isFileUploadEndpointDisabled = (endpoint: string): boolean => {\n return isEndpointDisabled(routerConfig, endpoint as any);\n };\n\n const basePathname = arkosConfig.fileUpload?.baseRoute || \"/api/uploads/\";\n const baseUploadDir = arkosConfig.fileUpload?.baseUploadDir || \"uploads\";\n\n const restrictions = deepmerge(\n fileUploadDefaultRestrictions,\n arkosConfig.fileUpload?.restrictions || {}\n );\n\n const formatBytes = (bytes: number): string => {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + \" \" + sizes[i];\n };\n\n const getFileTypeDescription = (fileType: string): string => {\n const restriction = restrictions[fileType as keyof typeof restrictions];\n if (!restriction) return \"\";\n\n const maxSize = formatBytes(restriction.maxSize!);\n const maxCount = restriction.maxCount;\n const formats = restriction.supportedFilesRegex\n ?.toString()\n .replace(/\\|/g, \", \")\n .replace(/\\//g, \"\")\n .replace(/\\.\\*/g, \"any format\");\n\n return `Maximum file size: ${maxSize}. Maximum files per upload: ${maxCount}. Supported formats: ${formats}`;\n };\n\n const shouldIncludeSecurity = (\n action: \"View\" | \"Create\" | \"Update\" | \"Delete\"\n ): boolean => {\n const authControl = authConfigs?.authenticationControl;\n if (!authControl) return false;\n\n if (typeof authControl === \"boolean\") return authControl;\n if (typeof authControl === \"object\") {\n return authControl[action] === true;\n }\n\n return false;\n };\n\n if (!isFileUploadEndpointDisabled(\"findFile\")) {\n const cleanBasePath = basePathname.endsWith(\"/\")\n ? basePathname.slice(0, -1)\n : basePathname;\n\n paths[`${cleanBasePath}/{filePath*}`] = {\n get: {\n tags: [\"File Upload\"],\n summary: \"Retrieve uploaded file\",\n description: `Serves static files from the upload directory (${baseUploadDir}). This endpoint uses wildcard path matching to serve files from any subdirectory.`,\n operationId: \"findFile\",\n ...(shouldIncludeSecurity(\"View\") && {\n security: [{ BearerAuth: [] }],\n }),\n parameters: [\n {\n name: \"filePath\",\n in: \"path\",\n required: true,\n schema: { type: \"string\" },\n description:\n \"Path to the file including file type directory (e.g., images/photo.jpg, videos/clip.mp4)\",\n },\n ],\n responses: {\n \"200\": {\n description: \"File retrieved successfully\",\n content: {\n \"application/octet-stream\": {\n schema: {\n type: \"string\",\n format: \"binary\",\n },\n },\n },\n },\n \"404\": {\n description: \"File not found\",\n },\n ...(shouldIncludeSecurity(\"View\") && {\n \"401\": { description: \"Authentication required\" },\n \"403\": { description: \"Insufficient permissions to view files\" },\n }),\n },\n },\n };\n }\n\n if (!isFileUploadEndpointDisabled(\"uploadFile\")) {\n const cleanBasePath = basePathname.endsWith(\"/\")\n ? basePathname.slice(0, -1)\n : basePathname;\n\n paths[`${cleanBasePath}/{fileType}`] = {\n post: {\n tags: [\"File Upload\"],\n summary: \"Upload file(s)\",\n description:\n \"Upload one or multiple files. Supports image processing options for image uploads.\",\n operationId: \"uploadFile\",\n ...(shouldIncludeSecurity(\"Create\") && {\n security: [{ BearerAuth: [] }],\n }),\n parameters: [\n {\n name: \"fileType\",\n in: \"path\",\n required: true,\n schema: {\n type: \"string\",\n enum: [\"images\", \"videos\", \"documents\", \"files\"],\n },\n description: \"Type of file being uploaded\",\n },\n {\n name: \"format\",\n in: \"query\",\n required: false,\n schema: {\n type: \"string\",\n enum: [\"jpeg\", \"jpg\", \"png\", \"webp\", \"gif\", \"avif\"],\n },\n description:\n \"Image format for conversion (only applicable for fileType=images)\",\n },\n {\n name: \"width\",\n in: \"query\",\n required: false,\n schema: { type: \"integer\", minimum: 1 },\n description:\n \"Target width for image resize (only applicable for fileType=images)\",\n },\n {\n name: \"height\",\n in: \"query\",\n required: false,\n schema: { type: \"integer\", minimum: 1 },\n description:\n \"Target height for image resize (only applicable for fileType=images)\",\n },\n {\n name: \"resizeTo\",\n in: \"query\",\n required: false,\n schema: {\n type: \"string\",\n enum: [\"cover\", \"contain\", \"fill\", \"inside\", \"outside\"],\n },\n description:\n \"Resize strategy (only applicable for fileType=images)\",\n },\n ],\n requestBody: {\n required: true,\n content: {\n \"multipart/form-data\": {\n schema: {\n type: \"object\",\n properties: {\n images: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"images\"),\n },\n videos: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"videos\"),\n },\n documents: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"documents\"),\n },\n files: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"files\"),\n },\n },\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"File(s) uploaded successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n success: { type: \"boolean\", example: true },\n data: {\n oneOf: [\n { type: \"string\", description: \"URL of uploaded file\" },\n {\n type: \"array\",\n items: { type: \"string\" },\n description: \"URLs of uploaded files\",\n },\n ],\n },\n message: { type: \"string\" },\n },\n },\n },\n },\n },\n \"400\": {\n description:\n \"Invalid file type, size limit exceeded, or no file uploaded\",\n },\n ...(shouldIncludeSecurity(\"Create\") && {\n \"401\": { description: \"Authentication required\" },\n \"403\": { description: \"Insufficient permissions to upload files\" },\n }),\n },\n },\n };\n }\n\n if (!isFileUploadEndpointDisabled(\"updateFile\")) {\n const cleanBasePath = basePathname.endsWith(\"/\")\n ? basePathname.slice(0, -1)\n : basePathname;\n\n paths[`${cleanBasePath}/{fileType}/{fileName}`] = {\n ...(paths[`${cleanBasePath}/{fileType}/{fileName}`] || {}),\n patch: {\n tags: [\"File Upload\"],\n summary: \"Update existing file\",\n description:\n \"Replace an existing file with a new one. Deletes the old file and uploads the new one.\",\n operationId: \"updateFile\",\n ...(shouldIncludeSecurity(\"Update\") && {\n security: [{ BearerAuth: [] }],\n }),\n parameters: [\n {\n name: \"fileType\",\n in: \"path\",\n required: true,\n schema: {\n type: \"string\",\n enum: [\"images\", \"videos\", \"documents\", \"files\"],\n },\n description: \"Type of file being updated\",\n },\n {\n name: \"fileName\",\n in: \"path\",\n required: true,\n schema: { type: \"string\" },\n description: \"Name of the file to update\",\n },\n {\n name: \"format\",\n in: \"query\",\n required: false,\n schema: {\n type: \"string\",\n enum: [\"jpeg\", \"jpg\", \"png\", \"webp\", \"gif\", \"avif\"],\n },\n description:\n \"Image format for conversion (only applicable for fileType=images)\",\n },\n {\n name: \"width\",\n in: \"query\",\n required: false,\n schema: { type: \"integer\", minimum: 1 },\n description:\n \"Target width for image resize (only applicable for fileType=images)\",\n },\n {\n name: \"height\",\n in: \"query\",\n required: false,\n schema: { type: \"integer\", minimum: 1 },\n description:\n \"Target height for image resize (only applicable for fileType=images)\",\n },\n {\n name: \"resizeTo\",\n in: \"query\",\n required: false,\n schema: {\n type: \"string\",\n enum: [\"cover\", \"contain\", \"fill\", \"inside\", \"outside\"],\n },\n description:\n \"Resize strategy (only applicable for fileType=images)\",\n },\n ],\n requestBody: {\n required: true,\n content: {\n \"multipart/form-data\": {\n schema: {\n type: \"object\",\n properties: {\n images: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"images\"),\n },\n videos: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"videos\"),\n },\n documents: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"documents\"),\n },\n files: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"files\"),\n },\n },\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"File updated successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n success: { type: \"boolean\", example: true },\n data: {\n oneOf: [\n { type: \"string\", description: \"URL of updated file\" },\n {\n type: \"array\",\n items: { type: \"string\" },\n description: \"URLs of updated files\",\n },\n ],\n },\n message: { type: \"string\" },\n },\n },\n },\n },\n },\n \"400\": {\n description:\n \"Invalid file type, size limit exceeded, or no file uploaded\",\n },\n \"404\": {\n description: \"Original file not found\",\n },\n ...(shouldIncludeSecurity(\"Update\") && {\n \"401\": { description: \"Authentication required\" },\n \"403\": { description: \"Insufficient permissions to update files\" },\n }),\n },\n },\n };\n }\n\n if (!isFileUploadEndpointDisabled(\"deleteFile\")) {\n const cleanBasePath = basePathname.endsWith(\"/\")\n ? basePathname.slice(0, -1)\n : basePathname;\n\n if (!paths[`${cleanBasePath}/{fileType}/{fileName}`]) {\n paths[`${cleanBasePath}/{fileType}/{fileName}`] = {};\n }\n\n paths[`${cleanBasePath}/{fileType}/{fileName}`]!.delete = {\n tags: [\"File Upload\"],\n summary: \"Delete file\",\n description: \"Delete an uploaded file from the server\",\n operationId: \"deleteFile\",\n ...(shouldIncludeSecurity(\"Delete\") && {\n security: [{ BearerAuth: [] }],\n }),\n parameters: [\n {\n name: \"fileType\",\n in: \"path\",\n required: true,\n schema: {\n type: \"string\",\n enum: [\"images\", \"videos\", \"documents\", \"files\"],\n },\n description: \"Type of file being deleted\",\n },\n {\n name: \"fileName\",\n in: \"path\",\n required: true,\n schema: { type: \"string\" },\n description: \"Name of the file to delete\",\n },\n ],\n responses: {\n \"204\": {\n description: \"File deleted successfully\",\n },\n \"404\": {\n description: \"File not found\",\n },\n ...(shouldIncludeSecurity(\"Delete\") && {\n \"401\": { description: \"Authentication required\" },\n \"403\": { description: \"Insufficient permissions to delete files\" },\n }),\n },\n };\n }\n\n return paths;\n}\n"]}
|
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.default = getSwaggerDefaultConfig;
|
|
7
7
|
const text_helpers_1 = require("../../../../utils/helpers/text.helpers");
|
|
8
8
|
const port_and_host_allocator_1 = __importDefault(require("../../../../utils/features/port-and-host-allocator"));
|
|
9
|
-
|
|
10
|
-
const portAndHost =
|
|
9
|
+
function getSwaggerDefaultConfig(defaultModelsPaths, defaultJsonSchemas) {
|
|
10
|
+
const portAndHost = port_and_host_allocator_1.default;
|
|
11
11
|
return {
|
|
12
12
|
endpoint: "/docs",
|
|
13
13
|
mode: "prisma",
|
|
@@ -22,7 +22,7 @@ async function getSwaggerDefaultConfig(defaultModelsPaths, defaultJsonSchemas) {
|
|
|
22
22
|
},
|
|
23
23
|
servers: [
|
|
24
24
|
{
|
|
25
|
-
url: `http://${portAndHost.host}:${portAndHost.port}`,
|
|
25
|
+
url: `http://${["0.0.0.0", "localhost", "127.0.0.1"].includes(portAndHost.host) ? "localhost" : portAndHost.host}:${portAndHost.port}`,
|
|
26
26
|
description: `Local ${(0, text_helpers_1.capitalize)(process.env.NODE_ENV || "development")} Server`,
|
|
27
27
|
},
|
|
28
28
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-swagger-default-configs.js","sourceRoot":"","sources":["../../../../../../src/modules/swagger/utils/helpers/get-swagger-default-configs.ts"],"names":[],"mappings":";;;;;AAKA,0CA2DC;AA9DD,yEAAoE;AACpE,iHAAsF;
|
|
1
|
+
{"version":3,"file":"get-swagger-default-configs.js","sourceRoot":"","sources":["../../../../../../src/modules/swagger/utils/helpers/get-swagger-default-configs.ts"],"names":[],"mappings":";;;;;AAKA,0CA2DC;AA9DD,yEAAoE;AACpE,iHAAsF;AAEtF,SAAwB,uBAAuB,CAC7C,kBAAuC,EACvC,kBAAiD;IAEjD,MAAM,WAAW,GAAG,iCAAoB,CAAC;IAEzC,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,UAAU,EAAE;gBACV,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE;oBACJ,KAAK,EAAE,qBAAqB;oBAC5B,OAAO,EAAE,OAAO;oBAChB,WAAW,EACT,sFAAsF;iBACzF;gBACD,OAAO,EAAE;oBACP;wBACE,GAAG,EAAE,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE;wBACvI,WAAW,EAAE,SAAS,IAAA,yBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,SAAS;qBACjF;iBACF;gBACD,KAAK,EAAE,kBAAkB;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,kBAAkB,IAAI,EAAE;oBACjC,eAAe,EAAE;wBACf,UAAU,EAAE;4BACV,IAAI,EAAE,MAAM;4BACZ,MAAM,EAAE,QAAQ;4BAChB,YAAY,EAAE,KAAK;yBACpB;qBACF;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb;YACD,IAAI,EAAE;gBACJ,gCAAgC;gBAChC,mCAAmC;aACpC;YACD,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,KAAK;SAC5B;QACD,+BAA+B,EAAE;YAC/B,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,IAAI;YACjB,kBAAkB,EAAE,KAAK;YACzB,QAAQ,EAAE;gBACR,KAAK,EAAE,4BAA4B;gBACnC,WAAW,EAAE,yCAAyC;aACvD;YACD,SAAS,EAAE,4BAA4B;SACxC;KACwB,CAAC;AAC9B,CAAC","sourcesContent":["import { OpenAPIV3 } from \"openapi-types\";\nimport { ArkosConfig } from \"../../../../exports\";\nimport { capitalize } from \"../../../../utils/helpers/text.helpers\";\nimport portAndHostAllocator from \"../../../../utils/features/port-and-host-allocator\";\n\nexport default function getSwaggerDefaultConfig(\n defaultModelsPaths: Record<string, any>,\n defaultJsonSchemas: OpenAPIV3.PathsObject<{}, {}>\n) {\n const portAndHost = portAndHostAllocator;\n\n return {\n endpoint: \"/docs\",\n mode: \"prisma\",\n strict: false,\n options: {\n definition: {\n openapi: \"3.0.0\",\n info: {\n title: \"Powered By Arkos.js\",\n version: \"1.0.0\",\n description:\n \"This API was automatically generated by Arkos.js, read more about at www.arkosjs.com\",\n },\n servers: [\n {\n url: `http://${[\"0.0.0.0\", \"localhost\", \"127.0.0.1\"].includes(portAndHost.host!) ? \"localhost\" : portAndHost.host}:${portAndHost.port}`,\n description: `Local ${capitalize(process.env.NODE_ENV || \"development\")} Server`,\n },\n ],\n paths: defaultModelsPaths,\n components: {\n schemas: defaultJsonSchemas || {},\n securitySchemes: {\n BearerAuth: {\n type: \"http\",\n scheme: \"bearer\",\n bearerFormat: \"JWT\",\n },\n },\n },\n security: [],\n },\n apis: [\n \"./src/routers/*.router.{ts,js}\",\n \"./src/modules/**/*.router.{ts,js}\",\n ],\n deepLinking: true,\n tryItOutEnabled: true,\n persistAuthorization: false,\n },\n scalarApiReferenceConfiguration: {\n theme: \"deepSpace\",\n darkMode: true,\n layout: \"modern\",\n showSidebar: true,\n hideDownloadButton: false,\n metaData: {\n title: \"Arkos.js API Documentation\",\n description: \"API documentation generated by Arkos.js\",\n },\n pageTitle: \"Arkos.js API Documentation\",\n },\n } as ArkosConfig[\"swagger\"];\n}\n"]}
|
|
@@ -5,22 +5,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.generateClassValidatorJsonSchemas = generateClassValidatorJsonSchemas;
|
|
7
7
|
const class_validator_jsonschema_1 = require("class-validator-jsonschema");
|
|
8
|
-
const global_helpers_1 = require("../../../../../utils/helpers/global.helpers");
|
|
9
8
|
const class_validator_1 = require("class-validator");
|
|
10
9
|
const dynamic_loader_1 = require("../../../../../utils/dynamic-loader");
|
|
11
10
|
const swagger_router_helpers_1 = require("../swagger.router.helpers");
|
|
12
11
|
const prisma_schema_parser_1 = __importDefault(require("../../../../../utils/prisma/prisma-schema-parser"));
|
|
13
12
|
const fs_helpers_1 = require("../../../../../utils/helpers/fs.helpers");
|
|
14
|
-
|
|
13
|
+
const storage_1 = require("class-transformer/cjs/storage");
|
|
14
|
+
function generateClassValidatorJsonSchemas() {
|
|
15
15
|
const requiredAppModules = [
|
|
16
16
|
...prisma_schema_parser_1.default.getModelsAsArrayOfStrings(),
|
|
17
17
|
"auth",
|
|
18
18
|
];
|
|
19
19
|
const schemas = {};
|
|
20
|
-
const { defaultMetadataStorage } = await (0, global_helpers_1.importModule)("class-transformer/cjs/storage.js");
|
|
21
20
|
const jsonSchema = (0, class_validator_jsonschema_1.validationMetadatasToSchemas)({
|
|
22
21
|
classValidatorMetadataStorage: (0, class_validator_1.getMetadataStorage)(),
|
|
23
|
-
classTransformerMetadataStorage: defaultMetadataStorage,
|
|
22
|
+
classTransformerMetadataStorage: storage_1.defaultMetadataStorage,
|
|
24
23
|
refPointerPrefix: "#/components/schemas/",
|
|
25
24
|
});
|
|
26
25
|
requiredAppModules.forEach((modelName) => {
|
|
@@ -31,9 +30,8 @@ async function generateClassValidatorJsonSchemas() {
|
|
|
31
30
|
if (dtoClass && !ignoredDtoTypes.includes(dtoType.toLowerCase())) {
|
|
32
31
|
try {
|
|
33
32
|
const schemaName = (0, swagger_router_helpers_1.getCorrectJsonSchemaName)(dtoType, modelName, "Dto");
|
|
34
|
-
if (schemas[schemaName])
|
|
33
|
+
if (schemas[schemaName])
|
|
35
34
|
throw Error(`Found more then 1 ${dtoClass.name} classes among your .dto.${(0, fs_helpers_1.getUserFileExtension)()} files, there is no way to correctly generate json-schemas for swagger documentation.`);
|
|
36
|
-
}
|
|
37
35
|
schemas[schemaName] = jsonSchema[dtoClass.name] || {};
|
|
38
36
|
}
|
|
39
37
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-class-validator-json-schemas.js","sourceRoot":"","sources":["../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.ts"],"names":[],"mappings":";;;;;AAQA,
|
|
1
|
+
{"version":3,"file":"generate-class-validator-json-schemas.js","sourceRoot":"","sources":["../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.ts"],"names":[],"mappings":";;;;;AAQA,8EA+CC;AAvDD,2EAA0E;AAC1E,qDAAqD;AACrD,wEAA0E;AAC1E,sEAAqE;AACrE,4GAAkF;AAClF,wEAA+E;AAC/E,2DAAuE;AAEvE,SAAgB,iCAAiC;IAC/C,MAAM,kBAAkB,GAAG;QACzB,GAAG,8BAAkB,CAAC,yBAAyB,EAAE;QACjD,MAAM;KACP,CAAC;IACF,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,MAAM,UAAU,GAAG,IAAA,yDAA4B,EAAC;QAC9C,6BAA6B,EAAE,IAAA,oCAAkB,GAAE;QACnD,+BAA+B,EAAE,gCAAsB;QACvD,gBAAgB,EAAE,uBAAuB;KAC1C,CAAC,CAAC;IAEH,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACvC,MAAM,gBAAgB,GAAG,IAAA,oCAAmB,EAAC,SAAS,CAAC,CAAC;QAExD,IAAI,gBAAgB,EAAE,IAAI,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE;gBACpE,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBACnD,IAAI,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACjE,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,IAAA,iDAAwB,EACzC,OAAO,EACP,SAAS,EACT,KAAK,CACN,CAAC;wBAEF,IAAI,OAAO,CAAC,UAAU,CAAC;4BACrB,MAAM,KAAK,CACT,qBAAqB,QAAQ,CAAC,IAAI,4BAA4B,IAAA,iCAAoB,GAAE,uFAAuF,CAC5K,CAAC;wBAEJ,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACxD,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,MAAM,IAAI,KAAK,CACb,iCAAiC,OAAO,IAAI,SAAS,KAAK,GAAG,CAAC,OAAO,EAAE,CACxE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;QACzD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;IACvD,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { validationMetadatasToSchemas } from \"class-validator-jsonschema\";\nimport { getMetadataStorage } from \"class-validator\";\nimport { getModuleComponents } from \"../../../../../utils/dynamic-loader\";\nimport { getCorrectJsonSchemaName } from \"../swagger.router.helpers\";\nimport prismaSchemaParser from \"../../../../../utils/prisma/prisma-schema-parser\";\nimport { getUserFileExtension } from \"../../../../../utils/helpers/fs.helpers\";\nimport { defaultMetadataStorage } from \"class-transformer/cjs/storage\";\n\nexport function generateClassValidatorJsonSchemas() {\n const requiredAppModules = [\n ...prismaSchemaParser.getModelsAsArrayOfStrings(),\n \"auth\",\n ];\n const schemas: Record<string, any> = {};\n\n const jsonSchema = validationMetadatasToSchemas({\n classValidatorMetadataStorage: getMetadataStorage(),\n classTransformerMetadataStorage: defaultMetadataStorage,\n refPointerPrefix: \"#/components/schemas/\",\n });\n\n requiredAppModules.forEach((modelName) => {\n const moduleComponents = getModuleComponents(modelName);\n\n if (moduleComponents?.dtos) {\n Object.entries(moduleComponents.dtos).forEach(([dtoType, dtoClass]) => {\n const ignoredDtoTypes = [\"createone\", \"updateone\"];\n if (dtoClass && !ignoredDtoTypes.includes(dtoType.toLowerCase())) {\n try {\n const schemaName = getCorrectJsonSchemaName(\n dtoType,\n modelName,\n \"Dto\"\n );\n\n if (schemas[schemaName])\n throw Error(\n `Found more then 1 ${dtoClass.name} classes among your .dto.${getUserFileExtension()} files, there is no way to correctly generate json-schemas for swagger documentation.`\n );\n\n schemas[schemaName] = jsonSchema[dtoClass.name] || {};\n } catch (err: any) {\n throw new Error(\n `Failed to generate schema for ${dtoType} ${modelName}: ${err.message}`\n );\n }\n }\n });\n }\n });\n\n Object.entries(jsonSchema).forEach(([className, schema]) => {\n if (!schemas[className]) schemas[className] = schema;\n });\n return schemas;\n}\n"]}
|
|
@@ -6,19 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.generatePrismaJsonSchemas = generatePrismaJsonSchemas;
|
|
7
7
|
const prisma_json_schema_generator_1 = __importDefault(require("../../../../../utils/prisma/prisma-json-schema-generator"));
|
|
8
8
|
const prisma_schema_parser_1 = __importDefault(require("../../../../../utils/prisma/prisma-schema-parser"));
|
|
9
|
-
|
|
9
|
+
function generatePrismaJsonSchemas(arkosConfig) {
|
|
10
10
|
const requiredAppModules = [
|
|
11
11
|
...prisma_schema_parser_1.default.getModelsAsArrayOfStrings(),
|
|
12
12
|
"auth",
|
|
13
13
|
];
|
|
14
14
|
try {
|
|
15
|
-
const modelSchemasArray =
|
|
16
|
-
const modelSchemas =
|
|
15
|
+
const modelSchemasArray = requiredAppModules.map((modelName) => {
|
|
16
|
+
const modelSchemas = prisma_json_schema_generator_1.default.generateModelSchemas({
|
|
17
17
|
modelName,
|
|
18
18
|
arkosConfig,
|
|
19
19
|
});
|
|
20
20
|
return modelSchemas;
|
|
21
|
-
})
|
|
21
|
+
});
|
|
22
22
|
const schemas = modelSchemasArray.reduce((acc, modelSchemas) => {
|
|
23
23
|
return { ...acc, ...modelSchemas };
|
|
24
24
|
}, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-prisma-json-schemas.js","sourceRoot":"","sources":["../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.ts"],"names":[],"mappings":";;;;;AAIA,
|
|
1
|
+
{"version":3,"file":"generate-prisma-json-schemas.js","sourceRoot":"","sources":["../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.ts"],"names":[],"mappings":";;;;;AAIA,8DAwBC;AA3BD,4HAAiG;AACjG,4GAAkF;AAElF,SAAgB,yBAAyB,CAAC,WAAwB;IAChE,MAAM,kBAAkB,GAAG;QACzB,GAAG,8BAAkB,CAAC,yBAAyB,EAAE;QACjD,MAAM;KACP,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7D,MAAM,YAAY,GAAG,sCAAyB,CAAC,oBAAoB,CAAC;gBAClE,SAAS;gBACT,WAAW;aACZ,CAAC,CAAC;YACH,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;YAC7D,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;QACrC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC","sourcesContent":["import { ArkosConfig } from \"../../../../../exports\";\nimport prismaJsonSchemaGenerator from \"../../../../../utils/prisma/prisma-json-schema-generator\";\nimport prismaSchemaParser from \"../../../../../utils/prisma/prisma-schema-parser\";\n\nexport function generatePrismaJsonSchemas(arkosConfig: ArkosConfig) {\n const requiredAppModules = [\n ...prismaSchemaParser.getModelsAsArrayOfStrings(),\n \"auth\",\n ];\n\n try {\n const modelSchemasArray = requiredAppModules.map((modelName) => {\n const modelSchemas = prismaJsonSchemaGenerator.generateModelSchemas({\n modelName,\n arkosConfig,\n });\n return modelSchemas;\n });\n\n const schemas = modelSchemasArray.reduce((acc, modelSchemas) => {\n return { ...acc, ...modelSchemas };\n }, {});\n\n return schemas;\n } catch (err) {\n console.error(err);\n throw err;\n }\n}\n"]}
|
package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js
CHANGED
|
@@ -8,7 +8,7 @@ const dynamic_loader_1 = require("../../../../../utils/dynamic-loader");
|
|
|
8
8
|
const zod_to_json_schema_1 = __importDefault(require("zod-to-json-schema"));
|
|
9
9
|
const swagger_router_helpers_1 = require("../swagger.router.helpers");
|
|
10
10
|
const prisma_schema_parser_1 = __importDefault(require("../../../../../utils/prisma/prisma-schema-parser"));
|
|
11
|
-
|
|
11
|
+
function generateZodJsonSchemas() {
|
|
12
12
|
const requiredAppModules = [
|
|
13
13
|
...prisma_schema_parser_1.default.getModelsAsArrayOfStrings(),
|
|
14
14
|
"auth",
|