arkos 1.3.2-canary.3 → 1.3.3-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 +8 -4
- package/dist/cjs/app.js +174 -1
- package/dist/cjs/app.js.map +1 -1
- package/dist/cjs/exports/auth/index.js +6 -1
- package/dist/cjs/exports/controllers/index.js +11 -1
- package/dist/cjs/exports/error-handler/index.js +11 -1
- package/dist/cjs/exports/index.js +12 -1
- package/dist/cjs/exports/middlewares/index.js +7 -1
- package/dist/cjs/exports/prisma/index.js +13 -1
- package/dist/cjs/exports/services/index.js +48 -1
- package/dist/cjs/exports/utils/index.js +24 -1
- package/dist/cjs/exports/utils/index.js.map +1 -1
- package/dist/cjs/exports/validation/index.js +11 -1
- package/dist/cjs/modules/auth/auth.controller.js +247 -1
- package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
- package/dist/cjs/modules/auth/auth.router.js +82 -1
- package/dist/cjs/modules/auth/auth.service.js +226 -1
- package/dist/cjs/modules/auth/utils/auth-error-objects.js +10 -1
- package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +83 -1
- package/dist/cjs/modules/auth/utils/services/auth-action.service.js +92 -1
- package/dist/cjs/modules/base/base.controller.js +210 -1
- package/dist/cjs/modules/base/base.controller.js.map +1 -1
- package/dist/cjs/modules/base/base.middlewares.js +92 -1
- package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
- package/dist/cjs/modules/base/base.router.js +22 -1
- package/dist/cjs/modules/base/base.service.js +615 -1
- package/dist/cjs/modules/base/base.service.js.map +1 -1
- package/dist/cjs/modules/base/types/base.service.types.js +3 -1
- package/dist/cjs/modules/base/types/base.service.types.js.map +1 -1
- package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +80 -1
- package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +50 -1
- package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +118 -1
- 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 +208 -1
- package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
- package/dist/cjs/modules/base/utils/router-validator.js +16 -1
- package/dist/cjs/modules/base/utils/service-hooks-manager.js +19 -1
- package/dist/cjs/modules/debugger/debugger.service.js +48 -0
- package/dist/cjs/modules/debugger/debugger.service.js.map +1 -0
- package/dist/cjs/modules/email/email.service.js +104 -1
- package/dist/cjs/modules/error-handler/error-handler.controller.js +146 -4
- package/dist/cjs/modules/error-handler/utils/app-error.js +17 -1
- package/dist/cjs/modules/error-handler/utils/catch-async.js +21 -1
- package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +205 -3
- package/dist/cjs/modules/file-upload/file-upload.controller.js +237 -1
- package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
- package/dist/cjs/modules/file-upload/file-upload.router.js +60 -1
- package/dist/cjs/modules/file-upload/file-upload.service.js +322 -1
- package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +97 -1
- package/dist/cjs/modules/swagger/swagger.router.js +39 -1
- package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +338 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +64 -1
- package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +37 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +52 -1
- 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 +32 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +49 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +34 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +471 -1
- package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +572 -1
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +260 -1
- package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
- package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +112 -1
- package/dist/cjs/paths.js +9 -1
- package/dist/cjs/server.js +103 -5
- package/dist/cjs/server.js.map +1 -1
- package/dist/cjs/types/arkos-config.js +3 -1
- package/dist/cjs/types/arkos-config.js.map +1 -1
- package/dist/cjs/types/auth.js +3 -1
- package/dist/cjs/types/index.js +11 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/router-config.js +3 -1
- package/dist/cjs/utils/arkos-env.js +9 -1
- package/dist/cjs/utils/cli/build.js +214 -5
- package/dist/cjs/utils/cli/dev.js +154 -3
- package/dist/cjs/utils/cli/generate.js +126 -1
- package/dist/cjs/utils/cli/generate.js.map +1 -1
- package/dist/cjs/utils/cli/index.js +104 -1
- package/dist/cjs/utils/cli/index.js.map +1 -1
- package/dist/cjs/utils/cli/prisma-generate.js +120 -0
- package/dist/cjs/utils/cli/prisma-generate.js.map +1 -0
- package/dist/cjs/utils/cli/start.js +103 -1
- package/dist/cjs/utils/cli/utils/cli.helpers.js +24 -1
- package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +73 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js +60 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js +17 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js +201 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js +286 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js +64 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +42 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +29 -0
- package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +1 -0
- package/dist/cjs/utils/cli/utils/template-generators.js +34 -2
- package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
- package/dist/cjs/utils/cli/utils/watermark-stamper.js +17 -3
- package/dist/cjs/utils/dotenv.helpers.js +43 -1
- package/dist/cjs/utils/dynamic-loader.js +270 -9
- package/dist/cjs/utils/features/api.features.js +226 -1
- package/dist/cjs/utils/features/api.features.js.map +1 -1
- package/dist/cjs/utils/features/change-case.features.js +67 -1
- package/dist/cjs/utils/features/port-and-host-allocator.js +105 -1
- package/dist/cjs/utils/helpers/api.features.helpers.js +112 -1
- package/dist/cjs/utils/helpers/change-case.helpers.js +177 -1
- package/dist/cjs/utils/helpers/deepmerge.helper.js +115 -1
- package/dist/cjs/utils/helpers/deepmerge.helper.js.map +1 -1
- package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +76 -1
- package/dist/cjs/utils/helpers/fs.helpers.js +57 -1
- package/dist/cjs/utils/helpers/global.helpers.js +94 -1
- package/dist/cjs/utils/helpers/prisma.helpers.js +44 -1
- package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
- package/dist/cjs/utils/helpers/query-parser.helpers.js +45 -1
- package/dist/cjs/utils/helpers/routers.helpers.js +37 -1
- package/dist/cjs/utils/helpers/text.helpers.js +28 -1
- package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +455 -1
- package/dist/cjs/utils/prisma/prisma-schema-parser.js +216 -4
- package/dist/cjs/utils/prisma/types.js +3 -1
- package/dist/cjs/utils/sheu.js +126 -1
- package/dist/cjs/utils/sheu.js.map +1 -1
- package/dist/cjs/utils/validate-dto.js +17 -1
- package/dist/cjs/utils/validate-schema.js +15 -1
- package/dist/esm/app.js +134 -1
- package/dist/esm/app.js.map +1 -1
- package/dist/esm/exports/auth/index.js +2 -1
- package/dist/esm/exports/controllers/index.js +4 -1
- package/dist/esm/exports/error-handler/index.js +4 -1
- package/dist/esm/exports/index.js +8 -1
- package/dist/esm/exports/middlewares/index.js +2 -1
- package/dist/esm/exports/prisma/index.js +6 -1
- package/dist/esm/exports/services/index.js +9 -1
- package/dist/esm/exports/utils/index.js +4 -1
- package/dist/esm/exports/utils/index.js.map +1 -1
- package/dist/esm/exports/validation/index.js +4 -1
- package/dist/esm/modules/auth/auth.controller.js +240 -1
- package/dist/esm/modules/auth/auth.controller.js.map +1 -1
- package/dist/esm/modules/auth/auth.router.js +76 -1
- package/dist/esm/modules/auth/auth.service.js +219 -1
- package/dist/esm/modules/auth/utils/auth-error-objects.js +4 -1
- package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +73 -1
- package/dist/esm/modules/auth/utils/services/auth-action.service.js +90 -1
- package/dist/esm/modules/base/base.controller.js +203 -1
- package/dist/esm/modules/base/base.controller.js.map +1 -1
- package/dist/esm/modules/base/base.middlewares.js +81 -1
- package/dist/esm/modules/base/base.middlewares.js.map +1 -1
- package/dist/esm/modules/base/base.router.js +15 -1
- package/dist/esm/modules/base/base.service.js +608 -1
- package/dist/esm/modules/base/base.service.js.map +1 -1
- package/dist/esm/modules/base/types/base.service.types.js +2 -1
- package/dist/esm/modules/base/types/base.service.types.js.map +1 -1
- package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +76 -1
- package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +44 -1
- package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +109 -1
- 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 +198 -1
- package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
- package/dist/esm/modules/base/utils/router-validator.js +14 -1
- package/dist/esm/modules/base/utils/service-hooks-manager.js +17 -1
- package/dist/esm/modules/debugger/debugger.service.js +43 -0
- package/dist/esm/modules/debugger/debugger.service.js.map +1 -0
- package/dist/esm/modules/email/email.service.js +97 -1
- package/dist/esm/modules/error-handler/error-handler.controller.js +107 -4
- package/dist/esm/modules/error-handler/utils/app-error.js +15 -1
- package/dist/esm/modules/error-handler/utils/catch-async.js +19 -1
- package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +163 -3
- package/dist/esm/modules/file-upload/file-upload.controller.js +232 -1
- package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
- package/dist/esm/modules/file-upload/file-upload.router.js +54 -1
- package/dist/esm/modules/file-upload/file-upload.service.js +314 -1
- package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +87 -1
- package/dist/esm/modules/swagger/swagger.router.js +33 -1
- package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +333 -1
- package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +58 -1
- package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +34 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +46 -1
- 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 +26 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +46 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +28 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +465 -1
- package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +566 -1
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +255 -1
- package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
- package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +101 -1
- package/dist/esm/paths.js +3 -1
- package/dist/esm/server.js +94 -5
- package/dist/esm/server.js.map +1 -1
- package/dist/esm/types/arkos-config.js +2 -1
- package/dist/esm/types/arkos-config.js.map +1 -1
- package/dist/esm/types/auth.js +2 -1
- package/dist/esm/types/index.js +8 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/router-config.js +2 -1
- package/dist/esm/utils/arkos-env.js +7 -1
- package/dist/esm/utils/cli/build.js +208 -5
- package/dist/esm/utils/cli/dev.js +147 -3
- package/dist/esm/utils/cli/generate.js +120 -1
- package/dist/esm/utils/cli/generate.js.map +1 -1
- package/dist/esm/utils/cli/index.js +94 -1
- package/dist/esm/utils/cli/index.js.map +1 -1
- package/dist/esm/utils/cli/prisma-generate.js +114 -0
- package/dist/esm/utils/cli/prisma-generate.js.map +1 -0
- package/dist/esm/utils/cli/start.js +96 -1
- package/dist/esm/utils/cli/utils/cli.helpers.js +16 -1
- package/dist/esm/utils/cli/utils/smart-fs-watcher.js +68 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js +57 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js +14 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js +198 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js +283 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js +61 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +39 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +26 -0
- package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -0
- package/dist/esm/utils/cli/utils/template-generators.js +28 -2
- package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
- package/dist/esm/utils/cli/utils/watermark-stamper.js +15 -3
- package/dist/esm/utils/dotenv.helpers.js +37 -1
- package/dist/esm/utils/dynamic-loader.js +254 -9
- package/dist/esm/utils/features/api.features.js +220 -1
- package/dist/esm/utils/features/api.features.js.map +1 -1
- package/dist/esm/utils/features/change-case.features.js +31 -1
- package/dist/esm/utils/features/port-and-host-allocator.js +67 -1
- package/dist/esm/utils/helpers/api.features.helpers.js +106 -1
- package/dist/esm/utils/helpers/change-case.helpers.js +161 -1
- package/dist/esm/utils/helpers/deepmerge.helper.js +113 -1
- package/dist/esm/utils/helpers/deepmerge.helper.js.map +1 -1
- package/dist/esm/utils/helpers/dynamic-loader.helpers.js +69 -1
- package/dist/esm/utils/helpers/fs.helpers.js +48 -1
- package/dist/esm/utils/helpers/global.helpers.js +51 -1
- package/dist/esm/utils/helpers/prisma.helpers.js +36 -1
- package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
- package/dist/esm/utils/helpers/query-parser.helpers.js +40 -1
- package/dist/esm/utils/helpers/routers.helpers.js +29 -1
- package/dist/esm/utils/helpers/text.helpers.js +22 -1
- package/dist/esm/utils/prisma/prisma-json-schema-generator.js +448 -1
- package/dist/esm/utils/prisma/prisma-schema-parser.js +209 -4
- package/dist/esm/utils/prisma/types.js +2 -1
- package/dist/esm/utils/sheu.js +124 -1
- package/dist/esm/utils/sheu.js.map +1 -1
- package/dist/esm/utils/validate-dto.js +11 -1
- package/dist/esm/utils/validate-schema.js +9 -1
- package/dist/types/exports/utils/index.d.ts +2 -2
- package/dist/types/modules/base/base.controller.d.ts +2 -0
- package/dist/types/modules/base/base.service.d.ts +5 -0
- package/dist/types/modules/base/types/base.service.types.d.ts +11 -8
- package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +2 -0
- package/dist/types/modules/debugger/debugger.service.d.ts +7 -0
- package/dist/types/types/arkos-config.d.ts +3 -0
- package/dist/types/types/index.d.ts +3 -0
- package/dist/types/utils/cli/generate.d.ts +2 -0
- package/dist/types/utils/cli/prisma-generate.d.ts +1 -0
- package/dist/types/utils/features/api.features.d.ts +3 -5
- package/dist/types/utils/sheu.d.ts +4 -0
- package/package.json +2 -2
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -21
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -12
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js +0 -144
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -256
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -36
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -18
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -9
- package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -21
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -12
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js +0 -144
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -256
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -36
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -18
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -9
- package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -1
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-auth-configs-template.d.ts → auth-configs-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-controller-template.d.ts → controller-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-hooks-template.d.ts → hooks-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-middlewares.d.ts → middlewares-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-prisma-query-options.d.ts → query-options-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-router-template.d.ts → router-template.d.ts} +0 -0
- /package/dist/types/utils/cli/utils/template-generator/templates/{generate-service-template.d.ts → service-template.d.ts} +0 -0
|
@@ -1 +1,103 @@
|
|
|
1
|
-
"use strict";
|
|
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.startCommand = startCommand;
|
|
7
|
+
exports.killProductionServerChildProcess = killProductionServerChildProcess;
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
const child_process_1 = require("child_process");
|
|
11
|
+
const dotenv_helpers_1 = require("../dotenv.helpers");
|
|
12
|
+
const global_helpers_1 = require("../helpers/global.helpers");
|
|
13
|
+
const fs_helpers_1 = require("../helpers/fs.helpers");
|
|
14
|
+
const port_and_host_allocator_1 = __importDefault(require("../features/port-and-host-allocator"));
|
|
15
|
+
const watermark_stamper_1 = __importDefault(require("./utils/watermark-stamper"));
|
|
16
|
+
let child = null;
|
|
17
|
+
let envFiles;
|
|
18
|
+
async function startCommand(options = {}) {
|
|
19
|
+
process.env.NODE_ENV = "production";
|
|
20
|
+
envFiles = (0, dotenv_helpers_1.loadEnvironmentVariables)();
|
|
21
|
+
try {
|
|
22
|
+
const { port, host } = options;
|
|
23
|
+
const entryPoint = path_1.default.join(process.cwd(), ".build", "src", "app.js");
|
|
24
|
+
if (!fs_1.default.existsSync(path_1.default.join(entryPoint))) {
|
|
25
|
+
console.error(`❌ Could not find built application entry point at ${(0, fs_helpers_1.fullCleanCwd)(entryPoint)}`);
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
const env = {
|
|
29
|
+
...process.env,
|
|
30
|
+
NODE_ENV: "production",
|
|
31
|
+
...(port && { CLI_PORT: port }),
|
|
32
|
+
...(host && { CLI_HOST: host }),
|
|
33
|
+
ARKOS_BUILD: "true",
|
|
34
|
+
};
|
|
35
|
+
child = (0, child_process_1.spawn)("node", [entryPoint], {
|
|
36
|
+
stdio: "inherit",
|
|
37
|
+
env,
|
|
38
|
+
shell: true,
|
|
39
|
+
});
|
|
40
|
+
process.on("SIGINT", () => {
|
|
41
|
+
if (child) {
|
|
42
|
+
child.kill();
|
|
43
|
+
}
|
|
44
|
+
process.exit(0);
|
|
45
|
+
});
|
|
46
|
+
const checkConfig = async () => {
|
|
47
|
+
try {
|
|
48
|
+
const { getArkosConfig } = await (0, global_helpers_1.importModule)("../../server");
|
|
49
|
+
const config = getArkosConfig();
|
|
50
|
+
if (config && config.available) {
|
|
51
|
+
const hostAndPort = await port_and_host_allocator_1.default.getHostAndAvailablePort(env, {
|
|
52
|
+
...config,
|
|
53
|
+
logWarning: true,
|
|
54
|
+
});
|
|
55
|
+
watermark_stamper_1.default.stamp({
|
|
56
|
+
envFiles,
|
|
57
|
+
port: "port" in config && config?.port !== undefined
|
|
58
|
+
? hostAndPort.port
|
|
59
|
+
: undefined,
|
|
60
|
+
host: hostAndPort.host,
|
|
61
|
+
});
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
if (!err?.message?.includes("../../server"))
|
|
68
|
+
console.error(err);
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const waitForConfig = async () => {
|
|
73
|
+
let attempts = 0;
|
|
74
|
+
const maxAttempts = 15;
|
|
75
|
+
while (attempts < maxAttempts) {
|
|
76
|
+
const ready = await checkConfig();
|
|
77
|
+
if (ready)
|
|
78
|
+
break;
|
|
79
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
80
|
+
attempts++;
|
|
81
|
+
}
|
|
82
|
+
if (attempts >= maxAttempts) {
|
|
83
|
+
if (env.CLI_PORT || env.PORT)
|
|
84
|
+
port_and_host_allocator_1.default.logWarnings();
|
|
85
|
+
watermark_stamper_1.default.stamp({
|
|
86
|
+
envFiles,
|
|
87
|
+
host: env.CLI_HOST || env.HOST,
|
|
88
|
+
port: env.CLI_PORT || env.PORT,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
waitForConfig();
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
console.error("❌ Production server failed to start:", error);
|
|
96
|
+
process.exit(1);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function killProductionServerChildProcess() {
|
|
100
|
+
child?.kill?.();
|
|
101
|
+
child = null;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=start.js.map
|
|
@@ -1 +1,24 @@
|
|
|
1
|
-
"use strict";
|
|
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.ensureDirectoryExists = ensureDirectoryExists;
|
|
7
|
+
exports.killServerChildProcess = killServerChildProcess;
|
|
8
|
+
exports.getVersion = getVersion;
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
const dev_1 = require("../dev");
|
|
11
|
+
const start_1 = require("../start");
|
|
12
|
+
function ensureDirectoryExists(dirPath) {
|
|
13
|
+
if (!fs_1.default.existsSync(dirPath)) {
|
|
14
|
+
fs_1.default.mkdirSync(dirPath, { recursive: true });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function killServerChildProcess() {
|
|
18
|
+
(0, dev_1.killDevelopmentServerChildProcess)();
|
|
19
|
+
(0, start_1.killProductionServerChildProcess)();
|
|
20
|
+
}
|
|
21
|
+
function getVersion() {
|
|
22
|
+
return "1.3.3-beta";
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=cli.helpers.js.map
|
|
@@ -1 +1,73 @@
|
|
|
1
|
-
"use strict";
|
|
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
|
+
const chokidar_1 = __importDefault(require("chokidar"));
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
class SmartFSWather {
|
|
9
|
+
start(onNewFile) {
|
|
10
|
+
this.watchedFiles = new Set();
|
|
11
|
+
this.watcher = null;
|
|
12
|
+
this.onNewFile = onNewFile;
|
|
13
|
+
this.watcher = chokidar_1.default.watch([
|
|
14
|
+
"src",
|
|
15
|
+
"package.json",
|
|
16
|
+
"tsconfig.json",
|
|
17
|
+
"jsconfig.json",
|
|
18
|
+
"arkos.config.ts",
|
|
19
|
+
"arkos.config.js",
|
|
20
|
+
], {
|
|
21
|
+
ignoreInitial: true,
|
|
22
|
+
ignored: [
|
|
23
|
+
/node_modules/,
|
|
24
|
+
/\.git/,
|
|
25
|
+
/\.dist/,
|
|
26
|
+
/\.build/,
|
|
27
|
+
/dist/,
|
|
28
|
+
/build/,
|
|
29
|
+
/\.env.*/,
|
|
30
|
+
],
|
|
31
|
+
awaitWriteFinish: {
|
|
32
|
+
stabilityThreshold: 1000,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
this.setupListeners();
|
|
36
|
+
}
|
|
37
|
+
setupListeners() {
|
|
38
|
+
if (!this.watcher)
|
|
39
|
+
return;
|
|
40
|
+
this.watcher
|
|
41
|
+
.on("add", (filePath) => {
|
|
42
|
+
const wasAlreadyWatched = this.watchedFiles.has(filePath);
|
|
43
|
+
if (!wasAlreadyWatched)
|
|
44
|
+
this.onNewFile(filePath);
|
|
45
|
+
this.watchedFiles.add(filePath);
|
|
46
|
+
})
|
|
47
|
+
.on("ready", () => {
|
|
48
|
+
const initiallyWatched = this.watcher.getWatched();
|
|
49
|
+
Object.entries(initiallyWatched).forEach(([dir, files]) => {
|
|
50
|
+
files.forEach((file) => {
|
|
51
|
+
const fullPath = path_1.default.join(dir, file);
|
|
52
|
+
this.watchedFiles.add(fullPath);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
})
|
|
56
|
+
.on("unlink", (filePath) => {
|
|
57
|
+
this.watchedFiles.delete(filePath);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
reset() {
|
|
61
|
+
this.watchedFiles?.clear();
|
|
62
|
+
}
|
|
63
|
+
close() {
|
|
64
|
+
if (this.watcher) {
|
|
65
|
+
this.watcher.close();
|
|
66
|
+
this.watcher = null;
|
|
67
|
+
}
|
|
68
|
+
this.watchedFiles?.clear();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const smartFsWatcher = new SmartFSWather();
|
|
72
|
+
exports.default = smartFsWatcher;
|
|
73
|
+
//# sourceMappingURL=smart-fs-watcher.js.map
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateAuthConfigsTemplate = generateAuthConfigsTemplate;
|
|
4
|
+
const fs_helpers_1 = require("../../../../helpers/fs.helpers");
|
|
5
|
+
const text_helpers_1 = require("../../../../helpers/text.helpers");
|
|
6
|
+
function generateAuthConfigsTemplate(options) {
|
|
7
|
+
const { modelName } = options;
|
|
8
|
+
const ext = (0, fs_helpers_1.getUserFileExtension)();
|
|
9
|
+
const isTypeScript = ext === "ts";
|
|
10
|
+
if (!modelName)
|
|
11
|
+
throw new Error("Model name is required for auth config template");
|
|
12
|
+
const imports = isTypeScript
|
|
13
|
+
? `import { AuthConfigs } from 'arkos/auth';\n`
|
|
14
|
+
: "";
|
|
15
|
+
const typeAnnotation = isTypeScript ? `: AuthConfigs` : "";
|
|
16
|
+
return `${imports}
|
|
17
|
+
import { authService } from "arkos/services";
|
|
18
|
+
|
|
19
|
+
export const ${modelName.camel}Permissions = {
|
|
20
|
+
canCreate: authService.permission("Create", "${modelName.kebab}"),
|
|
21
|
+
canUpdate: authService.permission("Update", "${modelName.kebab}"),
|
|
22
|
+
canDelete: authService.permission("Delete", "${modelName.kebab}"),
|
|
23
|
+
canView: authService.permission("View", "${modelName.kebab}"),
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const ${modelName.camel}AuthConfigs${typeAnnotation} = {
|
|
27
|
+
authenticationControl: {
|
|
28
|
+
Create: true,
|
|
29
|
+
Update: true,
|
|
30
|
+
Delete: true,
|
|
31
|
+
View: true,
|
|
32
|
+
},
|
|
33
|
+
accessControl: {
|
|
34
|
+
// Create: {
|
|
35
|
+
// roles: [],
|
|
36
|
+
// name: "Create ${(0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", ""))}",
|
|
37
|
+
// description: "Permission to create new ${modelName.kebab.replaceAll("-", " ")} records"
|
|
38
|
+
// },
|
|
39
|
+
// Update: {
|
|
40
|
+
// roles: [],
|
|
41
|
+
// name: "Update ${(0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", ""))}",
|
|
42
|
+
// description: "Permission to update existing ${modelName.kebab.replaceAll("-", " ")} records"
|
|
43
|
+
// },
|
|
44
|
+
// Delete: {
|
|
45
|
+
// roles: [],
|
|
46
|
+
// name: "Delete ${(0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", ""))}",
|
|
47
|
+
// description: "Permission to delete ${modelName.kebab.replaceAll("-", " ")} records"
|
|
48
|
+
// },
|
|
49
|
+
// View: {
|
|
50
|
+
// roles: [],
|
|
51
|
+
// name: "View ${(0, text_helpers_1.capitalize)(modelName.kebab.replaceAll("-", ""))}",
|
|
52
|
+
// description: "Permission to view ${modelName.kebab.replaceAll("-", " ")} records"
|
|
53
|
+
// },
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export default ${modelName.camel}AuthConfigs;
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=auth-configs-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-configs-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/auth-configs-template.ts"],"names":[],"mappings":";;AAIA,kEA2DC;AA/DD,+DAAsE;AACtE,mEAA8D;AAG9D,SAAgB,2BAA2B,CAAC,OAAwB;IAClE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAA,iCAAoB,GAAE,CAAC;IACnC,MAAM,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;IAElC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAGrE,MAAM,OAAO,GAAG,YAAY;QAC1B,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,EAAE,CAAC;IAGP,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,OAAO,GAAG,OAAO;;;eAGJ,SAAS,CAAC,KAAK;iDACmB,SAAS,CAAC,KAAK;iDACf,SAAS,CAAC,KAAK;iDACf,SAAS,CAAC,KAAK;6CACnB,SAAS,CAAC,KAAK;;;QAGpD,SAAS,CAAC,KAAK,cAAc,cAAc;;;;;;;;;;yBAU1B,IAAA,yBAAU,EAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;kDACtB,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;;;yBAI7D,IAAA,yBAAU,EAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;uDACjB,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;;;yBAIlE,IAAA,yBAAU,EAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;8CAC1B,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;;;uBAI3D,IAAA,yBAAU,EAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;4CAC1B,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;iBAK/D,SAAS,CAAC,KAAK;CAC/B,CAAC;AACF,CAAC","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { capitalize } from \"../../../../helpers/text.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport function generateAuthConfigsTemplate(options: TemplateOptions): string {\n const { modelName } = options;\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName)\n throw new Error(\"Model name is required for auth config template\");\n\n // Generate imports for TypeScript\n const imports = isTypeScript\n ? `import { AuthConfigs } from 'arkos/auth';\\n`\n : \"\";\n\n // Generate type annotation for TypeScript\n const typeAnnotation = isTypeScript ? `: AuthConfigs` : \"\";\n\n return `${imports}\nimport { authService } from \"arkos/services\";\n\nexport const ${modelName.camel}Permissions = {\n canCreate: authService.permission(\"Create\", \"${modelName.kebab}\"),\n canUpdate: authService.permission(\"Update\", \"${modelName.kebab}\"),\n canDelete: authService.permission(\"Delete\", \"${modelName.kebab}\"),\n canView: authService.permission(\"View\", \"${modelName.kebab}\"),\n}\n\nconst ${modelName.camel}AuthConfigs${typeAnnotation} = {\n authenticationControl: {\n Create: true,\n Update: true,\n Delete: true,\n View: true,\n },\n accessControl: {\n // Create: {\n // roles: [],\n // name: \"Create ${capitalize(modelName.kebab.replaceAll(\"-\", \"\"))}\",\n // description: \"Permission to create new ${modelName.kebab.replaceAll(\"-\", \" \")} records\"\n // },\n // Update: {\n // roles: [],\n // name: \"Update ${capitalize(modelName.kebab.replaceAll(\"-\", \"\"))}\",\n // description: \"Permission to update existing ${modelName.kebab.replaceAll(\"-\", \" \")} records\"\n // },\n // Delete: {\n // roles: [],\n // name: \"Delete ${capitalize(modelName.kebab.replaceAll(\"-\", \"\"))}\",\n // description: \"Permission to delete ${modelName.kebab.replaceAll(\"-\", \" \")} records\"\n // },\n // View: {\n // roles: [],\n // name: \"View ${capitalize(modelName.kebab.replaceAll(\"-\", \"\"))}\",\n // description: \"Permission to view ${modelName.kebab.replaceAll(\"-\", \" \")} records\"\n // },\n },\n};\n\nexport default ${modelName.camel}AuthConfigs;\n`;\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateControllerTemplate = generateControllerTemplate;
|
|
4
|
+
function generateControllerTemplate(options) {
|
|
5
|
+
const { modelName, imports } = options;
|
|
6
|
+
if (!modelName)
|
|
7
|
+
throw new Error("Model name is required for controller template");
|
|
8
|
+
return `import { BaseController } from "${imports?.baseController || "arkos/controllers"}";
|
|
9
|
+
|
|
10
|
+
class ${modelName.pascal}Controller extends BaseController {}
|
|
11
|
+
|
|
12
|
+
const ${modelName.camel}Controller = new ${modelName.pascal}Controller("${modelName.kebab}");
|
|
13
|
+
|
|
14
|
+
export default ${modelName.camel}Controller;
|
|
15
|
+
`;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=controller-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/controller-template.ts"],"names":[],"mappings":";;AAEA,gEAgBC;AAhBD,SAAgB,0BAA0B,CAAC,OAAwB;IACjE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEpE,OAAO,mCACL,OAAO,EAAE,cAAc,IAAI,mBAC7B;;QAEM,SAAS,CAAC,MAAM;;QAEhB,SAAS,CAAC,KAAK,oBAAoB,SAAS,CAAC,MAAM,eAAe,SAAS,CAAC,KAAK;;iBAExE,SAAS,CAAC,KAAK;GAC7B,CAAC;AACJ,CAAC","sourcesContent":["import { TemplateOptions } from \"../../template-generators\";\n\nexport function generateControllerTemplate(options: TemplateOptions): string {\n const { modelName, imports } = options;\n\n if (!modelName)\n throw new Error(\"Model name is required for controller template\");\n\n return `import { BaseController } from \"${\n imports?.baseController || \"arkos/controllers\"\n }\";\n \nclass ${modelName.pascal}Controller extends BaseController {}\n\nconst ${modelName.camel}Controller = new ${modelName.pascal}Controller(\"${modelName.kebab}\");\n\nexport default ${modelName.camel}Controller;\n `;\n}\n"]}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = generateHooksTemplate;
|
|
4
|
+
const fs_helpers_1 = require("../../../../helpers/fs.helpers");
|
|
5
|
+
function generateHooksTemplate(options) {
|
|
6
|
+
const { modelName } = options;
|
|
7
|
+
const ext = (0, fs_helpers_1.getUserFileExtension)();
|
|
8
|
+
const isTypeScript = ext === "ts";
|
|
9
|
+
if (!modelName)
|
|
10
|
+
throw new Error("Module name is required for hooks template");
|
|
11
|
+
const baseImports = isTypeScript
|
|
12
|
+
? `// import {
|
|
13
|
+
// BeforeFindOneHookArgs,
|
|
14
|
+
// AfterFindOneHookArgs,
|
|
15
|
+
// BeforeUpdateOneHookArgs,
|
|
16
|
+
// AfterUpdateOneHookArgs,
|
|
17
|
+
// BeforeCreateOneHookArgs,
|
|
18
|
+
// AfterCreateOneHookArgs,
|
|
19
|
+
// BeforeCreateManyHookArgs,
|
|
20
|
+
// AfterCreateManyHookArgs,
|
|
21
|
+
// BeforeCountHookArgs,
|
|
22
|
+
// AfterCountHookArgs,
|
|
23
|
+
// BeforeFindManyHookArgs,
|
|
24
|
+
// AfterFindManyHookArgs,
|
|
25
|
+
// BeforeUpdateManyHookArgs,
|
|
26
|
+
// AfterUpdateManyHookArgs,
|
|
27
|
+
// BeforeDeleteOneHookArgs,
|
|
28
|
+
// AfterDeleteOneHookArgs,
|
|
29
|
+
// BeforeDeleteManyHookArgs,
|
|
30
|
+
// AfterDeleteManyHookArgs,
|
|
31
|
+
// OnCreateOneErrorHookArgs,
|
|
32
|
+
// OnCreateManyErrorHookArgs,
|
|
33
|
+
// OnCountErrorHookArgs,
|
|
34
|
+
// OnFindManyErrorHookArgs,
|
|
35
|
+
// OnFindByIdErrorHookArgs,
|
|
36
|
+
// OnFindOneErrorHookArgs,
|
|
37
|
+
// OnUpdateOneErrorHookArgs,
|
|
38
|
+
// OnUpdateManyErrorHookArgs,
|
|
39
|
+
// OnDeleteOneErrorHookArgs,
|
|
40
|
+
// OnDeleteManyErrorHookArgs
|
|
41
|
+
// } from "arkos/services";`
|
|
42
|
+
: ``;
|
|
43
|
+
const serviceImport = `"./${modelName.kebab}.service${ext === "ts" ? "" : "." + "js"}";`;
|
|
44
|
+
const getHookArgsType = (hookName) => {
|
|
45
|
+
if (!isTypeScript)
|
|
46
|
+
return "";
|
|
47
|
+
const typeMap = {
|
|
48
|
+
beforeFindOne: `BeforeFindOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
49
|
+
afterFindOne: `AfterFindOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
50
|
+
beforeUpdateOne: `BeforeUpdateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
51
|
+
afterUpdateOne: `AfterUpdateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
52
|
+
beforeCreateOne: `BeforeCreateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
53
|
+
afterCreateOne: `AfterCreateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
54
|
+
beforeCreateMany: `BeforeCreateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
55
|
+
afterCreateMany: `AfterCreateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
56
|
+
beforeCount: `BeforeCountHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
57
|
+
afterCount: `AfterCountHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
58
|
+
beforeFindMany: `BeforeFindManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
59
|
+
afterFindMany: `AfterFindManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
60
|
+
beforeUpdateMany: `BeforeUpdateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
61
|
+
afterUpdateMany: `AfterUpdateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
62
|
+
beforeDeleteOne: `BeforeDeleteOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
63
|
+
afterDeleteOne: `AfterDeleteOneHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
64
|
+
beforeDeleteMany: `BeforeDeleteManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
65
|
+
afterDeleteMany: `AfterDeleteManyHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
66
|
+
onCreateOneError: `OnCreateOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
67
|
+
onCreateManyError: `OnCreateManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
68
|
+
onCountError: `OnCountErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
69
|
+
onFindManyError: `OnFindManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
70
|
+
onFindByIdError: `OnFindByIdErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
71
|
+
onFindOneError: `OnFindOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
72
|
+
onUpdateOneError: `OnUpdateOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
73
|
+
onUpdateManyError: `OnUpdateManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
74
|
+
onDeleteOneError: `OnDeleteOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
75
|
+
onDeleteManyError: `OnDeleteManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,
|
|
76
|
+
};
|
|
77
|
+
return typeMap[hookName];
|
|
78
|
+
};
|
|
79
|
+
const generateHookFunction = (hookName, params) => {
|
|
80
|
+
const argsType = getHookArgsType(hookName);
|
|
81
|
+
const args = isTypeScript
|
|
82
|
+
? `{ ${params.join(", ")} }: ${argsType}`
|
|
83
|
+
: `{ ${params.join(", ")} }`;
|
|
84
|
+
return `async function (${args}) {}`;
|
|
85
|
+
};
|
|
86
|
+
const hooks = `
|
|
87
|
+
// export const beforeFindOne = [
|
|
88
|
+
// ${generateHookFunction("beforeFindOne", ["context", "filters", "queryOptions"])}
|
|
89
|
+
// ];
|
|
90
|
+
|
|
91
|
+
// export const afterFindOne = [
|
|
92
|
+
// ${generateHookFunction("afterFindOne", ["context", "result", "filters", "queryOptions"])}
|
|
93
|
+
// ];
|
|
94
|
+
|
|
95
|
+
// export const onFindOneError = [
|
|
96
|
+
// ${generateHookFunction("onFindOneError", ["context", "error", "filters", "queryOptions"])}
|
|
97
|
+
// ];
|
|
98
|
+
|
|
99
|
+
// export const beforeUpdateOne = [
|
|
100
|
+
// ${generateHookFunction("beforeUpdateOne", ["context", "filters", "data", "queryOptions"])}
|
|
101
|
+
// ];
|
|
102
|
+
|
|
103
|
+
// export const afterUpdateOne = [
|
|
104
|
+
// ${generateHookFunction("afterUpdateOne", ["context", "result", "filters", "data", "queryOptions"])}
|
|
105
|
+
// ];
|
|
106
|
+
|
|
107
|
+
// export const onUpdateOneError = [
|
|
108
|
+
// ${generateHookFunction("onUpdateOneError", ["context", "error", "filters", "data", "queryOptions"])}
|
|
109
|
+
// ];
|
|
110
|
+
|
|
111
|
+
// export const beforeCreateOne = [
|
|
112
|
+
// ${generateHookFunction("beforeCreateOne", ["context", "data", "queryOptions"])}
|
|
113
|
+
// ];
|
|
114
|
+
|
|
115
|
+
// export const afterCreateOne = [
|
|
116
|
+
// ${generateHookFunction("afterCreateOne", ["context", "result", "data", "queryOptions"])}
|
|
117
|
+
// ];
|
|
118
|
+
|
|
119
|
+
// export const onCreateOneError = [
|
|
120
|
+
// ${generateHookFunction("onCreateOneError", ["context", "error", "data", "queryOptions"])}
|
|
121
|
+
// ];
|
|
122
|
+
|
|
123
|
+
// export const beforeCreateMany = [
|
|
124
|
+
// ${generateHookFunction("beforeCreateMany", ["context", "data", "queryOptions"])}
|
|
125
|
+
// ];
|
|
126
|
+
|
|
127
|
+
// export const afterCreateMany = [
|
|
128
|
+
// ${generateHookFunction("afterCreateMany", ["context", "result", "queryOptions"])}
|
|
129
|
+
// ];
|
|
130
|
+
|
|
131
|
+
// export const onCreateManyError = [
|
|
132
|
+
// ${generateHookFunction("onCreateManyError", ["context", "error", "data", "queryOptions"])}
|
|
133
|
+
// ];
|
|
134
|
+
|
|
135
|
+
// export const beforeCount = [
|
|
136
|
+
// ${generateHookFunction("beforeCount", ["context", "filters"])}
|
|
137
|
+
// ];
|
|
138
|
+
|
|
139
|
+
// export const afterCount = [
|
|
140
|
+
// ${generateHookFunction("afterCount", ["context", "result", "filters"])}
|
|
141
|
+
// ];
|
|
142
|
+
|
|
143
|
+
// export const onCountError = [
|
|
144
|
+
// ${generateHookFunction("onCountError", ["context", "error", "filters"])}
|
|
145
|
+
// ];
|
|
146
|
+
|
|
147
|
+
// export const beforeFindMany = [
|
|
148
|
+
// ${generateHookFunction("beforeFindMany", ["context", "filters", "queryOptions"])}
|
|
149
|
+
// ];
|
|
150
|
+
|
|
151
|
+
// export const afterFindMany = [
|
|
152
|
+
// ${generateHookFunction("afterFindMany", ["context", "result", "filters", "queryOptions"])}
|
|
153
|
+
// ];
|
|
154
|
+
|
|
155
|
+
// export const onFindManyError = [
|
|
156
|
+
// ${generateHookFunction("onFindManyError", ["context", "error", "filters", "queryOptions"])}
|
|
157
|
+
// ];
|
|
158
|
+
|
|
159
|
+
// export const beforeUpdateMany = [
|
|
160
|
+
// ${generateHookFunction("beforeUpdateMany", ["context", "filters", "data", "queryOptions"])}
|
|
161
|
+
// ];
|
|
162
|
+
|
|
163
|
+
// export const afterUpdateMany = [
|
|
164
|
+
// ${generateHookFunction("afterUpdateMany", ["context", "result", "filters", "data", "queryOptions"])}
|
|
165
|
+
// ];
|
|
166
|
+
|
|
167
|
+
// export const onUpdateManyError = [
|
|
168
|
+
// ${generateHookFunction("onUpdateManyError", ["context", "error", "filters", "data", "queryOptions"])}
|
|
169
|
+
// ];
|
|
170
|
+
|
|
171
|
+
// export const beforeDeleteOne = [
|
|
172
|
+
// ${generateHookFunction("beforeDeleteOne", ["context", "filters"])}
|
|
173
|
+
// ];
|
|
174
|
+
|
|
175
|
+
// export const afterDeleteOne = [
|
|
176
|
+
// ${generateHookFunction("afterDeleteOne", ["context", "result", "filters"])}
|
|
177
|
+
// ];
|
|
178
|
+
|
|
179
|
+
// export const onDeleteOneError = [
|
|
180
|
+
// ${generateHookFunction("onDeleteOneError", ["context", "error", "filters"])}
|
|
181
|
+
// ];
|
|
182
|
+
|
|
183
|
+
// export const beforeDeleteMany = [
|
|
184
|
+
// ${generateHookFunction("beforeDeleteMany", ["context", "filters"])}
|
|
185
|
+
// ];
|
|
186
|
+
|
|
187
|
+
// export const afterDeleteMany = [
|
|
188
|
+
// ${generateHookFunction("afterDeleteMany", ["context", "result", "filters"])}
|
|
189
|
+
// ];
|
|
190
|
+
|
|
191
|
+
// export const onDeleteManyError = [
|
|
192
|
+
// ${generateHookFunction("onDeleteManyError", ["context", "error", "filters"])}
|
|
193
|
+
// ];
|
|
194
|
+
`;
|
|
195
|
+
return `${baseImports}
|
|
196
|
+
// import { Prisma } from "@prisma/client"
|
|
197
|
+
// import ${modelName.camel}Service from ${serviceImport}
|
|
198
|
+
|
|
199
|
+
${hooks}`;
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=hooks-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks-template.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/hooks-template.ts"],"names":[],"mappings":"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","sourcesContent":["import { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\n// Main function to generate hooks template based on provided options\nexport default function generateHooksTemplate(\n options: TemplateOptions\n): string {\n const { modelName } = options;\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n\n if (!modelName) throw new Error(\"Module name is required for hooks template\");\n\n const baseImports = isTypeScript\n ? `// import { \n// BeforeFindOneHookArgs, \n// AfterFindOneHookArgs, \n// BeforeUpdateOneHookArgs, \n// AfterUpdateOneHookArgs,\n// BeforeCreateOneHookArgs,\n// AfterCreateOneHookArgs,\n// BeforeCreateManyHookArgs,\n// AfterCreateManyHookArgs,\n// BeforeCountHookArgs,\n// AfterCountHookArgs,\n// BeforeFindManyHookArgs,\n// AfterFindManyHookArgs,\n// BeforeUpdateManyHookArgs,\n// AfterUpdateManyHookArgs,\n// BeforeDeleteOneHookArgs,\n// AfterDeleteOneHookArgs,\n// BeforeDeleteManyHookArgs,\n// AfterDeleteManyHookArgs,\n// OnCreateOneErrorHookArgs,\n// OnCreateManyErrorHookArgs,\n// OnCountErrorHookArgs,\n// OnFindManyErrorHookArgs,\n// OnFindByIdErrorHookArgs,\n// OnFindOneErrorHookArgs,\n// OnUpdateOneErrorHookArgs,\n// OnUpdateManyErrorHookArgs,\n// OnDeleteOneErrorHookArgs,\n// OnDeleteManyErrorHookArgs\n// } from \"arkos/services\";`\n : ``;\n\n const serviceImport = `\"./${modelName.kebab}.service${ext === \"ts\" ? \"\" : \".\" + \"js\"}\";`;\n\n const getHookArgsType = (hookName: string) => {\n if (!isTypeScript) return \"\";\n\n const typeMap: Record<string, string> = {\n beforeFindOne: `BeforeFindOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterFindOne: `AfterFindOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeUpdateOne: `BeforeUpdateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterUpdateOne: `AfterUpdateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeCreateOne: `BeforeCreateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterCreateOne: `AfterCreateOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeCreateMany: `BeforeCreateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterCreateMany: `AfterCreateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeCount: `BeforeCountHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterCount: `AfterCountHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeFindMany: `BeforeFindManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterFindMany: `AfterFindManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeUpdateMany: `BeforeUpdateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterUpdateMany: `AfterUpdateManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeDeleteOne: `BeforeDeleteOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterDeleteOne: `AfterDeleteOneHookArgs<Prisma.${modelName.pascal}Delegate>`,\n beforeDeleteMany: `BeforeDeleteManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n afterDeleteMany: `AfterDeleteManyHookArgs<Prisma.${modelName.pascal}Delegate>`,\n // Error hook types\n onCreateOneError: `OnCreateOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onCreateManyError: `OnCreateManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onCountError: `OnCountErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onFindManyError: `OnFindManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onFindByIdError: `OnFindByIdErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onFindOneError: `OnFindOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onUpdateOneError: `OnUpdateOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onUpdateManyError: `OnUpdateManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onDeleteOneError: `OnDeleteOneErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n onDeleteManyError: `OnDeleteManyErrorHookArgs<Prisma.${modelName.pascal}Delegate>`,\n };\n\n return typeMap[hookName];\n };\n\n const generateHookFunction = (hookName: string, params: string[]) => {\n const argsType = getHookArgsType(hookName);\n const args = isTypeScript\n ? `{ ${params.join(\", \")} }: ${argsType}`\n : `{ ${params.join(\", \")} }`;\n return `async function (${args}) {}`;\n };\n\n const hooks = `\n// export const beforeFindOne = [\n// ${generateHookFunction(\"beforeFindOne\", [\"context\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const afterFindOne = [\n// ${generateHookFunction(\"afterFindOne\", [\"context\", \"result\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const onFindOneError = [\n// ${generateHookFunction(\"onFindOneError\", [\"context\", \"error\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const beforeUpdateOne = [\n// ${generateHookFunction(\"beforeUpdateOne\", [\"context\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterUpdateOne = [\n// ${generateHookFunction(\"afterUpdateOne\", [\"context\", \"result\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const onUpdateOneError = [\n// ${generateHookFunction(\"onUpdateOneError\", [\"context\", \"error\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeCreateOne = [\n// ${generateHookFunction(\"beforeCreateOne\", [\"context\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterCreateOne = [\n// ${generateHookFunction(\"afterCreateOne\", [\"context\", \"result\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const onCreateOneError = [\n// ${generateHookFunction(\"onCreateOneError\", [\"context\", \"error\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeCreateMany = [\n// ${generateHookFunction(\"beforeCreateMany\", [\"context\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterCreateMany = [\n// ${generateHookFunction(\"afterCreateMany\", [\"context\", \"result\", \"queryOptions\"])}\n// ];\n\n// export const onCreateManyError = [\n// ${generateHookFunction(\"onCreateManyError\", [\"context\", \"error\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeCount = [\n// ${generateHookFunction(\"beforeCount\", [\"context\", \"filters\"])}\n// ];\n\n// export const afterCount = [\n// ${generateHookFunction(\"afterCount\", [\"context\", \"result\", \"filters\"])}\n// ];\n\n// export const onCountError = [\n// ${generateHookFunction(\"onCountError\", [\"context\", \"error\", \"filters\"])}\n// ];\n\n// export const beforeFindMany = [\n// ${generateHookFunction(\"beforeFindMany\", [\"context\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const afterFindMany = [\n// ${generateHookFunction(\"afterFindMany\", [\"context\", \"result\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const onFindManyError = [\n// ${generateHookFunction(\"onFindManyError\", [\"context\", \"error\", \"filters\", \"queryOptions\"])}\n// ];\n\n// export const beforeUpdateMany = [\n// ${generateHookFunction(\"beforeUpdateMany\", [\"context\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const afterUpdateMany = [\n// ${generateHookFunction(\"afterUpdateMany\", [\"context\", \"result\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const onUpdateManyError = [\n// ${generateHookFunction(\"onUpdateManyError\", [\"context\", \"error\", \"filters\", \"data\", \"queryOptions\"])}\n// ];\n\n// export const beforeDeleteOne = [\n// ${generateHookFunction(\"beforeDeleteOne\", [\"context\", \"filters\"])}\n// ];\n\n// export const afterDeleteOne = [\n// ${generateHookFunction(\"afterDeleteOne\", [\"context\", \"result\", \"filters\"])}\n// ];\n\n// export const onDeleteOneError = [\n// ${generateHookFunction(\"onDeleteOneError\", [\"context\", \"error\", \"filters\"])}\n// ];\n\n// export const beforeDeleteMany = [\n// ${generateHookFunction(\"beforeDeleteMany\", [\"context\", \"filters\"])}\n// ];\n\n// export const afterDeleteMany = [\n// ${generateHookFunction(\"afterDeleteMany\", [\"context\", \"result\", \"filters\"])}\n// ];\n\n// export const onDeleteManyError = [\n// ${generateHookFunction(\"onDeleteManyError\", [\"context\", \"error\", \"filters\"])}\n// ];\n`;\n\n return `${baseImports}\n// import { Prisma } from \"@prisma/client\"\n// import ${modelName.camel}Service from ${serviceImport}\n\n${hooks}`;\n}\n"]}
|