arkos 1.2.15-test.1 → 1.2.16-test

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 (239) 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/base/base.controller.js +11 -12
  6. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  7. package/dist/cjs/modules/base/base.router.js.map +1 -1
  8. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +41 -27
  9. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  10. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  11. package/dist/cjs/modules/swagger/swagger.router.js +14 -56
  12. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  13. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +250 -0
  14. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  15. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +66 -0
  16. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  17. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +41 -0
  18. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  19. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +22 -0
  20. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  21. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +30 -0
  22. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
  23. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +442 -0
  24. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
  25. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +165 -0
  26. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
  27. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +93 -0
  28. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  29. package/dist/cjs/paths.js +1 -1
  30. package/dist/cjs/server.js +2 -2
  31. package/dist/cjs/server.js.map +1 -1
  32. package/dist/cjs/types/arkos-config.js.map +1 -1
  33. package/dist/cjs/utils/cli/build.js +2 -19
  34. package/dist/cjs/utils/cli/build.js.map +1 -1
  35. package/dist/cjs/utils/cli/dev.js +3 -1
  36. package/dist/cjs/utils/cli/dev.js.map +1 -1
  37. package/dist/cjs/utils/cli/generate.js +6 -6
  38. package/dist/cjs/utils/cli/generate.js.map +1 -1
  39. package/dist/cjs/utils/cli/utils/cli.helpers.js +10 -1
  40. package/dist/cjs/utils/cli/utils/cli.helpers.js.map +1 -1
  41. package/dist/cjs/utils/helpers/fs.helpers.js +12 -5
  42. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  43. package/dist/cjs/utils/helpers/global.helpers.js +38 -2
  44. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  45. package/dist/cjs/utils/helpers/models.helpers.js +20 -43
  46. package/dist/cjs/utils/helpers/models.helpers.js.map +1 -1
  47. package/dist/cjs/utils/sheu.js +143 -0
  48. package/dist/cjs/utils/sheu.js.map +1 -0
  49. package/dist/esm/app.js +1 -0
  50. package/dist/esm/app.js.map +1 -0
  51. package/dist/{es2020 → esm}/exports/auth/index.js +1 -1
  52. package/dist/{es2020 → esm}/exports/controllers/index.js +2 -2
  53. package/dist/{es2020 → esm}/exports/error-handler/index.js +2 -2
  54. package/dist/{es2020 → esm}/exports/index.js +2 -2
  55. package/dist/{es2020 → esm}/exports/middlewares/index.js +1 -1
  56. package/dist/esm/exports/prisma/index.js +3 -0
  57. package/dist/{es2020 → esm}/exports/services/index.js +4 -4
  58. package/dist/esm/exports/utils/index.js +4 -0
  59. package/dist/esm/exports/validation/index.js +4 -0
  60. package/dist/{es2020 → esm}/modules/auth/auth.controller.js +7 -7
  61. package/dist/{es2020 → esm}/modules/auth/auth.router.js +6 -6
  62. package/dist/{es2020 → esm}/modules/auth/auth.service.js +6 -6
  63. package/dist/{es2020 → esm}/modules/auth/utils/helpers/auth.controller.helpers.js +2 -2
  64. package/dist/{es2020 → esm}/modules/base/base.controller.js +18 -19
  65. package/dist/esm/modules/base/base.controller.js.map +1 -0
  66. package/dist/{es2020 → esm}/modules/base/base.middlewares.js +6 -6
  67. package/dist/{es2020 → esm}/modules/base/base.router.js +4 -4
  68. package/dist/esm/modules/base/base.router.js.map +1 -0
  69. package/dist/{es2020 → esm}/modules/base/base.service.js +6 -6
  70. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.controller.helpers.js +1 -1
  71. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.middlewares.helpers.js +1 -1
  72. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.router.helpers.js +45 -33
  73. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -0
  74. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.service.helpers.js +1 -1
  75. package/dist/{es2020 → esm}/modules/email/email.service.js +2 -2
  76. package/dist/{es2020 → esm}/modules/error-handler/error-handler.controller.js +3 -3
  77. package/dist/{es2020 → esm}/modules/error-handler/error-handler.controller.js.map +1 -1
  78. package/dist/{es2020 → esm}/modules/error-handler/utils/error-handler.helpers.js +1 -1
  79. package/dist/{es2020 → esm}/modules/file-upload/file-upload.controller.js +7 -7
  80. package/dist/{es2020 → esm}/modules/file-upload/file-upload.router.js +5 -5
  81. package/dist/{es2020 → esm}/modules/file-upload/file-upload.service.js +5 -5
  82. package/dist/{es2020 → esm}/modules/file-upload/utils/helpers/file-upload.helpers.js +2 -2
  83. package/dist/{es2020 → esm}/modules/swagger/swagger.router.js +15 -57
  84. package/dist/esm/modules/swagger/swagger.router.js.map +1 -0
  85. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +247 -0
  86. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  87. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +63 -0
  88. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  89. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +38 -0
  90. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  91. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +19 -0
  92. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  93. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +24 -0
  94. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
  95. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +436 -0
  96. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
  97. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +159 -0
  98. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
  99. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +83 -0
  100. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  101. package/dist/esm/server.js +3 -0
  102. package/dist/esm/server.js.map +1 -0
  103. package/dist/esm/types/arkos-config.js.map +1 -0
  104. package/dist/{es2020 → esm}/utils/cli/build.js +4 -21
  105. package/dist/esm/utils/cli/build.js.map +1 -0
  106. package/dist/{es2020 → esm}/utils/cli/dev.js +7 -5
  107. package/dist/esm/utils/cli/dev.js.map +1 -0
  108. package/dist/{es2020 → esm}/utils/cli/generate.js +10 -10
  109. package/dist/{es2020 → esm}/utils/cli/generate.js.map +1 -1
  110. package/dist/{es2020 → esm}/utils/cli/index.js +5 -5
  111. package/dist/{es2020 → esm}/utils/cli/start.js +4 -4
  112. package/dist/esm/utils/cli/utils/cli.helpers.js +27 -0
  113. package/dist/esm/utils/cli/utils/cli.helpers.js.map +1 -0
  114. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +1 -1
  115. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-middlewares.js +1 -1
  116. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +2 -2
  117. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-router-template.js +1 -1
  118. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-service-template.js +2 -2
  119. package/dist/{es2020 → esm}/utils/cli/utils/template-generators.js +6 -6
  120. package/dist/{es2020 → esm}/utils/features/api.features.js +4 -4
  121. package/dist/{es2020 → esm}/utils/features/change-case.features.js +1 -1
  122. package/dist/{es2020 → esm}/utils/helpers/fs.helpers.js +12 -5
  123. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -0
  124. package/dist/esm/utils/helpers/global.helpers.js +35 -0
  125. package/dist/esm/utils/helpers/global.helpers.js.map +1 -0
  126. package/dist/{es2020 → esm}/utils/helpers/models.helpers.js +21 -11
  127. package/dist/esm/utils/helpers/models.helpers.js.map +1 -0
  128. package/dist/{es2020 → esm}/utils/helpers/prisma.helpers.js +4 -4
  129. package/dist/esm/utils/sheu.js +141 -0
  130. package/dist/esm/utils/sheu.js.map +1 -0
  131. package/dist/{es2020 → esm}/utils/validate-dto.js +1 -1
  132. package/dist/{es2020 → esm}/utils/validate-schema.js +1 -1
  133. package/dist/types/modules/auth/auth.controller.d.ts +7 -7
  134. package/dist/types/modules/auth/auth.service.d.ts +1 -1
  135. package/dist/types/modules/base/base.controller.d.ts +9 -9
  136. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +4 -1
  137. package/dist/types/modules/error-handler/utils/catch-async.d.ts +1 -1
  138. package/dist/types/modules/file-upload/file-upload.controller.d.ts +4 -4
  139. package/dist/types/modules/swagger/swagger.router.d.ts +1 -1
  140. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +2 -0
  141. package/dist/types/modules/swagger/utils/helpers/get-system-json-schema-paths.d.ts +2 -0
  142. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +1 -0
  143. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +1 -0
  144. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.d.ts +1 -0
  145. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.d.ts +2 -0
  146. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.d.ts +2 -0
  147. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +7 -0
  148. package/dist/types/types/arkos-config.d.ts +7 -4
  149. package/dist/types/utils/helpers/global.helpers.d.ts +5 -1
  150. package/dist/types/utils/helpers/models.helpers.d.ts +10 -1
  151. package/dist/types/utils/helpers/prisma.helpers.d.ts +1 -1
  152. package/dist/types/utils/sheu.d.ts +25 -0
  153. package/package.json +24 -18
  154. package/dist/es2020/app.js +0 -1
  155. package/dist/es2020/app.js.map +0 -1
  156. package/dist/es2020/exports/prisma/index.js +0 -3
  157. package/dist/es2020/exports/utils/index.js +0 -4
  158. package/dist/es2020/exports/validation/index.js +0 -4
  159. package/dist/es2020/modules/base/base.controller.js.map +0 -1
  160. package/dist/es2020/modules/base/base.router.js.map +0 -1
  161. package/dist/es2020/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
  162. package/dist/es2020/modules/swagger/swagger.router.js.map +0 -1
  163. package/dist/es2020/server.js +0 -3
  164. package/dist/es2020/server.js.map +0 -1
  165. package/dist/es2020/types/arkos-config.js.map +0 -1
  166. package/dist/es2020/utils/cli/build.js.map +0 -1
  167. package/dist/es2020/utils/cli/dev.js.map +0 -1
  168. package/dist/es2020/utils/cli/utils/cli.helpers.js +0 -18
  169. package/dist/es2020/utils/cli/utils/cli.helpers.js.map +0 -1
  170. package/dist/es2020/utils/helpers/fs.helpers.js.map +0 -1
  171. package/dist/es2020/utils/helpers/global.helpers.js +0 -4
  172. package/dist/es2020/utils/helpers/global.helpers.js.map +0 -1
  173. package/dist/es2020/utils/helpers/models.helpers.js.map +0 -1
  174. /package/dist/{es2020 → esm}/exports/auth/index.js.map +0 -0
  175. /package/dist/{es2020 → esm}/exports/controllers/index.js.map +0 -0
  176. /package/dist/{es2020 → esm}/exports/error-handler/index.js.map +0 -0
  177. /package/dist/{es2020 → esm}/exports/index.js.map +0 -0
  178. /package/dist/{es2020 → esm}/exports/middlewares/index.js.map +0 -0
  179. /package/dist/{es2020 → esm}/exports/prisma/index.js.map +0 -0
  180. /package/dist/{es2020 → esm}/exports/services/index.js.map +0 -0
  181. /package/dist/{es2020 → esm}/exports/utils/index.js.map +0 -0
  182. /package/dist/{es2020 → esm}/exports/validation/index.js.map +0 -0
  183. /package/dist/{es2020 → esm}/modules/auth/auth.controller.js.map +0 -0
  184. /package/dist/{es2020 → esm}/modules/auth/auth.router.js.map +0 -0
  185. /package/dist/{es2020 → esm}/modules/auth/auth.service.js.map +0 -0
  186. /package/dist/{es2020 → esm}/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -0
  187. /package/dist/{es2020 → esm}/modules/base/base.middlewares.js.map +0 -0
  188. /package/dist/{es2020 → esm}/modules/base/base.service.js.map +0 -0
  189. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.controller.helpers.js.map +0 -0
  190. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -0
  191. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.service.helpers.js.map +0 -0
  192. /package/dist/{es2020 → esm}/modules/email/email.service.js.map +0 -0
  193. /package/dist/{es2020 → esm}/modules/error-handler/utils/app-error.js +0 -0
  194. /package/dist/{es2020 → esm}/modules/error-handler/utils/app-error.js.map +0 -0
  195. /package/dist/{es2020 → esm}/modules/error-handler/utils/catch-async.js +0 -0
  196. /package/dist/{es2020 → esm}/modules/error-handler/utils/catch-async.js.map +0 -0
  197. /package/dist/{es2020 → esm}/modules/error-handler/utils/error-handler.helpers.js.map +0 -0
  198. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.controller.js.map +0 -0
  199. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.router.js.map +0 -0
  200. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.service.js.map +0 -0
  201. /package/dist/{es2020 → esm}/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -0
  202. /package/dist/{es2020 → esm}/paths.js +0 -0
  203. /package/dist/{es2020 → esm}/paths.js.map +0 -0
  204. /package/dist/{es2020 → esm}/types/arkos-config.js +0 -0
  205. /package/dist/{es2020 → esm}/types/auth.js +0 -0
  206. /package/dist/{es2020 → esm}/types/auth.js.map +0 -0
  207. /package/dist/{es2020 → esm}/types/index.js +0 -0
  208. /package/dist/{es2020 → esm}/types/index.js.map +0 -0
  209. /package/dist/{es2020 → esm}/types/router-config.js +0 -0
  210. /package/dist/{es2020 → esm}/types/router-config.js.map +0 -0
  211. /package/dist/{es2020 → esm}/utils/arkos-env.js +0 -0
  212. /package/dist/{es2020 → esm}/utils/arkos-env.js.map +0 -0
  213. /package/dist/{es2020 → esm}/utils/cli/index.js.map +0 -0
  214. /package/dist/{es2020 → esm}/utils/cli/start.js.map +0 -0
  215. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -0
  216. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -0
  217. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -0
  218. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +0 -0
  219. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -0
  220. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -0
  221. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -0
  222. /package/dist/{es2020 → esm}/utils/cli/utils/template-generators.js.map +0 -0
  223. /package/dist/{es2020 → esm}/utils/dotenv.helpers.js +0 -0
  224. /package/dist/{es2020 → esm}/utils/dotenv.helpers.js.map +0 -0
  225. /package/dist/{es2020 → esm}/utils/features/api.features.js.map +0 -0
  226. /package/dist/{es2020 → esm}/utils/features/change-case.features.js.map +0 -0
  227. /package/dist/{es2020 → esm}/utils/helpers/api.features.helpers.js +0 -0
  228. /package/dist/{es2020 → esm}/utils/helpers/api.features.helpers.js.map +0 -0
  229. /package/dist/{es2020 → esm}/utils/helpers/change-case.helpers.js +0 -0
  230. /package/dist/{es2020 → esm}/utils/helpers/change-case.helpers.js.map +0 -0
  231. /package/dist/{es2020 → esm}/utils/helpers/deepmerge.helper.js +0 -0
  232. /package/dist/{es2020 → esm}/utils/helpers/deepmerge.helper.js.map +0 -0
  233. /package/dist/{es2020 → esm}/utils/helpers/prisma.helpers.js.map +0 -0
  234. /package/dist/{es2020 → esm}/utils/helpers/query-parser.helpers.js +0 -0
  235. /package/dist/{es2020 → esm}/utils/helpers/query-parser.helpers.js.map +0 -0
  236. /package/dist/{es2020 → esm}/utils/helpers/text.helpers.js +0 -0
  237. /package/dist/{es2020 → esm}/utils/helpers/text.helpers.js.map +0 -0
  238. /package/dist/{es2020 → esm}/utils/validate-dto.js.map +0 -0
  239. /package/dist/{es2020 → esm}/utils/validate-schema.js.map +0 -0
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSystemJsonSchemaPaths = getSystemJsonSchemaPaths;
4
+ function getSystemJsonSchemaPaths() {
5
+ const paths = {};
6
+ paths["/api/available-resources"] = {
7
+ get: {
8
+ tags: ["System"],
9
+ summary: "Get available resources",
10
+ description: "Returns a comprehensive list of all available API resource endpoints",
11
+ operationId: "getAvailableResources",
12
+ responses: {
13
+ "200": {
14
+ description: "List of available resources retrieved successfully",
15
+ content: {
16
+ "application/json": {
17
+ schema: {
18
+ type: "object",
19
+ properties: {
20
+ data: {
21
+ type: "array",
22
+ items: {
23
+ type: "string",
24
+ },
25
+ description: "Array of available resource endpoints",
26
+ },
27
+ },
28
+ },
29
+ },
30
+ },
31
+ },
32
+ },
33
+ },
34
+ };
35
+ paths["/api/available-routes"] = {
36
+ get: {
37
+ tags: ["System"],
38
+ summary: "Get available routes",
39
+ description: "Returns a comprehensive list of all registered API routes and their methods",
40
+ operationId: "getAvailableRoutes",
41
+ responses: {
42
+ "200": {
43
+ description: "List of available routes retrieved successfully",
44
+ content: {
45
+ "application/json": {
46
+ schema: {
47
+ type: "object",
48
+ properties: {
49
+ routes: {
50
+ type: "array",
51
+ items: {
52
+ type: "string",
53
+ },
54
+ description: "Array of available API routes",
55
+ },
56
+ },
57
+ },
58
+ },
59
+ },
60
+ },
61
+ },
62
+ },
63
+ };
64
+ return paths;
65
+ }
66
+ //# 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,4DAkEC;AAlED,SAAgB,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,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateClassValidatorJsonSchemas = generateClassValidatorJsonSchemas;
4
+ const class_validator_jsonschema_1 = require("class-validator-jsonschema");
5
+ const global_helpers_1 = require("../../../../../utils/helpers/global.helpers");
6
+ const class_validator_1 = require("class-validator");
7
+ const models_helpers_1 = require("../../../../../utils/helpers/models.helpers");
8
+ const swagger_router_helpers_1 = require("../swagger.router.helpers");
9
+ async function generateClassValidatorJsonSchemas() {
10
+ const models = (0, models_helpers_1.getModels)();
11
+ const schemas = {};
12
+ const { defaultMetadataStorage } = await (0, global_helpers_1.importModule)("class-transformer/cjs/storage.js");
13
+ const jsonSchema = (0, class_validator_jsonschema_1.validationMetadatasToSchemas)({
14
+ classValidatorMetadataStorage: (0, class_validator_1.getMetadataStorage)(),
15
+ classTransformerMetadataStorage: defaultMetadataStorage,
16
+ refPointerPrefix: "#/components/schemas/",
17
+ });
18
+ Object.entries(jsonSchema).forEach(([className, schema]) => {
19
+ schemas[className] = schema;
20
+ });
21
+ models.forEach((modelName) => {
22
+ const modelModules = (0, models_helpers_1.getModelModules)(modelName);
23
+ if (modelModules?.dtos) {
24
+ Object.entries(modelModules.dtos).forEach(([dtoType, dtoClass]) => {
25
+ if (dtoClass) {
26
+ try {
27
+ const schemaName = (0, swagger_router_helpers_1.getCorrectJsonSchemaName)(dtoType, modelName, "Dto");
28
+ schemas[schemaName] = jsonSchema[dtoClass.name] || {};
29
+ if (schemas[dtoClass.name])
30
+ delete schemas[dtoClass.name];
31
+ }
32
+ catch (error) {
33
+ console.warn(`Failed to generate schema for ${dtoType} ${modelName}:`, error);
34
+ }
35
+ }
36
+ });
37
+ }
38
+ });
39
+ return schemas;
40
+ }
41
+ //# 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":";;AASA,8EA4CC;AArDD,2EAA0E;AAC1E,gFAA2E;AAC3E,qDAAqD;AACrD,gFAGqD;AACrD,sEAAqE;AAE9D,KAAK,UAAU,iCAAiC;IACrD,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;IAC3B,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,IAAA,6BAAY,EACnD,kCAAkC,CACnC,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,yDAA4B,EAAC;QAC9C,6BAA6B,EAAE,IAAA,oCAAkB,GAAE;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,IAAA,gCAAe,EAAC,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,IAAA,iDAAwB,EACzC,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,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generatePrismaJsonSchemas = generatePrismaJsonSchemas;
4
+ const utils_1 = require("../../../../../exports/utils");
5
+ const models_helpers_1 = require("../../../../../utils/helpers/models.helpers");
6
+ async function generatePrismaJsonSchemas() {
7
+ const schemas = {};
8
+ const prismaContent = (0, models_helpers_1.getPrismaSchemasContent)();
9
+ const models = (0, models_helpers_1.getModels)();
10
+ models.forEach((modelName) => {
11
+ const pascalModelName = (0, utils_1.pascalCase)(modelName);
12
+ schemas[`Create${pascalModelName}Schema`] = {
13
+ type: "object",
14
+ properties: {},
15
+ };
16
+ schemas[`Update${pascalModelName}Schema`] = {
17
+ type: "object",
18
+ properties: {},
19
+ };
20
+ });
21
+ }
22
+ //# 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":";;AAMA,8DAsBC;AA5BD,wDAA0D;AAC1D,gFAGqD;AAE9C,KAAK,UAAU,yBAAyB;IAC7C,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,IAAA,wCAAuB,GAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;IAE3B,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3B,MAAM,eAAe,GAAG,IAAA,kBAAU,EAAC,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,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateZodJsonSchemas = generateZodJsonSchemas;
7
+ const models_helpers_1 = require("../../../../../utils/helpers/models.helpers");
8
+ const zod_to_json_schema_1 = __importDefault(require("zod-to-json-schema"));
9
+ const swagger_router_helpers_1 = require("../swagger.router.helpers");
10
+ async function generateZodJsonSchemas() {
11
+ const models = [...(0, models_helpers_1.getModels)(), "file-upload", "auth"];
12
+ const schemas = {};
13
+ models.forEach((modelName) => {
14
+ const modelModules = (0, models_helpers_1.getModelModules)(modelName);
15
+ if (modelModules?.schemas)
16
+ Object.entries(modelModules.schemas).forEach(([schemaType, zodSchema]) => {
17
+ if (zodSchema)
18
+ try {
19
+ const jsonSchema = (0, zod_to_json_schema_1.default)(zodSchema);
20
+ const schemaName = (0, swagger_router_helpers_1.getCorrectJsonSchemaName)(schemaType, modelName, "Schema");
21
+ schemas[schemaName] = jsonSchema;
22
+ }
23
+ catch (error) {
24
+ console.warn(`Failed to generate schema for ${schemaType} ${modelName}:`, error);
25
+ }
26
+ });
27
+ });
28
+ return schemas;
29
+ }
30
+ //# 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":";;;;;AAOA,wDA8BC;AArCD,gFAGqD;AACrD,4EAAiD;AACjD,sEAAqE;AAE9D,KAAK,UAAU,sBAAsB;IAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAA,0BAAS,GAAE,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,IAAA,gCAAe,EAAC,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,IAAA,4BAAe,EAAC,SAAS,CAAC,CAAC;wBAC9C,MAAM,UAAU,GAAG,IAAA,iDAAwB,EACzC,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,442 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generatePrismaModelMainRoutesPaths = generatePrismaModelMainRoutesPaths;
7
+ const swagger_router_helpers_1 = require("../../swagger.router.helpers");
8
+ const pluralize_1 = __importDefault(require("pluralize"));
9
+ const base_router_helpers_1 = require("../../../../../base/utils/helpers/base.router.helpers");
10
+ async function generatePrismaModelMainRoutesPaths(paths, routeName, pascalModelName, humanReadableName, humanReadableNamePlural, routerConfig, mode) {
11
+ if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "createOne")) {
12
+ if (!paths[`/api/${routeName}`])
13
+ paths[`/api/${routeName}`] = {};
14
+ paths[`/api/${routeName}`].post = {
15
+ tags: [humanReadableNamePlural],
16
+ summary: `Create a new ${humanReadableName}`,
17
+ description: `Creates a new ${humanReadableName} record in the system`,
18
+ operationId: `create${pascalModelName}`,
19
+ requestBody: {
20
+ description: `${humanReadableName} data to create`,
21
+ required: true,
22
+ content: {
23
+ "application/json": {
24
+ schema: {
25
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)(`Create${pascalModelName}`, mode),
26
+ },
27
+ },
28
+ },
29
+ },
30
+ responses: {
31
+ "201": {
32
+ description: `${humanReadableName} created successfully`,
33
+ content: {
34
+ "application/json": {
35
+ schema: {
36
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)(`${pascalModelName}`, mode),
37
+ },
38
+ },
39
+ },
40
+ },
41
+ "400": {
42
+ description: "Invalid input data provided",
43
+ },
44
+ "401": {
45
+ description: "Authentication required",
46
+ },
47
+ "403": {
48
+ description: "Insufficient permissions",
49
+ },
50
+ },
51
+ security: [{ BearerAuth: [] }],
52
+ };
53
+ }
54
+ if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "findMany")) {
55
+ if (!paths[`/api/${routeName}`])
56
+ paths[`/api/${routeName}`] = {};
57
+ paths[`/api/${routeName}`].get = {
58
+ tags: [humanReadableNamePlural],
59
+ summary: `Get ${humanReadableNamePlural}`,
60
+ description: `Retrieves a paginated list of ${humanReadableNamePlural} with optional filtering and sorting`,
61
+ operationId: `get${pluralize_1.default.plural(pascalModelName)}`,
62
+ parameters: [
63
+ {
64
+ name: "filter",
65
+ in: "query",
66
+ description: "Filter criteria in JSON format",
67
+ schema: {
68
+ type: "string",
69
+ },
70
+ },
71
+ {
72
+ name: "sort",
73
+ in: "query",
74
+ description: "Sort field (prefix with '-' for descending order)",
75
+ schema: {
76
+ type: "string",
77
+ },
78
+ },
79
+ {
80
+ name: "page",
81
+ in: "query",
82
+ description: "Page number (starts from 1)",
83
+ schema: {
84
+ type: "integer",
85
+ minimum: 1,
86
+ },
87
+ },
88
+ {
89
+ name: "limit",
90
+ in: "query",
91
+ description: "Number of items per page",
92
+ schema: {
93
+ type: "integer",
94
+ minimum: 1,
95
+ maximum: 100,
96
+ },
97
+ },
98
+ {
99
+ name: "fields",
100
+ in: "query",
101
+ description: "Comma-separated list of fields to include in response",
102
+ schema: {
103
+ type: "string",
104
+ },
105
+ },
106
+ ],
107
+ responses: {
108
+ "200": {
109
+ description: `List of ${humanReadableNamePlural} retrieved successfully`,
110
+ content: {
111
+ "application/json": {
112
+ schema: {
113
+ type: "object",
114
+ properties: {
115
+ total: {
116
+ type: "integer",
117
+ description: "Total number of records matching the criteria",
118
+ },
119
+ results: {
120
+ type: "integer",
121
+ description: "Number of records returned in current page",
122
+ },
123
+ data: {
124
+ type: "array",
125
+ items: {
126
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)(`FindMany${pascalModelName}`, mode),
127
+ },
128
+ },
129
+ },
130
+ },
131
+ },
132
+ },
133
+ },
134
+ "401": {
135
+ description: "Authentication required",
136
+ },
137
+ "403": {
138
+ description: "Insufficient permissions",
139
+ },
140
+ },
141
+ security: [{ BearerAuth: [] }],
142
+ };
143
+ }
144
+ if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "createMany")) {
145
+ paths[`/api/${routeName}/many`] = {
146
+ post: {
147
+ tags: [humanReadableNamePlural],
148
+ summary: `Create multiple ${humanReadableNamePlural}`,
149
+ description: `Creates multiple ${humanReadableNamePlural} records in a single batch operation`,
150
+ operationId: `createMany${pascalModelName}`,
151
+ requestBody: {
152
+ description: `Array of ${humanReadableName} data to create`,
153
+ required: true,
154
+ content: {
155
+ "application/json": {
156
+ schema: {
157
+ type: "array",
158
+ items: {
159
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)(`Create${pascalModelName}`, mode),
160
+ },
161
+ },
162
+ },
163
+ },
164
+ },
165
+ responses: {
166
+ "201": {
167
+ description: `${humanReadableNamePlural} created successfully`,
168
+ content: {
169
+ "application/json": {
170
+ schema: {
171
+ type: "object",
172
+ properties: {
173
+ count: {
174
+ type: "integer",
175
+ description: "Number of records created",
176
+ },
177
+ },
178
+ },
179
+ },
180
+ },
181
+ },
182
+ "400": {
183
+ description: "Invalid input data provided",
184
+ },
185
+ "401": {
186
+ description: "Authentication required",
187
+ },
188
+ "403": {
189
+ description: "Insufficient permissions",
190
+ },
191
+ },
192
+ security: [{ BearerAuth: [] }],
193
+ },
194
+ };
195
+ }
196
+ if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "updateMany")) {
197
+ if (!paths[`/api/${routeName}/many`])
198
+ paths[`/api/${routeName}/many`] = {};
199
+ paths[`/api/${routeName}/many`].patch = {
200
+ tags: [humanReadableNamePlural],
201
+ summary: `Update multiple ${humanReadableNamePlural}`,
202
+ description: `Updates multiple ${humanReadableNamePlural} records that match the specified filter criteria`,
203
+ operationId: `updateMany${pascalModelName}`,
204
+ parameters: [
205
+ {
206
+ name: "filter",
207
+ in: "query",
208
+ description: "Filter criteria in JSON format (required)",
209
+ required: true,
210
+ schema: {
211
+ type: "string",
212
+ },
213
+ },
214
+ ],
215
+ requestBody: {
216
+ description: `Partial ${humanReadableName} data to update`,
217
+ required: true,
218
+ content: {
219
+ "application/json": {
220
+ schema: {
221
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)(`Update${pascalModelName}`, mode),
222
+ },
223
+ },
224
+ },
225
+ },
226
+ responses: {
227
+ "200": {
228
+ description: `${humanReadableNamePlural} updated successfully`,
229
+ content: {
230
+ "application/json": {
231
+ schema: {
232
+ type: "object",
233
+ properties: {
234
+ count: {
235
+ type: "integer",
236
+ description: "Number of records updated",
237
+ },
238
+ },
239
+ },
240
+ },
241
+ },
242
+ },
243
+ "400": {
244
+ description: "Invalid input data or missing filter criteria",
245
+ },
246
+ "401": {
247
+ description: "Authentication required",
248
+ },
249
+ "403": {
250
+ description: "Insufficient permissions",
251
+ },
252
+ },
253
+ security: [{ BearerAuth: [] }],
254
+ };
255
+ }
256
+ if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "deleteMany")) {
257
+ if (!paths[`/api/${routeName}/many`])
258
+ paths[`/api/${routeName}/many`] = {};
259
+ paths[`/api/${routeName}/many`].delete = {
260
+ tags: [humanReadableNamePlural],
261
+ summary: `Delete multiple ${humanReadableNamePlural}`,
262
+ description: `Deletes multiple ${humanReadableNamePlural} records that match the specified filter criteria`,
263
+ operationId: `deleteMany${pascalModelName}`,
264
+ parameters: [
265
+ {
266
+ name: "filter",
267
+ in: "query",
268
+ description: "Filter criteria in JSON format (required)",
269
+ required: true,
270
+ schema: {
271
+ type: "string",
272
+ },
273
+ },
274
+ ],
275
+ responses: {
276
+ "200": {
277
+ description: `${humanReadableNamePlural} deleted successfully`,
278
+ content: {
279
+ "application/json": {
280
+ schema: {
281
+ type: "object",
282
+ properties: {
283
+ count: {
284
+ type: "integer",
285
+ description: "Number of records deleted",
286
+ },
287
+ },
288
+ },
289
+ },
290
+ },
291
+ },
292
+ "400": {
293
+ description: "Missing filter criteria",
294
+ },
295
+ "401": {
296
+ description: "Authentication required",
297
+ },
298
+ "403": {
299
+ description: "Insufficient permissions",
300
+ },
301
+ },
302
+ security: [{ BearerAuth: [] }],
303
+ };
304
+ }
305
+ if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "findOne")) {
306
+ paths[`/api/${routeName}/{id}`] = {
307
+ get: {
308
+ tags: [humanReadableNamePlural],
309
+ summary: `Get ${humanReadableName} by ID`,
310
+ description: `Retrieves a single ${humanReadableName} record by its unique identifier`,
311
+ operationId: `get${pascalModelName}ById`,
312
+ parameters: [
313
+ {
314
+ name: "id",
315
+ in: "path",
316
+ description: `Unique identifier of the ${humanReadableName}`,
317
+ required: true,
318
+ schema: {
319
+ type: "string",
320
+ },
321
+ },
322
+ ],
323
+ responses: {
324
+ "200": {
325
+ description: `${humanReadableName} retrieved successfully`,
326
+ content: {
327
+ "application/json": {
328
+ schema: {
329
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)(`FindOne${pascalModelName}`, mode),
330
+ },
331
+ },
332
+ },
333
+ },
334
+ "401": {
335
+ description: "Authentication required",
336
+ },
337
+ "403": {
338
+ description: "Insufficient permissions",
339
+ },
340
+ "404": {
341
+ description: `${humanReadableName} not found`,
342
+ },
343
+ },
344
+ security: [{ BearerAuth: [] }],
345
+ },
346
+ };
347
+ }
348
+ if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "updateOne")) {
349
+ if (!paths[`/api/${routeName}/{id}`])
350
+ paths[`/api/${routeName}/{id}`] = {};
351
+ paths[`/api/${routeName}/{id}`].patch = {
352
+ tags: [humanReadableNamePlural],
353
+ summary: `Update ${humanReadableName} by ID`,
354
+ description: `Updates a single ${humanReadableName} record by its unique identifier`,
355
+ operationId: `update${pascalModelName}`,
356
+ parameters: [
357
+ {
358
+ name: "id",
359
+ in: "path",
360
+ description: `Unique identifier of the ${humanReadableName}`,
361
+ required: true,
362
+ schema: {
363
+ type: "string",
364
+ },
365
+ },
366
+ ],
367
+ requestBody: {
368
+ description: `Partial ${humanReadableName} data to update`,
369
+ required: true,
370
+ content: {
371
+ "application/json": {
372
+ schema: {
373
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)(`Update${pascalModelName}`, mode),
374
+ },
375
+ },
376
+ },
377
+ },
378
+ responses: {
379
+ "200": {
380
+ description: `${humanReadableName} updated successfully`,
381
+ content: {
382
+ "application/json": {
383
+ schema: {
384
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)(`${pascalModelName}`, mode),
385
+ },
386
+ },
387
+ },
388
+ },
389
+ "400": {
390
+ description: "Invalid input data provided",
391
+ },
392
+ "401": {
393
+ description: "Authentication required",
394
+ },
395
+ "403": {
396
+ description: "Insufficient permissions",
397
+ },
398
+ "404": {
399
+ description: `${humanReadableName} not found`,
400
+ },
401
+ },
402
+ security: [{ BearerAuth: [] }],
403
+ };
404
+ }
405
+ if (!(0, base_router_helpers_1.isEndpointDisabled)(routerConfig, "deleteOne")) {
406
+ if (!paths[`/api/${routeName}/{id}`])
407
+ paths[`/api/${routeName}/{id}`] = {};
408
+ paths[`/api/${routeName}/{id}`].delete = {
409
+ tags: [humanReadableNamePlural],
410
+ summary: `Delete ${humanReadableName} by ID`,
411
+ description: `Permanently deletes a single ${humanReadableName} record by its unique identifier`,
412
+ operationId: `delete${pascalModelName}`,
413
+ parameters: [
414
+ {
415
+ name: "id",
416
+ in: "path",
417
+ description: `Unique identifier of the ${humanReadableName}`,
418
+ required: true,
419
+ schema: {
420
+ type: "string",
421
+ },
422
+ },
423
+ ],
424
+ responses: {
425
+ "204": {
426
+ description: `${humanReadableName} deleted successfully`,
427
+ },
428
+ "401": {
429
+ description: "Authentication required",
430
+ },
431
+ "403": {
432
+ description: "Insufficient permissions",
433
+ },
434
+ "404": {
435
+ description: `${humanReadableName} not found`,
436
+ },
437
+ },
438
+ security: [{ BearerAuth: [] }],
439
+ };
440
+ }
441
+ }
442
+ //# sourceMappingURL=generate-prisma-model-main-routes.js.map