arkos 1.2.31-test → 1.3.0-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/app.js +1 -1
  3. package/dist/cjs/app.js.map +1 -1
  4. package/dist/cjs/exports/auth/index.js +1 -6
  5. package/dist/cjs/exports/controllers/index.js +1 -11
  6. package/dist/cjs/exports/error-handler/index.js +1 -11
  7. package/dist/cjs/exports/index.js +1 -12
  8. package/dist/cjs/exports/middlewares/index.js +1 -7
  9. package/dist/cjs/exports/prisma/index.js +1 -6
  10. package/dist/cjs/exports/prisma/index.js.map +1 -1
  11. package/dist/cjs/exports/services/index.js +1 -49
  12. package/dist/cjs/exports/services/index.js.map +1 -1
  13. package/dist/cjs/exports/utils/index.js +1 -44
  14. package/dist/cjs/exports/validation/index.js +1 -11
  15. package/dist/cjs/modules/auth/auth.controller.js +1 -194
  16. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  17. package/dist/cjs/modules/auth/auth.router.js +1 -50
  18. package/dist/cjs/modules/auth/auth.router.js.map +1 -1
  19. package/dist/cjs/modules/auth/auth.service.js +1 -185
  20. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  21. package/dist/cjs/modules/auth/utils/auth-error-objects.js +1 -0
  22. package/dist/cjs/modules/auth/utils/auth-error-objects.js.map +1 -0
  23. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +1 -83
  24. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +1 -0
  25. package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +1 -0
  26. package/dist/cjs/modules/base/base.controller.js +1 -158
  27. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  28. package/dist/cjs/modules/base/base.middlewares.js +1 -92
  29. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  30. package/dist/cjs/modules/base/base.router.js +1 -24
  31. package/dist/cjs/modules/base/base.router.js.map +1 -1
  32. package/dist/cjs/modules/base/base.service.js +1 -128
  33. package/dist/cjs/modules/base/base.service.js.map +1 -1
  34. package/dist/cjs/modules/base/types/base.service.types.js +1 -0
  35. package/dist/cjs/modules/base/types/base.service.types.js.map +1 -0
  36. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +1 -82
  37. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js.map +1 -1
  38. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +1 -50
  39. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +1 -97
  40. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  41. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +1 -171
  42. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  43. package/dist/cjs/modules/base/utils/router-validator.js +1 -0
  44. package/dist/cjs/modules/base/utils/router-validator.js.map +1 -0
  45. package/dist/cjs/modules/base/utils/service-hooks-manager.js +1 -0
  46. package/dist/cjs/modules/base/utils/service-hooks-manager.js.map +1 -0
  47. package/dist/cjs/modules/email/email.service.js +1 -104
  48. package/dist/cjs/modules/error-handler/error-handler.controller.js +4 -146
  49. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  50. package/dist/cjs/modules/error-handler/utils/app-error.js +1 -17
  51. package/dist/cjs/modules/error-handler/utils/app-error.js.map +1 -1
  52. package/dist/cjs/modules/error-handler/utils/catch-async.js +1 -12
  53. package/dist/cjs/modules/error-handler/utils/catch-async.js.map +1 -1
  54. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +3 -201
  55. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  56. package/dist/cjs/modules/file-upload/file-upload.controller.js +1 -271
  57. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
  58. package/dist/cjs/modules/file-upload/file-upload.router.js +1 -44
  59. package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
  60. package/dist/cjs/modules/file-upload/file-upload.service.js +1 -322
  61. package/dist/cjs/modules/file-upload/file-upload.service.js.map +1 -1
  62. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -97
  63. package/dist/cjs/modules/swagger/swagger.router.js +1 -99
  64. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  65. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -250
  66. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  67. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -0
  68. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
  69. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -66
  70. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -1
  71. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -41
  72. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  73. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -22
  74. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  75. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +1 -0
  76. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +1 -0
  77. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -0
  78. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
  79. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
  80. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
  81. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
  82. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
  83. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  84. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  85. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -94
  86. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  87. package/dist/cjs/package.json +3 -0
  88. package/dist/cjs/server.js +4 -2
  89. package/dist/cjs/server.js.map +1 -1
  90. package/dist/cjs/types/arkos-config.js +1 -3
  91. package/dist/cjs/types/arkos-config.js.map +1 -1
  92. package/dist/cjs/types/auth.js +1 -3
  93. package/dist/cjs/types/auth.js.map +1 -1
  94. package/dist/cjs/types/index.js +1 -11
  95. package/dist/cjs/types/index.js.map +1 -1
  96. package/dist/cjs/types/router-config.js +1 -3
  97. package/dist/cjs/types/router-config.js.map +1 -1
  98. package/dist/cjs/utils/arkos-env.js +1 -9
  99. package/dist/cjs/utils/cli/build.js +5 -212
  100. package/dist/cjs/utils/cli/build.js.map +1 -1
  101. package/dist/cjs/utils/cli/dev.js +3 -256
  102. package/dist/cjs/utils/cli/dev.js.map +1 -1
  103. package/dist/cjs/utils/cli/generate.js +1 -189
  104. package/dist/cjs/utils/cli/generate.js.map +1 -1
  105. package/dist/cjs/utils/cli/index.js +1 -81
  106. package/dist/cjs/utils/cli/index.js.map +1 -1
  107. package/dist/cjs/utils/cli/start.js +1 -93
  108. package/dist/cjs/utils/cli/start.js.map +1 -1
  109. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -24
  110. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +1 -0
  111. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js.map +1 -0
  112. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -20
  113. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +9 -18
  114. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  115. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js +144 -0
  116. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +1 -0
  117. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +156 -135
  118. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  119. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +9 -37
  120. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  121. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -36
  122. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  123. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +6 -32
  124. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  125. package/dist/cjs/utils/cli/utils/template-generators.js +2 -28
  126. package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
  127. package/dist/cjs/utils/cli/utils/watermark-stamper.js +3 -0
  128. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +1 -0
  129. package/dist/cjs/utils/dotenv.helpers.js +1 -43
  130. package/dist/cjs/utils/dynamic-loader.js +9 -0
  131. package/dist/cjs/utils/dynamic-loader.js.map +1 -0
  132. package/dist/cjs/utils/features/api.features.js +1 -167
  133. package/dist/cjs/utils/features/api.features.js.map +1 -1
  134. package/dist/cjs/utils/features/change-case.features.js +1 -67
  135. package/dist/cjs/utils/features/port-and-host-allocator.js +1 -0
  136. package/dist/cjs/utils/features/port-and-host-allocator.js.map +1 -0
  137. package/dist/cjs/utils/helpers/api.features.helpers.js +1 -106
  138. package/dist/cjs/utils/helpers/api.features.helpers.js.map +1 -1
  139. package/dist/cjs/utils/helpers/change-case.helpers.js +1 -177
  140. package/dist/cjs/utils/helpers/deepmerge.helper.js +1 -115
  141. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +1 -0
  142. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js.map +1 -0
  143. package/dist/cjs/utils/helpers/fs.helpers.js +1 -61
  144. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  145. package/dist/cjs/utils/helpers/global.helpers.js +1 -92
  146. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  147. package/dist/cjs/utils/helpers/prisma.helpers.js +1 -52
  148. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  149. package/dist/cjs/utils/helpers/query-parser.helpers.js +1 -45
  150. package/dist/cjs/utils/helpers/routers.helpers.js +1 -21
  151. package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -1
  152. package/dist/cjs/utils/helpers/text.helpers.js +1 -28
  153. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +1 -0
  154. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +1 -0
  155. package/dist/cjs/utils/prisma/prisma-schema-parser.js +4 -0
  156. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -0
  157. package/dist/cjs/utils/prisma/types.js +1 -0
  158. package/dist/cjs/utils/prisma/types.js.map +1 -0
  159. package/dist/cjs/utils/sheu.js +1 -119
  160. package/dist/cjs/utils/sheu.js.map +1 -1
  161. package/dist/cjs/utils/validate-dto.js +1 -17
  162. package/dist/cjs/utils/validate-dto.js.map +1 -1
  163. package/dist/cjs/utils/validate-schema.js +1 -15
  164. package/dist/cjs/utils/validate-schema.js.map +1 -1
  165. package/dist/esm/app.js +1 -1
  166. package/dist/esm/app.js.map +1 -1
  167. package/dist/esm/exports/auth/index.js +1 -2
  168. package/dist/esm/exports/controllers/index.js +1 -4
  169. package/dist/esm/exports/error-handler/index.js +1 -4
  170. package/dist/esm/exports/index.js +1 -8
  171. package/dist/esm/exports/middlewares/index.js +1 -2
  172. package/dist/esm/exports/prisma/index.js +1 -3
  173. package/dist/esm/exports/prisma/index.js.map +1 -1
  174. package/dist/esm/exports/services/index.js +1 -9
  175. package/dist/esm/exports/services/index.js.map +1 -1
  176. package/dist/esm/exports/utils/index.js +1 -4
  177. package/dist/esm/exports/validation/index.js +1 -4
  178. package/dist/esm/modules/auth/auth.controller.js +1 -187
  179. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  180. package/dist/esm/modules/auth/auth.router.js +1 -44
  181. package/dist/esm/modules/auth/auth.router.js.map +1 -1
  182. package/dist/esm/modules/auth/auth.service.js +1 -178
  183. package/dist/esm/modules/auth/auth.service.js.map +1 -1
  184. package/dist/esm/modules/auth/utils/auth-error-objects.js +1 -0
  185. package/dist/esm/modules/auth/utils/auth-error-objects.js.map +1 -0
  186. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -73
  187. package/dist/esm/modules/auth/utils/services/auth-action.service.js +1 -0
  188. package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -0
  189. package/dist/esm/modules/base/base.controller.js +1 -150
  190. package/dist/esm/modules/base/base.controller.js.map +1 -1
  191. package/dist/esm/modules/base/base.middlewares.js +1 -81
  192. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  193. package/dist/esm/modules/base/base.router.js +1 -17
  194. package/dist/esm/modules/base/base.router.js.map +1 -1
  195. package/dist/esm/modules/base/base.service.js +1 -120
  196. package/dist/esm/modules/base/base.service.js.map +1 -1
  197. package/dist/esm/modules/base/types/base.service.types.js +1 -0
  198. package/dist/esm/modules/base/types/base.service.types.js.map +1 -0
  199. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +1 -77
  200. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js.map +1 -1
  201. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +1 -44
  202. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +1 -89
  203. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  204. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +1 -165
  205. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  206. package/dist/esm/modules/base/utils/router-validator.js +1 -0
  207. package/dist/esm/modules/base/utils/router-validator.js.map +1 -0
  208. package/dist/esm/modules/base/utils/service-hooks-manager.js +1 -0
  209. package/dist/esm/modules/base/utils/service-hooks-manager.js.map +1 -0
  210. package/dist/esm/modules/email/email.service.js +1 -97
  211. package/dist/esm/modules/error-handler/error-handler.controller.js +4 -107
  212. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
  213. package/dist/esm/modules/error-handler/utils/app-error.js +1 -15
  214. package/dist/esm/modules/error-handler/utils/app-error.js.map +1 -1
  215. package/dist/esm/modules/error-handler/utils/catch-async.js +1 -10
  216. package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -1
  217. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +3 -160
  218. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  219. package/dist/esm/modules/file-upload/file-upload.controller.js +1 -266
  220. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  221. package/dist/esm/modules/file-upload/file-upload.router.js +1 -38
  222. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  223. package/dist/esm/modules/file-upload/file-upload.service.js +1 -314
  224. package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -1
  225. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -87
  226. package/dist/esm/modules/swagger/swagger.router.js +1 -93
  227. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  228. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -247
  229. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  230. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -0
  231. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
  232. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -63
  233. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -1
  234. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -38
  235. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  236. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -19
  237. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  238. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +1 -0
  239. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +1 -0
  240. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -0
  241. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
  242. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
  243. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
  244. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
  245. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
  246. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  247. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  248. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -84
  249. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  250. package/dist/esm/package.json +3 -0
  251. package/dist/esm/server.js +4 -2
  252. package/dist/esm/server.js.map +1 -1
  253. package/dist/esm/types/arkos-config.js +1 -2
  254. package/dist/esm/types/arkos-config.js.map +1 -1
  255. package/dist/esm/types/auth.js +1 -2
  256. package/dist/esm/types/auth.js.map +1 -1
  257. package/dist/esm/types/index.js +1 -8
  258. package/dist/esm/types/index.js.map +1 -1
  259. package/dist/esm/types/router-config.js +1 -2
  260. package/dist/esm/types/router-config.js.map +1 -1
  261. package/dist/esm/utils/arkos-env.js +1 -7
  262. package/dist/esm/utils/cli/build.js +5 -206
  263. package/dist/esm/utils/cli/build.js.map +1 -1
  264. package/dist/esm/utils/cli/dev.js +3 -249
  265. package/dist/esm/utils/cli/dev.js.map +1 -1
  266. package/dist/esm/utils/cli/generate.js +1 -183
  267. package/dist/esm/utils/cli/generate.js.map +1 -1
  268. package/dist/esm/utils/cli/index.js +1 -74
  269. package/dist/esm/utils/cli/index.js.map +1 -1
  270. package/dist/esm/utils/cli/start.js +1 -86
  271. package/dist/esm/utils/cli/start.js.map +1 -1
  272. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -16
  273. package/dist/esm/utils/cli/utils/smart-fs-watcher.js +1 -0
  274. package/dist/esm/utils/cli/utils/smart-fs-watcher.js.map +1 -0
  275. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -17
  276. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +9 -15
  277. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  278. package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js +144 -0
  279. package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +1 -0
  280. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +156 -132
  281. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  282. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +9 -34
  283. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  284. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -30
  285. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  286. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +6 -29
  287. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  288. package/dist/esm/utils/cli/utils/template-generators.js +2 -25
  289. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  290. package/dist/esm/utils/cli/utils/watermark-stamper.js +3 -0
  291. package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -0
  292. package/dist/esm/utils/dotenv.helpers.js +1 -37
  293. package/dist/esm/utils/dynamic-loader.js +9 -0
  294. package/dist/esm/utils/dynamic-loader.js.map +1 -0
  295. package/dist/esm/utils/features/api.features.js +1 -160
  296. package/dist/esm/utils/features/api.features.js.map +1 -1
  297. package/dist/esm/utils/features/change-case.features.js +1 -31
  298. package/dist/esm/utils/features/port-and-host-allocator.js +1 -0
  299. package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -0
  300. package/dist/esm/utils/helpers/api.features.helpers.js +1 -103
  301. package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -1
  302. package/dist/esm/utils/helpers/change-case.helpers.js +1 -161
  303. package/dist/esm/utils/helpers/deepmerge.helper.js +1 -113
  304. package/dist/esm/utils/helpers/dynamic-loader.helpers.js +1 -0
  305. package/dist/esm/utils/helpers/dynamic-loader.helpers.js.map +1 -0
  306. package/dist/esm/utils/helpers/fs.helpers.js +1 -52
  307. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
  308. package/dist/esm/utils/helpers/global.helpers.js +1 -50
  309. package/dist/esm/utils/helpers/global.helpers.js.map +1 -1
  310. package/dist/esm/utils/helpers/prisma.helpers.js +1 -44
  311. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
  312. package/dist/esm/utils/helpers/query-parser.helpers.js +1 -40
  313. package/dist/esm/utils/helpers/routers.helpers.js +1 -16
  314. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
  315. package/dist/esm/utils/helpers/text.helpers.js +1 -22
  316. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +1 -0
  317. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -0
  318. package/dist/esm/utils/prisma/prisma-schema-parser.js +4 -0
  319. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -0
  320. package/dist/esm/utils/prisma/types.js +1 -0
  321. package/dist/esm/utils/prisma/types.js.map +1 -0
  322. package/dist/esm/utils/sheu.js +1 -117
  323. package/dist/esm/utils/sheu.js.map +1 -1
  324. package/dist/esm/utils/validate-dto.js +1 -11
  325. package/dist/esm/utils/validate-dto.js.map +1 -1
  326. package/dist/esm/utils/validate-schema.js +1 -9
  327. package/dist/esm/utils/validate-schema.js.map +1 -1
  328. package/dist/types/exports/prisma/index.d.ts +3 -2
  329. package/dist/types/exports/services/index.d.ts +3 -2
  330. package/dist/types/modules/auth/auth.controller.d.ts +10 -9
  331. package/dist/types/modules/auth/auth.service.d.ts +7 -3
  332. package/dist/types/modules/auth/utils/auth-error-objects.d.ts +3 -0
  333. package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +23 -0
  334. package/dist/types/modules/base/base.controller.d.ts +10 -12
  335. package/dist/types/modules/base/base.middlewares.d.ts +4 -4
  336. package/dist/types/modules/base/base.service.d.ts +14 -68
  337. package/dist/types/modules/base/types/base.service.types.d.ts +215 -0
  338. package/dist/types/modules/base/utils/helpers/base.controller.helpers.d.ts +0 -2
  339. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +3 -3
  340. package/dist/types/modules/base/utils/helpers/base.service.helpers.d.ts +9 -2
  341. package/dist/types/modules/base/utils/router-validator.d.ts +5 -0
  342. package/dist/types/modules/base/utils/service-hooks-manager.d.ts +7 -0
  343. package/dist/types/modules/error-handler/error-handler.controller.d.ts +1 -1
  344. package/dist/types/modules/error-handler/utils/catch-async.d.ts +4 -2
  345. package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +18 -17
  346. package/dist/types/modules/file-upload/file-upload.controller.d.ts +4 -6
  347. package/dist/types/modules/file-upload/file-upload.service.d.ts +4 -5
  348. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +3 -1
  349. package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +46 -0
  350. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +2 -1
  351. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.d.ts +4 -0
  352. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +1 -0
  353. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +3 -0
  354. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.d.ts +3 -0
  355. package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +34 -0
  356. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +4 -2
  357. package/dist/types/server.d.ts +4 -1
  358. package/dist/types/types/arkos-config.d.ts +5 -3
  359. package/dist/types/types/auth.d.ts +7 -1
  360. package/dist/types/types/index.d.ts +4 -1
  361. package/dist/types/types/router-config.d.ts +24 -1
  362. package/dist/types/utils/cli/generate.d.ts +2 -1
  363. package/dist/types/utils/cli/utils/smart-fs-watcher.d.ts +11 -0
  364. package/dist/types/utils/cli/utils/template-generator/templates/generate-hooks-template.d.ts +2 -0
  365. package/dist/types/utils/cli/utils/watermark-stamper.d.ts +9 -0
  366. package/dist/types/utils/dynamic-loader.d.ts +104 -0
  367. package/dist/types/utils/features/port-and-host-allocator.d.ts +21 -0
  368. package/dist/types/utils/helpers/dynamic-loader.helpers.d.ts +3 -0
  369. package/dist/types/utils/helpers/fs.helpers.d.ts +0 -4
  370. package/dist/types/utils/helpers/global.helpers.d.ts +1 -0
  371. package/dist/types/utils/helpers/prisma.helpers.d.ts +0 -1
  372. package/dist/types/utils/helpers/routers.helpers.d.ts +6 -2
  373. package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +34 -0
  374. package/dist/types/utils/prisma/prisma-schema-parser.d.ts +28 -0
  375. package/dist/types/utils/prisma/types.d.ts +49 -0
  376. package/dist/types/utils/sheu.d.ts +15 -15
  377. package/package.json +32 -18
  378. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +0 -30
  379. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +0 -1
  380. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +0 -442
  381. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +0 -1
  382. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +0 -165
  383. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +0 -1
  384. package/dist/cjs/utils/helpers/models.helpers.js +0 -313
  385. package/dist/cjs/utils/helpers/models.helpers.js.map +0 -1
  386. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +0 -24
  387. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +0 -1
  388. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +0 -436
  389. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +0 -1
  390. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +0 -159
  391. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +0 -1
  392. package/dist/esm/utils/helpers/models.helpers.js +0 -296
  393. package/dist/esm/utils/helpers/models.helpers.js.map +0 -1
  394. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.d.ts +0 -1
  395. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.d.ts +0 -2
  396. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.d.ts +0 -2
  397. package/dist/types/utils/helpers/models.helpers.d.ts +0 -107
@@ -1,436 +0,0 @@
1
- import { getSchemaRef } from "../../swagger.router.helpers.js";
2
- import pluralize from "pluralize";
3
- import { isEndpointDisabled } from "../../../../../base/utils/helpers/base.router.helpers.js";
4
- export async function generatePrismaModelMainRoutesPaths(paths, routeName, pascalModelName, humanReadableName, humanReadableNamePlural, routerConfig, mode) {
5
- if (!isEndpointDisabled(routerConfig, "createOne")) {
6
- if (!paths[`/api/${routeName}`])
7
- paths[`/api/${routeName}`] = {};
8
- paths[`/api/${routeName}`].post = {
9
- tags: [humanReadableNamePlural],
10
- summary: `Create a new ${humanReadableName}`,
11
- description: `Creates a new ${humanReadableName} record in the system`,
12
- operationId: `create${pascalModelName}`,
13
- requestBody: {
14
- description: `${humanReadableName} data to create`,
15
- required: true,
16
- content: {
17
- "application/json": {
18
- schema: {
19
- $ref: getSchemaRef(`Create${pascalModelName}`, mode),
20
- },
21
- },
22
- },
23
- },
24
- responses: {
25
- "201": {
26
- description: `${humanReadableName} created successfully`,
27
- content: {
28
- "application/json": {
29
- schema: {
30
- $ref: getSchemaRef(`${pascalModelName}`, mode),
31
- },
32
- },
33
- },
34
- },
35
- "400": {
36
- description: "Invalid input data provided",
37
- },
38
- "401": {
39
- description: "Authentication required",
40
- },
41
- "403": {
42
- description: "Insufficient permissions",
43
- },
44
- },
45
- security: [{ BearerAuth: [] }],
46
- };
47
- }
48
- if (!isEndpointDisabled(routerConfig, "findMany")) {
49
- if (!paths[`/api/${routeName}`])
50
- paths[`/api/${routeName}`] = {};
51
- paths[`/api/${routeName}`].get = {
52
- tags: [humanReadableNamePlural],
53
- summary: `Get ${humanReadableNamePlural}`,
54
- description: `Retrieves a paginated list of ${humanReadableNamePlural} with optional filtering and sorting`,
55
- operationId: `get${pluralize.plural(pascalModelName)}`,
56
- parameters: [
57
- {
58
- name: "filter",
59
- in: "query",
60
- description: "Filter criteria in JSON format",
61
- schema: {
62
- type: "string",
63
- },
64
- },
65
- {
66
- name: "sort",
67
- in: "query",
68
- description: "Sort field (prefix with '-' for descending order)",
69
- schema: {
70
- type: "string",
71
- },
72
- },
73
- {
74
- name: "page",
75
- in: "query",
76
- description: "Page number (starts from 1)",
77
- schema: {
78
- type: "integer",
79
- minimum: 1,
80
- },
81
- },
82
- {
83
- name: "limit",
84
- in: "query",
85
- description: "Number of items per page",
86
- schema: {
87
- type: "integer",
88
- minimum: 1,
89
- maximum: 100,
90
- },
91
- },
92
- {
93
- name: "fields",
94
- in: "query",
95
- description: "Comma-separated list of fields to include in response",
96
- schema: {
97
- type: "string",
98
- },
99
- },
100
- ],
101
- responses: {
102
- "200": {
103
- description: `List of ${humanReadableNamePlural} retrieved successfully`,
104
- content: {
105
- "application/json": {
106
- schema: {
107
- type: "object",
108
- properties: {
109
- total: {
110
- type: "integer",
111
- description: "Total number of records matching the criteria",
112
- },
113
- results: {
114
- type: "integer",
115
- description: "Number of records returned in current page",
116
- },
117
- data: {
118
- type: "array",
119
- items: {
120
- $ref: getSchemaRef(`FindMany${pascalModelName}`, mode),
121
- },
122
- },
123
- },
124
- },
125
- },
126
- },
127
- },
128
- "401": {
129
- description: "Authentication required",
130
- },
131
- "403": {
132
- description: "Insufficient permissions",
133
- },
134
- },
135
- security: [{ BearerAuth: [] }],
136
- };
137
- }
138
- if (!isEndpointDisabled(routerConfig, "createMany")) {
139
- paths[`/api/${routeName}/many`] = {
140
- post: {
141
- tags: [humanReadableNamePlural],
142
- summary: `Create multiple ${humanReadableNamePlural}`,
143
- description: `Creates multiple ${humanReadableNamePlural} records in a single batch operation`,
144
- operationId: `createMany${pascalModelName}`,
145
- requestBody: {
146
- description: `Array of ${humanReadableName} data to create`,
147
- required: true,
148
- content: {
149
- "application/json": {
150
- schema: {
151
- type: "array",
152
- items: {
153
- $ref: getSchemaRef(`Create${pascalModelName}`, mode),
154
- },
155
- },
156
- },
157
- },
158
- },
159
- responses: {
160
- "201": {
161
- description: `${humanReadableNamePlural} created successfully`,
162
- content: {
163
- "application/json": {
164
- schema: {
165
- type: "object",
166
- properties: {
167
- count: {
168
- type: "integer",
169
- description: "Number of records created",
170
- },
171
- },
172
- },
173
- },
174
- },
175
- },
176
- "400": {
177
- description: "Invalid input data provided",
178
- },
179
- "401": {
180
- description: "Authentication required",
181
- },
182
- "403": {
183
- description: "Insufficient permissions",
184
- },
185
- },
186
- security: [{ BearerAuth: [] }],
187
- },
188
- };
189
- }
190
- if (!isEndpointDisabled(routerConfig, "updateMany")) {
191
- if (!paths[`/api/${routeName}/many`])
192
- paths[`/api/${routeName}/many`] = {};
193
- paths[`/api/${routeName}/many`].patch = {
194
- tags: [humanReadableNamePlural],
195
- summary: `Update multiple ${humanReadableNamePlural}`,
196
- description: `Updates multiple ${humanReadableNamePlural} records that match the specified filter criteria`,
197
- operationId: `updateMany${pascalModelName}`,
198
- parameters: [
199
- {
200
- name: "filter",
201
- in: "query",
202
- description: "Filter criteria in JSON format (required)",
203
- required: true,
204
- schema: {
205
- type: "string",
206
- },
207
- },
208
- ],
209
- requestBody: {
210
- description: `Partial ${humanReadableName} data to update`,
211
- required: true,
212
- content: {
213
- "application/json": {
214
- schema: {
215
- $ref: getSchemaRef(`Update${pascalModelName}`, mode),
216
- },
217
- },
218
- },
219
- },
220
- responses: {
221
- "200": {
222
- description: `${humanReadableNamePlural} updated successfully`,
223
- content: {
224
- "application/json": {
225
- schema: {
226
- type: "object",
227
- properties: {
228
- count: {
229
- type: "integer",
230
- description: "Number of records updated",
231
- },
232
- },
233
- },
234
- },
235
- },
236
- },
237
- "400": {
238
- description: "Invalid input data or missing filter criteria",
239
- },
240
- "401": {
241
- description: "Authentication required",
242
- },
243
- "403": {
244
- description: "Insufficient permissions",
245
- },
246
- },
247
- security: [{ BearerAuth: [] }],
248
- };
249
- }
250
- if (!isEndpointDisabled(routerConfig, "deleteMany")) {
251
- if (!paths[`/api/${routeName}/many`])
252
- paths[`/api/${routeName}/many`] = {};
253
- paths[`/api/${routeName}/many`].delete = {
254
- tags: [humanReadableNamePlural],
255
- summary: `Delete multiple ${humanReadableNamePlural}`,
256
- description: `Deletes multiple ${humanReadableNamePlural} records that match the specified filter criteria`,
257
- operationId: `deleteMany${pascalModelName}`,
258
- parameters: [
259
- {
260
- name: "filter",
261
- in: "query",
262
- description: "Filter criteria in JSON format (required)",
263
- required: true,
264
- schema: {
265
- type: "string",
266
- },
267
- },
268
- ],
269
- responses: {
270
- "200": {
271
- description: `${humanReadableNamePlural} deleted successfully`,
272
- content: {
273
- "application/json": {
274
- schema: {
275
- type: "object",
276
- properties: {
277
- count: {
278
- type: "integer",
279
- description: "Number of records deleted",
280
- },
281
- },
282
- },
283
- },
284
- },
285
- },
286
- "400": {
287
- description: "Missing filter criteria",
288
- },
289
- "401": {
290
- description: "Authentication required",
291
- },
292
- "403": {
293
- description: "Insufficient permissions",
294
- },
295
- },
296
- security: [{ BearerAuth: [] }],
297
- };
298
- }
299
- if (!isEndpointDisabled(routerConfig, "findOne")) {
300
- paths[`/api/${routeName}/{id}`] = {
301
- get: {
302
- tags: [humanReadableNamePlural],
303
- summary: `Get ${humanReadableName} by ID`,
304
- description: `Retrieves a single ${humanReadableName} record by its unique identifier`,
305
- operationId: `get${pascalModelName}ById`,
306
- parameters: [
307
- {
308
- name: "id",
309
- in: "path",
310
- description: `Unique identifier of the ${humanReadableName}`,
311
- required: true,
312
- schema: {
313
- type: "string",
314
- },
315
- },
316
- ],
317
- responses: {
318
- "200": {
319
- description: `${humanReadableName} retrieved successfully`,
320
- content: {
321
- "application/json": {
322
- schema: {
323
- $ref: getSchemaRef(`FindOne${pascalModelName}`, mode),
324
- },
325
- },
326
- },
327
- },
328
- "401": {
329
- description: "Authentication required",
330
- },
331
- "403": {
332
- description: "Insufficient permissions",
333
- },
334
- "404": {
335
- description: `${humanReadableName} not found`,
336
- },
337
- },
338
- security: [{ BearerAuth: [] }],
339
- },
340
- };
341
- }
342
- if (!isEndpointDisabled(routerConfig, "updateOne")) {
343
- if (!paths[`/api/${routeName}/{id}`])
344
- paths[`/api/${routeName}/{id}`] = {};
345
- paths[`/api/${routeName}/{id}`].patch = {
346
- tags: [humanReadableNamePlural],
347
- summary: `Update ${humanReadableName} by ID`,
348
- description: `Updates a single ${humanReadableName} record by its unique identifier`,
349
- operationId: `update${pascalModelName}`,
350
- parameters: [
351
- {
352
- name: "id",
353
- in: "path",
354
- description: `Unique identifier of the ${humanReadableName}`,
355
- required: true,
356
- schema: {
357
- type: "string",
358
- },
359
- },
360
- ],
361
- requestBody: {
362
- description: `Partial ${humanReadableName} data to update`,
363
- required: true,
364
- content: {
365
- "application/json": {
366
- schema: {
367
- $ref: getSchemaRef(`Update${pascalModelName}`, mode),
368
- },
369
- },
370
- },
371
- },
372
- responses: {
373
- "200": {
374
- description: `${humanReadableName} updated successfully`,
375
- content: {
376
- "application/json": {
377
- schema: {
378
- $ref: getSchemaRef(`${pascalModelName}`, mode),
379
- },
380
- },
381
- },
382
- },
383
- "400": {
384
- description: "Invalid input data provided",
385
- },
386
- "401": {
387
- description: "Authentication required",
388
- },
389
- "403": {
390
- description: "Insufficient permissions",
391
- },
392
- "404": {
393
- description: `${humanReadableName} not found`,
394
- },
395
- },
396
- security: [{ BearerAuth: [] }],
397
- };
398
- }
399
- if (!isEndpointDisabled(routerConfig, "deleteOne")) {
400
- if (!paths[`/api/${routeName}/{id}`])
401
- paths[`/api/${routeName}/{id}`] = {};
402
- paths[`/api/${routeName}/{id}`].delete = {
403
- tags: [humanReadableNamePlural],
404
- summary: `Delete ${humanReadableName} by ID`,
405
- description: `Permanently deletes a single ${humanReadableName} record by its unique identifier`,
406
- operationId: `delete${pascalModelName}`,
407
- parameters: [
408
- {
409
- name: "id",
410
- in: "path",
411
- description: `Unique identifier of the ${humanReadableName}`,
412
- required: true,
413
- schema: {
414
- type: "string",
415
- },
416
- },
417
- ],
418
- responses: {
419
- "204": {
420
- description: `${humanReadableName} deleted successfully`,
421
- },
422
- "401": {
423
- description: "Authentication required",
424
- },
425
- "403": {
426
- description: "Insufficient permissions",
427
- },
428
- "404": {
429
- description: `${humanReadableName} not found`,
430
- },
431
- },
432
- security: [{ BearerAuth: [] }],
433
- };
434
- }
435
- }
436
- //# sourceMappingURL=generate-prisma-model-main-routes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-prisma-model-main-routes.js","sourceRoot":"","sources":["../../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.ts"],"names":[],"mappings":"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","sourcesContent":["import { OpenAPIV3 } from \"openapi-types\";\nimport { getSchemaRef } from \"../../swagger.router.helpers\";\nimport pluralize from \"pluralize\";\nimport { isEndpointDisabled } from \"../../../../../base/utils/helpers/base.router.helpers\";\n\nexport async function generatePrismaModelMainRoutesPaths(\n paths: OpenAPIV3.PathsObject,\n routeName: string,\n pascalModelName: string,\n humanReadableName: string,\n humanReadableNamePlural: string,\n routerConfig: any,\n mode: string\n) {\n // Create One\n if (!isEndpointDisabled(routerConfig, \"createOne\")) {\n if (!paths[`/api/${routeName}`]) paths[`/api/${routeName}`] = {};\n paths[`/api/${routeName}`]!.post = {\n tags: [humanReadableNamePlural],\n summary: `Create a new ${humanReadableName}`,\n description: `Creates a new ${humanReadableName} record in the system`,\n operationId: `create${pascalModelName}`,\n requestBody: {\n description: `${humanReadableName} data to create`,\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`Create${pascalModelName}`, mode),\n },\n },\n },\n },\n responses: {\n \"201\": {\n description: `${humanReadableName} created successfully`,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`${pascalModelName}`, mode),\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data provided\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n\n // Find Many\n if (!isEndpointDisabled(routerConfig, \"findMany\")) {\n if (!paths[`/api/${routeName}`]) paths[`/api/${routeName}`] = {};\n paths[`/api/${routeName}`]!.get = {\n tags: [humanReadableNamePlural],\n summary: `Get ${humanReadableNamePlural}`,\n description: `Retrieves a paginated list of ${humanReadableNamePlural} with optional filtering and sorting`,\n operationId: `get${pluralize.plural(pascalModelName)}`,\n parameters: [\n {\n name: \"filter\",\n in: \"query\",\n description: \"Filter criteria in JSON format\",\n schema: {\n type: \"string\",\n },\n },\n {\n name: \"sort\",\n in: \"query\",\n description: \"Sort field (prefix with '-' for descending order)\",\n schema: {\n type: \"string\",\n },\n },\n {\n name: \"page\",\n in: \"query\",\n description: \"Page number (starts from 1)\",\n schema: {\n type: \"integer\",\n minimum: 1,\n },\n },\n {\n name: \"limit\",\n in: \"query\",\n description: \"Number of items per page\",\n schema: {\n type: \"integer\",\n minimum: 1,\n maximum: 100,\n },\n },\n {\n name: \"fields\",\n in: \"query\",\n description: \"Comma-separated list of fields to include in response\",\n schema: {\n type: \"string\",\n },\n },\n ],\n responses: {\n \"200\": {\n description: `List of ${humanReadableNamePlural} retrieved successfully`,\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n total: {\n type: \"integer\",\n description:\n \"Total number of records matching the criteria\",\n },\n results: {\n type: \"integer\",\n description: \"Number of records returned in current page\",\n },\n data: {\n type: \"array\",\n items: {\n $ref: getSchemaRef(`FindMany${pascalModelName}`, mode),\n },\n },\n },\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n\n // Create Many\n if (!isEndpointDisabled(routerConfig, \"createMany\")) {\n paths[`/api/${routeName}/many`] = {\n post: {\n tags: [humanReadableNamePlural],\n summary: `Create multiple ${humanReadableNamePlural}`,\n description: `Creates multiple ${humanReadableNamePlural} records in a single batch operation`,\n operationId: `createMany${pascalModelName}`,\n requestBody: {\n description: `Array of ${humanReadableName} data to create`,\n required: true,\n content: {\n \"application/json\": {\n schema: {\n type: \"array\",\n items: {\n $ref: getSchemaRef(`Create${pascalModelName}`, mode),\n },\n },\n },\n },\n },\n responses: {\n \"201\": {\n description: `${humanReadableNamePlural} created successfully`,\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n count: {\n type: \"integer\",\n description: \"Number of records created\",\n },\n },\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data provided\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n security: [{ BearerAuth: [] }],\n },\n };\n }\n\n // Update Many\n if (!isEndpointDisabled(routerConfig, \"updateMany\")) {\n if (!paths[`/api/${routeName}/many`]) paths[`/api/${routeName}/many`] = {};\n paths[`/api/${routeName}/many`]!.patch = {\n tags: [humanReadableNamePlural],\n summary: `Update multiple ${humanReadableNamePlural}`,\n description: `Updates multiple ${humanReadableNamePlural} records that match the specified filter criteria`,\n operationId: `updateMany${pascalModelName}`,\n parameters: [\n {\n name: \"filter\",\n in: \"query\",\n description: \"Filter criteria in JSON format (required)\",\n required: true,\n schema: {\n type: \"string\",\n },\n },\n ],\n requestBody: {\n description: `Partial ${humanReadableName} data to update`,\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`Update${pascalModelName}`, mode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: `${humanReadableNamePlural} updated successfully`,\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n count: {\n type: \"integer\",\n description: \"Number of records updated\",\n },\n },\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data or missing filter criteria\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n\n // Delete Many\n if (!isEndpointDisabled(routerConfig, \"deleteMany\")) {\n if (!paths[`/api/${routeName}/many`]) paths[`/api/${routeName}/many`] = {};\n paths[`/api/${routeName}/many`]!.delete = {\n tags: [humanReadableNamePlural],\n summary: `Delete multiple ${humanReadableNamePlural}`,\n description: `Deletes multiple ${humanReadableNamePlural} records that match the specified filter criteria`,\n operationId: `deleteMany${pascalModelName}`,\n parameters: [\n {\n name: \"filter\",\n in: \"query\",\n description: \"Filter criteria in JSON format (required)\",\n required: true,\n schema: {\n type: \"string\",\n },\n },\n ],\n responses: {\n \"200\": {\n description: `${humanReadableNamePlural} deleted successfully`,\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n count: {\n type: \"integer\",\n description: \"Number of records deleted\",\n },\n },\n },\n },\n },\n },\n \"400\": {\n description: \"Missing filter criteria\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n\n // Find One\n if (!isEndpointDisabled(routerConfig, \"findOne\")) {\n paths[`/api/${routeName}/{id}`] = {\n get: {\n tags: [humanReadableNamePlural],\n summary: `Get ${humanReadableName} by ID`,\n description: `Retrieves a single ${humanReadableName} record by its unique identifier`,\n operationId: `get${pascalModelName}ById`,\n parameters: [\n {\n name: \"id\",\n in: \"path\",\n description: `Unique identifier of the ${humanReadableName}`,\n required: true,\n schema: {\n type: \"string\",\n },\n },\n ],\n responses: {\n \"200\": {\n description: `${humanReadableName} retrieved successfully`,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`FindOne${pascalModelName}`, mode),\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n \"404\": {\n description: `${humanReadableName} not found`,\n },\n },\n security: [{ BearerAuth: [] }],\n },\n };\n }\n\n // Update One\n if (!isEndpointDisabled(routerConfig, \"updateOne\")) {\n if (!paths[`/api/${routeName}/{id}`]) paths[`/api/${routeName}/{id}`] = {};\n paths[`/api/${routeName}/{id}`]!.patch = {\n tags: [humanReadableNamePlural],\n summary: `Update ${humanReadableName} by ID`,\n description: `Updates a single ${humanReadableName} record by its unique identifier`,\n operationId: `update${pascalModelName}`,\n parameters: [\n {\n name: \"id\",\n in: \"path\",\n description: `Unique identifier of the ${humanReadableName}`,\n required: true,\n schema: {\n type: \"string\",\n },\n },\n ],\n requestBody: {\n description: `Partial ${humanReadableName} data to update`,\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`Update${pascalModelName}`, mode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: `${humanReadableName} updated successfully`,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`${pascalModelName}`, mode),\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data provided\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n \"404\": {\n description: `${humanReadableName} not found`,\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n\n // Delete One\n if (!isEndpointDisabled(routerConfig, \"deleteOne\")) {\n if (!paths[`/api/${routeName}/{id}`]) paths[`/api/${routeName}/{id}`] = {};\n paths[`/api/${routeName}/{id}`]!.delete = {\n tags: [humanReadableNamePlural],\n summary: `Delete ${humanReadableName} by ID`,\n description: `Permanently deletes a single ${humanReadableName} record by its unique identifier`,\n operationId: `delete${pascalModelName}`,\n parameters: [\n {\n name: \"id\",\n in: \"path\",\n description: `Unique identifier of the ${humanReadableName}`,\n required: true,\n schema: {\n type: \"string\",\n },\n },\n ],\n responses: {\n \"204\": {\n description: `${humanReadableName} deleted successfully`,\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n \"404\": {\n description: `${humanReadableName} not found`,\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n}\n"]}
@@ -1,159 +0,0 @@
1
- import pluralize from "pluralize";
2
- import { kebabCase, pascalCase } from "../../../../../../exports/utils/index.js";
3
- import { getSchemaRef, kebabToHuman } from "../../swagger.router.helpers.js";
4
- import { isParentEndpointAllowed } from "../../../../../base/utils/helpers/base.router.helpers.js";
5
- export async function generatePrismaModelParentRoutePaths(paths, routeName, pascalModelName, humanReadableName, humanReadableNamePlural, routerConfig, mode) {
6
- const parentModel = routerConfig.parent.model;
7
- const parentRouteName = pluralize.plural(kebabCase(parentModel));
8
- const parentHumanName = kebabToHuman(kebabCase(parentModel));
9
- if (isParentEndpointAllowed(routerConfig, "createOne")) {
10
- paths[`/api/${parentRouteName}/{id}/${routeName}`] = {
11
- post: {
12
- tags: [humanReadableNamePlural],
13
- summary: `Create ${humanReadableName} for ${parentHumanName}`,
14
- description: `Creates a new ${humanReadableName} record associated with the specified ${parentHumanName}`,
15
- operationId: `create${pascalModelName}For${pascalCase(parentModel)}`,
16
- parameters: [
17
- {
18
- name: "id",
19
- in: "path",
20
- description: `Unique identifier of the ${parentHumanName}`,
21
- required: true,
22
- schema: {
23
- type: "string",
24
- },
25
- },
26
- ],
27
- requestBody: {
28
- description: `${humanReadableName} data to create`,
29
- required: true,
30
- content: {
31
- "application/json": {
32
- schema: {
33
- $ref: getSchemaRef(`Create${pascalModelName}`, mode),
34
- },
35
- },
36
- },
37
- },
38
- responses: {
39
- "201": {
40
- description: `${humanReadableName} created successfully`,
41
- content: {
42
- "application/json": {
43
- schema: {
44
- $ref: getSchemaRef(`${pascalModelName}`, mode),
45
- },
46
- },
47
- },
48
- },
49
- "400": {
50
- description: "Invalid input data provided",
51
- },
52
- "401": {
53
- description: "Authentication required",
54
- },
55
- "403": {
56
- description: "Insufficient permissions",
57
- },
58
- "404": {
59
- description: `${parentHumanName} not found`,
60
- },
61
- },
62
- security: [{ BearerAuth: [] }],
63
- },
64
- };
65
- }
66
- if (isParentEndpointAllowed(routerConfig, "findMany")) {
67
- if (!paths[`/api/${parentRouteName}/{id}/${routeName}`])
68
- paths[`/api/${parentRouteName}/{id}/${routeName}`] = {};
69
- paths[`/api/${parentRouteName}/{id}/${routeName}`].get = {
70
- tags: [humanReadableNamePlural],
71
- summary: `Get ${humanReadableNamePlural} for ${parentHumanName}`,
72
- description: `Retrieves all ${humanReadableNamePlural} associated with the specified ${parentHumanName}`,
73
- operationId: `get${pluralize.plural(pascalModelName)}For${pascalCase(parentModel)}`,
74
- parameters: [
75
- {
76
- name: "id",
77
- in: "path",
78
- description: `Unique identifier of the ${parentHumanName}`,
79
- required: true,
80
- schema: {
81
- type: "string",
82
- },
83
- },
84
- {
85
- name: "filter",
86
- in: "query",
87
- description: "Additional filter criteria in JSON format",
88
- schema: {
89
- type: "string",
90
- },
91
- },
92
- {
93
- name: "sort",
94
- in: "query",
95
- description: "Sort field (prefix with '-' for descending order)",
96
- schema: {
97
- type: "string",
98
- },
99
- },
100
- {
101
- name: "page",
102
- in: "query",
103
- description: "Page number (starts from 1)",
104
- schema: {
105
- type: "integer",
106
- minimum: 1,
107
- },
108
- },
109
- {
110
- name: "limit",
111
- in: "query",
112
- description: "Number of items per page",
113
- schema: {
114
- type: "integer",
115
- },
116
- },
117
- ],
118
- responses: {
119
- "200": {
120
- description: `List of ${humanReadableNamePlural} retrieved successfully`,
121
- content: {
122
- "application/json": {
123
- schema: {
124
- type: "object",
125
- properties: {
126
- total: {
127
- type: "integer",
128
- description: "Total number of records",
129
- },
130
- results: {
131
- type: "integer",
132
- description: "Number of records in current page",
133
- },
134
- data: {
135
- type: "array",
136
- items: {
137
- $ref: getSchemaRef(`${pascalModelName}`, mode),
138
- },
139
- },
140
- },
141
- },
142
- },
143
- },
144
- },
145
- "401": {
146
- description: "Authentication required",
147
- },
148
- "403": {
149
- description: "Insufficient permissions",
150
- },
151
- "404": {
152
- description: `${parentHumanName} not found`,
153
- },
154
- },
155
- security: [{ BearerAuth: [] }],
156
- };
157
- }
158
- }
159
- //# sourceMappingURL=generate-prisma-model-parent-routes.js.map