arkos 1.2.31-test → 1.3.0-beta
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/auth-error-objects.js +1 -0
- package/dist/cjs/modules/auth/utils/auth-error-objects.js.map +1 -0
- package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +1 -83
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js +1 -0
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +1 -0
- 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/router-validator.js +1 -0
- package/dist/cjs/modules/base/utils/router-validator.js.map +1 -0
- 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/app-error.js.map +1 -1
- package/dist/cjs/modules/error-handler/utils/catch-async.js +1 -12
- package/dist/cjs/modules/error-handler/utils/catch-async.js.map +1 -1
- 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/file-upload.service.js.map +1 -1
- 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-system-json-schemas.js +1 -0
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +1 -0
- 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/auth.js.map +1 -1
- 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/types/router-config.js.map +1 -1
- 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 +3 -256
- package/dist/cjs/utils/cli/dev.js.map +1 -1
- package/dist/cjs/utils/cli/generate.js +1 -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/smart-fs-watcher.js +1 -0
- package/dist/cjs/utils/cli/utils/smart-fs-watcher.js.map +1 -0
- 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-hooks-template.js +144 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +156 -135
- 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 +6 -32
- 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 +9 -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 -92
- 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 +4 -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-dto.js.map +1 -1
- package/dist/cjs/utils/validate-schema.js +1 -15
- package/dist/cjs/utils/validate-schema.js.map +1 -1
- 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/auth-error-objects.js +1 -0
- package/dist/esm/modules/auth/utils/auth-error-objects.js.map +1 -0
- package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -73
- package/dist/esm/modules/auth/utils/services/auth-action.service.js +1 -0
- package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -0
- 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/router-validator.js +1 -0
- package/dist/esm/modules/base/utils/router-validator.js.map +1 -0
- 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/app-error.js.map +1 -1
- package/dist/esm/modules/error-handler/utils/catch-async.js +1 -10
- package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -1
- 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/file-upload.service.js.map +1 -1
- 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-system-json-schemas.js +1 -0
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +1 -0
- 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/auth.js.map +1 -1
- 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/types/router-config.js.map +1 -1
- 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 +3 -249
- package/dist/esm/utils/cli/dev.js.map +1 -1
- package/dist/esm/utils/cli/generate.js +1 -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/smart-fs-watcher.js +1 -0
- package/dist/esm/utils/cli/utils/smart-fs-watcher.js.map +1 -0
- 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-hooks-template.js +144 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +156 -132
- 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 +6 -29
- 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 +9 -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 -50
- 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 +4 -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-dto.js.map +1 -1
- package/dist/esm/utils/validate-schema.js +1 -9
- package/dist/esm/utils/validate-schema.js.map +1 -1
- package/dist/types/exports/prisma/index.d.ts +3 -2
- package/dist/types/exports/services/index.d.ts +3 -2
- package/dist/types/modules/auth/auth.controller.d.ts +10 -9
- package/dist/types/modules/auth/auth.service.d.ts +7 -3
- package/dist/types/modules/auth/utils/auth-error-objects.d.ts +3 -0
- package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +23 -0
- package/dist/types/modules/base/base.controller.d.ts +10 -12
- package/dist/types/modules/base/base.middlewares.d.ts +4 -4
- package/dist/types/modules/base/base.service.d.ts +14 -68
- package/dist/types/modules/base/types/base.service.types.d.ts +215 -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 +3 -3
- package/dist/types/modules/base/utils/helpers/base.service.helpers.d.ts +9 -2
- package/dist/types/modules/base/utils/router-validator.d.ts +5 -0
- 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/catch-async.d.ts +4 -2
- package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +18 -17
- package/dist/types/modules/file-upload/file-upload.controller.d.ts +4 -6
- package/dist/types/modules/file-upload/file-upload.service.d.ts +4 -5
- 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-system-json-schemas.d.ts +4 -0
- 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 +4 -2
- package/dist/types/server.d.ts +4 -1
- package/dist/types/types/arkos-config.d.ts +5 -3
- package/dist/types/types/auth.d.ts +7 -1
- package/dist/types/types/index.d.ts +4 -1
- package/dist/types/types/router-config.d.ts +24 -1
- package/dist/types/utils/cli/generate.d.ts +2 -1
- package/dist/types/utils/cli/utils/smart-fs-watcher.d.ts +11 -0
- package/dist/types/utils/cli/utils/template-generator/templates/generate-hooks-template.d.ts +2 -0
- package/dist/types/utils/cli/utils/watermark-stamper.d.ts +9 -0
- package/dist/types/utils/dynamic-loader.d.ts +104 -0
- package/dist/types/utils/features/port-and-host-allocator.d.ts +21 -0
- package/dist/types/utils/helpers/dynamic-loader.helpers.d.ts +3 -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/helpers/routers.helpers.d.ts +6 -2
- package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +34 -0
- package/dist/types/utils/prisma/prisma-schema-parser.d.ts +28 -0
- package/dist/types/utils/prisma/types.d.ts +49 -0
- package/dist/types/utils/sheu.d.ts +15 -15
- package/package.json +32 -18
- 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 -313
- 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 -296
- 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
- package/dist/types/utils/helpers/models.helpers.d.ts +0 -107
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheu.js","sourceRoot":"","sources":["../../../src/utils/sheu.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Sheu - Simplified terminal color utility for styling console output\n */\nclass Sheu {\n /**\n * Get current timestamp in HH:MM:SS format\n */\n private getTimestamp(): string {\n return new Date().toTimeString().split(\" \")[0];\n }\n\n /**\n * Apply timestamp and bold formatting if requested\n */\n private formatText(\n text: string = \"\",\n options: {\n timestamp?: boolean | string;\n bold?: boolean;\n label?: string;\n } = {}\n ): string {\n const label = options?.label\n ? text\n ? options?.label + \" \"\n : options?.label\n : \"\";\n let result = `${label}${text}`;\n\n // Apply timestamp if requested\n if (options.timestamp) {\n const timestamp = this.getTimestamp();\n if (options.timestamp === true)\n result = `${label}\\x1b[90m${timestamp}\\x1b[0m ${text}`;\n else if (typeof options.timestamp === \"string\") {\n const colorCode = this.getColorCode(options.timestamp);\n result = `${label}${colorCode}${timestamp}\\x1b[0m ${text}`;\n }\n }\n\n if (options.bold) result = `\\x1b[1m${result}\\x1b[0m`;\n\n return result;\n }\n\n /**\n * Get ANSI color code for color name\n */\n private getColorCode(color: string): string {\n const colorMap: { [key: string]: string } = {\n red: \"\\x1b[31m\",\n blue: \"\\x1b[34m\",\n green: \"\\x1b[32m\",\n yellow: \"\\x1b[33m\",\n cyan: \"\\x1b[36m\",\n magenta: \"\\x1b[35m\",\n white: \"\\x1b[37m\",\n black: \"\\x1b[30m\",\n gray: \"\\x1b[90m\",\n orange: \"\\x1b[91m\",\n };\n return colorMap[color] || \"\\x1b[90m\"; // Default to gray if color not found\n }\n\n /**\n * Red color\n */\n red(\n text: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[31m${text}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Blue color\n */\n blue(\n text: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[34m${text}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Green color\n */\n green(\n text: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[32m${text}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Yellow color\n */\n yellow(\n text: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[33m${text}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Cyan color\n */\n cyan(\n text: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[36m${text}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Magenta color\n */\n magenta(\n text: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[35m${text}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * White color\n */\n white(\n text: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[37m${text}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Black color\n */\n black(\n text: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[30m${text}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Gray color\n */\n gray(\n text: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[90m${text}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Orange color\n */\n orange(\n text: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[91m${text}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Bold text formatting\n */\n bold(text: string, options?: { timestamp?: boolean | string }): string {\n const boldText = `\\x1b[1m${text}\\x1b[0m`;\n return this.formatText(boldText, { ...options, bold: false }); // Don't double-bold\n }\n\n /**\n * Info label with cyan color [INFO]\n */\n info(\n message: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const label = `[\\x1b[36mINFO\\x1b[0m]`;\n const result = this.formatText(message, { ...options, label });\n console.info(result);\n return result;\n }\n\n /**\n * Error label with red color [ERROR]\n */\n error(\n message: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const label = `[\\x1b[31mERROR\\x1b[0m]`;\n const result = this.formatText(message, { ...options, label });\n console.error(result);\n return result;\n }\n\n /**\n * Ready label with green color [READY]\n */\n ready(\n message: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const label = `[\\x1b[32mREADY\\x1b[0m]`;\n const result = this.formatText(message, { ...options, label });\n console.info(result);\n return result;\n }\n\n /**\n * Done label with green color [DONE]\n */\n done(\n message: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const label = `[\\x1b[32mDONE\\x1b[0m]`;\n const result = this.formatText(message, { ...options, label });\n console.info(result);\n return result;\n }\n\n /**\n * Warning label with yellow color [WARN]\n */\n warn(\n message: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const label = `[\\x1b[33mWARN\\x1b[0m]`;\n const result = this.formatText(message, { ...options, label });\n console.warn(result);\n return result;\n }\n}\n\nconst sheu = new Sheu();\n\nexport default sheu;\n"]}
|
|
1
|
+
{"version":3,"file":"sheu.js","sourceRoot":"","sources":["../../../src/utils/sheu.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Sheu - Simplified terminal color utility for styling console output\n */\nclass Sheu {\n /**\n * Get current timestamp in HH:MM:SS format\n */\n private getTimestamp(): string {\n return new Date().toTimeString().split(\" \")[0];\n }\n\n /**\n * Apply timestamp and bold formatting if requested\n */\n private formatText(\n content: any = \"\",\n options: {\n timestamp?: boolean | string;\n bold?: boolean;\n label?: string;\n } = {}\n ): string {\n const label = options?.label\n ? content\n ? options?.label + \" \"\n : content === null\n ? options?.label + \" \"\n : options?.label\n : \"\";\n let result = `${label}${content}`;\n\n // Apply timestamp if requested\n if (options.timestamp) {\n const timestamp = this.getTimestamp();\n if (options.timestamp === true)\n result = `${label}\\x1b[90m${timestamp}\\x1b[0m ${content}`;\n else if (typeof options.timestamp === \"string\") {\n const colorCode = this.getColorCode(options.timestamp);\n result = `${label}${colorCode}${timestamp}\\x1b[0m ${content}`;\n }\n }\n\n if (options.bold) result = `\\x1b[1m${result}\\x1b[0m`;\n\n return result;\n }\n\n /**\n * Get ANSI color code for color name\n */\n private getColorCode(color: string): string {\n const colorMap: { [key: string]: string } = {\n red: \"\\x1b[31m\",\n blue: \"\\x1b[34m\",\n green: \"\\x1b[32m\",\n yellow: \"\\x1b[33m\",\n cyan: \"\\x1b[36m\",\n magenta: \"\\x1b[35m\",\n white: \"\\x1b[37m\",\n black: \"\\x1b[30m\",\n gray: \"\\x1b[90m\",\n orange: \"\\x1b[91m\",\n };\n return colorMap[color] || \"\\x1b[90m\"; // Default to gray if color not found\n }\n\n /**\n * Red color\n */\n red(\n content: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[31m${content}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Blue color\n */\n blue(\n content: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[34m${content}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Green color\n */\n green(\n content: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[32m${content}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Yellow color\n */\n yellow(\n content: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[33m${content}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Cyan color\n */\n cyan(\n content: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[36m${content}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Magenta color\n */\n magenta(\n content: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[35m${content}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * White color\n */\n white(\n content: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[37m${content}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Black color\n */\n black(\n content: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[30m${content}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Gray color\n */\n gray(\n content: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[90m${content}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Orange color\n */\n orange(\n content: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const coloredText = `\\x1b[91m${content}\\x1b[0m`;\n return this.formatText(coloredText, options || {});\n }\n\n /**\n * Bold text formatting\n */\n bold(content: any, options?: { timestamp?: boolean | string }): string {\n return this.formatText(content, { ...options, bold: true }); // Don't double-bold\n }\n\n /**\n * Info label with cyan color [INFO]\n */\n info(\n message: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const label = `[\\x1b[36mInfo\\x1b[0m]`;\n const result = this.formatText(message, { ...options, label });\n console.info(result);\n return result;\n }\n\n /**\n * Error label with red color [ERROR]\n */\n error(\n message: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const label = `[\\x1b[31mError\\x1b[0m]`;\n const result = this.formatText(message, { ...options, label });\n console.error(result);\n return result;\n }\n\n /**\n * Ready label with green color [READY]\n */\n ready(\n message: string,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n // const label = `\\x1b[32m✓\\x1b[0m`;\n const label = `[\\x1b[32mReady\\x1b[0m]`;\n const result = this.formatText(message, { ...options, label });\n console.info(result);\n return result;\n }\n\n /**\n * Done label with green color [DONE]\n */\n done(\n message: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const label = `[\\x1b[32mDone\\x1b[0m]`;\n const result = this.formatText(message, { ...options, label });\n console.info(result);\n return result;\n }\n\n /**\n * Warning label with yellow color [WARN]\n */\n warn(\n message: any,\n options?: { timestamp?: boolean | string; bold?: boolean }\n ): string {\n const label = `[\\x1b[33mWarn\\x1b[0m]`;\n const result = this.formatText(message, { ...options, label });\n console.warn(result);\n return result;\n }\n}\n\nconst sheu = new Sheu();\n\nexport default sheu;\n"]}
|
|
@@ -1,11 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { validate } from "class-validator";
|
|
3
|
-
import AppError from "../modules/error-handler/utils/app-error.js";
|
|
4
|
-
export default async function validateDto(DtoClass, data, validationOptions) {
|
|
5
|
-
const dataDto = plainToInstance(DtoClass, data);
|
|
6
|
-
const errors = await validate(dataDto, validationOptions);
|
|
7
|
-
if (errors.length > 0)
|
|
8
|
-
throw new AppError("Invalid request body", 400, errors, "invalid_request_body");
|
|
9
|
-
return dataDto;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=validate-dto.js.map
|
|
1
|
+
"use strict";import{plainToInstance as n}from"class-transformer";import{validate as i}from"class-validator";import d from"../modules/error-handler/utils/app-error.js";export default async function l(r,a,e){const t=n(r,a),o=await i(t,e);if(o.length>0)throw new d("Invalid request body",400,o,"InvalidRequestBody");return t}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-dto.js","sourceRoot":"","sources":["../../../src/utils/validate-dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAoB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,QAAQ,MAAM,0CAA0C,CAAC;AAiChE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CACvC,QAA6B,EAC7B,IAAyB,EACzB,iBAAoC;IAEpC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAE1D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QACnB,MAAM,IAAI,QAAQ,CAChB,sBAAsB,EACtB,GAAG,EACH,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"validate-dto.js","sourceRoot":"","sources":["../../../src/utils/validate-dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAoB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,QAAQ,MAAM,0CAA0C,CAAC;AAiChE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CACvC,QAA6B,EAC7B,IAAyB,EACzB,iBAAoC;IAEpC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAE1D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QACnB,MAAM,IAAI,QAAQ,CAChB,sBAAsB,EACtB,GAAG,EACH,MAAM,EACN,oBAAoB,CACrB,CAAC;IAEJ,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { ClassConstructor, plainToInstance } from \"class-transformer\";\nimport { validate, ValidatorOptions } from \"class-validator\";\nimport AppError from \"../modules/error-handler/utils/app-error\";\n\n/**\n * Used to easy validate your data with class validator by passing the validator class and the data to validate, and if whished some validation options\n *\n * @param {ClassConstructor<T>} DtoClass - The DTO class you want to use to validate the data\n * @param {Record<string, any>} data - The data to validated\n * @param {ValidatorOptions} validationOptions - class-validator validation options, default {whitelist: true}\n * @returns {Promise<T> | AppError} - returns the validated data or the encountered errors.\n *\n *\n * @example\n * ```ts\n * class CreateUserDto {\n * @IsString()\n * name: string;\n *\n * @IsEmail()\n * email: string;\n * }\n *\n * async function main() {\n * const data = { name: \"Uanela Como\", email: \"invalid-email\" };\n * try {\n * const validatedUser = await validateDto(CreateUserDto, data);\n * // do something\n * } catch (error) {\n * console.error(error.message);\n * }\n * }\n * ```\n */\n\nexport default async function validateDto<T extends object>(\n DtoClass: ClassConstructor<T>,\n data: Record<string, any>,\n validationOptions?: ValidatorOptions\n): Promise<T> {\n const dataDto = plainToInstance(DtoClass, data);\n const errors = await validate(dataDto, validationOptions);\n\n if (errors.length > 0)\n throw new AppError(\n \"Invalid request body\",\n 400,\n errors,\n \"InvalidRequestBody\"\n );\n\n return dataDto;\n}\n"]}
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default async function validateSchema(schema, data) {
|
|
3
|
-
const result = schema.safeParse(data);
|
|
4
|
-
if (!result.success) {
|
|
5
|
-
throw new AppError("Invalid request body", 400, result.error.format(), "invalid_request_body");
|
|
6
|
-
}
|
|
7
|
-
return result.data;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=validate-schema.js.map
|
|
1
|
+
"use strict";import a from"../modules/error-handler/utils/app-error.js";export default async function o(e,t){const r=e.safeParse(t);if(!r.success)throw new a("Invalid request body",400,r.error.format(),"InvalidRequestBody");return r.data}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-schema.js","sourceRoot":"","sources":["../../../src/utils/validate-schema.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,0CAA0C,CAAC;AA2BhE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CAC1C,MAAoB,EACpB,IAAa;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAChB,sBAAsB,EACtB,GAAG,EACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EACrB,
|
|
1
|
+
{"version":3,"file":"validate-schema.js","sourceRoot":"","sources":["../../../src/utils/validate-schema.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,0CAA0C,CAAC;AA2BhE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CAC1C,MAAoB,EACpB,IAAa;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAChB,sBAAsB,EACtB,GAAG,EACH,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EACrB,oBAAoB,CACrB,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC","sourcesContent":["import { ZodSchema } from \"zod\";\nimport AppError from \"../modules/error-handler/utils/app-error\";\n\n/**\n * Validates data using a Zod schema and throws an AppError if validation fails.\n *\n * @param {ZodSchema} schema - The Zod schema to validate against.\n * @param {unknown} data - The data to validate.\n * @returns {Promise<any>} - The validated data or throws an AppError on failure.\n *\n * @example\n * ```typescript\n * const userSchema = z.object({\n * name: z.string(),\n * email: z.string().email()\n * });\n *\n * async function main() {\n * const data = { name: \"Uanela Como\", email: \"invalid-email\" };\n * try {\n * const validatedUser = await validateSchema(userSchema, data);\n * // do something\n * } catch (error) {\n * console.error(error.message);\n * }\n * }\n * ```\n */\nexport default async function validateSchema<T>(\n schema: ZodSchema<T>,\n data: unknown\n): Promise<T> {\n const result = schema.safeParse(data);\n if (!result.success) {\n throw new AppError(\n \"Invalid request body\",\n 400,\n result.error.format(),\n \"InvalidRequestBody\"\n );\n }\n return result.data;\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { PrismaQueryOptions, AuthPrismaQueryOptions } from "../../types";
|
|
2
|
-
import
|
|
3
|
-
export
|
|
2
|
+
import prismaSchemaParser from "../../utils/prisma/prisma-schema-parser";
|
|
3
|
+
export declare function getPrismaModels(): string[];
|
|
4
|
+
export { PrismaQueryOptions, prismaSchemaParser, AuthPrismaQueryOptions };
|
|
@@ -2,8 +2,9 @@ import { getFileUploadServices, FileUploadService } from "../../modules/file-upl
|
|
|
2
2
|
import { EmailOptions } from "../../modules/email/email.service";
|
|
3
3
|
import authService, { AuthService } from "../../modules/auth/auth.service";
|
|
4
4
|
import emailService, { EmailService } from "../../modules/email/email.service";
|
|
5
|
-
import { BaseService
|
|
5
|
+
import { BaseService } from "../../modules/base/base.service";
|
|
6
|
+
import { ServiceBaseContext, BeforeCreateOneHookArgs, AfterCreateOneHookArgs, BeforeCreateManyHookArgs, AfterCreateManyHookArgs, BeforeCountHookArgs, AfterCountHookArgs, BeforeFindManyHookArgs, AfterFindManyHookArgs, BeforeFindOneHookArgs, AfterFindOneHookArgs, BeforeUpdateOneHookArgs, AfterUpdateOneHookArgs, BeforeUpdateManyHookArgs, AfterUpdateManyHookArgs, BeforeDeleteOneHookArgs, AfterDeleteOneHookArgs, BeforeDeleteManyHookArgs, AfterDeleteManyHookArgs, OnCreateOneErrorHookArgs, OnCreateManyErrorHookArgs, OnCountErrorHookArgs, OnFindManyErrorHookArgs, OnFindByIdErrorHookArgs, OnFindOneErrorHookArgs, OnUpdateOneErrorHookArgs, OnUpdateManyErrorHookArgs, OnDeleteOneErrorHookArgs, OnDeleteManyErrorHookArgs } from "../../modules/base/types/base.service.types";
|
|
6
7
|
export { authService, AuthService };
|
|
7
|
-
export { BaseService,
|
|
8
|
+
export { BaseService, ServiceBaseContext, BeforeCreateOneHookArgs, AfterCreateOneHookArgs, BeforeCreateManyHookArgs, AfterCreateManyHookArgs, BeforeCountHookArgs, AfterCountHookArgs, BeforeFindManyHookArgs, AfterFindManyHookArgs, BeforeFindOneHookArgs, AfterFindOneHookArgs, BeforeUpdateOneHookArgs, AfterUpdateOneHookArgs, BeforeUpdateManyHookArgs, AfterUpdateManyHookArgs, BeforeDeleteOneHookArgs, AfterDeleteOneHookArgs, BeforeDeleteManyHookArgs, AfterDeleteManyHookArgs, OnCreateOneErrorHookArgs, OnCreateManyErrorHookArgs, OnCountErrorHookArgs, OnFindManyErrorHookArgs, OnFindByIdErrorHookArgs, OnFindOneErrorHookArgs, OnUpdateOneErrorHookArgs, OnUpdateManyErrorHookArgs, OnDeleteOneErrorHookArgs, OnDeleteManyErrorHookArgs, };
|
|
8
9
|
export { emailService, EmailService, EmailOptions };
|
|
9
10
|
export { getFileUploadServices, FileUploadService };
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { ArkosRequest, ArkosResponse, ArkosNextFunction } from "../../types";
|
|
2
1
|
export declare const defaultExcludedUserFields: {
|
|
3
2
|
password: boolean;
|
|
4
3
|
};
|
|
5
|
-
export declare const authControllerFactory: (
|
|
6
|
-
getMe:
|
|
7
|
-
updateMe:
|
|
8
|
-
logout:
|
|
9
|
-
login:
|
|
10
|
-
signup:
|
|
11
|
-
deleteMe:
|
|
12
|
-
updatePassword:
|
|
4
|
+
export declare const authControllerFactory: (interceptors?: any) => Promise<{
|
|
5
|
+
getMe: any;
|
|
6
|
+
updateMe: any;
|
|
7
|
+
logout: any;
|
|
8
|
+
login: any;
|
|
9
|
+
signup: any;
|
|
10
|
+
deleteMe: any;
|
|
11
|
+
updatePassword: any;
|
|
12
|
+
findManyAuthAction: any;
|
|
13
|
+
findOneAuthAction: any;
|
|
13
14
|
}>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { User } from "../../types";
|
|
2
|
-
import { ArkosRequest,
|
|
2
|
+
import { ArkosRequest, ArkosRequestHandler } from "../../types";
|
|
3
3
|
import { AuthJwtPayload, AccessAction, AccessControlConfig, AuthenticationControlConfig } from "../../types/auth";
|
|
4
4
|
import { MsDuration } from "./utils/helpers/auth.controller.helpers";
|
|
5
5
|
export declare class AuthService {
|
|
6
|
+
actionsPerResource: Record<string, Set<string>>;
|
|
6
7
|
signJwtToken(id: number | string, expiresIn?: MsDuration | number, secret?: string): string;
|
|
7
8
|
isPasswordHashed(password: string): boolean;
|
|
8
9
|
isCorrectPassword(candidatePassword: string, userPassword: string): Promise<boolean>;
|
|
@@ -10,10 +11,13 @@ export declare class AuthService {
|
|
|
10
11
|
isPasswordStrong(password: string): boolean;
|
|
11
12
|
userChangedPasswordAfter(user: User, JWTTimestamp: number): boolean;
|
|
12
13
|
verifyJwtToken(token: string, secret?: string): Promise<AuthJwtPayload>;
|
|
13
|
-
|
|
14
|
+
protected checkStaticAccessControl(user: User, action: string, accessControl: AccessControlConfig): boolean;
|
|
15
|
+
protected checkDynamicAccessControl(userId: string, action: string, resource: string): Promise<boolean>;
|
|
16
|
+
handleAccessControl(action: AccessAction, resource: string, accessControl?: AccessControlConfig): ArkosRequestHandler;
|
|
14
17
|
getAuthenticatedUser(req: ArkosRequest): Promise<User | null>;
|
|
15
|
-
authenticate:
|
|
18
|
+
authenticate: any;
|
|
16
19
|
handleAuthenticationControl(action: AccessAction, authenticationControl?: AuthenticationControlConfig | undefined): ArkosRequestHandler;
|
|
20
|
+
permission(action: string, resource: string, accessControl?: AccessControlConfig): (user: Record<string, any>) => Promise<boolean>;
|
|
17
21
|
}
|
|
18
22
|
declare const authService: AuthService;
|
|
19
23
|
export default authService;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AccessControlConfig } from "../../../../types/auth";
|
|
2
|
+
interface AuthAction {
|
|
3
|
+
roles: string[];
|
|
4
|
+
action: string;
|
|
5
|
+
resource: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
errorMessage?: string;
|
|
9
|
+
}
|
|
10
|
+
declare class AuthActionService {
|
|
11
|
+
authActions: AuthAction[];
|
|
12
|
+
add(action: string, resource: string, accessControl?: AccessControlConfig): void;
|
|
13
|
+
getAll(): AuthAction[];
|
|
14
|
+
getOne(action: string, resource: string): AuthAction | undefined;
|
|
15
|
+
private transformAccessControlToValidAuthAction;
|
|
16
|
+
getUniqueActions(): string[];
|
|
17
|
+
getUniqueResources(): string[];
|
|
18
|
+
getByResource(resource: string): AuthAction | undefined;
|
|
19
|
+
getByAction(action: string): AuthAction[];
|
|
20
|
+
exists(action: string, resource: string): boolean;
|
|
21
|
+
}
|
|
22
|
+
declare const authActionService: AuthActionService;
|
|
23
|
+
export default authActionService;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import { ArkosRequest, ArkosResponse, ArkosNextFunction } from "../../types";
|
|
2
1
|
export declare class BaseController {
|
|
3
2
|
private service;
|
|
4
3
|
private modelName;
|
|
5
|
-
private
|
|
4
|
+
private interceptors;
|
|
6
5
|
constructor(modelName: string);
|
|
7
|
-
createOne:
|
|
8
|
-
createMany:
|
|
9
|
-
findMany:
|
|
10
|
-
findOne:
|
|
11
|
-
updateOne:
|
|
12
|
-
updateMany:
|
|
13
|
-
deleteOne:
|
|
14
|
-
deleteMany:
|
|
6
|
+
createOne: any;
|
|
7
|
+
createMany: any;
|
|
8
|
+
findMany: any;
|
|
9
|
+
findOne: any;
|
|
10
|
+
updateOne: any;
|
|
11
|
+
updateMany: any;
|
|
12
|
+
deleteOne: any;
|
|
13
|
+
deleteMany: any;
|
|
15
14
|
}
|
|
16
|
-
export declare
|
|
17
|
-
export declare const getAvailableResources: (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => Promise<void>;
|
|
15
|
+
export declare const getAvailableResources: any;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { NextFunction, Request, Response } from "express";
|
|
2
|
-
import { PrismaQueryOptions,
|
|
2
|
+
import { PrismaQueryOptions, ArkosRequest, ArkosRequestHandler, ArkosResponse, AuthPrismaQueryOptions } from "../../types";
|
|
3
3
|
import { ZodSchema } from "zod";
|
|
4
4
|
import { ClassConstructor } from "class-transformer";
|
|
5
5
|
import { ValidatorOptions } from "class-validator";
|
|
6
|
-
export declare function callNext(
|
|
7
|
-
export declare function sendResponse(req: ArkosRequest, res: ArkosResponse
|
|
6
|
+
export declare function callNext(_: Request, _1: Response, next: NextFunction): void;
|
|
7
|
+
export declare function sendResponse(req: ArkosRequest, res: ArkosResponse): void;
|
|
8
8
|
export declare function addRouteMiddlwaresAndConfigs(): void;
|
|
9
9
|
export type ControllerActions = keyof PrismaQueryOptions<any> | keyof Omit<AuthPrismaQueryOptions<any>, keyof PrismaQueryOptions<any>>;
|
|
10
|
-
export declare function addPrismaQueryOptionsToRequest<T extends Record<string, any>>(prismaQueryOptions: PrismaQueryOptions<T> | AuthPrismaQueryOptions<T>, action: ControllerActions): (req: ArkosRequest,
|
|
10
|
+
export declare function addPrismaQueryOptionsToRequest<T extends Record<string, any>>(prismaQueryOptions: PrismaQueryOptions<T> | AuthPrismaQueryOptions<T>, action: ControllerActions): (req: ArkosRequest, _: ArkosResponse, next: NextFunction) => void;
|
|
11
11
|
export declare function handleRequestLogs(req: Request, res: Response, next: NextFunction): void;
|
|
12
12
|
export declare function handleRequestBodyValidationAndTransformation<T extends object>(schemaOrDtoClass?: ClassConstructor<T>, classValidatorValidationOptions?: ValidatorOptions): ArkosRequestHandler;
|
|
13
13
|
export declare function handleRequestBodyValidationAndTransformation<T extends object>(schemaOrDtoClass?: ZodSchema<T>): ArkosRequestHandler;
|
|
@@ -1,72 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { ModelGroupRelationFields } from "./utils/helpers/base.service.helpers";
|
|
2
|
+
import { ModelDelegate, CreateOneData, CreateOneOptions, CreateOneResult, CreateManyData, CreateManyOptions, CreateManyResult, CountFilters, FindManyFilters, FindManyOptions, FindManyResult, FindByIdOptions, FindByIdResult, FindOneFilters, FindOneOptions, FindOneResult, UpdateOneFilters, UpdateOneData, UpdateOneOptions, UpdateOneResult, UpdateManyFilters, UpdateManyData, UpdateManyOptions, UpdateManyResult, DeleteOneFilters, DeleteOneResult, DeleteManyFilters, DeleteManyResult, ServiceBaseContext } from "./types/base.service.types";
|
|
3
|
+
export declare class BaseService<T extends ModelDelegate = any> {
|
|
3
4
|
modelName: string;
|
|
4
|
-
relationFields:
|
|
5
|
+
relationFields: ModelGroupRelationFields;
|
|
5
6
|
prisma: any;
|
|
6
7
|
constructor(modelName: string);
|
|
7
|
-
createOne<TOptions extends
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
data: any;
|
|
18
|
-
}) => infer R ? R : any>;
|
|
19
|
-
count(filters: Parameters<ModelDelegate["count"]>[0] extends {
|
|
20
|
-
where?: infer W;
|
|
21
|
-
[x: string]: any;
|
|
22
|
-
} ? W : any): Promise<number>;
|
|
23
|
-
findMany<TOptions extends Omit<Parameters<ModelDelegate["findMany"]>[0], "where">>(filters?: Parameters<ModelDelegate["findMany"]>[0] extends {
|
|
24
|
-
where?: infer W;
|
|
25
|
-
[x: string]: any;
|
|
26
|
-
} ? W : any, queryOptions?: TOptions): Promise<ModelDelegate["findMany"] extends (args: {
|
|
27
|
-
where: any;
|
|
28
|
-
} & TOptions) => infer R ? R : any>;
|
|
29
|
-
findById<TOptions extends Omit<Parameters<ModelDelegate["findUnique"]>[0], "where">>(id: string | number, queryOptions?: TOptions): Promise<ModelDelegate["findUnique"] extends (args: {
|
|
30
|
-
where: any;
|
|
31
|
-
}) => infer R ? R : any>;
|
|
32
|
-
findOne<TOptions extends Omit<Parameters<ModelDelegate["findFirst"]>[0], "where"> | Omit<Parameters<ModelDelegate["findUnique"]>[0], "where">>(filters: Parameters<ModelDelegate["findFirst"]>[0] extends {
|
|
33
|
-
where?: infer W;
|
|
34
|
-
[x: string]: any;
|
|
35
|
-
} ? W : any | Parameters<ModelDelegate["findUnique"]>[0] extends {
|
|
36
|
-
where?: infer W;
|
|
37
|
-
[x: string]: any;
|
|
38
|
-
} ? W : any, queryOptions?: TOptions): Promise<ModelDelegate["findFirst"] extends (args: {
|
|
39
|
-
where: any;
|
|
40
|
-
}) => infer R ? R : ModelDelegate["findUnique"] extends (args: {
|
|
41
|
-
where: any;
|
|
42
|
-
}) => infer R2 ? R2 : any>;
|
|
43
|
-
updateOne<TOptions extends Omit<Parameters<ModelDelegate["update"]>[0], "where" | "data">>(filters: Parameters<ModelDelegate["update"]>[0] extends {
|
|
44
|
-
where?: infer W;
|
|
45
|
-
[x: string]: any;
|
|
46
|
-
} ? W : any, data: Parameters<ModelDelegate["update"]>[0] extends {
|
|
47
|
-
data: infer D;
|
|
48
|
-
[x: string]: any;
|
|
49
|
-
} ? D : any, queryOptions?: TOptions): Promise<ModelDelegate["update"] extends (args: {
|
|
50
|
-
where: any;
|
|
51
|
-
data: any;
|
|
52
|
-
}) => infer R ? R : any>;
|
|
53
|
-
updateMany<TOptions extends Omit<Parameters<ModelDelegate["updateMany"]>[0], "where" | "data">>(filters: Parameters<ModelDelegate["updateMany"]>[0] extends {
|
|
54
|
-
where?: infer W;
|
|
55
|
-
[x: string]: any;
|
|
56
|
-
} ? W : any, data: Parameters<ModelDelegate["updateMany"]>[0] extends {
|
|
57
|
-
data: infer D;
|
|
58
|
-
[x: string]: any;
|
|
59
|
-
} ? D : any, queryOptions?: TOptions): Promise<ModelDelegate["updateMany"] extends (args: {
|
|
60
|
-
where: any;
|
|
61
|
-
data: any;
|
|
62
|
-
}) => infer R ? R : any>;
|
|
63
|
-
deleteOne(filters: Parameters<ModelDelegate["delete"]>[0] extends {
|
|
64
|
-
where?: infer W;
|
|
65
|
-
[x: string]: any;
|
|
66
|
-
} ? W : any): Promise<ReturnType<ModelDelegate["delete"]>>;
|
|
67
|
-
deleteMany(filters: Parameters<ModelDelegate["deleteMany"]>[0] extends {
|
|
68
|
-
where?: infer W;
|
|
69
|
-
[x: string]: any;
|
|
70
|
-
} ? W : Record<string, any>): Promise<ReturnType<ModelDelegate["deleteMany"]>>;
|
|
8
|
+
createOne<TOptions extends CreateOneOptions<T>>(data: CreateOneData<T>, queryOptions?: TOptions, context?: ServiceBaseContext): Promise<CreateOneResult<T>>;
|
|
9
|
+
createMany<TOptions extends CreateManyOptions<T>>(data: CreateManyData<T>, queryOptions?: TOptions, context?: ServiceBaseContext): Promise<CreateManyResult<T>>;
|
|
10
|
+
count(filters?: CountFilters<T>, context?: ServiceBaseContext): Promise<number>;
|
|
11
|
+
findMany<TOptions extends FindManyOptions<T>>(filters?: FindManyFilters<T>, queryOptions?: TOptions, context?: ServiceBaseContext): Promise<FindManyResult<T, TOptions>>;
|
|
12
|
+
findById<TOptions extends FindByIdOptions<T>>(id: string | number, queryOptions?: TOptions, context?: ServiceBaseContext): Promise<FindByIdResult<T>>;
|
|
13
|
+
findOne<TOptions extends FindOneOptions<T>>(filters: FindOneFilters<T>, queryOptions?: TOptions, context?: ServiceBaseContext): Promise<FindOneResult<T>>;
|
|
14
|
+
updateOne<TOptions extends UpdateOneOptions<T>>(filters: UpdateOneFilters<T>, data: UpdateOneData<T>, queryOptions?: TOptions, context?: ServiceBaseContext): Promise<UpdateOneResult<T>>;
|
|
15
|
+
updateMany<TOptions extends UpdateManyOptions<T>>(filters: UpdateManyFilters<T>, data: UpdateManyData<T>, queryOptions?: TOptions, context?: ServiceBaseContext): Promise<UpdateManyResult<T>>;
|
|
16
|
+
deleteOne(filters: DeleteOneFilters<T>, context?: ServiceBaseContext): Promise<DeleteOneResult<T>>;
|
|
17
|
+
deleteMany(filters: DeleteManyFilters<T>, context?: ServiceBaseContext): Promise<DeleteManyResult<T>>;
|
|
71
18
|
}
|
|
72
|
-
export declare function getBaseServices(): Record<string, BaseService<any>>;
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { User } from "../../../types";
|
|
2
|
+
export type ModelDelegate = Record<string, any>;
|
|
3
|
+
export type CreateOneData<T extends ModelDelegate> = Parameters<T["create"]>[0] extends {
|
|
4
|
+
data: infer D;
|
|
5
|
+
[x: string]: any;
|
|
6
|
+
} ? D : any;
|
|
7
|
+
export type CreateOneOptions<T extends ModelDelegate> = Omit<Parameters<T["create"]>[0], "data">;
|
|
8
|
+
export type CreateOneResult<T extends ModelDelegate> = T["create"] extends (args: {
|
|
9
|
+
data: any;
|
|
10
|
+
}) => infer R ? R : any;
|
|
11
|
+
export type CreateManyData<T extends ModelDelegate> = Parameters<T["createMany"]>[0] extends {
|
|
12
|
+
data: infer D;
|
|
13
|
+
[x: string]: any;
|
|
14
|
+
} ? D : any;
|
|
15
|
+
export type CreateManyOptions<T extends ModelDelegate> = Omit<Parameters<T["createMany"]>[0], "data">;
|
|
16
|
+
export type CreateManyResult<T extends ModelDelegate> = T["createMany"] extends (args: {
|
|
17
|
+
data: any;
|
|
18
|
+
}) => infer R ? R : any;
|
|
19
|
+
export type CountFilters<T extends ModelDelegate> = Parameters<T["count"]>[0] extends {
|
|
20
|
+
where?: infer W;
|
|
21
|
+
[x: string]: any;
|
|
22
|
+
} ? W : any;
|
|
23
|
+
export type FindManyFilters<T extends ModelDelegate> = Parameters<T["findMany"]>[0] extends {
|
|
24
|
+
where?: infer W;
|
|
25
|
+
[x: string]: any;
|
|
26
|
+
} ? W : any;
|
|
27
|
+
export type FindManyOptions<T extends ModelDelegate> = Omit<Parameters<T["findMany"]>[0], "where">;
|
|
28
|
+
export type FindManyResult<T extends ModelDelegate, TOptions = any> = T["findMany"] extends (args: {
|
|
29
|
+
where: any;
|
|
30
|
+
} & TOptions) => infer R ? R : any;
|
|
31
|
+
export type FindByIdOptions<T extends ModelDelegate> = Omit<Parameters<T["findUnique"]>[0], "where">;
|
|
32
|
+
export type FindByIdResult<T extends ModelDelegate> = T["findUnique"] extends (args: {
|
|
33
|
+
where: any;
|
|
34
|
+
}) => infer R ? R : any;
|
|
35
|
+
export type FindOneFilters<T extends ModelDelegate> = Parameters<T["findFirst"]>[0] extends {
|
|
36
|
+
where?: infer W;
|
|
37
|
+
[x: string]: any;
|
|
38
|
+
} ? W : any;
|
|
39
|
+
export type FindOneOptions<T extends ModelDelegate> = Omit<Parameters<T["findFirst"]>[0], "where"> | Omit<Parameters<T["findUnique"]>[0], "where">;
|
|
40
|
+
export type FindOneResult<T extends ModelDelegate> = T["findFirst"] extends (args: {
|
|
41
|
+
where: any;
|
|
42
|
+
}) => infer R ? R : T["findUnique"] extends (args: {
|
|
43
|
+
where: any;
|
|
44
|
+
}) => infer R2 ? R2 : any;
|
|
45
|
+
export type UpdateOneFilters<T extends ModelDelegate> = Parameters<T["update"]>[0] extends {
|
|
46
|
+
where?: infer W;
|
|
47
|
+
[x: string]: any;
|
|
48
|
+
} ? W : any;
|
|
49
|
+
export type UpdateOneData<T extends ModelDelegate> = Parameters<T["update"]>[0] extends {
|
|
50
|
+
data: infer D;
|
|
51
|
+
[x: string]: any;
|
|
52
|
+
} ? D : any;
|
|
53
|
+
export type UpdateOneOptions<T extends ModelDelegate> = Omit<Parameters<T["update"]>[0], "where" | "data">;
|
|
54
|
+
export type UpdateOneResult<T extends ModelDelegate> = T["update"] extends (args: {
|
|
55
|
+
where: any;
|
|
56
|
+
data: any;
|
|
57
|
+
}) => infer R ? R : any;
|
|
58
|
+
export type UpdateManyFilters<T extends ModelDelegate> = Parameters<T["updateMany"]>[0] extends {
|
|
59
|
+
where?: infer W;
|
|
60
|
+
[x: string]: any;
|
|
61
|
+
} ? W : any;
|
|
62
|
+
export type UpdateManyData<T extends ModelDelegate> = Parameters<T["updateMany"]>[0] extends {
|
|
63
|
+
data: infer D;
|
|
64
|
+
[x: string]: any;
|
|
65
|
+
} ? D : any;
|
|
66
|
+
export type UpdateManyOptions<T extends ModelDelegate> = Omit<Parameters<T["updateMany"]>[0], "where" | "data">;
|
|
67
|
+
export type UpdateManyResult<T extends ModelDelegate> = T["updateMany"] extends (args: {
|
|
68
|
+
where: any;
|
|
69
|
+
data: any;
|
|
70
|
+
}) => infer R ? R : any;
|
|
71
|
+
export type DeleteOneFilters<T extends ModelDelegate> = Parameters<T["delete"]>[0] extends {
|
|
72
|
+
where?: infer W;
|
|
73
|
+
[x: string]: any;
|
|
74
|
+
} ? W : any;
|
|
75
|
+
export type DeleteOneResult<T extends ModelDelegate> = ReturnType<T["delete"]>;
|
|
76
|
+
export type DeleteManyFilters<T extends ModelDelegate> = Parameters<T["deleteMany"]>[0] extends {
|
|
77
|
+
where?: infer W;
|
|
78
|
+
[x: string]: any;
|
|
79
|
+
} ? W : Record<string, any>;
|
|
80
|
+
export type DeleteManyResult<T extends ModelDelegate> = ReturnType<T["deleteMany"]>;
|
|
81
|
+
export interface ServiceBaseContext {
|
|
82
|
+
user?: User;
|
|
83
|
+
accessToken?: string;
|
|
84
|
+
skip?: ("before" | "after" | "error")[];
|
|
85
|
+
throwOnError?: boolean;
|
|
86
|
+
}
|
|
87
|
+
export interface BeforeCreateOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
88
|
+
data: CreateOneData<T>;
|
|
89
|
+
queryOptions?: CreateOneOptions<T>;
|
|
90
|
+
context?: Context;
|
|
91
|
+
}
|
|
92
|
+
export interface AfterCreateOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
93
|
+
result: CreateOneResult<T>;
|
|
94
|
+
data: CreateOneData<T>;
|
|
95
|
+
queryOptions?: CreateOneOptions<T>;
|
|
96
|
+
context?: Context;
|
|
97
|
+
}
|
|
98
|
+
export interface BeforeCreateManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
99
|
+
data: CreateManyData<T>;
|
|
100
|
+
queryOptions?: CreateManyOptions<T>;
|
|
101
|
+
context?: Context;
|
|
102
|
+
}
|
|
103
|
+
export interface AfterCreateManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
104
|
+
result: CreateManyResult<T>;
|
|
105
|
+
queryOptions?: CreateManyOptions<T>;
|
|
106
|
+
context?: Context;
|
|
107
|
+
}
|
|
108
|
+
export interface BeforeCountHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
109
|
+
filters?: CountFilters<T>;
|
|
110
|
+
context?: Context;
|
|
111
|
+
}
|
|
112
|
+
export interface AfterCountHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
113
|
+
result: number;
|
|
114
|
+
filters?: CountFilters<T>;
|
|
115
|
+
context?: Context;
|
|
116
|
+
}
|
|
117
|
+
export interface BeforeFindManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
118
|
+
filters?: FindManyFilters<T>;
|
|
119
|
+
queryOptions?: FindManyOptions<T>;
|
|
120
|
+
context?: Context;
|
|
121
|
+
}
|
|
122
|
+
export interface AfterFindManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
123
|
+
result: FindManyResult<T>;
|
|
124
|
+
filters?: FindManyFilters<T>;
|
|
125
|
+
queryOptions?: FindManyOptions<T>;
|
|
126
|
+
context?: Context;
|
|
127
|
+
}
|
|
128
|
+
export interface BeforeFindOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
129
|
+
filters: FindOneFilters<T>;
|
|
130
|
+
queryOptions?: FindOneOptions<T>;
|
|
131
|
+
context?: Context;
|
|
132
|
+
}
|
|
133
|
+
export interface AfterFindOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
134
|
+
result: FindOneResult<T>;
|
|
135
|
+
filters: FindOneFilters<T>;
|
|
136
|
+
queryOptions?: FindOneOptions<T>;
|
|
137
|
+
context?: Context;
|
|
138
|
+
}
|
|
139
|
+
export interface BeforeUpdateOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
140
|
+
filters: UpdateOneFilters<T>;
|
|
141
|
+
data: UpdateOneData<T>;
|
|
142
|
+
queryOptions?: UpdateOneOptions<T>;
|
|
143
|
+
context?: Context;
|
|
144
|
+
}
|
|
145
|
+
export interface AfterUpdateOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
146
|
+
result: UpdateOneResult<T>;
|
|
147
|
+
filters: UpdateOneFilters<T>;
|
|
148
|
+
data: UpdateOneData<T>;
|
|
149
|
+
queryOptions?: UpdateOneOptions<T>;
|
|
150
|
+
context?: Context;
|
|
151
|
+
}
|
|
152
|
+
export interface BeforeUpdateManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
153
|
+
filters: UpdateManyFilters<T>;
|
|
154
|
+
data: UpdateManyData<T>;
|
|
155
|
+
queryOptions?: UpdateManyOptions<T>;
|
|
156
|
+
context?: Context;
|
|
157
|
+
}
|
|
158
|
+
export interface AfterUpdateManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
159
|
+
result: UpdateManyResult<T>;
|
|
160
|
+
filters: UpdateManyFilters<T>;
|
|
161
|
+
data: UpdateManyData<T>;
|
|
162
|
+
queryOptions?: UpdateManyOptions<T>;
|
|
163
|
+
context?: Context;
|
|
164
|
+
}
|
|
165
|
+
export interface BeforeDeleteOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
166
|
+
filters: DeleteOneFilters<T>;
|
|
167
|
+
context?: Context;
|
|
168
|
+
}
|
|
169
|
+
export interface AfterDeleteOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
170
|
+
result: DeleteOneResult<T>;
|
|
171
|
+
filters: DeleteOneFilters<T>;
|
|
172
|
+
context?: Context;
|
|
173
|
+
}
|
|
174
|
+
export interface BeforeDeleteManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
175
|
+
filters: DeleteManyFilters<T>;
|
|
176
|
+
context?: Context;
|
|
177
|
+
}
|
|
178
|
+
export interface AfterDeleteManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
179
|
+
result: DeleteManyResult<T>;
|
|
180
|
+
filters: DeleteManyFilters<T>;
|
|
181
|
+
context?: Context;
|
|
182
|
+
}
|
|
183
|
+
export interface OnCreateOneErrorHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> extends BeforeCreateOneHookArgs<T, Context> {
|
|
184
|
+
error: any;
|
|
185
|
+
}
|
|
186
|
+
export interface OnCreateManyErrorHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> extends BeforeCreateManyHookArgs<T, Context> {
|
|
187
|
+
error: any;
|
|
188
|
+
}
|
|
189
|
+
export interface OnCountErrorHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> extends BeforeCountHookArgs<T, Context> {
|
|
190
|
+
error: any;
|
|
191
|
+
}
|
|
192
|
+
export interface OnFindManyErrorHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> extends BeforeFindManyHookArgs<T, Context> {
|
|
193
|
+
error: any;
|
|
194
|
+
}
|
|
195
|
+
export interface OnFindByIdErrorHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
|
|
196
|
+
error: any;
|
|
197
|
+
id: string | number;
|
|
198
|
+
queryOptions?: FindByIdOptions<T>;
|
|
199
|
+
context?: Context;
|
|
200
|
+
}
|
|
201
|
+
export interface OnFindOneErrorHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> extends BeforeFindOneHookArgs<T, Context> {
|
|
202
|
+
error: any;
|
|
203
|
+
}
|
|
204
|
+
export interface OnUpdateOneErrorHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> extends BeforeUpdateOneHookArgs<T, Context> {
|
|
205
|
+
error: any;
|
|
206
|
+
}
|
|
207
|
+
export interface OnUpdateManyErrorHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> extends BeforeUpdateManyHookArgs<T, Context> {
|
|
208
|
+
error: any;
|
|
209
|
+
}
|
|
210
|
+
export interface OnDeleteOneErrorHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> extends BeforeDeleteOneHookArgs<T, Context> {
|
|
211
|
+
error: any;
|
|
212
|
+
}
|
|
213
|
+
export interface OnDeleteManyErrorHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> extends BeforeDeleteManyHookArgs<T, Context> {
|
|
214
|
+
error: any;
|
|
215
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Router } from "express";
|
|
2
2
|
import { ArkosConfig, RouterConfig } from "../../../../exports";
|
|
3
|
-
import { RouterEndpoint } from "../../../../types/router-config";
|
|
4
|
-
export declare function setupRouters(
|
|
5
|
-
export declare function isEndpointDisabled(routerConfig: RouterConfig
|
|
3
|
+
import { AuthRouterEndpoint, FileUploadRouterEndpoint, RouterEndpoint } from "../../../../types/router-config";
|
|
4
|
+
export declare function setupRouters(router: Router, arkosConfigs: ArkosConfig): Promise<Promise<void>[]>;
|
|
5
|
+
export declare function isEndpointDisabled<RouterType extends string = "prisma">(routerConfig: RouterConfig<RouterType>, endpoint: RouterEndpoint | AuthRouterEndpoint | FileUploadRouterEndpoint): boolean;
|
|
6
6
|
export declare function isParentEndpointAllowed(routerConfig: any, endpoint: string): boolean;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PrismaField } from "../../../../utils/prisma/types";
|
|
2
2
|
export declare function removeApiAction(obj: Record<string, any>): Record<string, any>;
|
|
3
3
|
export declare function isPrismaRelationFormat(obj: Record<string, any>): boolean;
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function throwErrorIfApiActionIsInvalid(apiAction: string): void;
|
|
5
|
+
export declare function handleRelationFieldsInBody(body: Record<string, any>, relationFields: ModelGroupRelationFields, ignoreActions?: string[]): Record<string, any>;
|
|
6
|
+
export type ModelGroupRelationFields = ReturnType<typeof getGroupedModelReations>;
|
|
7
|
+
declare function getGroupedModelReations(modelName: string): {
|
|
8
|
+
singular: PrismaField[] | undefined;
|
|
9
|
+
list: PrismaField[] | undefined;
|
|
10
|
+
};
|
|
5
11
|
export declare function canBeUsedToConnect(modelName: string, bodyField: Record<string, any> | undefined | null): boolean;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type ServiceHook = (args: Record<string, any>) => Promise<void>;
|
|
2
|
+
declare class ServiceHooksManager {
|
|
3
|
+
handleHook(hooksReceived: ServiceHook | ServiceHook[], hooksArgs: Record<string, any>): Promise<void>;
|
|
4
|
+
validateServiceHook(hook: ServiceHook): void;
|
|
5
|
+
}
|
|
6
|
+
declare const serviceHooksManager: ServiceHooksManager;
|
|
7
|
+
export default serviceHooksManager;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { NextFunction, Request, Response } from "express";
|
|
2
2
|
import AppError from "./utils/app-error";
|
|
3
|
-
export default function errorHandler(err: AppError, req: Request, res: Response,
|
|
3
|
+
export default function errorHandler(err: AppError, req: Request, res: Response, _: NextFunction): void;
|