arkos 1.2.12-test → 1.2.13-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 (288) hide show
  1. package/README.md +22 -14
  2. package/cli.js +2 -11
  3. package/dist/cjs/app.js +1 -1
  4. package/dist/cjs/app.js.map +1 -1
  5. package/dist/cjs/modules/auth/auth.router.js +9 -83
  6. package/dist/cjs/modules/auth/auth.router.js.map +1 -1
  7. package/dist/cjs/modules/auth/auth.service.js +0 -7
  8. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  9. package/dist/cjs/modules/base/base.controller.js +11 -12
  10. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  11. package/dist/cjs/modules/base/base.router.js.map +1 -1
  12. package/dist/cjs/modules/base/base.service.js.map +1 -1
  13. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +43 -113
  14. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  15. package/dist/cjs/modules/error-handler/error-handler.controller.js +2 -0
  16. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  17. package/dist/cjs/modules/error-handler/utils/catch-async.js +1 -1
  18. package/dist/cjs/modules/error-handler/utils/catch-async.js.map +1 -1
  19. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +6 -0
  20. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  21. package/dist/cjs/modules/file-upload/file-upload.router.js +9 -21
  22. package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
  23. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +7 -0
  24. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -1
  25. package/dist/cjs/modules/swagger/swagger.router.js +14 -55
  26. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  27. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +250 -0
  28. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  29. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +66 -0
  30. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  31. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +41 -0
  32. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  33. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +22 -0
  34. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  35. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +30 -0
  36. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
  37. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +442 -0
  38. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
  39. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +165 -0
  40. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
  41. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +94 -0
  42. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  43. package/dist/cjs/server.js +4 -2
  44. package/dist/cjs/server.js.map +1 -1
  45. package/dist/cjs/types/arkos-config.js.map +1 -1
  46. package/dist/cjs/utils/cli/build.js +2 -19
  47. package/dist/cjs/utils/cli/build.js.map +1 -1
  48. package/dist/cjs/utils/cli/dev.js +33 -45
  49. package/dist/cjs/utils/cli/dev.js.map +1 -1
  50. package/dist/cjs/utils/cli/generate.js +6 -6
  51. package/dist/cjs/utils/cli/generate.js.map +1 -1
  52. package/dist/cjs/utils/cli/start.js +1 -1
  53. package/dist/cjs/utils/cli/start.js.map +1 -1
  54. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -3
  55. package/dist/cjs/utils/cli/utils/cli.helpers.js.map +1 -1
  56. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +33 -66
  57. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  58. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +16 -10
  59. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  60. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +5 -0
  61. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  62. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +1 -1
  63. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  64. package/dist/cjs/utils/features/api.features.js +9 -3
  65. package/dist/cjs/utils/features/api.features.js.map +1 -1
  66. package/dist/cjs/utils/helpers/fs.helpers.js +12 -5
  67. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  68. package/dist/cjs/utils/helpers/global.helpers.js +51 -2
  69. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  70. package/dist/cjs/utils/helpers/models.helpers.js +44 -52
  71. package/dist/cjs/utils/helpers/models.helpers.js.map +1 -1
  72. package/dist/cjs/utils/helpers/prisma.helpers.js +7 -4
  73. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  74. package/dist/cjs/utils/helpers/routers.helpers.js +21 -0
  75. package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -0
  76. package/dist/cjs/utils/sheu.js +119 -0
  77. package/dist/cjs/utils/sheu.js.map +1 -0
  78. package/dist/esm/app.js +1 -0
  79. package/dist/esm/app.js.map +1 -0
  80. package/dist/{es2020 → esm}/exports/auth/index.js +1 -1
  81. package/dist/{es2020 → esm}/exports/controllers/index.js +2 -2
  82. package/dist/{es2020 → esm}/exports/error-handler/index.js +2 -2
  83. package/dist/{es2020 → esm}/exports/index.js +2 -2
  84. package/dist/{es2020 → esm}/exports/middlewares/index.js +1 -1
  85. package/dist/esm/exports/prisma/index.js +3 -0
  86. package/dist/{es2020 → esm}/exports/services/index.js +4 -4
  87. package/dist/esm/exports/utils/index.js +4 -0
  88. package/dist/esm/exports/validation/index.js +4 -0
  89. package/dist/{es2020 → esm}/modules/auth/auth.controller.js +7 -7
  90. package/dist/esm/modules/auth/auth.router.js +44 -0
  91. package/dist/esm/modules/auth/auth.router.js.map +1 -0
  92. package/dist/{es2020 → esm}/modules/auth/auth.service.js +6 -13
  93. package/dist/esm/modules/auth/auth.service.js.map +1 -0
  94. package/dist/{es2020 → esm}/modules/auth/utils/helpers/auth.controller.helpers.js +2 -2
  95. package/dist/{es2020 → esm}/modules/base/base.controller.js +18 -19
  96. package/dist/esm/modules/base/base.controller.js.map +1 -0
  97. package/dist/{es2020 → esm}/modules/base/base.middlewares.js +6 -6
  98. package/dist/{es2020 → esm}/modules/base/base.router.js +4 -4
  99. package/dist/esm/modules/base/base.router.js.map +1 -0
  100. package/dist/{es2020 → esm}/modules/base/base.service.js +6 -6
  101. package/dist/{es2020 → esm}/modules/base/base.service.js.map +1 -1
  102. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.controller.helpers.js +1 -1
  103. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.middlewares.helpers.js +1 -1
  104. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +89 -0
  105. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -0
  106. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.service.helpers.js +1 -1
  107. package/dist/{es2020 → esm}/modules/email/email.service.js +2 -2
  108. package/dist/{es2020 → esm}/modules/error-handler/error-handler.controller.js +5 -3
  109. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -0
  110. package/dist/{es2020 → esm}/modules/error-handler/utils/catch-async.js +1 -1
  111. package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -0
  112. package/dist/{es2020 → esm}/modules/error-handler/utils/error-handler.helpers.js +6 -1
  113. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -0
  114. package/dist/{es2020 → esm}/modules/file-upload/file-upload.controller.js +7 -7
  115. package/dist/esm/modules/file-upload/file-upload.router.js +38 -0
  116. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -0
  117. package/dist/{es2020 → esm}/modules/file-upload/file-upload.service.js +5 -5
  118. package/dist/{es2020 → esm}/modules/file-upload/utils/helpers/file-upload.helpers.js +8 -2
  119. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -0
  120. package/dist/{es2020 → esm}/modules/swagger/swagger.router.js +15 -56
  121. package/dist/esm/modules/swagger/swagger.router.js.map +1 -0
  122. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +247 -0
  123. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  124. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +63 -0
  125. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  126. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +38 -0
  127. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  128. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +19 -0
  129. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  130. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +24 -0
  131. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
  132. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +436 -0
  133. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
  134. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +159 -0
  135. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
  136. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +84 -0
  137. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  138. package/dist/esm/server.js +5 -0
  139. package/dist/esm/server.js.map +1 -0
  140. package/dist/esm/types/arkos-config.js.map +1 -0
  141. package/dist/{es2020 → esm}/utils/cli/build.js +4 -21
  142. package/dist/esm/utils/cli/build.js.map +1 -0
  143. package/dist/{es2020 → esm}/utils/cli/dev.js +37 -49
  144. package/dist/esm/utils/cli/dev.js.map +1 -0
  145. package/dist/{es2020 → esm}/utils/cli/generate.js +10 -10
  146. package/dist/{es2020 → esm}/utils/cli/generate.js.map +1 -1
  147. package/dist/{es2020 → esm}/utils/cli/index.js +5 -5
  148. package/dist/{es2020 → esm}/utils/cli/start.js +5 -5
  149. package/dist/{es2020 → esm}/utils/cli/start.js.map +1 -1
  150. package/dist/esm/utils/cli/utils/cli.helpers.js +16 -0
  151. package/dist/esm/utils/cli/utils/cli.helpers.js.map +1 -0
  152. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +1 -1
  153. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-middlewares.js +34 -67
  154. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -0
  155. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +18 -12
  156. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -0
  157. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-router-template.js +6 -1
  158. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -0
  159. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-service-template.js +2 -2
  160. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  161. package/dist/{es2020 → esm}/utils/cli/utils/template-generators.js +6 -6
  162. package/dist/{es2020 → esm}/utils/features/api.features.js +13 -7
  163. package/dist/esm/utils/features/api.features.js.map +1 -0
  164. package/dist/{es2020 → esm}/utils/features/change-case.features.js +1 -1
  165. package/dist/{es2020 → esm}/utils/helpers/fs.helpers.js +12 -5
  166. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -0
  167. package/dist/esm/utils/helpers/global.helpers.js +47 -0
  168. package/dist/esm/utils/helpers/global.helpers.js.map +1 -0
  169. package/dist/{es2020 → esm}/utils/helpers/models.helpers.js +45 -21
  170. package/dist/esm/utils/helpers/models.helpers.js.map +1 -0
  171. package/dist/{es2020 → esm}/utils/helpers/prisma.helpers.js +11 -8
  172. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -0
  173. package/dist/esm/utils/helpers/routers.helpers.js +16 -0
  174. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -0
  175. package/dist/esm/utils/sheu.js +117 -0
  176. package/dist/esm/utils/sheu.js.map +1 -0
  177. package/dist/{es2020 → esm}/utils/validate-dto.js +1 -1
  178. package/dist/{es2020 → esm}/utils/validate-schema.js +1 -1
  179. package/dist/types/modules/base/base.service.d.ts +1 -1
  180. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +4 -1
  181. package/dist/types/modules/error-handler/utils/catch-async.d.ts +1 -0
  182. package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +4 -0
  183. package/dist/types/modules/file-upload/file-upload.router.d.ts +1 -1
  184. package/dist/types/modules/file-upload/utils/helpers/file-upload.helpers.d.ts +2 -1
  185. package/dist/types/modules/swagger/swagger.router.d.ts +1 -1
  186. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +2 -0
  187. package/dist/types/modules/swagger/utils/helpers/get-system-json-schema-paths.d.ts +2 -0
  188. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +1 -0
  189. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +1 -0
  190. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.d.ts +1 -0
  191. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.d.ts +2 -0
  192. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.d.ts +2 -0
  193. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +7 -0
  194. package/dist/types/server.d.ts +3 -0
  195. package/dist/types/types/arkos-config.d.ts +7 -4
  196. package/dist/types/utils/cli/utils/cli.helpers.d.ts +1 -1
  197. package/dist/types/utils/features/api.features.d.ts +1 -0
  198. package/dist/types/utils/helpers/global.helpers.d.ts +6 -1
  199. package/dist/types/utils/helpers/models.helpers.d.ts +17 -5
  200. package/dist/types/utils/helpers/routers.helpers.d.ts +2 -0
  201. package/dist/types/utils/sheu.d.ts +70 -0
  202. package/package.json +24 -31
  203. package/dist/es2020/app.js +0 -1
  204. package/dist/es2020/app.js.map +0 -1
  205. package/dist/es2020/exports/prisma/index.js +0 -3
  206. package/dist/es2020/exports/utils/index.js +0 -4
  207. package/dist/es2020/exports/validation/index.js +0 -4
  208. package/dist/es2020/modules/auth/auth.router.js +0 -118
  209. package/dist/es2020/modules/auth/auth.router.js.map +0 -1
  210. package/dist/es2020/modules/auth/auth.service.js.map +0 -1
  211. package/dist/es2020/modules/base/base.controller.js.map +0 -1
  212. package/dist/es2020/modules/base/base.router.js.map +0 -1
  213. package/dist/es2020/modules/base/utils/helpers/base.router.helpers.js +0 -161
  214. package/dist/es2020/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
  215. package/dist/es2020/modules/error-handler/error-handler.controller.js.map +0 -1
  216. package/dist/es2020/modules/error-handler/utils/catch-async.js.map +0 -1
  217. package/dist/es2020/modules/error-handler/utils/error-handler.helpers.js.map +0 -1
  218. package/dist/es2020/modules/file-upload/file-upload.router.js +0 -50
  219. package/dist/es2020/modules/file-upload/file-upload.router.js.map +0 -1
  220. package/dist/es2020/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -1
  221. package/dist/es2020/modules/swagger/swagger.router.js.map +0 -1
  222. package/dist/es2020/server.js +0 -3
  223. package/dist/es2020/server.js.map +0 -1
  224. package/dist/es2020/types/arkos-config.js.map +0 -1
  225. package/dist/es2020/utils/cli/build.js.map +0 -1
  226. package/dist/es2020/utils/cli/dev.js.map +0 -1
  227. package/dist/es2020/utils/cli/utils/cli.helpers.js +0 -18
  228. package/dist/es2020/utils/cli/utils/cli.helpers.js.map +0 -1
  229. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +0 -1
  230. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
  231. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
  232. package/dist/es2020/utils/features/api.features.js.map +0 -1
  233. package/dist/es2020/utils/helpers/fs.helpers.js.map +0 -1
  234. package/dist/es2020/utils/helpers/global.helpers.js +0 -4
  235. package/dist/es2020/utils/helpers/global.helpers.js.map +0 -1
  236. package/dist/es2020/utils/helpers/models.helpers.js.map +0 -1
  237. package/dist/es2020/utils/helpers/prisma.helpers.js.map +0 -1
  238. /package/dist/{es2020 → esm}/exports/auth/index.js.map +0 -0
  239. /package/dist/{es2020 → esm}/exports/controllers/index.js.map +0 -0
  240. /package/dist/{es2020 → esm}/exports/error-handler/index.js.map +0 -0
  241. /package/dist/{es2020 → esm}/exports/index.js.map +0 -0
  242. /package/dist/{es2020 → esm}/exports/middlewares/index.js.map +0 -0
  243. /package/dist/{es2020 → esm}/exports/prisma/index.js.map +0 -0
  244. /package/dist/{es2020 → esm}/exports/services/index.js.map +0 -0
  245. /package/dist/{es2020 → esm}/exports/utils/index.js.map +0 -0
  246. /package/dist/{es2020 → esm}/exports/validation/index.js.map +0 -0
  247. /package/dist/{es2020 → esm}/modules/auth/auth.controller.js.map +0 -0
  248. /package/dist/{es2020 → esm}/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -0
  249. /package/dist/{es2020 → esm}/modules/base/base.middlewares.js.map +0 -0
  250. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.controller.helpers.js.map +0 -0
  251. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -0
  252. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.service.helpers.js.map +0 -0
  253. /package/dist/{es2020 → esm}/modules/email/email.service.js.map +0 -0
  254. /package/dist/{es2020 → esm}/modules/error-handler/utils/app-error.js +0 -0
  255. /package/dist/{es2020 → esm}/modules/error-handler/utils/app-error.js.map +0 -0
  256. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.controller.js.map +0 -0
  257. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.service.js.map +0 -0
  258. /package/dist/{es2020 → esm}/paths.js +0 -0
  259. /package/dist/{es2020 → esm}/paths.js.map +0 -0
  260. /package/dist/{es2020 → esm}/types/arkos-config.js +0 -0
  261. /package/dist/{es2020 → esm}/types/auth.js +0 -0
  262. /package/dist/{es2020 → esm}/types/auth.js.map +0 -0
  263. /package/dist/{es2020 → esm}/types/index.js +0 -0
  264. /package/dist/{es2020 → esm}/types/index.js.map +0 -0
  265. /package/dist/{es2020 → esm}/types/router-config.js +0 -0
  266. /package/dist/{es2020 → esm}/types/router-config.js.map +0 -0
  267. /package/dist/{es2020 → esm}/utils/arkos-env.js +0 -0
  268. /package/dist/{es2020 → esm}/utils/arkos-env.js.map +0 -0
  269. /package/dist/{es2020 → esm}/utils/cli/index.js.map +0 -0
  270. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -0
  271. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -0
  272. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -0
  273. /package/dist/{es2020 → esm}/utils/cli/utils/template-generators.js.map +0 -0
  274. /package/dist/{es2020 → esm}/utils/dotenv.helpers.js +0 -0
  275. /package/dist/{es2020 → esm}/utils/dotenv.helpers.js.map +0 -0
  276. /package/dist/{es2020 → esm}/utils/features/change-case.features.js.map +0 -0
  277. /package/dist/{es2020 → esm}/utils/helpers/api.features.helpers.js +0 -0
  278. /package/dist/{es2020 → esm}/utils/helpers/api.features.helpers.js.map +0 -0
  279. /package/dist/{es2020 → esm}/utils/helpers/change-case.helpers.js +0 -0
  280. /package/dist/{es2020 → esm}/utils/helpers/change-case.helpers.js.map +0 -0
  281. /package/dist/{es2020 → esm}/utils/helpers/deepmerge.helper.js +0 -0
  282. /package/dist/{es2020 → esm}/utils/helpers/deepmerge.helper.js.map +0 -0
  283. /package/dist/{es2020 → esm}/utils/helpers/query-parser.helpers.js +0 -0
  284. /package/dist/{es2020 → esm}/utils/helpers/query-parser.helpers.js.map +0 -0
  285. /package/dist/{es2020 → esm}/utils/helpers/text.helpers.js +0 -0
  286. /package/dist/{es2020 → esm}/utils/helpers/text.helpers.js.map +0 -0
  287. /package/dist/{es2020 → esm}/utils/validate-dto.js.map +0 -0
  288. /package/dist/{es2020 → esm}/utils/validate-schema.js.map +0 -0
@@ -0,0 +1,63 @@
1
+ export function getSystemJsonSchemaPaths() {
2
+ const paths = {};
3
+ paths["/api/available-resources"] = {
4
+ get: {
5
+ tags: ["System"],
6
+ summary: "Get available resources",
7
+ description: "Returns a comprehensive list of all available API resource endpoints",
8
+ operationId: "getAvailableResources",
9
+ responses: {
10
+ "200": {
11
+ description: "List of available resources retrieved successfully",
12
+ content: {
13
+ "application/json": {
14
+ schema: {
15
+ type: "object",
16
+ properties: {
17
+ data: {
18
+ type: "array",
19
+ items: {
20
+ type: "string",
21
+ },
22
+ description: "Array of available resource endpoints",
23
+ },
24
+ },
25
+ },
26
+ },
27
+ },
28
+ },
29
+ },
30
+ },
31
+ };
32
+ paths["/api/available-routes"] = {
33
+ get: {
34
+ tags: ["System"],
35
+ summary: "Get available routes",
36
+ description: "Returns a comprehensive list of all registered API routes and their methods",
37
+ operationId: "getAvailableRoutes",
38
+ responses: {
39
+ "200": {
40
+ description: "List of available routes retrieved successfully",
41
+ content: {
42
+ "application/json": {
43
+ schema: {
44
+ type: "object",
45
+ properties: {
46
+ routes: {
47
+ type: "array",
48
+ items: {
49
+ type: "string",
50
+ },
51
+ description: "Array of available API routes",
52
+ },
53
+ },
54
+ },
55
+ },
56
+ },
57
+ },
58
+ },
59
+ },
60
+ };
61
+ return paths;
62
+ }
63
+ //# sourceMappingURL=get-system-json-schema-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-system-json-schema-paths.js","sourceRoot":"","sources":["../../../../../../src/modules/swagger/utils/helpers/get-system-json-schema-paths.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,wBAAwB;IACtC,MAAM,KAAK,GAA0B,EAAE,CAAC;IAExC,KAAK,CAAC,0BAA0B,CAAC,GAAG;QAClC,GAAG,EAAE;YACH,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,yBAAyB;YAClC,WAAW,EACT,sEAAsE;YACxE,WAAW,EAAE,uBAAuB;YACpC,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,WAAW,EAAE,oDAAoD;oBACjE,OAAO,EAAE;wBACP,kBAAkB,EAAE;4BAClB,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,IAAI,EAAE;wCACJ,IAAI,EAAE,OAAO;wCACb,KAAK,EAAE;4CACL,IAAI,EAAE,QAAQ;yCACf;wCACD,WAAW,EAAE,uCAAuC;qCACrD;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;IAEF,KAAK,CAAC,uBAAuB,CAAC,GAAG;QAC/B,GAAG,EAAE;YACH,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,sBAAsB;YAC/B,WAAW,EACT,6EAA6E;YAC/E,WAAW,EAAE,oBAAoB;YACjC,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,WAAW,EAAE,iDAAiD;oBAC9D,OAAO,EAAE;wBACP,kBAAkB,EAAE;4BAClB,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,MAAM,EAAE;wCACN,IAAI,EAAE,OAAO;wCACb,KAAK,EAAE;4CACL,IAAI,EAAE,QAAQ;yCACf;wCACD,WAAW,EAAE,+BAA+B;qCAC7C;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { OpenAPIV3 } from \"openapi-types\";\n\nexport function getSystemJsonSchemaPaths() {\n const paths: OpenAPIV3.PathsObject = {};\n\n paths[\"/api/available-resources\"] = {\n get: {\n tags: [\"System\"],\n summary: \"Get available resources\",\n description:\n \"Returns a comprehensive list of all available API resource endpoints\",\n operationId: \"getAvailableResources\",\n responses: {\n \"200\": {\n description: \"List of available resources retrieved successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n data: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description: \"Array of available resource endpoints\",\n },\n },\n },\n },\n },\n },\n },\n },\n };\n\n paths[\"/api/available-routes\"] = {\n get: {\n tags: [\"System\"],\n summary: \"Get available routes\",\n description:\n \"Returns a comprehensive list of all registered API routes and their methods\",\n operationId: \"getAvailableRoutes\",\n responses: {\n \"200\": {\n description: \"List of available routes retrieved successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n routes: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description: \"Array of available API routes\",\n },\n },\n },\n },\n },\n },\n },\n },\n };\n\n return paths;\n}\n"]}
@@ -0,0 +1,38 @@
1
+ import { validationMetadatasToSchemas } from "class-validator-jsonschema";
2
+ import { importModule } from "../../../../../utils/helpers/global.helpers.js";
3
+ import { getMetadataStorage } from "class-validator";
4
+ import { getModelModules, getModels, } from "../../../../../utils/helpers/models.helpers.js";
5
+ import { getCorrectJsonSchemaName } from "../swagger.router.helpers.js";
6
+ export async function generateClassValidatorJsonSchemas() {
7
+ const models = getModels();
8
+ const schemas = {};
9
+ const { defaultMetadataStorage } = await importModule("class-transformer/cjs/storage.js");
10
+ const jsonSchema = validationMetadatasToSchemas({
11
+ classValidatorMetadataStorage: getMetadataStorage(),
12
+ classTransformerMetadataStorage: defaultMetadataStorage,
13
+ refPointerPrefix: "#/components/schemas/",
14
+ });
15
+ Object.entries(jsonSchema).forEach(([className, schema]) => {
16
+ schemas[className] = schema;
17
+ });
18
+ models.forEach((modelName) => {
19
+ const modelModules = getModelModules(modelName);
20
+ if (modelModules?.dtos) {
21
+ Object.entries(modelModules.dtos).forEach(([dtoType, dtoClass]) => {
22
+ if (dtoClass) {
23
+ try {
24
+ const schemaName = getCorrectJsonSchemaName(dtoType, modelName, "Dto");
25
+ schemas[schemaName] = jsonSchema[dtoClass.name] || {};
26
+ if (schemas[dtoClass.name])
27
+ delete schemas[dtoClass.name];
28
+ }
29
+ catch (error) {
30
+ console.warn(`Failed to generate schema for ${dtoType} ${modelName}:`, error);
31
+ }
32
+ }
33
+ });
34
+ }
35
+ });
36
+ return schemas;
37
+ }
38
+ //# sourceMappingURL=generate-class-validator-json-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-class-validator-json-schemas.js","sourceRoot":"","sources":["../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,eAAe,EACf,SAAS,GACV,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,iCAAiC;IACrD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,YAAY,CACnD,kCAAkC,CACnC,CAAC;IAEF,MAAM,UAAU,GAAG,4BAA4B,CAAC;QAC9C,6BAA6B,EAAE,kBAAkB,EAAE;QACnD,+BAA+B,EAAE,sBAAsB;QACvD,gBAAgB,EAAE,uBAAuB;KAC1C,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;QACzD,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3B,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,YAAY,EAAE,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE;gBAChE,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,wBAAwB,CACzC,OAAO,EACP,SAAS,EACT,KAAK,CACN,CAAC;wBACF,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACtD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC5D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CACV,iCAAiC,OAAO,IAAI,SAAS,GAAG,EACxD,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { validationMetadatasToSchemas } from \"class-validator-jsonschema\";\nimport { importModule } from \"../../../../../utils/helpers/global.helpers\";\nimport { getMetadataStorage } from \"class-validator\";\nimport {\n getModelModules,\n getModels,\n} from \"../../../../../utils/helpers/models.helpers\";\nimport { getCorrectJsonSchemaName } from \"../swagger.router.helpers\";\n\nexport async function generateClassValidatorJsonSchemas() {\n const models = getModels();\n const schemas: Record<string, any> = {};\n\n const { defaultMetadataStorage } = await importModule(\n \"class-transformer/cjs/storage.js\"\n );\n\n const jsonSchema = validationMetadatasToSchemas({\n classValidatorMetadataStorage: getMetadataStorage(),\n classTransformerMetadataStorage: defaultMetadataStorage,\n refPointerPrefix: \"#/components/schemas/\",\n });\n\n Object.entries(jsonSchema).forEach(([className, schema]) => {\n schemas[className] = schema;\n });\n\n models.forEach((modelName) => {\n const modelModules = getModelModules(modelName);\n\n if (modelModules?.dtos) {\n Object.entries(modelModules.dtos).forEach(([dtoType, dtoClass]) => {\n if (dtoClass) {\n try {\n const schemaName = getCorrectJsonSchemaName(\n dtoType,\n modelName,\n \"Dto\"\n );\n schemas[schemaName] = jsonSchema[dtoClass.name] || {};\n if (schemas[dtoClass.name]) delete schemas[dtoClass.name];\n } catch (error) {\n console.warn(\n `Failed to generate schema for ${dtoType} ${modelName}:`,\n error\n );\n }\n }\n });\n }\n });\n\n return schemas;\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { pascalCase } from "../../../../../exports/utils/index.js";
2
+ import { getModels, getPrismaSchemasContent, } from "../../../../../utils/helpers/models.helpers.js";
3
+ export async function generatePrismaJsonSchemas() {
4
+ const schemas = {};
5
+ const prismaContent = getPrismaSchemasContent();
6
+ const models = getModels();
7
+ models.forEach((modelName) => {
8
+ const pascalModelName = pascalCase(modelName);
9
+ schemas[`Create${pascalModelName}Schema`] = {
10
+ type: "object",
11
+ properties: {},
12
+ };
13
+ schemas[`Update${pascalModelName}Schema`] = {
14
+ type: "object",
15
+ properties: {},
16
+ };
17
+ });
18
+ }
19
+ //# sourceMappingURL=generate-prisma-json-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-prisma-json-schemas.js","sourceRoot":"","sources":["../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EACL,SAAS,EACT,uBAAuB,GACxB,MAAM,6CAA6C,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3B,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAE9C,OAAO,CAAC,SAAS,eAAe,QAAQ,CAAC,GAAG;YAC1C,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAEX;SACF,CAAC;QAEF,OAAO,CAAC,SAAS,eAAe,QAAQ,CAAC,GAAG;YAC1C,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAEX;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { pascalCase } from \"../../../../../exports/utils\";\nimport {\n getModels,\n getPrismaSchemasContent,\n} from \"../../../../../utils/helpers/models.helpers\";\n\nexport async function generatePrismaJsonSchemas() {\n const schemas: Record<string, any> = {};\n const prismaContent = getPrismaSchemasContent();\n const models = getModels();\n\n models.forEach((modelName) => {\n const pascalModelName = pascalCase(modelName);\n\n schemas[`Create${pascalModelName}Schema`] = {\n type: \"object\",\n properties: {\n // Omit auto-generated fields like id, createdAt, updatedAt\n },\n };\n\n schemas[`Update${pascalModelName}Schema`] = {\n type: \"object\",\n properties: {\n // Make all fields optional for updates\n },\n };\n });\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import { getModelModules, getModels, } from "../../../../../utils/helpers/models.helpers.js";
2
+ import zodToJsonSchema from "zod-to-json-schema";
3
+ import { getCorrectJsonSchemaName } from "../swagger.router.helpers.js";
4
+ export async function generateZodJsonSchemas() {
5
+ const models = [...getModels(), "file-upload", "auth"];
6
+ const schemas = {};
7
+ models.forEach((modelName) => {
8
+ const modelModules = getModelModules(modelName);
9
+ if (modelModules?.schemas)
10
+ Object.entries(modelModules.schemas).forEach(([schemaType, zodSchema]) => {
11
+ if (zodSchema)
12
+ try {
13
+ const jsonSchema = zodToJsonSchema(zodSchema);
14
+ const schemaName = getCorrectJsonSchemaName(schemaType, modelName, "Schema");
15
+ schemas[schemaName] = jsonSchema;
16
+ }
17
+ catch (error) {
18
+ console.warn(`Failed to generate schema for ${schemaType} ${modelName}:`, error);
19
+ }
20
+ });
21
+ });
22
+ return schemas;
23
+ }
24
+ //# sourceMappingURL=generate-zod-json-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-zod-json-schema.js","sourceRoot":"","sources":["../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,SAAS,GACV,MAAM,6CAA6C,CAAC;AACrD,OAAO,eAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3B,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,YAAY,EAAE,OAAO;YACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAC1C,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE;gBAC1B,IAAI,SAAS;oBACX,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;wBAC9C,MAAM,UAAU,GAAG,wBAAwB,CACzC,UAAU,EACV,SAAS,EACT,QAAQ,CACT,CAAC;wBACF,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;oBACnC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CACV,iCAAiC,UAAU,IAAI,SAAS,GAAG,EAC3D,KAAK,CACN,CAAC;oBACJ,CAAC;YACL,CAAC,CACF,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import {\n getModelModules,\n getModels,\n} from \"../../../../../utils/helpers/models.helpers\";\nimport zodToJsonSchema from \"zod-to-json-schema\";\nimport { getCorrectJsonSchemaName } from \"../swagger.router.helpers\";\n\nexport async function generateZodJsonSchemas() {\n const models = [...getModels(), \"file-upload\", \"auth\"];\n const schemas: Record<string, any> = {};\n\n models.forEach((modelName) => {\n const modelModules = getModelModules(modelName);\n\n if (modelModules?.schemas)\n Object.entries(modelModules.schemas).forEach(\n ([schemaType, zodSchema]) => {\n if (zodSchema)\n try {\n const jsonSchema = zodToJsonSchema(zodSchema);\n const schemaName = getCorrectJsonSchemaName(\n schemaType,\n modelName,\n \"Schema\"\n );\n schemas[schemaName] = jsonSchema;\n } catch (error) {\n console.warn(\n `Failed to generate schema for ${schemaType} ${modelName}:`,\n error\n );\n }\n }\n );\n });\n\n return schemas;\n}\n"]}
@@ -0,0 +1,436 @@
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