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.
Files changed (301) hide show
  1. package/README.md +8 -4
  2. package/dist/cjs/app.js +174 -1
  3. package/dist/cjs/app.js.map +1 -1
  4. package/dist/cjs/exports/auth/index.js +6 -1
  5. package/dist/cjs/exports/controllers/index.js +11 -1
  6. package/dist/cjs/exports/error-handler/index.js +11 -1
  7. package/dist/cjs/exports/index.js +12 -1
  8. package/dist/cjs/exports/middlewares/index.js +7 -1
  9. package/dist/cjs/exports/prisma/index.js +13 -1
  10. package/dist/cjs/exports/services/index.js +48 -1
  11. package/dist/cjs/exports/utils/index.js +24 -1
  12. package/dist/cjs/exports/utils/index.js.map +1 -1
  13. package/dist/cjs/exports/validation/index.js +11 -1
  14. package/dist/cjs/modules/auth/auth.controller.js +247 -1
  15. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  16. package/dist/cjs/modules/auth/auth.router.js +82 -1
  17. package/dist/cjs/modules/auth/auth.service.js +226 -1
  18. package/dist/cjs/modules/auth/utils/auth-error-objects.js +10 -1
  19. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +83 -1
  20. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +92 -1
  21. package/dist/cjs/modules/base/base.controller.js +210 -1
  22. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  23. package/dist/cjs/modules/base/base.middlewares.js +92 -1
  24. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  25. package/dist/cjs/modules/base/base.router.js +22 -1
  26. package/dist/cjs/modules/base/base.service.js +615 -1
  27. package/dist/cjs/modules/base/base.service.js.map +1 -1
  28. package/dist/cjs/modules/base/types/base.service.types.js +3 -1
  29. package/dist/cjs/modules/base/types/base.service.types.js.map +1 -1
  30. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +80 -1
  31. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +50 -1
  32. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +118 -1
  33. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  34. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +208 -1
  35. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  36. package/dist/cjs/modules/base/utils/router-validator.js +16 -1
  37. package/dist/cjs/modules/base/utils/service-hooks-manager.js +19 -1
  38. package/dist/cjs/modules/debugger/debugger.service.js +48 -0
  39. package/dist/cjs/modules/debugger/debugger.service.js.map +1 -0
  40. package/dist/cjs/modules/email/email.service.js +104 -1
  41. package/dist/cjs/modules/error-handler/error-handler.controller.js +146 -4
  42. package/dist/cjs/modules/error-handler/utils/app-error.js +17 -1
  43. package/dist/cjs/modules/error-handler/utils/catch-async.js +21 -1
  44. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +205 -3
  45. package/dist/cjs/modules/file-upload/file-upload.controller.js +237 -1
  46. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
  47. package/dist/cjs/modules/file-upload/file-upload.router.js +60 -1
  48. package/dist/cjs/modules/file-upload/file-upload.service.js +322 -1
  49. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +97 -1
  50. package/dist/cjs/modules/swagger/swagger.router.js +39 -1
  51. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  52. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +338 -1
  53. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +64 -1
  54. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +37 -1
  55. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +52 -1
  56. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  57. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +32 -1
  58. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +49 -1
  59. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +34 -1
  60. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +471 -1
  61. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +572 -1
  62. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +260 -1
  63. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
  64. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +112 -1
  65. package/dist/cjs/paths.js +9 -1
  66. package/dist/cjs/server.js +103 -5
  67. package/dist/cjs/server.js.map +1 -1
  68. package/dist/cjs/types/arkos-config.js +3 -1
  69. package/dist/cjs/types/arkos-config.js.map +1 -1
  70. package/dist/cjs/types/auth.js +3 -1
  71. package/dist/cjs/types/index.js +11 -1
  72. package/dist/cjs/types/index.js.map +1 -1
  73. package/dist/cjs/types/router-config.js +3 -1
  74. package/dist/cjs/utils/arkos-env.js +9 -1
  75. package/dist/cjs/utils/cli/build.js +214 -5
  76. package/dist/cjs/utils/cli/dev.js +154 -3
  77. package/dist/cjs/utils/cli/generate.js +126 -1
  78. package/dist/cjs/utils/cli/generate.js.map +1 -1
  79. package/dist/cjs/utils/cli/index.js +104 -1
  80. package/dist/cjs/utils/cli/index.js.map +1 -1
  81. package/dist/cjs/utils/cli/prisma-generate.js +120 -0
  82. package/dist/cjs/utils/cli/prisma-generate.js.map +1 -0
  83. package/dist/cjs/utils/cli/start.js +103 -1
  84. package/dist/cjs/utils/cli/utils/cli.helpers.js +24 -1
  85. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +73 -1
  86. package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js +60 -0
  87. package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -0
  88. package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js +17 -0
  89. package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -0
  90. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js +201 -0
  91. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -0
  92. package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js +286 -0
  93. package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -0
  94. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js +64 -0
  95. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -0
  96. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +42 -0
  97. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +1 -0
  98. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +29 -0
  99. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +1 -0
  100. package/dist/cjs/utils/cli/utils/template-generators.js +34 -2
  101. package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
  102. package/dist/cjs/utils/cli/utils/watermark-stamper.js +17 -3
  103. package/dist/cjs/utils/dotenv.helpers.js +43 -1
  104. package/dist/cjs/utils/dynamic-loader.js +270 -9
  105. package/dist/cjs/utils/features/api.features.js +226 -1
  106. package/dist/cjs/utils/features/api.features.js.map +1 -1
  107. package/dist/cjs/utils/features/change-case.features.js +67 -1
  108. package/dist/cjs/utils/features/port-and-host-allocator.js +105 -1
  109. package/dist/cjs/utils/helpers/api.features.helpers.js +112 -1
  110. package/dist/cjs/utils/helpers/change-case.helpers.js +177 -1
  111. package/dist/cjs/utils/helpers/deepmerge.helper.js +115 -1
  112. package/dist/cjs/utils/helpers/deepmerge.helper.js.map +1 -1
  113. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +76 -1
  114. package/dist/cjs/utils/helpers/fs.helpers.js +57 -1
  115. package/dist/cjs/utils/helpers/global.helpers.js +94 -1
  116. package/dist/cjs/utils/helpers/prisma.helpers.js +44 -1
  117. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  118. package/dist/cjs/utils/helpers/query-parser.helpers.js +45 -1
  119. package/dist/cjs/utils/helpers/routers.helpers.js +37 -1
  120. package/dist/cjs/utils/helpers/text.helpers.js +28 -1
  121. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +455 -1
  122. package/dist/cjs/utils/prisma/prisma-schema-parser.js +216 -4
  123. package/dist/cjs/utils/prisma/types.js +3 -1
  124. package/dist/cjs/utils/sheu.js +126 -1
  125. package/dist/cjs/utils/sheu.js.map +1 -1
  126. package/dist/cjs/utils/validate-dto.js +17 -1
  127. package/dist/cjs/utils/validate-schema.js +15 -1
  128. package/dist/esm/app.js +134 -1
  129. package/dist/esm/app.js.map +1 -1
  130. package/dist/esm/exports/auth/index.js +2 -1
  131. package/dist/esm/exports/controllers/index.js +4 -1
  132. package/dist/esm/exports/error-handler/index.js +4 -1
  133. package/dist/esm/exports/index.js +8 -1
  134. package/dist/esm/exports/middlewares/index.js +2 -1
  135. package/dist/esm/exports/prisma/index.js +6 -1
  136. package/dist/esm/exports/services/index.js +9 -1
  137. package/dist/esm/exports/utils/index.js +4 -1
  138. package/dist/esm/exports/utils/index.js.map +1 -1
  139. package/dist/esm/exports/validation/index.js +4 -1
  140. package/dist/esm/modules/auth/auth.controller.js +240 -1
  141. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  142. package/dist/esm/modules/auth/auth.router.js +76 -1
  143. package/dist/esm/modules/auth/auth.service.js +219 -1
  144. package/dist/esm/modules/auth/utils/auth-error-objects.js +4 -1
  145. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +73 -1
  146. package/dist/esm/modules/auth/utils/services/auth-action.service.js +90 -1
  147. package/dist/esm/modules/base/base.controller.js +203 -1
  148. package/dist/esm/modules/base/base.controller.js.map +1 -1
  149. package/dist/esm/modules/base/base.middlewares.js +81 -1
  150. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  151. package/dist/esm/modules/base/base.router.js +15 -1
  152. package/dist/esm/modules/base/base.service.js +608 -1
  153. package/dist/esm/modules/base/base.service.js.map +1 -1
  154. package/dist/esm/modules/base/types/base.service.types.js +2 -1
  155. package/dist/esm/modules/base/types/base.service.types.js.map +1 -1
  156. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +76 -1
  157. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +44 -1
  158. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +109 -1
  159. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  160. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +198 -1
  161. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  162. package/dist/esm/modules/base/utils/router-validator.js +14 -1
  163. package/dist/esm/modules/base/utils/service-hooks-manager.js +17 -1
  164. package/dist/esm/modules/debugger/debugger.service.js +43 -0
  165. package/dist/esm/modules/debugger/debugger.service.js.map +1 -0
  166. package/dist/esm/modules/email/email.service.js +97 -1
  167. package/dist/esm/modules/error-handler/error-handler.controller.js +107 -4
  168. package/dist/esm/modules/error-handler/utils/app-error.js +15 -1
  169. package/dist/esm/modules/error-handler/utils/catch-async.js +19 -1
  170. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +163 -3
  171. package/dist/esm/modules/file-upload/file-upload.controller.js +232 -1
  172. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  173. package/dist/esm/modules/file-upload/file-upload.router.js +54 -1
  174. package/dist/esm/modules/file-upload/file-upload.service.js +314 -1
  175. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +87 -1
  176. package/dist/esm/modules/swagger/swagger.router.js +33 -1
  177. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  178. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +333 -1
  179. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +58 -1
  180. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +34 -1
  181. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +46 -1
  182. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  183. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +26 -1
  184. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +46 -1
  185. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +28 -1
  186. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +465 -1
  187. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +566 -1
  188. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +255 -1
  189. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
  190. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +101 -1
  191. package/dist/esm/paths.js +3 -1
  192. package/dist/esm/server.js +94 -5
  193. package/dist/esm/server.js.map +1 -1
  194. package/dist/esm/types/arkos-config.js +2 -1
  195. package/dist/esm/types/arkos-config.js.map +1 -1
  196. package/dist/esm/types/auth.js +2 -1
  197. package/dist/esm/types/index.js +8 -1
  198. package/dist/esm/types/index.js.map +1 -1
  199. package/dist/esm/types/router-config.js +2 -1
  200. package/dist/esm/utils/arkos-env.js +7 -1
  201. package/dist/esm/utils/cli/build.js +208 -5
  202. package/dist/esm/utils/cli/dev.js +147 -3
  203. package/dist/esm/utils/cli/generate.js +120 -1
  204. package/dist/esm/utils/cli/generate.js.map +1 -1
  205. package/dist/esm/utils/cli/index.js +94 -1
  206. package/dist/esm/utils/cli/index.js.map +1 -1
  207. package/dist/esm/utils/cli/prisma-generate.js +114 -0
  208. package/dist/esm/utils/cli/prisma-generate.js.map +1 -0
  209. package/dist/esm/utils/cli/start.js +96 -1
  210. package/dist/esm/utils/cli/utils/cli.helpers.js +16 -1
  211. package/dist/esm/utils/cli/utils/smart-fs-watcher.js +68 -1
  212. package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js +57 -0
  213. package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -0
  214. package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js +14 -0
  215. package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -0
  216. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js +198 -0
  217. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -0
  218. package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js +283 -0
  219. package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -0
  220. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js +61 -0
  221. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -0
  222. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +39 -0
  223. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -0
  224. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +26 -0
  225. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -0
  226. package/dist/esm/utils/cli/utils/template-generators.js +28 -2
  227. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  228. package/dist/esm/utils/cli/utils/watermark-stamper.js +15 -3
  229. package/dist/esm/utils/dotenv.helpers.js +37 -1
  230. package/dist/esm/utils/dynamic-loader.js +254 -9
  231. package/dist/esm/utils/features/api.features.js +220 -1
  232. package/dist/esm/utils/features/api.features.js.map +1 -1
  233. package/dist/esm/utils/features/change-case.features.js +31 -1
  234. package/dist/esm/utils/features/port-and-host-allocator.js +67 -1
  235. package/dist/esm/utils/helpers/api.features.helpers.js +106 -1
  236. package/dist/esm/utils/helpers/change-case.helpers.js +161 -1
  237. package/dist/esm/utils/helpers/deepmerge.helper.js +113 -1
  238. package/dist/esm/utils/helpers/deepmerge.helper.js.map +1 -1
  239. package/dist/esm/utils/helpers/dynamic-loader.helpers.js +69 -1
  240. package/dist/esm/utils/helpers/fs.helpers.js +48 -1
  241. package/dist/esm/utils/helpers/global.helpers.js +51 -1
  242. package/dist/esm/utils/helpers/prisma.helpers.js +36 -1
  243. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
  244. package/dist/esm/utils/helpers/query-parser.helpers.js +40 -1
  245. package/dist/esm/utils/helpers/routers.helpers.js +29 -1
  246. package/dist/esm/utils/helpers/text.helpers.js +22 -1
  247. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +448 -1
  248. package/dist/esm/utils/prisma/prisma-schema-parser.js +209 -4
  249. package/dist/esm/utils/prisma/types.js +2 -1
  250. package/dist/esm/utils/sheu.js +124 -1
  251. package/dist/esm/utils/sheu.js.map +1 -1
  252. package/dist/esm/utils/validate-dto.js +11 -1
  253. package/dist/esm/utils/validate-schema.js +9 -1
  254. package/dist/types/exports/utils/index.d.ts +2 -2
  255. package/dist/types/modules/base/base.controller.d.ts +2 -0
  256. package/dist/types/modules/base/base.service.d.ts +5 -0
  257. package/dist/types/modules/base/types/base.service.types.d.ts +11 -8
  258. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +2 -0
  259. package/dist/types/modules/debugger/debugger.service.d.ts +7 -0
  260. package/dist/types/types/arkos-config.d.ts +3 -0
  261. package/dist/types/types/index.d.ts +3 -0
  262. package/dist/types/utils/cli/generate.d.ts +2 -0
  263. package/dist/types/utils/cli/prisma-generate.d.ts +1 -0
  264. package/dist/types/utils/features/api.features.d.ts +3 -5
  265. package/dist/types/utils/sheu.d.ts +4 -0
  266. package/package.json +2 -2
  267. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -21
  268. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -1
  269. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -12
  270. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
  271. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js +0 -144
  272. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +0 -1
  273. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -256
  274. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +0 -1
  275. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -36
  276. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
  277. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -18
  278. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
  279. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -9
  280. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -1
  281. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -21
  282. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -1
  283. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -12
  284. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
  285. package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js +0 -144
  286. package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +0 -1
  287. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -256
  288. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +0 -1
  289. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -36
  290. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
  291. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -18
  292. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
  293. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -9
  294. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -1
  295. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-auth-configs-template.d.ts → auth-configs-template.d.ts} +0 -0
  296. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-controller-template.d.ts → controller-template.d.ts} +0 -0
  297. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-hooks-template.d.ts → hooks-template.d.ts} +0 -0
  298. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-middlewares.d.ts → middlewares-template.d.ts} +0 -0
  299. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-prisma-query-options.d.ts → query-options-template.d.ts} +0 -0
  300. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-router-template.d.ts → router-template.d.ts} +0 -0
  301. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-service-template.d.ts → service-template.d.ts} +0 -0
@@ -1 +1,615 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.BaseService=void 0;const change_case_helpers_1=require("../../utils/helpers/change-case.helpers"),dynamic_loader_1=require("../../utils/dynamic-loader"),deepmerge_helper_1=__importDefault(require("../../utils/helpers/deepmerge.helper")),base_service_helpers_1=require("./utils/helpers/base.service.helpers"),prisma_helpers_1=require("../../utils/helpers/prisma.helpers"),auth_service_1=__importDefault(require("../auth/auth.service")),service_hooks_manager_1=__importDefault(require("./utils/service-hooks-manager")),prisma_schema_parser_1=__importDefault(require("../../utils/prisma/prisma-schema-parser"));class BaseService{constructor(s){this.modelName=(0,change_case_helpers_1.camelCase)(s);const r=prisma_schema_parser_1.default.getModelRelations(s);this.relationFields={singular:r?.filter(e=>e.isRelation&&!e.isArray)||[],list:r?.filter(e=>e.isRelation&&e.isArray)||[]}}async createOne(s,r,e){const a=(0,dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;try{a?.beforeCreateOne&&e?.skip!=="before"&&e?.skip!=="all"&&!e?.skip?.includes("before")&&await service_hooks_manager_1.default.handleHook(a.beforeCreateOne,{data:s,queryOptions:r,context:e}),(0,change_case_helpers_1.kebabCase)(this.modelName)==="user"&&s.password&&(auth_service_1.default.isPasswordHashed(s.password)||(s.password=await auth_service_1.default.hashPassword(s.password)));const i=(0,prisma_helpers_1.getPrismaInstance)(),l=(0,base_service_helpers_1.handleRelationFieldsInBody)(s,{...this.relationFields},["delete","disconnect","update"]),d=await i[this.modelName].create((0,deepmerge_helper_1.default)({data:l},r||{}));return a?.afterCreateOne&&e?.skip!=="after"&&e?.skip!=="all"&&!e?.skip?.includes("after")&&await service_hooks_manager_1.default.handleHook(a.afterCreateOne,{result:d,data:s,queryOptions:r,context:e}),d}catch(i){if(a?.onCreateOneError&&e?.skip!=="error"&&e?.skip!=="all"&&!e?.skip?.includes("error")&&await service_hooks_manager_1.default.handleHook(a.onCreateOneError,{error:i,data:s,queryOptions:r,context:e}),e?.throwOnError!==!1)throw i;return}}async createMany(s,r,e){const a=(0,dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;try{a?.beforeCreateMany&&e?.skip!=="before"&&e?.skip!=="all"&&!e?.skip?.includes("before")&&await service_hooks_manager_1.default.handleHook(a.beforeCreateMany,{data:s,queryOptions:r,context:e});const i=(0,prisma_helpers_1.getPrismaInstance)(),l=[];if(Array.isArray(s))for(let o=0;o<s.length;o++){const f=s[o];"password"in f&&this.modelName==="user"&&(auth_service_1.default.isPasswordHashed(f.password)||(s[o].password=await auth_service_1.default.hashPassword(f?.password))),l[o]=(0,base_service_helpers_1.handleRelationFieldsInBody)(s[o],{...this.relationFields},["delete","disconnect","update"])}const d=await i[this.modelName].createMany((0,deepmerge_helper_1.default)({data:l},r||{}));return a?.afterCreateMany&&e?.skip!=="after"&&e?.skip!=="all"&&!e?.skip?.includes("after")&&await service_hooks_manager_1.default.handleHook(a.afterCreateMany,{result:d,data:s,queryOptions:r,context:e}),d}catch(i){if(a?.onCreateManyError&&e?.skip!=="error"&&e?.skip!=="all"&&!e?.skip?.includes("error")&&await service_hooks_manager_1.default.handleHook(a.onCreateManyError,{error:i,data:s,queryOptions:r,context:e}),e?.throwOnError!==!1)throw i;return}}async count(s,r){const e=(0,dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;try{e?.beforeCount&&r?.skip!=="before"&&r?.skip!=="all"&&!r?.skip?.includes("before")&&await service_hooks_manager_1.default.handleHook(e.beforeCount,{filters:s,context:r});const i=await(0,prisma_helpers_1.getPrismaInstance)()[this.modelName].count({where:s});return e?.afterCount&&r?.skip!=="after"&&r?.skip!=="all"&&!r?.skip?.includes("after")&&await service_hooks_manager_1.default.handleHook(e.afterCount,{result:i,filters:s,context:r}),i}catch(a){if(e?.onCountError&&r?.skip!=="error"&&r?.skip!=="all"&&!r?.skip?.includes("error")&&await service_hooks_manager_1.default.handleHook(e.onCountError,{error:a,filters:s,context:r}),r?.throwOnError!==!1)throw a;return 0}}async findMany(s,r,e){const a=(0,dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;try{a?.beforeFindMany&&e?.skip!=="before"&&e?.skip!=="all"&&!e?.skip?.includes("before")&&await service_hooks_manager_1.default.handleHook(a.beforeFindMany,{filters:s,queryOptions:r,context:e});const l=await(0,prisma_helpers_1.getPrismaInstance)()[this.modelName].findMany((0,deepmerge_helper_1.default)({where:s},r||{}));return a?.afterFindMany&&e?.skip!=="after"&&e?.skip!=="all"&&!e?.skip?.includes("after")&&await service_hooks_manager_1.default.handleHook(a.afterFindMany,{result:l,filters:s,queryOptions:r,context:e}),l}catch(i){if(a?.onFindManyError&&e?.skip!=="error"&&e?.skip!=="all"&&!e?.skip?.includes("error")&&await service_hooks_manager_1.default.handleHook(a.onFindManyError,{error:i,filters:s,queryOptions:r,context:e}),e?.throwOnError!==!1)throw i;return[]}}async findById(s,r,e){const a=(0,dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;try{a?.beforeFindById&&e?.skip!=="before"&&e?.skip!=="all"&&!e?.skip?.includes("before")&&await service_hooks_manager_1.default.handleHook(a.beforeFindById,{id:s,queryOptions:r,context:e});const l=await(0,prisma_helpers_1.getPrismaInstance)()[this.modelName].findUnique((0,deepmerge_helper_1.default)({where:{id:s}},r||{}));return a?.afterFindById&&e?.skip!=="after"&&e?.skip!=="all"&&!e?.skip?.includes("after")&&await service_hooks_manager_1.default.handleHook(a.afterFindById,{result:l,id:s,queryOptions:r,context:e}),l}catch(i){if(a?.onFindByIdError&&e?.skip!=="error"&&e?.skip!=="all"&&!e?.skip?.includes("error")&&await service_hooks_manager_1.default.handleHook(a.onFindByIdError,{error:i,id:s,queryOptions:r,context:e}),e?.throwOnError!==!1)throw i;return}}async findOne(s,r,e){const a=(0,dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;try{a?.beforeFindOne&&e?.skip!=="before"&&e?.skip!=="all"&&!e?.skip?.includes("before")&&await service_hooks_manager_1.default.handleHook(a.beforeFindOne,{filters:s,queryOptions:r,context:e});const i=(0,prisma_helpers_1.getPrismaInstance)();let l;return Object.keys(s).length===1&&"id"in s&&s.id!=="me"?l=await i[this.modelName].findUnique((0,deepmerge_helper_1.default)({where:s},r||{})):l=await i[this.modelName].findFirst((0,deepmerge_helper_1.default)({where:s},r||{})),a?.afterFindOne&&e?.skip!=="after"&&e?.skip!=="all"&&!e?.skip?.includes("after")&&await service_hooks_manager_1.default.handleHook(a.afterFindOne,{result:l,filters:s,queryOptions:r,context:e}),l}catch(i){if(a?.onFindOneError&&e?.skip!=="error"&&e?.skip!=="all"&&!e?.skip?.includes("error")&&await service_hooks_manager_1.default.handleHook(a.onFindOneError,{error:i,filters:s,queryOptions:r,context:e}),e?.throwOnError!==!1)throw i;return}}async updateOne(s,r,e,a){const i=(0,dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;try{i?.beforeUpdateOne&&a?.skip!=="before"&&a?.skip!=="all"&&!a?.skip?.includes("before")&&await service_hooks_manager_1.default.handleHook(i.beforeUpdateOne,{filters:s,data:r,queryOptions:e,context:a}),(0,change_case_helpers_1.kebabCase)(this.modelName)==="user"&&r?.password&&(auth_service_1.default.isPasswordHashed(r.password)||(r.password=await auth_service_1.default.hashPassword(r?.password)));const l=(0,prisma_helpers_1.getPrismaInstance)(),d=(0,base_service_helpers_1.handleRelationFieldsInBody)(r,{...this.relationFields}),o=await l[this.modelName].update((0,deepmerge_helper_1.default)({where:s,data:d},e||{}));return i?.afterUpdateOne&&a?.skip!=="after"&&a?.skip!=="all"&&!a?.skip?.includes("after")&&await service_hooks_manager_1.default.handleHook(i.afterUpdateOne,{result:o,filters:s,data:r,queryOptions:e,context:a}),o}catch(l){if(i?.onUpdateOneError&&a?.skip!=="error"&&a?.skip!=="all"&&!a?.skip?.includes("error")&&await service_hooks_manager_1.default.handleHook(i.onUpdateOneError,{error:l,filters:s,data:r,queryOptions:e,context:a}),a?.throwOnError!==!1)throw l;return}}async updateMany(s,r,e,a){const i=(0,dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;try{i?.beforeUpdateMany&&a?.skip!=="before"&&a?.skip!=="all"&&!a?.skip?.includes("before")&&await service_hooks_manager_1.default.handleHook(i.beforeUpdateMany,{filters:s,data:r,queryOptions:e,context:a});const l=(0,prisma_helpers_1.getPrismaInstance)();this.modelName==="user"&&"password"in r&&r?.password&&(auth_service_1.default.isPasswordHashed(r.password)||(r.password=await auth_service_1.default.hashPassword(r?.password)));const d=(0,deepmerge_helper_1.default)({data:r},e||{}),o=await l[this.modelName].updateMany((0,deepmerge_helper_1.default)({where:s},d));return i?.afterUpdateMany&&a?.skip!=="after"&&a?.skip!=="all"&&!a?.skip?.includes("after")&&await service_hooks_manager_1.default.handleHook(i.afterUpdateMany,{result:o,filters:s,data:r,queryOptions:e,context:a}),o}catch(l){if(i?.onUpdateManyError&&a?.skip!=="error"&&a?.skip!=="all"&&!a?.skip?.includes("error")&&await service_hooks_manager_1.default.handleHook(i.onUpdateManyError,{error:l,filters:s,data:r,queryOptions:e,context:a}),a?.throwOnError!==!1)throw l;return}}async deleteOne(s,r){const e=(0,dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;try{e?.beforeDeleteOne&&r?.skip!=="before"&&r?.skip!=="all"&&!r?.skip?.includes("before")&&await service_hooks_manager_1.default.handleHook(e.beforeDeleteOne,{filters:s,context:r});const i=await(0,prisma_helpers_1.getPrismaInstance)()[this.modelName].delete({where:s});return e?.afterDeleteOne&&r?.skip!=="after"&&r?.skip!=="all"&&!r?.skip?.includes("after")&&await service_hooks_manager_1.default.handleHook(e.afterDeleteOne,{result:i,filters:s,context:r}),i}catch(a){if(e?.onDeleteOneError&&r?.skip!=="error"&&r?.skip!=="all"&&!r?.skip?.includes("error")&&await service_hooks_manager_1.default.handleHook(e.onDeleteOneError,{error:a,filters:s,context:r}),r?.throwOnError!==!1)throw a;return}}async deleteMany(s,r){const e=(0,dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;try{e?.beforeDeleteMany&&r?.skip!=="before"&&r?.skip!=="all"&&!r?.skip?.includes("before")&&await service_hooks_manager_1.default.handleHook(e.beforeDeleteMany,{filters:s,context:r});const i=await(0,prisma_helpers_1.getPrismaInstance)()[this.modelName].deleteMany({where:s});return e?.afterDeleteMany&&r?.skip!=="after"&&r?.skip!=="all"&&!r?.skip?.includes("after")&&await service_hooks_manager_1.default.handleHook(e.afterDeleteMany,{result:i,filters:s,context:r}),i}catch(a){if(e?.onDeleteManyError&&r?.skip!=="error"&&r?.skip!=="all"&&!r?.skip?.includes("error")&&await service_hooks_manager_1.default.handleHook(e.onDeleteManyError,{error:a,filters:s,context:r}),r?.throwOnError!==!1)throw a;return}}}exports.BaseService=BaseService;
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.BaseService = void 0;
7
+ const change_case_helpers_1 = require("../../utils/helpers/change-case.helpers");
8
+ const dynamic_loader_1 = require("../../utils/dynamic-loader");
9
+ const deepmerge_helper_1 = __importDefault(require("../../utils/helpers/deepmerge.helper"));
10
+ const base_service_helpers_1 = require("./utils/helpers/base.service.helpers");
11
+ const prisma_helpers_1 = require("../../utils/helpers/prisma.helpers");
12
+ const auth_service_1 = __importDefault(require("../auth/auth.service"));
13
+ const service_hooks_manager_1 = __importDefault(require("./utils/service-hooks-manager"));
14
+ const prisma_schema_parser_1 = __importDefault(require("../../utils/prisma/prisma-schema-parser"));
15
+ class BaseService {
16
+ constructor(modelName) {
17
+ this.modelName = (0, change_case_helpers_1.camelCase)(modelName);
18
+ const modelFields = prisma_schema_parser_1.default.getModelRelations(modelName);
19
+ this.relationFields = {
20
+ singular: modelFields?.filter((field) => field.isRelation && !field.isArray) ||
21
+ [],
22
+ list: modelFields?.filter((field) => field.isRelation && field.isArray) || [],
23
+ };
24
+ }
25
+ async createOne(data, queryOptions, context) {
26
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
27
+ try {
28
+ if (serviceHooks?.beforeCreateOne &&
29
+ context?.skip !== "before" &&
30
+ context?.skip !== "all" &&
31
+ !context?.skip?.includes("before"))
32
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeCreateOne, {
33
+ data,
34
+ queryOptions,
35
+ context,
36
+ });
37
+ if ((0, change_case_helpers_1.kebabCase)(this.modelName) === "user" && data.password)
38
+ if (!auth_service_1.default.isPasswordHashed(data.password))
39
+ data.password = await auth_service_1.default.hashPassword(data.password);
40
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
41
+ const dataWithRelationFieldsHandled = (0, base_service_helpers_1.handleRelationFieldsInBody)(data, {
42
+ ...this.relationFields,
43
+ }, ["delete", "disconnect", "update"]);
44
+ const result = await prisma[this.modelName].create((0, deepmerge_helper_1.default)({
45
+ data: dataWithRelationFieldsHandled,
46
+ }, queryOptions || {}));
47
+ if (serviceHooks?.afterCreateOne &&
48
+ context?.skip !== "after" &&
49
+ context?.skip !== "all" &&
50
+ !context?.skip?.includes("after"))
51
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterCreateOne, {
52
+ result,
53
+ data,
54
+ queryOptions,
55
+ context,
56
+ });
57
+ return result;
58
+ }
59
+ catch (err) {
60
+ if (serviceHooks?.onCreateOneError &&
61
+ context?.skip !== "error" &&
62
+ context?.skip !== "all" &&
63
+ !context?.skip?.includes("error"))
64
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onCreateOneError, {
65
+ error: err,
66
+ data,
67
+ queryOptions,
68
+ context,
69
+ });
70
+ if (context?.throwOnError !== false)
71
+ throw err;
72
+ return undefined;
73
+ }
74
+ }
75
+ async createMany(data, queryOptions, context) {
76
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
77
+ try {
78
+ if (serviceHooks?.beforeCreateMany &&
79
+ context?.skip !== "before" &&
80
+ context?.skip !== "all" &&
81
+ !context?.skip?.includes("before")) {
82
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeCreateMany, {
83
+ data,
84
+ queryOptions,
85
+ context,
86
+ });
87
+ }
88
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
89
+ const dataWithRelationFieldsHandled = [];
90
+ if (Array.isArray(data)) {
91
+ for (let i = 0; i < data.length; i++) {
92
+ const curr = data[i];
93
+ if ("password" in curr && this.modelName === "user") {
94
+ if (!auth_service_1.default.isPasswordHashed(curr.password)) {
95
+ data[i].password = await auth_service_1.default.hashPassword(curr?.password);
96
+ }
97
+ }
98
+ dataWithRelationFieldsHandled[i] = (0, base_service_helpers_1.handleRelationFieldsInBody)(data[i], { ...this.relationFields }, ["delete", "disconnect", "update"]);
99
+ }
100
+ }
101
+ const result = await prisma[this.modelName].createMany((0, deepmerge_helper_1.default)({ data: dataWithRelationFieldsHandled }, queryOptions || {}));
102
+ if (serviceHooks?.afterCreateMany &&
103
+ context?.skip !== "after" &&
104
+ context?.skip !== "all" &&
105
+ !context?.skip?.includes("after"))
106
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterCreateMany, {
107
+ result,
108
+ data,
109
+ queryOptions,
110
+ context,
111
+ });
112
+ return result;
113
+ }
114
+ catch (err) {
115
+ if (serviceHooks?.onCreateManyError &&
116
+ context?.skip !== "error" &&
117
+ context?.skip !== "all" &&
118
+ !context?.skip?.includes("error"))
119
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onCreateManyError, {
120
+ error: err,
121
+ data,
122
+ queryOptions,
123
+ context,
124
+ });
125
+ if (context?.throwOnError !== false)
126
+ throw err;
127
+ return undefined;
128
+ }
129
+ }
130
+ async count(filters, context) {
131
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
132
+ try {
133
+ if (serviceHooks?.beforeCount &&
134
+ context?.skip !== "before" &&
135
+ context?.skip !== "all" &&
136
+ !context?.skip?.includes("before")) {
137
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeCount, {
138
+ filters,
139
+ context,
140
+ });
141
+ }
142
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
143
+ const result = await prisma[this.modelName].count({
144
+ where: filters,
145
+ });
146
+ if (serviceHooks?.afterCount &&
147
+ context?.skip !== "after" &&
148
+ context?.skip !== "all" &&
149
+ !context?.skip?.includes("after")) {
150
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterCount, {
151
+ result,
152
+ filters,
153
+ context,
154
+ });
155
+ }
156
+ return result;
157
+ }
158
+ catch (err) {
159
+ if (serviceHooks?.onCountError &&
160
+ context?.skip !== "error" &&
161
+ context?.skip !== "all" &&
162
+ !context?.skip?.includes("error"))
163
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onCountError, {
164
+ error: err,
165
+ filters,
166
+ context,
167
+ });
168
+ if (context?.throwOnError !== false)
169
+ throw err;
170
+ return 0;
171
+ }
172
+ }
173
+ async findMany(filters, queryOptions, context) {
174
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
175
+ try {
176
+ if (serviceHooks?.beforeFindMany &&
177
+ context?.skip !== "before" &&
178
+ context?.skip !== "all" &&
179
+ !context?.skip?.includes("before")) {
180
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeFindMany, {
181
+ filters,
182
+ queryOptions,
183
+ context,
184
+ });
185
+ }
186
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
187
+ const result = await prisma[this.modelName].findMany((0, deepmerge_helper_1.default)({ where: filters }, queryOptions || {}));
188
+ if (serviceHooks?.afterFindMany &&
189
+ context?.skip !== "after" &&
190
+ context?.skip !== "all" &&
191
+ !context?.skip?.includes("after"))
192
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterFindMany, {
193
+ result,
194
+ filters,
195
+ queryOptions,
196
+ context,
197
+ });
198
+ return result;
199
+ }
200
+ catch (err) {
201
+ if (serviceHooks?.onFindManyError &&
202
+ context?.skip !== "error" &&
203
+ context?.skip !== "all" &&
204
+ !context?.skip?.includes("error"))
205
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onFindManyError, {
206
+ error: err,
207
+ filters,
208
+ queryOptions,
209
+ context,
210
+ });
211
+ if (context?.throwOnError !== false)
212
+ throw err;
213
+ return [];
214
+ }
215
+ }
216
+ async findById(id, queryOptions, context) {
217
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
218
+ try {
219
+ if (serviceHooks?.beforeFindById &&
220
+ context?.skip !== "before" &&
221
+ context?.skip !== "all" &&
222
+ !context?.skip?.includes("before")) {
223
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeFindById, {
224
+ id,
225
+ queryOptions,
226
+ context,
227
+ });
228
+ }
229
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
230
+ const result = await prisma[this.modelName].findUnique((0, deepmerge_helper_1.default)({
231
+ where: { id },
232
+ }, queryOptions || {}));
233
+ if (serviceHooks?.afterFindById &&
234
+ context?.skip !== "after" &&
235
+ context?.skip !== "all" &&
236
+ !context?.skip?.includes("after")) {
237
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterFindById, {
238
+ result,
239
+ id,
240
+ queryOptions,
241
+ context,
242
+ });
243
+ }
244
+ return result;
245
+ }
246
+ catch (err) {
247
+ if (serviceHooks?.onFindByIdError &&
248
+ context?.skip !== "error" &&
249
+ context?.skip !== "all" &&
250
+ !context?.skip?.includes("error"))
251
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onFindByIdError, {
252
+ error: err,
253
+ id,
254
+ queryOptions,
255
+ context,
256
+ });
257
+ if (context?.throwOnError !== false)
258
+ throw err;
259
+ return undefined;
260
+ }
261
+ }
262
+ async findOne(filters, queryOptions, context) {
263
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
264
+ try {
265
+ if (serviceHooks?.beforeFindOne &&
266
+ context?.skip !== "before" &&
267
+ context?.skip !== "all" &&
268
+ !context?.skip?.includes("before")) {
269
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeFindOne, {
270
+ filters,
271
+ queryOptions,
272
+ context,
273
+ });
274
+ }
275
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
276
+ let result;
277
+ if (Object.keys(filters).length === 1 &&
278
+ "id" in filters &&
279
+ filters.id !== "me")
280
+ result = await prisma[this.modelName].findUnique((0, deepmerge_helper_1.default)({
281
+ where: filters,
282
+ }, queryOptions || {}));
283
+ else
284
+ result = await prisma[this.modelName].findFirst((0, deepmerge_helper_1.default)({
285
+ where: filters,
286
+ }, queryOptions || {}));
287
+ if (serviceHooks?.afterFindOne &&
288
+ context?.skip !== "after" &&
289
+ context?.skip !== "all" &&
290
+ !context?.skip?.includes("after"))
291
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterFindOne, {
292
+ result,
293
+ filters,
294
+ queryOptions,
295
+ context,
296
+ });
297
+ return result;
298
+ }
299
+ catch (err) {
300
+ if (serviceHooks?.onFindOneError &&
301
+ context?.skip !== "error" &&
302
+ context?.skip !== "all" &&
303
+ !context?.skip?.includes("error"))
304
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onFindOneError, {
305
+ error: err,
306
+ filters,
307
+ queryOptions,
308
+ context,
309
+ });
310
+ if (context?.throwOnError !== false)
311
+ throw err;
312
+ return undefined;
313
+ }
314
+ }
315
+ async updateOne(filters, data, queryOptions, context) {
316
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
317
+ try {
318
+ if (serviceHooks?.beforeUpdateOne &&
319
+ context?.skip !== "before" &&
320
+ context?.skip !== "all" &&
321
+ !context?.skip?.includes("before"))
322
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeUpdateOne, {
323
+ filters,
324
+ data,
325
+ queryOptions,
326
+ context,
327
+ });
328
+ if ((0, change_case_helpers_1.kebabCase)(this.modelName) === "user" && data?.password) {
329
+ if (!auth_service_1.default.isPasswordHashed(data.password))
330
+ data.password = await auth_service_1.default.hashPassword(data?.password);
331
+ }
332
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
333
+ const dataWithRelationFieldsHandled = (0, base_service_helpers_1.handleRelationFieldsInBody)(data, {
334
+ ...this.relationFields,
335
+ });
336
+ const result = await prisma[this.modelName].update((0, deepmerge_helper_1.default)({
337
+ where: filters,
338
+ data: dataWithRelationFieldsHandled,
339
+ }, queryOptions || {}));
340
+ if (serviceHooks?.afterUpdateOne &&
341
+ context?.skip !== "after" &&
342
+ context?.skip !== "all" &&
343
+ !context?.skip?.includes("after"))
344
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterUpdateOne, {
345
+ result,
346
+ filters,
347
+ data,
348
+ queryOptions,
349
+ context,
350
+ });
351
+ return result;
352
+ }
353
+ catch (err) {
354
+ if (serviceHooks?.onUpdateOneError &&
355
+ context?.skip !== "error" &&
356
+ context?.skip !== "all" &&
357
+ !context?.skip?.includes("error"))
358
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onUpdateOneError, {
359
+ error: err,
360
+ filters,
361
+ data,
362
+ queryOptions,
363
+ context,
364
+ });
365
+ if (context?.throwOnError !== false)
366
+ throw err;
367
+ return undefined;
368
+ }
369
+ }
370
+ async updateMany(filters, data, queryOptions, context) {
371
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
372
+ try {
373
+ if (serviceHooks?.beforeUpdateMany &&
374
+ context?.skip !== "before" &&
375
+ context?.skip !== "all" &&
376
+ !context?.skip?.includes("before"))
377
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeUpdateMany, {
378
+ filters,
379
+ data,
380
+ queryOptions,
381
+ context,
382
+ });
383
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
384
+ if (this.modelName === "user" &&
385
+ "password" in data &&
386
+ data?.password) {
387
+ if (!auth_service_1.default.isPasswordHashed(data.password)) {
388
+ data.password = await auth_service_1.default.hashPassword(data?.password);
389
+ }
390
+ }
391
+ const firstMerge = (0, deepmerge_helper_1.default)({ data }, queryOptions || {});
392
+ const result = await prisma[this.modelName].updateMany((0, deepmerge_helper_1.default)({ where: filters }, firstMerge));
393
+ if (serviceHooks?.afterUpdateMany &&
394
+ context?.skip !== "after" &&
395
+ context?.skip !== "all" &&
396
+ !context?.skip?.includes("after"))
397
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterUpdateMany, {
398
+ result,
399
+ filters,
400
+ data,
401
+ queryOptions,
402
+ context,
403
+ });
404
+ return result;
405
+ }
406
+ catch (err) {
407
+ if (serviceHooks?.onUpdateManyError &&
408
+ context?.skip !== "error" &&
409
+ context?.skip !== "all" &&
410
+ !context?.skip?.includes("error"))
411
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onUpdateManyError, {
412
+ error: err,
413
+ filters,
414
+ data,
415
+ queryOptions,
416
+ context,
417
+ });
418
+ if (context?.throwOnError !== false)
419
+ throw err;
420
+ return undefined;
421
+ }
422
+ }
423
+ async batchUpdate(batchData, queryOptions, context) {
424
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
425
+ try {
426
+ if (serviceHooks?.beforeBatchUpdate &&
427
+ context?.skip !== "before" &&
428
+ context?.skip !== "all" &&
429
+ !context?.skip?.includes("before"))
430
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeBatchUpdate, {
431
+ batchData,
432
+ queryOptions,
433
+ context,
434
+ });
435
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
436
+ const results = await prisma.$transaction(async (tx) => {
437
+ const updatePromises = batchData.map(async ({ filters, data }) => {
438
+ let processedData = data;
439
+ if ((0, change_case_helpers_1.kebabCase)(this.modelName) === "user" &&
440
+ processedData?.password) {
441
+ if (!auth_service_1.default.isPasswordHashed(processedData.password))
442
+ processedData.password = await auth_service_1.default.hashPassword(processedData?.password);
443
+ }
444
+ const dataWithRelationFieldsHandled = (0, base_service_helpers_1.handleRelationFieldsInBody)(processedData, {
445
+ ...this.relationFields,
446
+ });
447
+ return await tx[this.modelName].update((0, deepmerge_helper_1.default)({
448
+ where: filters,
449
+ data: dataWithRelationFieldsHandled,
450
+ }, queryOptions || {}));
451
+ });
452
+ return await Promise.all(updatePromises);
453
+ });
454
+ if (serviceHooks?.afterBatchUpdate &&
455
+ context?.skip !== "after" &&
456
+ context?.skip !== "all" &&
457
+ !context?.skip?.includes("after"))
458
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterBatchUpdate, {
459
+ results,
460
+ batchData,
461
+ queryOptions,
462
+ context,
463
+ });
464
+ return results;
465
+ }
466
+ catch (err) {
467
+ if (serviceHooks?.onBatchUpdateError &&
468
+ context?.skip !== "error" &&
469
+ context?.skip !== "all" &&
470
+ !context?.skip?.includes("error"))
471
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onBatchUpdateError, {
472
+ error: err,
473
+ batchData,
474
+ queryOptions,
475
+ context,
476
+ });
477
+ if (context?.throwOnError !== false)
478
+ throw err;
479
+ return undefined;
480
+ }
481
+ }
482
+ async deleteOne(filters, context) {
483
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
484
+ try {
485
+ if (serviceHooks?.beforeDeleteOne &&
486
+ context?.skip !== "before" &&
487
+ context?.skip !== "all" &&
488
+ !context?.skip?.includes("before"))
489
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeDeleteOne, {
490
+ filters,
491
+ context,
492
+ });
493
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
494
+ const result = await prisma[this.modelName].delete({
495
+ where: filters,
496
+ });
497
+ if (serviceHooks?.afterDeleteOne &&
498
+ context?.skip !== "after" &&
499
+ context?.skip !== "all" &&
500
+ !context?.skip?.includes("after"))
501
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterDeleteOne, {
502
+ result,
503
+ filters,
504
+ context,
505
+ });
506
+ return result;
507
+ }
508
+ catch (err) {
509
+ if (serviceHooks?.onDeleteOneError &&
510
+ context?.skip !== "error" &&
511
+ context?.skip !== "all" &&
512
+ !context?.skip?.includes("error"))
513
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onDeleteOneError, {
514
+ error: err,
515
+ filters,
516
+ context,
517
+ });
518
+ if (context?.throwOnError !== false)
519
+ throw err;
520
+ return undefined;
521
+ }
522
+ }
523
+ async deleteMany(filters, context) {
524
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
525
+ try {
526
+ if (serviceHooks?.beforeDeleteMany &&
527
+ context?.skip !== "before" &&
528
+ context?.skip !== "all" &&
529
+ !context?.skip?.includes("before"))
530
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeDeleteMany, {
531
+ filters,
532
+ context,
533
+ });
534
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
535
+ const result = await prisma[this.modelName].deleteMany({
536
+ where: filters,
537
+ });
538
+ if (serviceHooks?.afterDeleteMany &&
539
+ context?.skip !== "after" &&
540
+ context?.skip !== "all" &&
541
+ !context?.skip?.includes("after"))
542
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterDeleteMany, {
543
+ result,
544
+ filters,
545
+ context,
546
+ });
547
+ return result;
548
+ }
549
+ catch (err) {
550
+ if (serviceHooks?.onDeleteManyError &&
551
+ context?.skip !== "error" &&
552
+ context?.skip !== "all" &&
553
+ !context?.skip?.includes("error"))
554
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onDeleteManyError, {
555
+ error: err,
556
+ filters,
557
+ context,
558
+ });
559
+ if (context?.throwOnError !== false)
560
+ throw err;
561
+ return undefined;
562
+ }
563
+ }
564
+ async batchDelete(batchFilters, context) {
565
+ const serviceHooks = (0, dynamic_loader_1.getModuleComponents)(this.modelName)?.hooks;
566
+ try {
567
+ if (serviceHooks?.beforeBatchDelete &&
568
+ context?.skip !== "before" &&
569
+ context?.skip !== "all" &&
570
+ !context?.skip?.includes("before"))
571
+ await service_hooks_manager_1.default.handleHook(serviceHooks.beforeBatchDelete, {
572
+ batchFilters,
573
+ context,
574
+ });
575
+ const prisma = (0, prisma_helpers_1.getPrismaInstance)();
576
+ const results = await prisma.$transaction(async (tx) => {
577
+ const deletePromises = batchFilters.map(async (filters) => {
578
+ const filtersWithRelationFieldsHandled = (0, base_service_helpers_1.handleRelationFieldsInBody)(filters, {
579
+ ...this.relationFields,
580
+ });
581
+ return await tx[this.modelName].delete({
582
+ where: filtersWithRelationFieldsHandled,
583
+ });
584
+ });
585
+ return await Promise.all(deletePromises);
586
+ });
587
+ if (serviceHooks?.afterBatchDelete &&
588
+ context?.skip !== "after" &&
589
+ context?.skip !== "all" &&
590
+ !context?.skip?.includes("after"))
591
+ await service_hooks_manager_1.default.handleHook(serviceHooks.afterBatchDelete, {
592
+ results,
593
+ batchFilters,
594
+ context,
595
+ });
596
+ return results;
597
+ }
598
+ catch (err) {
599
+ if (serviceHooks?.onBatchDeleteError &&
600
+ context?.skip !== "error" &&
601
+ context?.skip !== "all" &&
602
+ !context?.skip?.includes("error"))
603
+ await service_hooks_manager_1.default.handleHook(serviceHooks.onBatchDeleteError, {
604
+ error: err,
605
+ batchFilters,
606
+ context,
607
+ });
608
+ if (context?.throwOnError !== false)
609
+ throw err;
610
+ return undefined;
611
+ }
612
+ }
613
+ }
614
+ exports.BaseService = BaseService;
615
+ //# sourceMappingURL=base.service.js.map