arkos 1.2.32-test → 1.3.0-canary
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 +2 -2
- package/dist/cjs/app.js +1 -1
- package/dist/cjs/app.js.map +1 -1
- package/dist/cjs/exports/auth/index.js +1 -6
- package/dist/cjs/exports/controllers/index.js +1 -11
- package/dist/cjs/exports/error-handler/index.js +1 -11
- package/dist/cjs/exports/index.js +1 -12
- package/dist/cjs/exports/middlewares/index.js +1 -7
- package/dist/cjs/exports/prisma/index.js +1 -6
- package/dist/cjs/exports/prisma/index.js.map +1 -1
- package/dist/cjs/exports/services/index.js +1 -49
- package/dist/cjs/exports/services/index.js.map +1 -1
- package/dist/cjs/exports/utils/index.js +1 -44
- package/dist/cjs/exports/validation/index.js +1 -11
- package/dist/cjs/modules/auth/auth.controller.js +1 -194
- package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
- package/dist/cjs/modules/auth/auth.router.js +1 -50
- package/dist/cjs/modules/auth/auth.router.js.map +1 -1
- package/dist/cjs/modules/auth/auth.service.js +1 -185
- package/dist/cjs/modules/auth/auth.service.js.map +1 -1
- package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +1 -83
- package/dist/cjs/modules/base/base.controller.js +1 -158
- package/dist/cjs/modules/base/base.controller.js.map +1 -1
- package/dist/cjs/modules/base/base.middlewares.js +1 -92
- package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
- package/dist/cjs/modules/base/base.router.js +1 -24
- package/dist/cjs/modules/base/base.router.js.map +1 -1
- package/dist/cjs/modules/base/base.service.js +1 -128
- package/dist/cjs/modules/base/base.service.js.map +1 -1
- package/dist/cjs/modules/base/types/base.service.types.js +1 -0
- package/dist/cjs/modules/base/types/base.service.types.js.map +1 -0
- package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +1 -82
- package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js.map +1 -1
- package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +1 -50
- package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +1 -97
- 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 +1 -171
- package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
- package/dist/cjs/modules/base/utils/service-hooks-manager.js +1 -0
- package/dist/cjs/modules/base/utils/service-hooks-manager.js.map +1 -0
- package/dist/cjs/modules/email/email.service.js +1 -104
- package/dist/cjs/modules/error-handler/error-handler.controller.js +4 -146
- package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
- package/dist/cjs/modules/error-handler/utils/app-error.js +1 -17
- package/dist/cjs/modules/error-handler/utils/catch-async.js +1 -12
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +3 -201
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
- package/dist/cjs/modules/file-upload/file-upload.controller.js +1 -271
- package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
- package/dist/cjs/modules/file-upload/file-upload.router.js +1 -44
- package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
- package/dist/cjs/modules/file-upload/file-upload.service.js +1 -322
- package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -97
- package/dist/cjs/modules/swagger/swagger.router.js +1 -99
- package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -250
- package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -66
- package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -41
- 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 +1 -22
- 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 -0
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -94
- package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/server.js +4 -2
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/types/arkos-config.js +1 -3
- package/dist/cjs/types/arkos-config.js.map +1 -1
- package/dist/cjs/types/auth.js +1 -3
- package/dist/cjs/types/index.js +1 -11
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/router-config.js +1 -3
- package/dist/cjs/utils/arkos-env.js +1 -9
- package/dist/cjs/utils/cli/build.js +5 -212
- package/dist/cjs/utils/cli/build.js.map +1 -1
- package/dist/cjs/utils/cli/dev.js +5 -256
- package/dist/cjs/utils/cli/dev.js.map +1 -1
- package/dist/cjs/utils/cli/generate.js +12 -189
- package/dist/cjs/utils/cli/generate.js.map +1 -1
- package/dist/cjs/utils/cli/index.js +1 -81
- package/dist/cjs/utils/cli/index.js.map +1 -1
- package/dist/cjs/utils/cli/start.js +1 -93
- package/dist/cjs/utils/cli/start.js.map +1 -1
- package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -24
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -20
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +9 -18
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +174 -101
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +9 -37
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -36
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +7 -28
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
- package/dist/cjs/utils/cli/utils/template-generators.js +2 -28
- package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
- package/dist/cjs/utils/cli/utils/watermark-stamper.js +3 -0
- package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +1 -0
- package/dist/cjs/utils/dotenv.helpers.js +1 -43
- package/dist/cjs/utils/dynamic-loader.js +11 -0
- package/dist/cjs/utils/dynamic-loader.js.map +1 -0
- package/dist/cjs/utils/features/api.features.js +1 -167
- package/dist/cjs/utils/features/api.features.js.map +1 -1
- package/dist/cjs/utils/features/change-case.features.js +1 -67
- package/dist/cjs/utils/features/port-and-host-allocator.js +1 -0
- package/dist/cjs/utils/features/port-and-host-allocator.js.map +1 -0
- package/dist/cjs/utils/helpers/api.features.helpers.js +1 -106
- package/dist/cjs/utils/helpers/api.features.helpers.js.map +1 -1
- package/dist/cjs/utils/helpers/change-case.helpers.js +1 -177
- package/dist/cjs/utils/helpers/deepmerge.helper.js +1 -115
- package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +1 -0
- package/dist/cjs/utils/helpers/dynamic-loader.helpers.js.map +1 -0
- package/dist/cjs/utils/helpers/fs.helpers.js +1 -61
- package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
- package/dist/cjs/utils/helpers/global.helpers.js +1 -89
- package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
- package/dist/cjs/utils/helpers/prisma.helpers.js +1 -52
- package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
- package/dist/cjs/utils/helpers/query-parser.helpers.js +1 -45
- package/dist/cjs/utils/helpers/routers.helpers.js +1 -21
- package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -1
- package/dist/cjs/utils/helpers/text.helpers.js +1 -28
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +1 -0
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +1 -0
- package/dist/cjs/utils/prisma/prisma-schema-parser.js +3 -0
- package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -0
- package/dist/cjs/utils/prisma/types.js +1 -0
- package/dist/cjs/utils/prisma/types.js.map +1 -0
- package/dist/cjs/utils/sheu.js +1 -119
- package/dist/cjs/utils/sheu.js.map +1 -1
- package/dist/cjs/utils/validate-dto.js +1 -17
- package/dist/cjs/utils/validate-schema.js +1 -15
- package/dist/esm/app.js +1 -1
- package/dist/esm/app.js.map +1 -1
- package/dist/esm/exports/auth/index.js +1 -2
- package/dist/esm/exports/controllers/index.js +1 -4
- package/dist/esm/exports/error-handler/index.js +1 -4
- package/dist/esm/exports/index.js +1 -8
- package/dist/esm/exports/middlewares/index.js +1 -2
- package/dist/esm/exports/prisma/index.js +1 -3
- package/dist/esm/exports/prisma/index.js.map +1 -1
- package/dist/esm/exports/services/index.js +1 -9
- package/dist/esm/exports/services/index.js.map +1 -1
- package/dist/esm/exports/utils/index.js +1 -4
- package/dist/esm/exports/validation/index.js +1 -4
- package/dist/esm/modules/auth/auth.controller.js +1 -187
- package/dist/esm/modules/auth/auth.controller.js.map +1 -1
- package/dist/esm/modules/auth/auth.router.js +1 -44
- package/dist/esm/modules/auth/auth.router.js.map +1 -1
- package/dist/esm/modules/auth/auth.service.js +1 -178
- package/dist/esm/modules/auth/auth.service.js.map +1 -1
- package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -73
- package/dist/esm/modules/base/base.controller.js +1 -150
- package/dist/esm/modules/base/base.controller.js.map +1 -1
- package/dist/esm/modules/base/base.middlewares.js +1 -81
- package/dist/esm/modules/base/base.middlewares.js.map +1 -1
- package/dist/esm/modules/base/base.router.js +1 -17
- package/dist/esm/modules/base/base.router.js.map +1 -1
- package/dist/esm/modules/base/base.service.js +1 -120
- package/dist/esm/modules/base/base.service.js.map +1 -1
- package/dist/esm/modules/base/types/base.service.types.js +1 -0
- package/dist/esm/modules/base/types/base.service.types.js.map +1 -0
- package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +1 -77
- package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js.map +1 -1
- package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +1 -44
- package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +1 -89
- 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 +1 -165
- package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
- package/dist/esm/modules/base/utils/service-hooks-manager.js +1 -0
- package/dist/esm/modules/base/utils/service-hooks-manager.js.map +1 -0
- package/dist/esm/modules/email/email.service.js +1 -97
- package/dist/esm/modules/error-handler/error-handler.controller.js +4 -107
- package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
- package/dist/esm/modules/error-handler/utils/app-error.js +1 -15
- package/dist/esm/modules/error-handler/utils/catch-async.js +1 -10
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +3 -160
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.controller.js +1 -266
- package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.router.js +1 -38
- package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.service.js +1 -314
- package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -87
- package/dist/esm/modules/swagger/swagger.router.js +1 -93
- package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -247
- package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -63
- package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -38
- 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 +1 -19
- 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 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
- package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -84
- package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
- package/dist/esm/package.json +3 -0
- package/dist/esm/server.js +4 -2
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/types/arkos-config.js +1 -2
- package/dist/esm/types/arkos-config.js.map +1 -1
- package/dist/esm/types/auth.js +1 -2
- package/dist/esm/types/index.js +1 -8
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/router-config.js +1 -2
- package/dist/esm/utils/arkos-env.js +1 -7
- package/dist/esm/utils/cli/build.js +5 -206
- package/dist/esm/utils/cli/build.js.map +1 -1
- package/dist/esm/utils/cli/dev.js +5 -249
- package/dist/esm/utils/cli/dev.js.map +1 -1
- package/dist/esm/utils/cli/generate.js +12 -183
- package/dist/esm/utils/cli/generate.js.map +1 -1
- package/dist/esm/utils/cli/index.js +1 -74
- package/dist/esm/utils/cli/index.js.map +1 -1
- package/dist/esm/utils/cli/start.js +1 -86
- package/dist/esm/utils/cli/start.js.map +1 -1
- package/dist/esm/utils/cli/utils/cli.helpers.js +1 -16
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -17
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +9 -15
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +174 -98
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +9 -34
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -30
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +7 -25
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
- package/dist/esm/utils/cli/utils/template-generators.js +2 -25
- package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
- package/dist/esm/utils/cli/utils/watermark-stamper.js +3 -0
- package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -0
- package/dist/esm/utils/dotenv.helpers.js +1 -37
- package/dist/esm/utils/dynamic-loader.js +11 -0
- package/dist/esm/utils/dynamic-loader.js.map +1 -0
- package/dist/esm/utils/features/api.features.js +1 -160
- package/dist/esm/utils/features/api.features.js.map +1 -1
- package/dist/esm/utils/features/change-case.features.js +1 -31
- package/dist/esm/utils/features/port-and-host-allocator.js +1 -0
- package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -0
- package/dist/esm/utils/helpers/api.features.helpers.js +1 -103
- package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/change-case.helpers.js +1 -161
- package/dist/esm/utils/helpers/deepmerge.helper.js +1 -113
- package/dist/esm/utils/helpers/dynamic-loader.helpers.js +1 -0
- package/dist/esm/utils/helpers/dynamic-loader.helpers.js.map +1 -0
- package/dist/esm/utils/helpers/fs.helpers.js +1 -52
- package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/global.helpers.js +1 -47
- package/dist/esm/utils/helpers/global.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/prisma.helpers.js +1 -44
- package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/query-parser.helpers.js +1 -40
- package/dist/esm/utils/helpers/routers.helpers.js +1 -16
- package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/text.helpers.js +1 -22
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js +1 -0
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -0
- package/dist/esm/utils/prisma/prisma-schema-parser.js +3 -0
- package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -0
- package/dist/esm/utils/prisma/types.js +1 -0
- package/dist/esm/utils/prisma/types.js.map +1 -0
- package/dist/esm/utils/sheu.js +1 -117
- package/dist/esm/utils/sheu.js.map +1 -1
- package/dist/esm/utils/validate-dto.js +1 -11
- package/dist/esm/utils/validate-schema.js +1 -9
- package/dist/types/exports/prisma/index.d.ts +1 -1
- package/dist/types/exports/services/index.d.ts +3 -2
- package/dist/types/modules/auth/auth.controller.d.ts +1 -1
- package/dist/types/modules/auth/auth.service.d.ts +1 -0
- package/dist/types/modules/base/base.controller.d.ts +1 -2
- package/dist/types/modules/base/base.middlewares.d.ts +4 -4
- package/dist/types/modules/base/base.service.d.ts +13 -67
- package/dist/types/modules/base/types/base.service.types.d.ts +183 -0
- package/dist/types/modules/base/utils/helpers/base.controller.helpers.d.ts +0 -2
- package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +1 -1
- package/dist/types/modules/base/utils/helpers/base.service.helpers.d.ts +2 -1
- package/dist/types/modules/base/utils/service-hooks-manager.d.ts +7 -0
- package/dist/types/modules/error-handler/error-handler.controller.d.ts +1 -1
- package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +1 -0
- package/dist/types/modules/file-upload/file-upload.controller.d.ts +1 -1
- package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +3 -1
- package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +46 -0
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +2 -1
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +1 -0
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +3 -0
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.d.ts +3 -0
- package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +34 -0
- package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +2 -2
- package/dist/types/types/arkos-config.d.ts +5 -3
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/utils/cli/generate.d.ts +1 -1
- package/dist/types/utils/cli/utils/watermark-stamper.d.ts +9 -0
- package/dist/types/utils/{helpers/models.helpers.d.ts → dynamic-loader.d.ts} +33 -20
- package/dist/types/utils/features/port-and-host-allocator.d.ts +21 -0
- package/dist/types/utils/helpers/dynamic-loader.helpers.d.ts +2 -0
- package/dist/types/utils/helpers/fs.helpers.d.ts +0 -4
- package/dist/types/utils/helpers/global.helpers.d.ts +1 -0
- package/dist/types/utils/helpers/prisma.helpers.d.ts +0 -1
- package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +34 -0
- package/dist/types/utils/prisma/prisma-schema-parser.d.ts +18 -0
- package/dist/types/utils/prisma/types.d.ts +48 -0
- package/package.json +24 -17
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +0 -30
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +0 -442
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +0 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +0 -165
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +0 -1
- package/dist/cjs/utils/helpers/models.helpers.js +0 -314
- package/dist/cjs/utils/helpers/models.helpers.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +0 -24
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +0 -436
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +0 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +0 -159
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +0 -1
- package/dist/esm/utils/helpers/models.helpers.js +0 -297
- package/dist/esm/utils/helpers/models.helpers.js.map +0 -1
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.d.ts +0 -1
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.d.ts +0 -2
- package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.d.ts +0 -2
|
@@ -1,97 +1 @@
|
|
|
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.processImage = exports.processFile = void 0;
|
|
7
|
-
exports.adjustRequestUrl = adjustRequestUrl;
|
|
8
|
-
exports.extractRequestInfo = extractRequestInfo;
|
|
9
|
-
const fs_1 = __importDefault(require("fs"));
|
|
10
|
-
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const sharp_1 = __importDefault(require("sharp"));
|
|
12
|
-
const util_1 = require("util");
|
|
13
|
-
const server_1 = require("../../../../server");
|
|
14
|
-
const mimetype_1 = __importDefault(require("mimetype"));
|
|
15
|
-
const fs_helpers_1 = require("../../../../utils/helpers/fs.helpers");
|
|
16
|
-
function adjustRequestUrl(req, _, next) {
|
|
17
|
-
const { fileUpload } = (0, server_1.getArkosConfig)();
|
|
18
|
-
req.url = req.url.replace(fileUpload?.baseRoute + "/" || "/api/uploads/", "/");
|
|
19
|
-
req.url = req.url.replace(fileUpload?.baseRoute || "/api/uploads/", "/");
|
|
20
|
-
next();
|
|
21
|
-
}
|
|
22
|
-
function extractRequestInfo(req) {
|
|
23
|
-
const { fileUpload } = (0, server_1.getArkosConfig)();
|
|
24
|
-
const protocol = req.headers["x-forwarded-proto"] === "https" ? "https" : "http";
|
|
25
|
-
const baseURL = `${protocol}://${req.get?.("host")}`;
|
|
26
|
-
const baseRoute = fileUpload?.baseRoute || "/api/uploads";
|
|
27
|
-
return { baseURL, baseRoute };
|
|
28
|
-
}
|
|
29
|
-
const generateRelativePath = (filePath, fileType) => {
|
|
30
|
-
const { fileUpload } = (0, server_1.getArkosConfig)();
|
|
31
|
-
const baseUploadDir = fileUpload?.baseUploadDir || "/uploads";
|
|
32
|
-
if (baseUploadDir.startsWith("..")) {
|
|
33
|
-
return path_1.default.join(fileType, path_1.default.basename(filePath));
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
return (0, fs_helpers_1.fullCleanCwd)(filePath
|
|
37
|
-
.replace(`${baseUploadDir}/`, "")
|
|
38
|
-
.replace(`/${baseUploadDir}/`, "")
|
|
39
|
-
.replace(`/${baseUploadDir}`, "")
|
|
40
|
-
.replace(`${baseUploadDir}`, ""));
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
const processFile = async (req, filePath) => {
|
|
44
|
-
const { baseURL, baseRoute } = extractRequestInfo(req);
|
|
45
|
-
const relativePath = generateRelativePath(filePath, req.params.fileType);
|
|
46
|
-
return `${baseURL}${baseRoute === "/" ? "" : baseRoute}/${relativePath}`;
|
|
47
|
-
};
|
|
48
|
-
exports.processFile = processFile;
|
|
49
|
-
const processImage = async (req, filePath, options) => {
|
|
50
|
-
const { baseURL, baseRoute } = extractRequestInfo(req);
|
|
51
|
-
const ext = path_1.default.extname(filePath).toLowerCase();
|
|
52
|
-
const originalFormat = ext.replace(".", "");
|
|
53
|
-
const outputFormat = options.format || originalFormat;
|
|
54
|
-
if (!mimetype_1.default.lookup(ext)?.includes?.("image")) {
|
|
55
|
-
const relativePath = generateRelativePath(filePath, req.params.fileType);
|
|
56
|
-
return `${baseURL}${baseRoute}/${relativePath}`;
|
|
57
|
-
}
|
|
58
|
-
const tempName = `${path_1.default.basename(filePath, ext)}_${Date.now()}${ext}`;
|
|
59
|
-
const tempPath = path_1.default.join(path_1.default.dirname(filePath), tempName);
|
|
60
|
-
try {
|
|
61
|
-
let transformer = (0, sharp_1.default)(filePath);
|
|
62
|
-
const metadata = await transformer.metadata();
|
|
63
|
-
if (options.resizeTo && metadata.width && metadata.height) {
|
|
64
|
-
const targetSize = options.resizeTo;
|
|
65
|
-
const scaleFactor = targetSize / Math.min(metadata.width, metadata.height);
|
|
66
|
-
const newWidth = Math.round(metadata.width * scaleFactor);
|
|
67
|
-
const newHeight = Math.round(metadata.height * scaleFactor);
|
|
68
|
-
transformer = transformer.resize(newWidth, newHeight);
|
|
69
|
-
}
|
|
70
|
-
else if (options.width || options.height) {
|
|
71
|
-
transformer = transformer.resize(options.width || null, options.height || null, {
|
|
72
|
-
fit: "inside",
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
if (outputFormat === "webp") {
|
|
76
|
-
transformer = transformer.toFormat("webp");
|
|
77
|
-
}
|
|
78
|
-
else if (outputFormat === "jpeg" || outputFormat === "jpg") {
|
|
79
|
-
transformer = transformer.toFormat("jpeg");
|
|
80
|
-
}
|
|
81
|
-
await transformer.toFile(tempPath);
|
|
82
|
-
await (0, util_1.promisify)(fs_1.default.rename)(tempPath, filePath);
|
|
83
|
-
const relativePath = generateRelativePath(filePath, req?.params.fileType);
|
|
84
|
-
return `${baseURL}${baseRoute}/${relativePath}`;
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
try {
|
|
88
|
-
await (0, util_1.promisify)(fs_1.default.stat)(tempPath);
|
|
89
|
-
await (0, util_1.promisify)(fs_1.default.unlink)(tempPath);
|
|
90
|
-
}
|
|
91
|
-
catch (err) {
|
|
92
|
-
}
|
|
93
|
-
throw error;
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
exports.processImage = processImage;
|
|
97
|
-
//# sourceMappingURL=file-upload.helpers.js.map
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.processImage=exports.processFile=void 0,exports.adjustRequestUrl=adjustRequestUrl,exports.extractRequestInfo=extractRequestInfo;const fs_1=__importDefault(require("fs")),path_1=__importDefault(require("path")),sharp_1=__importDefault(require("sharp")),util_1=require("util"),server_1=require("../../../../server"),mimetype_1=__importDefault(require("mimetype")),fs_helpers_1=require("../../../../utils/helpers/fs.helpers");function adjustRequestUrl(e,a,r){const{fileUpload:t}=(0,server_1.getArkosConfig)();e.url=e.url.replace(t?.baseRoute+"/"||"/api/uploads/","/"),e.url=e.url.replace(t?.baseRoute||"/api/uploads/","/"),r()}function extractRequestInfo(e){const{fileUpload:a}=(0,server_1.getArkosConfig)(),t=`${e.headers["x-forwarded-proto"]==="https"?"https":"http"}://${e.get?.("host")}`,i=a?.baseRoute||"/api/uploads";return{baseURL:t,baseRoute:i}}const generateRelativePath=(e,a)=>{const{fileUpload:r}=(0,server_1.getArkosConfig)(),t=r?.baseUploadDir||"/uploads";return t.startsWith("..")?path_1.default.join(a,path_1.default.basename(e)):(0,fs_helpers_1.fullCleanCwd)(e.replace(`${t}/`,"").replace(`/${t}/`,"").replace(`/${t}`,"").replace(`${t}`,""))},processFile=async(e,a)=>{const{baseURL:r,baseRoute:t}=extractRequestInfo(e),i=generateRelativePath(a,e.params.fileType);return`${r}${t==="/"?"":t}/${i}`};exports.processFile=processFile;const processImage=async(e,a,r)=>{const{baseURL:t,baseRoute:i}=extractRequestInfo(e),l=path_1.default.extname(a).toLowerCase(),p=l.replace(".",""),u=r.format||p;if(!mimetype_1.default.lookup(l)?.includes?.("image")){const s=generateRelativePath(a,e.params.fileType);return`${t}${i}/${s}`}const d=`${path_1.default.basename(a,l)}_${Date.now()}${l}`,n=path_1.default.join(path_1.default.dirname(a),d);try{let s=(0,sharp_1.default)(a);const o=await s.metadata();if(r.resizeTo&&o.width&&o.height){const c=r.resizeTo/Math.min(o.width,o.height),h=Math.round(o.width*c),m=Math.round(o.height*c);s=s.resize(h,m)}else(r.width||r.height)&&(s=s.resize(r.width||null,r.height||null,{fit:"inside"}));u==="webp"?s=s.toFormat("webp"):(u==="jpeg"||u==="jpg")&&(s=s.toFormat("jpeg")),await s.toFile(n),await(0,util_1.promisify)(fs_1.default.rename)(n,a);const f=generateRelativePath(a,e?.params.fileType);return`${t}${i}/${f}`}catch(s){try{await(0,util_1.promisify)(fs_1.default.stat)(n),await(0,util_1.promisify)(fs_1.default.unlink)(n)}catch{}throw s}};exports.processImage=processImage;
|
|
@@ -1,99 +1 @@
|
|
|
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.getSwaggerRouter = getSwaggerRouter;
|
|
7
|
-
const express_1 = require("express");
|
|
8
|
-
const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
|
|
9
|
-
const swagger_jsdoc_1 = __importDefault(require("swagger-jsdoc"));
|
|
10
|
-
const deepmerge_helper_1 = __importDefault(require("../../utils/helpers/deepmerge.helper"));
|
|
11
|
-
const swagger_router_helpers_1 = require("./utils/helpers/swagger.router.helpers");
|
|
12
|
-
const swaggerRouter = (0, express_1.Router)();
|
|
13
|
-
async function getSwaggerRouter(arkosConfig) {
|
|
14
|
-
const defaultJsonSchemas = await (0, swagger_router_helpers_1.getOpenAPIJsonSchemasByConfigMode)(arkosConfig.swagger);
|
|
15
|
-
const defaultModelsPaths = await (0, swagger_router_helpers_1.generatePathsForModels)(arkosConfig);
|
|
16
|
-
const defaultSwaggerConfig = {
|
|
17
|
-
endpoint: "/api-docs",
|
|
18
|
-
mode: "prisma",
|
|
19
|
-
options: {
|
|
20
|
-
definition: {
|
|
21
|
-
openapi: "3.0.0",
|
|
22
|
-
info: {
|
|
23
|
-
title: "Powered By Arkos.js",
|
|
24
|
-
version: "1.0.0",
|
|
25
|
-
description: "This API was automatically generated by Arkos.js, read more about at www.arkosjs.com",
|
|
26
|
-
},
|
|
27
|
-
servers: [
|
|
28
|
-
{
|
|
29
|
-
url: `http://${arkosConfig.host}:${arkosConfig.port}`,
|
|
30
|
-
description: "Development server",
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
paths: defaultModelsPaths,
|
|
34
|
-
components: {
|
|
35
|
-
schemas: defaultJsonSchemas || {},
|
|
36
|
-
securitySchemes: {
|
|
37
|
-
BearerAuth: {
|
|
38
|
-
type: "http",
|
|
39
|
-
scheme: "bearer",
|
|
40
|
-
bearerFormat: "JWT",
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
security: [],
|
|
45
|
-
},
|
|
46
|
-
apis: [
|
|
47
|
-
"./src/routers/*.router.{ts,js}",
|
|
48
|
-
"./src/modules/**/*.router.{ts,js}",
|
|
49
|
-
],
|
|
50
|
-
swaggerUiOptions: {
|
|
51
|
-
explorer: true,
|
|
52
|
-
swaggerOptions: {
|
|
53
|
-
filter: true,
|
|
54
|
-
displayRequestDuration: true,
|
|
55
|
-
showExtensions: true,
|
|
56
|
-
showCommonExtensions: true,
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
deepLinking: true,
|
|
60
|
-
tryItOutEnabled: true,
|
|
61
|
-
persistAuthorization: false,
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
const swaggerConfigs = (0, deepmerge_helper_1.default)(defaultSwaggerConfig, arkosConfig.swagger || {});
|
|
65
|
-
if (swaggerConfigs?.options?.definition?.components?.schemas) {
|
|
66
|
-
swaggerConfigs.options.definition.components.schemas = {
|
|
67
|
-
...swaggerConfigs?.options?.definition?.components.schemas,
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
const swaggerSpecification = (0, swagger_jsdoc_1.default)({
|
|
71
|
-
definition: swaggerConfigs.options
|
|
72
|
-
.definition,
|
|
73
|
-
apis: swaggerConfigs.options.apis || [],
|
|
74
|
-
});
|
|
75
|
-
const swaggerUiOptions = {
|
|
76
|
-
explorer: swaggerConfigs.options.swaggerUiOptions?.explorer ?? true,
|
|
77
|
-
customCss: swaggerConfigs.options.swaggerUiOptions?.customCss,
|
|
78
|
-
customSiteTitle: swaggerConfigs.options.swaggerUiOptions?.customSiteTitle ||
|
|
79
|
-
"Arkos.js API Documentation",
|
|
80
|
-
customfavIcon: swaggerConfigs.options.swaggerUiOptions?.customfavIcon,
|
|
81
|
-
swaggerOptions: {
|
|
82
|
-
filter: swaggerConfigs.options.swaggerUiOptions?.swaggerOptions?.filter ?? true,
|
|
83
|
-
displayRequestDuration: swaggerConfigs.options.swaggerUiOptions?.swaggerOptions
|
|
84
|
-
?.displayRequestDuration ?? true,
|
|
85
|
-
deepLinking: swaggerConfigs.options.deepLinking ?? true,
|
|
86
|
-
tryItOutEnabled: swaggerConfigs.options.tryItOutEnabled ?? true,
|
|
87
|
-
persistAuthorization: swaggerConfigs.options.persistAuthorization ?? false,
|
|
88
|
-
showExtensions: swaggerConfigs.options.swaggerUiOptions?.swaggerOptions
|
|
89
|
-
?.showExtensions ?? true,
|
|
90
|
-
showCommonExtensions: swaggerConfigs.options.swaggerUiOptions?.swaggerOptions
|
|
91
|
-
?.showCommonExtensions ?? true,
|
|
92
|
-
...swaggerConfigs.options.swaggerUiOptions?.swaggerOptions,
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
swaggerRouter.use(swaggerConfigs.endpoint, swagger_ui_express_1.default.serve);
|
|
96
|
-
swaggerRouter.get(swaggerConfigs.endpoint, swagger_ui_express_1.default.setup(swaggerSpecification, swaggerUiOptions));
|
|
97
|
-
return swaggerRouter;
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=swagger.router.js.map
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSwaggerRouter=getSwaggerRouter;const express_1=require("express"),swagger_jsdoc_1=__importDefault(require("swagger-jsdoc")),deepmerge_helper_1=__importDefault(require("../../utils/helpers/deepmerge.helper")),swagger_router_helpers_1=require("./utils/helpers/swagger.router.helpers"),missing_json_schemas_generator_1=__importDefault(require("./utils/helpers/missing-json-schemas-generator")),get_swagger_default_configs_1=__importDefault(require("./utils/helpers/get-swagger-default-configs")),global_helpers_1=require("../../utils/helpers/global.helpers"),swaggerRouter=(0,express_1.Router)();async function getSwaggerRouter(e){let s=await(0,swagger_router_helpers_1.getOpenAPIJsonSchemasByConfigMode)(e);const t=await(0,swagger_router_helpers_1.generatePathsForModels)(e);s={...s,...await missing_json_schemas_generator_1.default.generateMissingJsonSchemas(t,s,e)};const r=(0,deepmerge_helper_1.default)(await(0,get_swagger_default_configs_1.default)(t,s)||{},e.swagger||{}),{definition:a,...n}=r?.options,i=(0,swagger_jsdoc_1.default)({definition:a,...n}),o=await(0,global_helpers_1.importEsmPreventingTsTransformation)("@scalar/express-api-reference");return swaggerRouter.use(r.endpoint,o.apiReference({content:i,...r?.scalarApiReferenceConfiguration})),swaggerRouter}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swagger.router.js","sourceRoot":"","sources":["../../../../src/modules/swagger/swagger.router.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"swagger.router.js","sourceRoot":"","sources":["../../../../src/modules/swagger/swagger.router.ts"],"names":[],"mappings":";;;;;AAcA,4CA2CC;AAzDD,qCAAiC;AACjC,kEAAyC;AAEzC,4FAA6D;AAC7D,mFAGgD;AAChD,oHAAwF;AACxF,8GAAkF;AAClF,uEAAyF;AAEzF,MAAM,aAAa,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,KAAK,UAAU,gBAAgB,CACpC,WAAwB;IAExB,IAAI,kBAAkB,GAAG,MAAM,IAAA,0DAAiC,EAAC,WAAW,CAAC,CAAC;IAC9E,MAAM,kBAAkB,GAAG,MAAM,IAAA,+CAAsB,EAAC,WAAW,CAAC,CAAC;IAErE,kBAAkB,GAAG;QACnB,GAAG,kBAAkB;QACrB,GAAG,CAAC,MAAM,wCAA0B,CAAC,0BAA0B,CAC7D,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,CACZ,CAAC;KACH,CAAC;IAGF,MAAM,cAAc,GAAG,IAAA,0BAAS,EAC9B,CAAC,MAAM,IAAA,qCAAuB,EAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACrE,EAAE,EACJ,WAAW,CAAC,OAAO,IAAI,EAAE,CACA,CAAC;IAE5B,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,cAAc,EAAE,OAAQ,CAAC;IAG5D,MAAM,oBAAoB,GAAG,IAAA,uBAAY,EAAC;QACxC,UAAU,EAAE,UAA4C;QACxD,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,IAAA,oDAAmC,EACtD,+BAA+B,CAChC,CAAC;IAEF,aAAa,CAAC,GAAG,CACf,cAAe,CAAC,QAAS,EACzB,MAAM,CAAC,YAAY,CAAC;QAClB,OAAO,EAAE,oBAAoB;QAC7B,GAAG,cAAc,EAAE,+BAA+B;KACnD,CAAC,CACH,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC","sourcesContent":["import { Router } from \"express\";\nimport swaggerJsdoc from \"swagger-jsdoc\";\nimport { ArkosConfig } from \"../../types/arkos-config\";\nimport deepmerge from \"../../utils/helpers/deepmerge.helper\";\nimport {\n generatePathsForModels,\n getOpenAPIJsonSchemasByConfigMode,\n} from \"./utils/helpers/swagger.router.helpers\";\nimport missingJsonSchemaGenerator from \"./utils/helpers/missing-json-schemas-generator\";\nimport getSwaggerDefaultConfig from \"./utils/helpers/get-swagger-default-configs\";\nimport { importEsmPreventingTsTransformation } from \"../../utils/helpers/global.helpers\";\n\nconst swaggerRouter = Router();\n\nexport async function getSwaggerRouter(\n arkosConfig: ArkosConfig\n): Promise<Router> {\n let defaultJsonSchemas = await getOpenAPIJsonSchemasByConfigMode(arkosConfig);\n const defaultModelsPaths = await generatePathsForModels(arkosConfig);\n\n defaultJsonSchemas = {\n ...defaultJsonSchemas,\n ...(await missingJsonSchemaGenerator.generateMissingJsonSchemas(\n defaultModelsPaths,\n defaultJsonSchemas,\n arkosConfig\n )),\n };\n\n // Merge default config with user config\n const swaggerConfigs = deepmerge(\n (await getSwaggerDefaultConfig(defaultModelsPaths, defaultJsonSchemas)) ||\n {},\n arkosConfig.swagger || {}\n ) as ArkosConfig[\"swagger\"];\n\n const { definition, ...options } = swaggerConfigs?.options!;\n\n // Generate OpenAPI specification using swagger-jsdoc\n const swaggerSpecification = swaggerJsdoc({\n definition: definition as swaggerJsdoc.SwaggerDefinition,\n ...options,\n });\n\n const scalar = await importEsmPreventingTsTransformation(\n \"@scalar/express-api-reference\"\n );\n // Serve Scalar API documentation\n swaggerRouter.use(\n swaggerConfigs!.endpoint!,\n scalar.apiReference({\n content: swaggerSpecification,\n ...swaggerConfigs?.scalarApiReferenceConfiguration,\n })\n );\n\n return swaggerRouter;\n}\n"]}
|
|
@@ -1,250 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAuthenticationJsonSchemaPaths = getAuthenticationJsonSchemaPaths;
|
|
4
|
-
const swagger_router_helpers_1 = require("./swagger.router.helpers");
|
|
5
|
-
const server_1 = require("../../../../server");
|
|
6
|
-
function getAuthenticationJsonSchemaPaths() {
|
|
7
|
-
const mode = (0, server_1.getArkosConfig)().swagger?.mode;
|
|
8
|
-
const paths = {};
|
|
9
|
-
if (!mode)
|
|
10
|
-
return paths;
|
|
11
|
-
paths["/api/auth/login"] = {
|
|
12
|
-
post: {
|
|
13
|
-
tags: ["Authentication"],
|
|
14
|
-
summary: "Login to the system",
|
|
15
|
-
description: "Authenticates a user and returns an access token",
|
|
16
|
-
operationId: "login",
|
|
17
|
-
requestBody: {
|
|
18
|
-
description: "User credentials",
|
|
19
|
-
required: true,
|
|
20
|
-
content: {
|
|
21
|
-
"application/json": {
|
|
22
|
-
schema: {
|
|
23
|
-
$ref: (0, swagger_router_helpers_1.getSchemaRef)("Login", mode),
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
responses: {
|
|
29
|
-
"200": {
|
|
30
|
-
description: "Login successful",
|
|
31
|
-
content: {
|
|
32
|
-
"application/json": {
|
|
33
|
-
schema: {
|
|
34
|
-
type: "object",
|
|
35
|
-
properties: {
|
|
36
|
-
accessToken: {
|
|
37
|
-
type: "string",
|
|
38
|
-
description: "JWT access token",
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
"400": {
|
|
46
|
-
description: "Invalid input data",
|
|
47
|
-
},
|
|
48
|
-
"401": {
|
|
49
|
-
description: "Invalid credentials",
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
paths["/api/auth/logout"] = {
|
|
55
|
-
delete: {
|
|
56
|
-
tags: ["Authentication"],
|
|
57
|
-
summary: "Logout from the system",
|
|
58
|
-
description: "Invalidates the current user's JWT token",
|
|
59
|
-
operationId: "logout",
|
|
60
|
-
security: [{ BearerAuth: [] }],
|
|
61
|
-
responses: {
|
|
62
|
-
"204": {
|
|
63
|
-
description: "Logout successful",
|
|
64
|
-
},
|
|
65
|
-
"401": {
|
|
66
|
-
description: "Authentication required",
|
|
67
|
-
},
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
paths["/api/auth/signup"] = {
|
|
72
|
-
post: {
|
|
73
|
-
tags: ["Authentication"],
|
|
74
|
-
summary: "Register a new user",
|
|
75
|
-
description: "Creates a new user account",
|
|
76
|
-
operationId: "signup",
|
|
77
|
-
requestBody: {
|
|
78
|
-
description: "User registration data",
|
|
79
|
-
required: true,
|
|
80
|
-
content: {
|
|
81
|
-
"application/json": {
|
|
82
|
-
schema: {
|
|
83
|
-
$ref: (0, swagger_router_helpers_1.getSchemaRef)("Signup", mode),
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
responses: {
|
|
89
|
-
"201": {
|
|
90
|
-
description: "User created successfully",
|
|
91
|
-
content: {
|
|
92
|
-
"application/json": {
|
|
93
|
-
schema: {
|
|
94
|
-
$ref: (0, swagger_router_helpers_1.getSchemaRef)("User", mode),
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
"400": {
|
|
100
|
-
description: "Invalid input data",
|
|
101
|
-
},
|
|
102
|
-
"409": {
|
|
103
|
-
description: "User already exists",
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
};
|
|
108
|
-
paths["/api/auth/update-password"] = {
|
|
109
|
-
post: {
|
|
110
|
-
tags: ["Authentication"],
|
|
111
|
-
summary: "Update user password",
|
|
112
|
-
description: "Changes the password for the authenticated user",
|
|
113
|
-
operationId: "updatePassword",
|
|
114
|
-
security: [{ BearerAuth: [] }],
|
|
115
|
-
requestBody: {
|
|
116
|
-
description: "Current and new password",
|
|
117
|
-
required: true,
|
|
118
|
-
content: {
|
|
119
|
-
"application/json": {
|
|
120
|
-
schema: {
|
|
121
|
-
$ref: (0, swagger_router_helpers_1.getSchemaRef)("UpdatePassword", mode),
|
|
122
|
-
},
|
|
123
|
-
},
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
responses: {
|
|
127
|
-
"200": {
|
|
128
|
-
description: "Password updated successfully",
|
|
129
|
-
content: {
|
|
130
|
-
"application/json": {
|
|
131
|
-
schema: {
|
|
132
|
-
type: "object",
|
|
133
|
-
properties: {
|
|
134
|
-
status: {
|
|
135
|
-
type: "string",
|
|
136
|
-
example: "success",
|
|
137
|
-
},
|
|
138
|
-
message: {
|
|
139
|
-
type: "string",
|
|
140
|
-
example: "Password updated successfully!",
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
},
|
|
144
|
-
},
|
|
145
|
-
},
|
|
146
|
-
},
|
|
147
|
-
"400": {
|
|
148
|
-
description: "Invalid input data or current password incorrect",
|
|
149
|
-
},
|
|
150
|
-
"401": {
|
|
151
|
-
description: "Authentication required",
|
|
152
|
-
},
|
|
153
|
-
},
|
|
154
|
-
},
|
|
155
|
-
};
|
|
156
|
-
paths["/users/me"] = {
|
|
157
|
-
get: {
|
|
158
|
-
tags: ["Users"],
|
|
159
|
-
summary: "Get current user information",
|
|
160
|
-
description: "Retrieves information about the currently authenticated user",
|
|
161
|
-
operationId: "getCurrentUser",
|
|
162
|
-
security: [{ BearerAuth: [] }],
|
|
163
|
-
responses: {
|
|
164
|
-
"200": {
|
|
165
|
-
description: "User information retrieved successfully",
|
|
166
|
-
content: {
|
|
167
|
-
"application/json": {
|
|
168
|
-
schema: {
|
|
169
|
-
$ref: (0, swagger_router_helpers_1.getSchemaRef)("FindMe", mode),
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
|
-
},
|
|
173
|
-
},
|
|
174
|
-
"401": {
|
|
175
|
-
description: "Authentication required",
|
|
176
|
-
},
|
|
177
|
-
},
|
|
178
|
-
},
|
|
179
|
-
};
|
|
180
|
-
paths["/users/me"] = {
|
|
181
|
-
patch: {
|
|
182
|
-
tags: ["Users"],
|
|
183
|
-
summary: "Update current user information",
|
|
184
|
-
description: "Updates information for the currently authenticated user",
|
|
185
|
-
operationId: "updateCurrentUser",
|
|
186
|
-
security: [{ BearerAuth: [] }],
|
|
187
|
-
requestBody: {
|
|
188
|
-
description: "User data to update",
|
|
189
|
-
required: true,
|
|
190
|
-
content: {
|
|
191
|
-
"application/json": {
|
|
192
|
-
schema: {
|
|
193
|
-
$ref: (0, swagger_router_helpers_1.getSchemaRef)("UpdateMe", mode),
|
|
194
|
-
},
|
|
195
|
-
},
|
|
196
|
-
},
|
|
197
|
-
},
|
|
198
|
-
responses: {
|
|
199
|
-
"200": {
|
|
200
|
-
description: "User updated successfully",
|
|
201
|
-
content: {
|
|
202
|
-
"application/json": {
|
|
203
|
-
schema: {
|
|
204
|
-
$ref: (0, swagger_router_helpers_1.getSchemaRef)("User", mode),
|
|
205
|
-
},
|
|
206
|
-
},
|
|
207
|
-
},
|
|
208
|
-
},
|
|
209
|
-
"400": {
|
|
210
|
-
description: "Invalid input data",
|
|
211
|
-
},
|
|
212
|
-
"401": {
|
|
213
|
-
description: "Authentication required",
|
|
214
|
-
},
|
|
215
|
-
},
|
|
216
|
-
},
|
|
217
|
-
};
|
|
218
|
-
paths["/users/me"] = {
|
|
219
|
-
delete: {
|
|
220
|
-
tags: ["Users"],
|
|
221
|
-
summary: "Delete current user account",
|
|
222
|
-
description: "Marks the current user's account as deleted",
|
|
223
|
-
operationId: "deleteCurrentUser",
|
|
224
|
-
security: [{ BearerAuth: [] }],
|
|
225
|
-
responses: {
|
|
226
|
-
"200": {
|
|
227
|
-
description: "Account deleted successfully",
|
|
228
|
-
content: {
|
|
229
|
-
"application/json": {
|
|
230
|
-
schema: {
|
|
231
|
-
type: "object",
|
|
232
|
-
properties: {
|
|
233
|
-
message: {
|
|
234
|
-
type: "string",
|
|
235
|
-
example: "Account deleted successfully",
|
|
236
|
-
},
|
|
237
|
-
},
|
|
238
|
-
},
|
|
239
|
-
},
|
|
240
|
-
},
|
|
241
|
-
},
|
|
242
|
-
"401": {
|
|
243
|
-
description: "Authentication required",
|
|
244
|
-
},
|
|
245
|
-
},
|
|
246
|
-
},
|
|
247
|
-
};
|
|
248
|
-
return paths;
|
|
249
|
-
}
|
|
250
|
-
//# sourceMappingURL=get-authentication-json-schema-paths.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSchemaMode=void 0,exports.default=getAuthenticationJsonSchemaPaths;const swagger_router_helpers_1=require("./swagger.router.helpers"),dynamic_loader_1=require("../../../../utils/dynamic-loader"),getSchemaMode=async(t,e)=>{const s=e.swagger?.mode,a=e.swagger?.strict;if(!s)return"prisma";if(a)return s;const r=t;return await(0,dynamic_loader_1.localValidatorFileExists)(r,"user",e)?s:"prisma"};exports.getSchemaMode=getSchemaMode;async function getAuthenticationJsonSchemaPaths(t){const e={};if(!t.swagger?.mode)return e;const s=await(0,exports.getSchemaMode)("login",t);e["/api/auth/login"]={post:{tags:["Authentication"],summary:"Login to the system",description:"Authenticates a user and returns an access token",operationId:"login",requestBody:{description:"User credentials",required:!0,content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)("Login",s)}}}},responses:{200:{description:"Login successful",content:{"application/json":{schema:{type:"object",properties:{accessToken:{type:"string",description:"JWT access token"}}}}}},400:{description:"Invalid input data"},401:{description:"Invalid credentials"}}}},e["/api/auth/logout"]={delete:{tags:["Authentication"],summary:"Logout from the system",description:"Invalidates the current user's JWT token",operationId:"logout",security:[{BearerAuth:[]}],responses:{204:{description:"Logout successful"},401:{description:"Authentication required"}}}};const a=await(0,exports.getSchemaMode)("signup",t),r=await(0,exports.getSchemaMode)("user",t);e["/api/auth/signup"]={post:{tags:["Authentication"],summary:"Register a new user",description:"Creates a new user account",operationId:"signup",requestBody:{description:"User registration data",required:!0,content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)("Signup",a)}}}},responses:{201:{description:"User created successfully",content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)("User",r)}}}},400:{description:"Invalid input data"},409:{description:"User already exists"}}}};const i=await(0,exports.getSchemaMode)("updatePassword",t);e["/api/auth/update-password"]={post:{tags:["Authentication"],summary:"Update user password",description:"Changes the password for the authenticated user",operationId:"updatePassword",security:[{BearerAuth:[]}],requestBody:{description:"Current and new password",required:!0,content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)("UpdatePassword",i)}}}},responses:{200:{description:"Password updated successfully",content:{"application/json":{schema:{type:"object",properties:{status:{type:"string",example:"success"},message:{type:"string",example:"Password updated successfully!"}}}}}},400:{description:"Invalid input data or current password incorrect"},401:{description:"Authentication required"}}}};const n=await(0,exports.getSchemaMode)("getMe",t);e["/api/users/me"]={get:{tags:["Authentication"],summary:"Get current user information",description:"Retrieves information about the currently authenticated user",operationId:"getMe",security:[{BearerAuth:[]}],responses:{200:{description:"User information retrieved successfully",content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)("GetMe",n)}}}},401:{description:"Authentication required"}}}};const o=await(0,exports.getSchemaMode)("updateMe",t);return e["/api/users/me"]||(e["/api/users/me"]={}),e["/api/users/me"].patch={tags:["Authentication"],summary:"Update current user information",description:"Updates information for the currently authenticated user",operationId:"updateMe",security:[{BearerAuth:[]}],requestBody:{description:"User data to update",required:!0,content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)("UpdateMe",o)}}}},responses:{200:{description:"User updated successfully",content:{"application/json":{schema:{$ref:(0,swagger_router_helpers_1.getSchemaRef)("User",r)}}}},400:{description:"Invalid input data"},401:{description:"Authentication required"}}},e["/api/users/me"]||(e["/api/users/me"]={}),e["/api/users/me"].delete={tags:["Authentication"],summary:"Delete current user account",description:"Marks the current user's account as deleted",operationId:"deleteMe",security:[{BearerAuth:[]}],responses:{200:{description:"Account deleted successfully",content:{"application/json":{schema:{type:"object",properties:{message:{type:"string",example:"Account deleted successfully"}}}}}},401:{description:"Authentication required"}}},e}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-authentication-json-schema-paths.js","sourceRoot":"","sources":["../../../../../../src/modules/swagger/utils/helpers/get-authentication-json-schema-paths.ts"],"names":[],"mappings":"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","sourcesContent":["import { OpenAPIV3 } from \"openapi-types\";\nimport { getSchemaRef } from \"./swagger.router.helpers\";\nimport { getArkosConfig } from \"../../../../server\";\n\nexport function getAuthenticationJsonSchemaPaths() {\n const mode = getArkosConfig().swagger?.mode;\n const paths: OpenAPIV3.PathsObject = {};\n\n if (!mode) return paths;\n // Add login endpoint\n paths[\"/api/auth/login\"] = {\n post: {\n tags: [\"Authentication\"],\n summary: \"Login to the system\",\n description: \"Authenticates a user and returns an access token\",\n operationId: \"login\",\n requestBody: {\n description: \"User credentials\",\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"Login\", mode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"Login successful\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n accessToken: {\n type: \"string\",\n description: \"JWT access token\",\n },\n },\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data\",\n },\n \"401\": {\n description: \"Invalid credentials\",\n },\n },\n },\n };\n\n // Add logout endpoint\n paths[\"/api/auth/logout\"] = {\n delete: {\n tags: [\"Authentication\"],\n summary: \"Logout from the system\",\n description: \"Invalidates the current user's JWT token\",\n operationId: \"logout\",\n security: [{ BearerAuth: [] }],\n responses: {\n \"204\": {\n description: \"Logout successful\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n },\n };\n\n // Add signup endpoint\n paths[\"/api/auth/signup\"] = {\n post: {\n tags: [\"Authentication\"],\n summary: \"Register a new user\",\n description: \"Creates a new user account\",\n operationId: \"signup\",\n requestBody: {\n description: \"User registration data\",\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"Signup\", mode),\n },\n },\n },\n },\n responses: {\n \"201\": {\n description: \"User created successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"User\", mode),\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data\",\n },\n \"409\": {\n description: \"User already exists\",\n },\n },\n },\n };\n\n // Add update password endpoint\n paths[\"/api/auth/update-password\"] = {\n post: {\n tags: [\"Authentication\"],\n summary: \"Update user password\",\n description: \"Changes the password for the authenticated user\",\n operationId: \"updatePassword\",\n security: [{ BearerAuth: [] }],\n requestBody: {\n description: \"Current and new password\",\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"UpdatePassword\", mode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"Password updated successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n status: {\n type: \"string\",\n example: \"success\",\n },\n message: {\n type: \"string\",\n example: \"Password updated successfully!\",\n },\n },\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data or current password incorrect\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n },\n };\n\n // Add get current user endpoint\n paths[\"/users/me\"] = {\n get: {\n tags: [\"Users\"],\n summary: \"Get current user information\",\n description:\n \"Retrieves information about the currently authenticated user\",\n operationId: \"getCurrentUser\",\n security: [{ BearerAuth: [] }],\n responses: {\n \"200\": {\n description: \"User information retrieved successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"FindMe\", mode),\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n },\n };\n\n // Add update current user endpoint\n paths[\"/users/me\"] = {\n patch: {\n tags: [\"Users\"],\n summary: \"Update current user information\",\n description: \"Updates information for the currently authenticated user\",\n operationId: \"updateCurrentUser\",\n security: [{ BearerAuth: [] }],\n requestBody: {\n description: \"User data to update\",\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"UpdateMe\", mode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"User updated successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"User\", mode),\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n },\n };\n\n // Add delete current user endpoint\n paths[\"/users/me\"] = {\n delete: {\n tags: [\"Users\"],\n summary: \"Delete current user account\",\n description: \"Marks the current user's account as deleted\",\n operationId: \"deleteCurrentUser\",\n security: [{ BearerAuth: [] }],\n responses: {\n \"200\": {\n description: \"Account deleted successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n example: \"Account deleted successfully\",\n },\n },\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n },\n };\n\n return paths;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"get-authentication-json-schema-paths.js","sourceRoot":"","sources":["../../../../../../src/modules/swagger/utils/helpers/get-authentication-json-schema-paths.ts"],"names":[],"mappings":"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","sourcesContent":["import { OpenAPIV3 } from \"openapi-types\";\nimport { getSchemaRef } from \"./swagger.router.helpers\";\nimport { ArkosConfig } from \"../../../../exports\";\nimport { localValidatorFileExists } from \"../../../../utils/dynamic-loader\"\n\n// Helper function to determine the correct mode for schema ref\nexport const getSchemaMode = async (\n action: string,\n arkosConfig: ArkosConfig\n): Promise<\"prisma\" | \"zod\" | \"class-validator\"> => {\n const swaggerMode = arkosConfig.swagger?.mode;\n const isStrict = arkosConfig.swagger?.strict;\n\n if (!swaggerMode) return \"prisma\";\n\n if (isStrict) return swaggerMode;\n\n const actionKey = action as any;\n // For auth endpoints, we don't have a specific model, so we use \"user\" as the model name\n const localFileExists = await localValidatorFileExists(\n actionKey,\n \"user\",\n arkosConfig\n );\n\n if (!localFileExists) return \"prisma\";\n\n return swaggerMode;\n};\n\nexport default async function getAuthenticationJsonSchemaPaths(\n arkosConfig: ArkosConfig\n) {\n const paths: OpenAPIV3.PathsObject = {};\n\n if (!arkosConfig.swagger?.mode) return paths;\n\n // Add login endpoint\n const loginMode = await getSchemaMode(\"login\", arkosConfig);\n paths[\"/api/auth/login\"] = {\n post: {\n tags: [\"Authentication\"],\n summary: \"Login to the system\",\n description: \"Authenticates a user and returns an access token\",\n operationId: \"login\",\n requestBody: {\n description: \"User credentials\",\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"Login\", loginMode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"Login successful\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n accessToken: {\n type: \"string\",\n description: \"JWT access token\",\n },\n },\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data\",\n },\n \"401\": {\n description: \"Invalid credentials\",\n },\n },\n },\n };\n\n // Add logout endpoint\n paths[\"/api/auth/logout\"] = {\n delete: {\n tags: [\"Authentication\"],\n summary: \"Logout from the system\",\n description: \"Invalidates the current user's JWT token\",\n operationId: \"logout\",\n security: [{ BearerAuth: [] }],\n responses: {\n \"204\": {\n description: \"Logout successful\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n },\n };\n\n // Add signup endpoint\n const signupMode = await getSchemaMode(\"signup\", arkosConfig);\n const userMode = await getSchemaMode(\"user\", arkosConfig);\n paths[\"/api/auth/signup\"] = {\n post: {\n tags: [\"Authentication\"],\n summary: \"Register a new user\",\n description: \"Creates a new user account\",\n operationId: \"signup\",\n requestBody: {\n description: \"User registration data\",\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"Signup\", signupMode),\n },\n },\n },\n },\n responses: {\n \"201\": {\n description: \"User created successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"User\", userMode),\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data\",\n },\n \"409\": {\n description: \"User already exists\",\n },\n },\n },\n };\n\n // Add update password endpoint\n const updatePasswordMode = await getSchemaMode(\"updatePassword\", arkosConfig);\n paths[\"/api/auth/update-password\"] = {\n post: {\n tags: [\"Authentication\"],\n summary: \"Update user password\",\n description: \"Changes the password for the authenticated user\",\n operationId: \"updatePassword\",\n security: [{ BearerAuth: [] }],\n requestBody: {\n description: \"Current and new password\",\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"UpdatePassword\", updatePasswordMode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"Password updated successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n status: {\n type: \"string\",\n example: \"success\",\n },\n message: {\n type: \"string\",\n example: \"Password updated successfully!\",\n },\n },\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data or current password incorrect\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n },\n };\n\n // Add get current user endpoint\n const findMeMode = await getSchemaMode(\"getMe\", arkosConfig);\n paths[\"/api/users/me\"] = {\n get: {\n tags: [\"Authentication\"],\n summary: \"Get current user information\",\n description:\n \"Retrieves information about the currently authenticated user\",\n operationId: \"getMe\",\n security: [{ BearerAuth: [] }],\n responses: {\n \"200\": {\n description: \"User information retrieved successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"GetMe\", findMeMode),\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n },\n };\n\n // Add update current user endpoint\n const updateMeMode = await getSchemaMode(\"updateMe\", arkosConfig);\n if (!paths[\"/api/users/me\"]) paths[\"/api/users/me\"] = {};\n paths[\"/api/users/me\"]!.patch = {\n tags: [\"Authentication\"],\n summary: \"Update current user information\",\n description: \"Updates information for the currently authenticated user\",\n operationId: \"updateMe\",\n security: [{ BearerAuth: [] }],\n requestBody: {\n description: \"User data to update\",\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"UpdateMe\", updateMeMode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"User updated successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"User\", userMode),\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n };\n\n // Add delete current user endpoint\n if (!paths[\"/api/users/me\"]) paths[\"/api/users/me\"] = {};\n paths[\"/api/users/me\"]!.delete = {\n tags: [\"Authentication\"],\n summary: \"Delete current user account\",\n description: \"Marks the current user's account as deleted\",\n operationId: \"deleteMe\",\n security: [{ BearerAuth: [] }],\n responses: {\n \"200\": {\n description: \"Account deleted successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n message: {\n type: \"string\",\n example: \"Account deleted successfully\",\n },\n },\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n };\n\n return paths;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=getSwaggerDefaultConfig;const text_helpers_1=require("../../../../utils/helpers/text.helpers"),port_and_host_allocator_1=__importDefault(require("../../../../utils/features/port-and-host-allocator"));async function getSwaggerDefaultConfig(e,r){const t=await port_and_host_allocator_1.default.getHostAndAvailablePort({});return{endpoint:"/docs",mode:"prisma",strict:!1,options:{definition:{openapi:"3.0.0",info:{title:"Powered By Arkos.js",version:"1.0.0",description:"This API was automatically generated by Arkos.js, read more about at www.arkosjs.com"},servers:[{url:`http://${t.host}:${t.port}`,description:`Local ${(0,text_helpers_1.capitalize)(process.env.NODE_ENV||"development")} Server`}],paths:e,components:{schemas:r||{},securitySchemes:{BearerAuth:{type:"http",scheme:"bearer",bearerFormat:"JWT"}}},security:[]},apis:["./src/routers/*.router.{ts,js}","./src/modules/**/*.router.{ts,js}"],deepLinking:!0,tryItOutEnabled:!0,persistAuthorization:!1},scalarApiReferenceConfiguration:{theme:"deepSpace",darkMode:!0,layout:"modern",showSidebar:!0,hideDownloadButton:!1,metaData:{title:"Arkos.js API Documentation",description:"API documentation generated by Arkos.js"},pageTitle:"Arkos.js API Documentation"}}}
|
|
@@ -0,0 +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;AAEvE,KAAK,UAAU,uBAAuB,CACnD,kBAAuC,EACvC,kBAAiD;IAEjD,MAAM,WAAW,GAAG,MAAM,iCAAoB,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAE3E,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,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE;wBACrD,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 async function getSwaggerDefaultConfig(\n defaultModelsPaths: Record<string, any>,\n defaultJsonSchemas: OpenAPIV3.PathsObject<{}, {}>\n) {\n const portAndHost = await portAndHostAllocator.getHostAndAvailablePort({});\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://${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"]}
|