arkos 1.2.7-test → 1.2.8-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 (247) 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.service.js +0 -7
  6. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  7. package/dist/cjs/modules/base/base.controller.js +11 -12
  8. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  9. package/dist/cjs/modules/base/base.router.js.map +1 -1
  10. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +41 -27
  11. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  12. package/dist/cjs/modules/error-handler/error-handler.controller.js +1 -0
  13. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  14. package/dist/cjs/modules/swagger/swagger.router.js +14 -56
  15. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  16. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +250 -0
  17. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  18. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +66 -0
  19. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  20. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +41 -0
  21. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  22. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +22 -0
  23. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  24. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +30 -0
  25. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
  26. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +442 -0
  27. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
  28. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +165 -0
  29. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
  30. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +93 -0
  31. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  32. package/dist/cjs/server.js +2 -2
  33. package/dist/cjs/server.js.map +1 -1
  34. package/dist/cjs/types/arkos-config.js.map +1 -1
  35. package/dist/cjs/utils/cli/build.js +2 -19
  36. package/dist/cjs/utils/cli/build.js.map +1 -1
  37. package/dist/cjs/utils/cli/dev.js +6 -3
  38. package/dist/cjs/utils/cli/dev.js.map +1 -1
  39. package/dist/cjs/utils/cli/generate.js +6 -6
  40. package/dist/cjs/utils/cli/generate.js.map +1 -1
  41. package/dist/cjs/utils/cli/utils/cli.helpers.js +10 -1
  42. package/dist/cjs/utils/cli/utils/cli.helpers.js.map +1 -1
  43. package/dist/cjs/utils/features/api.features.js +1 -0
  44. package/dist/cjs/utils/features/api.features.js.map +1 -1
  45. package/dist/cjs/utils/helpers/fs.helpers.js +12 -5
  46. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  47. package/dist/cjs/utils/helpers/global.helpers.js +59 -2
  48. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  49. package/dist/cjs/utils/helpers/models.helpers.js +20 -44
  50. package/dist/cjs/utils/helpers/models.helpers.js.map +1 -1
  51. package/dist/cjs/utils/sheu.js +143 -0
  52. package/dist/cjs/utils/sheu.js.map +1 -0
  53. package/dist/esm/app.js +1 -0
  54. package/dist/esm/app.js.map +1 -0
  55. package/dist/{es2020 → esm}/exports/auth/index.js +1 -1
  56. package/dist/{es2020 → esm}/exports/controllers/index.js +2 -2
  57. package/dist/{es2020 → esm}/exports/error-handler/index.js +2 -2
  58. package/dist/{es2020 → esm}/exports/index.js +2 -2
  59. package/dist/{es2020 → esm}/exports/middlewares/index.js +1 -1
  60. package/dist/esm/exports/prisma/index.js +3 -0
  61. package/dist/{es2020 → esm}/exports/services/index.js +4 -4
  62. package/dist/esm/exports/utils/index.js +4 -0
  63. package/dist/esm/exports/validation/index.js +4 -0
  64. package/dist/{es2020 → esm}/modules/auth/auth.controller.js +7 -7
  65. package/dist/{es2020 → esm}/modules/auth/auth.router.js +6 -6
  66. package/dist/{es2020 → esm}/modules/auth/auth.service.js +6 -13
  67. package/dist/esm/modules/auth/auth.service.js.map +1 -0
  68. package/dist/{es2020 → esm}/modules/auth/utils/helpers/auth.controller.helpers.js +2 -2
  69. package/dist/{es2020 → esm}/modules/base/base.controller.js +18 -19
  70. package/dist/esm/modules/base/base.controller.js.map +1 -0
  71. package/dist/{es2020 → esm}/modules/base/base.middlewares.js +6 -6
  72. package/dist/{es2020 → esm}/modules/base/base.router.js +4 -4
  73. package/dist/esm/modules/base/base.router.js.map +1 -0
  74. package/dist/{es2020 → esm}/modules/base/base.service.js +6 -6
  75. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.controller.helpers.js +1 -1
  76. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.middlewares.helpers.js +1 -1
  77. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.router.helpers.js +45 -33
  78. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -0
  79. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.service.helpers.js +1 -1
  80. package/dist/{es2020 → esm}/modules/email/email.service.js +2 -2
  81. package/dist/{es2020 → esm}/modules/error-handler/error-handler.controller.js +4 -3
  82. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -0
  83. package/dist/{es2020 → esm}/modules/error-handler/utils/error-handler.helpers.js +1 -1
  84. package/dist/{es2020 → esm}/modules/file-upload/file-upload.controller.js +7 -7
  85. package/dist/{es2020 → esm}/modules/file-upload/file-upload.router.js +5 -5
  86. package/dist/{es2020 → esm}/modules/file-upload/file-upload.service.js +5 -5
  87. package/dist/{es2020 → esm}/modules/file-upload/utils/helpers/file-upload.helpers.js +2 -2
  88. package/dist/{es2020 → esm}/modules/swagger/swagger.router.js +15 -57
  89. package/dist/esm/modules/swagger/swagger.router.js.map +1 -0
  90. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +247 -0
  91. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  92. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +63 -0
  93. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  94. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +38 -0
  95. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  96. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +19 -0
  97. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  98. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +24 -0
  99. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
  100. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +436 -0
  101. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
  102. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +159 -0
  103. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
  104. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +83 -0
  105. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  106. package/dist/esm/server.js +3 -0
  107. package/dist/esm/server.js.map +1 -0
  108. package/dist/esm/types/arkos-config.js.map +1 -0
  109. package/dist/{es2020 → esm}/utils/cli/build.js +4 -21
  110. package/dist/esm/utils/cli/build.js.map +1 -0
  111. package/dist/{es2020 → esm}/utils/cli/dev.js +10 -7
  112. package/dist/esm/utils/cli/dev.js.map +1 -0
  113. package/dist/{es2020 → esm}/utils/cli/generate.js +10 -10
  114. package/dist/{es2020 → esm}/utils/cli/generate.js.map +1 -1
  115. package/dist/{es2020 → esm}/utils/cli/index.js +5 -5
  116. package/dist/{es2020 → esm}/utils/cli/start.js +4 -4
  117. package/dist/esm/utils/cli/utils/cli.helpers.js +27 -0
  118. package/dist/esm/utils/cli/utils/cli.helpers.js.map +1 -0
  119. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +1 -1
  120. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-middlewares.js +1 -1
  121. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +2 -2
  122. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-router-template.js +1 -1
  123. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-service-template.js +2 -2
  124. package/dist/{es2020 → esm}/utils/cli/utils/template-generators.js +6 -6
  125. package/dist/{es2020 → esm}/utils/features/api.features.js +5 -4
  126. package/dist/esm/utils/features/api.features.js.map +1 -0
  127. package/dist/{es2020 → esm}/utils/features/change-case.features.js +1 -1
  128. package/dist/{es2020 → esm}/utils/helpers/fs.helpers.js +12 -5
  129. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -0
  130. package/dist/esm/utils/helpers/global.helpers.js +55 -0
  131. package/dist/esm/utils/helpers/global.helpers.js.map +1 -0
  132. package/dist/{es2020 → esm}/utils/helpers/models.helpers.js +21 -12
  133. package/dist/esm/utils/helpers/models.helpers.js.map +1 -0
  134. package/dist/{es2020 → esm}/utils/helpers/prisma.helpers.js +4 -4
  135. package/dist/esm/utils/sheu.js +141 -0
  136. package/dist/esm/utils/sheu.js.map +1 -0
  137. package/dist/{es2020 → esm}/utils/validate-dto.js +1 -1
  138. package/dist/{es2020 → esm}/utils/validate-schema.js +1 -1
  139. package/dist/types/modules/auth/auth.controller.d.ts +7 -7
  140. package/dist/types/modules/auth/auth.service.d.ts +1 -1
  141. package/dist/types/modules/base/base.controller.d.ts +9 -9
  142. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +4 -1
  143. package/dist/types/modules/error-handler/utils/catch-async.d.ts +1 -1
  144. package/dist/types/modules/file-upload/file-upload.controller.d.ts +4 -4
  145. package/dist/types/modules/swagger/swagger.router.d.ts +1 -1
  146. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +2 -0
  147. package/dist/types/modules/swagger/utils/helpers/get-system-json-schema-paths.d.ts +2 -0
  148. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +1 -0
  149. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +1 -0
  150. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.d.ts +1 -0
  151. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.d.ts +2 -0
  152. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.d.ts +2 -0
  153. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +7 -0
  154. package/dist/types/types/arkos-config.d.ts +7 -4
  155. package/dist/types/utils/features/api.features.d.ts +1 -1
  156. package/dist/types/utils/helpers/global.helpers.d.ts +6 -1
  157. package/dist/types/utils/helpers/models.helpers.d.ts +10 -1
  158. package/dist/types/utils/helpers/prisma.helpers.d.ts +1 -1
  159. package/dist/types/utils/sheu.d.ts +25 -0
  160. package/package.json +23 -19
  161. package/dist/es2020/app.js +0 -1
  162. package/dist/es2020/app.js.map +0 -1
  163. package/dist/es2020/exports/prisma/index.js +0 -3
  164. package/dist/es2020/exports/utils/index.js +0 -4
  165. package/dist/es2020/exports/validation/index.js +0 -4
  166. package/dist/es2020/modules/auth/auth.service.js.map +0 -1
  167. package/dist/es2020/modules/base/base.controller.js.map +0 -1
  168. package/dist/es2020/modules/base/base.router.js.map +0 -1
  169. package/dist/es2020/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
  170. package/dist/es2020/modules/error-handler/error-handler.controller.js.map +0 -1
  171. package/dist/es2020/modules/swagger/swagger.router.js.map +0 -1
  172. package/dist/es2020/server.js +0 -3
  173. package/dist/es2020/server.js.map +0 -1
  174. package/dist/es2020/types/arkos-config.js.map +0 -1
  175. package/dist/es2020/utils/cli/build.js.map +0 -1
  176. package/dist/es2020/utils/cli/dev.js.map +0 -1
  177. package/dist/es2020/utils/cli/utils/cli.helpers.js +0 -18
  178. package/dist/es2020/utils/cli/utils/cli.helpers.js.map +0 -1
  179. package/dist/es2020/utils/features/api.features.js.map +0 -1
  180. package/dist/es2020/utils/helpers/fs.helpers.js.map +0 -1
  181. package/dist/es2020/utils/helpers/global.helpers.js +0 -4
  182. package/dist/es2020/utils/helpers/global.helpers.js.map +0 -1
  183. package/dist/es2020/utils/helpers/models.helpers.js.map +0 -1
  184. /package/dist/{es2020 → esm}/exports/auth/index.js.map +0 -0
  185. /package/dist/{es2020 → esm}/exports/controllers/index.js.map +0 -0
  186. /package/dist/{es2020 → esm}/exports/error-handler/index.js.map +0 -0
  187. /package/dist/{es2020 → esm}/exports/index.js.map +0 -0
  188. /package/dist/{es2020 → esm}/exports/middlewares/index.js.map +0 -0
  189. /package/dist/{es2020 → esm}/exports/prisma/index.js.map +0 -0
  190. /package/dist/{es2020 → esm}/exports/services/index.js.map +0 -0
  191. /package/dist/{es2020 → esm}/exports/utils/index.js.map +0 -0
  192. /package/dist/{es2020 → esm}/exports/validation/index.js.map +0 -0
  193. /package/dist/{es2020 → esm}/modules/auth/auth.controller.js.map +0 -0
  194. /package/dist/{es2020 → esm}/modules/auth/auth.router.js.map +0 -0
  195. /package/dist/{es2020 → esm}/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -0
  196. /package/dist/{es2020 → esm}/modules/base/base.middlewares.js.map +0 -0
  197. /package/dist/{es2020 → esm}/modules/base/base.service.js.map +0 -0
  198. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.controller.helpers.js.map +0 -0
  199. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -0
  200. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.service.helpers.js.map +0 -0
  201. /package/dist/{es2020 → esm}/modules/email/email.service.js.map +0 -0
  202. /package/dist/{es2020 → esm}/modules/error-handler/utils/app-error.js +0 -0
  203. /package/dist/{es2020 → esm}/modules/error-handler/utils/app-error.js.map +0 -0
  204. /package/dist/{es2020 → esm}/modules/error-handler/utils/catch-async.js +0 -0
  205. /package/dist/{es2020 → esm}/modules/error-handler/utils/catch-async.js.map +0 -0
  206. /package/dist/{es2020 → esm}/modules/error-handler/utils/error-handler.helpers.js.map +0 -0
  207. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.controller.js.map +0 -0
  208. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.router.js.map +0 -0
  209. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.service.js.map +0 -0
  210. /package/dist/{es2020 → esm}/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -0
  211. /package/dist/{es2020 → esm}/paths.js +0 -0
  212. /package/dist/{es2020 → esm}/paths.js.map +0 -0
  213. /package/dist/{es2020 → esm}/types/arkos-config.js +0 -0
  214. /package/dist/{es2020 → esm}/types/auth.js +0 -0
  215. /package/dist/{es2020 → esm}/types/auth.js.map +0 -0
  216. /package/dist/{es2020 → esm}/types/index.js +0 -0
  217. /package/dist/{es2020 → esm}/types/index.js.map +0 -0
  218. /package/dist/{es2020 → esm}/types/router-config.js +0 -0
  219. /package/dist/{es2020 → esm}/types/router-config.js.map +0 -0
  220. /package/dist/{es2020 → esm}/utils/arkos-env.js +0 -0
  221. /package/dist/{es2020 → esm}/utils/arkos-env.js.map +0 -0
  222. /package/dist/{es2020 → esm}/utils/cli/index.js.map +0 -0
  223. /package/dist/{es2020 → esm}/utils/cli/start.js.map +0 -0
  224. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -0
  225. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -0
  226. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -0
  227. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +0 -0
  228. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -0
  229. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -0
  230. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -0
  231. /package/dist/{es2020 → esm}/utils/cli/utils/template-generators.js.map +0 -0
  232. /package/dist/{es2020 → esm}/utils/dotenv.helpers.js +0 -0
  233. /package/dist/{es2020 → esm}/utils/dotenv.helpers.js.map +0 -0
  234. /package/dist/{es2020 → esm}/utils/features/change-case.features.js.map +0 -0
  235. /package/dist/{es2020 → esm}/utils/helpers/api.features.helpers.js +0 -0
  236. /package/dist/{es2020 → esm}/utils/helpers/api.features.helpers.js.map +0 -0
  237. /package/dist/{es2020 → esm}/utils/helpers/change-case.helpers.js +0 -0
  238. /package/dist/{es2020 → esm}/utils/helpers/change-case.helpers.js.map +0 -0
  239. /package/dist/{es2020 → esm}/utils/helpers/deepmerge.helper.js +0 -0
  240. /package/dist/{es2020 → esm}/utils/helpers/deepmerge.helper.js.map +0 -0
  241. /package/dist/{es2020 → esm}/utils/helpers/prisma.helpers.js.map +0 -0
  242. /package/dist/{es2020 → esm}/utils/helpers/query-parser.helpers.js +0 -0
  243. /package/dist/{es2020 → esm}/utils/helpers/query-parser.helpers.js.map +0 -0
  244. /package/dist/{es2020 → esm}/utils/helpers/text.helpers.js +0 -0
  245. /package/dist/{es2020 → esm}/utils/helpers/text.helpers.js.map +0 -0
  246. /package/dist/{es2020 → esm}/utils/validate-dto.js.map +0 -0
  247. /package/dist/{es2020 → esm}/utils/validate-schema.js.map +0 -0
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-prisma-model-main-routes.js","sourceRoot":"","sources":["../../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.ts"],"names":[],"mappings":"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","sourcesContent":["import { OpenAPIV3 } from \"openapi-types\";\nimport { getSchemaRef } from \"../../swagger.router.helpers\";\nimport pluralize from \"pluralize\";\nimport { isEndpointDisabled } from \"../../../../../base/utils/helpers/base.router.helpers\";\n\nexport async function generatePrismaModelMainRoutesPaths(\n paths: OpenAPIV3.PathsObject,\n routeName: string,\n pascalModelName: string,\n humanReadableName: string,\n humanReadableNamePlural: string,\n routerConfig: any,\n mode: string\n) {\n // Create One\n if (!isEndpointDisabled(routerConfig, \"createOne\")) {\n if (!paths[`/api/${routeName}`]) paths[`/api/${routeName}`] = {};\n paths[`/api/${routeName}`]!.post = {\n tags: [humanReadableNamePlural],\n summary: `Create a new ${humanReadableName}`,\n description: `Creates a new ${humanReadableName} record in the system`,\n operationId: `create${pascalModelName}`,\n requestBody: {\n description: `${humanReadableName} data to create`,\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`Create${pascalModelName}`, mode),\n },\n },\n },\n },\n responses: {\n \"201\": {\n description: `${humanReadableName} created successfully`,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`${pascalModelName}`, mode),\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data provided\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n\n // Find Many\n if (!isEndpointDisabled(routerConfig, \"findMany\")) {\n if (!paths[`/api/${routeName}`]) paths[`/api/${routeName}`] = {};\n paths[`/api/${routeName}`]!.get = {\n tags: [humanReadableNamePlural],\n summary: `Get ${humanReadableNamePlural}`,\n description: `Retrieves a paginated list of ${humanReadableNamePlural} with optional filtering and sorting`,\n operationId: `get${pluralize.plural(pascalModelName)}`,\n parameters: [\n {\n name: \"filter\",\n in: \"query\",\n description: \"Filter criteria in JSON format\",\n schema: {\n type: \"string\",\n },\n },\n {\n name: \"sort\",\n in: \"query\",\n description: \"Sort field (prefix with '-' for descending order)\",\n schema: {\n type: \"string\",\n },\n },\n {\n name: \"page\",\n in: \"query\",\n description: \"Page number (starts from 1)\",\n schema: {\n type: \"integer\",\n minimum: 1,\n },\n },\n {\n name: \"limit\",\n in: \"query\",\n description: \"Number of items per page\",\n schema: {\n type: \"integer\",\n minimum: 1,\n maximum: 100,\n },\n },\n {\n name: \"fields\",\n in: \"query\",\n description: \"Comma-separated list of fields to include in response\",\n schema: {\n type: \"string\",\n },\n },\n ],\n responses: {\n \"200\": {\n description: `List of ${humanReadableNamePlural} retrieved successfully`,\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n total: {\n type: \"integer\",\n description:\n \"Total number of records matching the criteria\",\n },\n results: {\n type: \"integer\",\n description: \"Number of records returned in current page\",\n },\n data: {\n type: \"array\",\n items: {\n $ref: getSchemaRef(`FindMany${pascalModelName}`, mode),\n },\n },\n },\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n\n // Create Many\n if (!isEndpointDisabled(routerConfig, \"createMany\")) {\n paths[`/api/${routeName}/many`] = {\n post: {\n tags: [humanReadableNamePlural],\n summary: `Create multiple ${humanReadableNamePlural}`,\n description: `Creates multiple ${humanReadableNamePlural} records in a single batch operation`,\n operationId: `createMany${pascalModelName}`,\n requestBody: {\n description: `Array of ${humanReadableName} data to create`,\n required: true,\n content: {\n \"application/json\": {\n schema: {\n type: \"array\",\n items: {\n $ref: getSchemaRef(`Create${pascalModelName}`, mode),\n },\n },\n },\n },\n },\n responses: {\n \"201\": {\n description: `${humanReadableNamePlural} created successfully`,\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n count: {\n type: \"integer\",\n description: \"Number of records created\",\n },\n },\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data provided\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n security: [{ BearerAuth: [] }],\n },\n };\n }\n\n // Update Many\n if (!isEndpointDisabled(routerConfig, \"updateMany\")) {\n if (!paths[`/api/${routeName}/many`]) paths[`/api/${routeName}/many`] = {};\n paths[`/api/${routeName}/many`]!.patch = {\n tags: [humanReadableNamePlural],\n summary: `Update multiple ${humanReadableNamePlural}`,\n description: `Updates multiple ${humanReadableNamePlural} records that match the specified filter criteria`,\n operationId: `updateMany${pascalModelName}`,\n parameters: [\n {\n name: \"filter\",\n in: \"query\",\n description: \"Filter criteria in JSON format (required)\",\n required: true,\n schema: {\n type: \"string\",\n },\n },\n ],\n requestBody: {\n description: `Partial ${humanReadableName} data to update`,\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`Update${pascalModelName}`, mode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: `${humanReadableNamePlural} updated successfully`,\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n count: {\n type: \"integer\",\n description: \"Number of records updated\",\n },\n },\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data or missing filter criteria\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n\n // Delete Many\n if (!isEndpointDisabled(routerConfig, \"deleteMany\")) {\n if (!paths[`/api/${routeName}/many`]) paths[`/api/${routeName}/many`] = {};\n paths[`/api/${routeName}/many`]!.delete = {\n tags: [humanReadableNamePlural],\n summary: `Delete multiple ${humanReadableNamePlural}`,\n description: `Deletes multiple ${humanReadableNamePlural} records that match the specified filter criteria`,\n operationId: `deleteMany${pascalModelName}`,\n parameters: [\n {\n name: \"filter\",\n in: \"query\",\n description: \"Filter criteria in JSON format (required)\",\n required: true,\n schema: {\n type: \"string\",\n },\n },\n ],\n responses: {\n \"200\": {\n description: `${humanReadableNamePlural} deleted successfully`,\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n count: {\n type: \"integer\",\n description: \"Number of records deleted\",\n },\n },\n },\n },\n },\n },\n \"400\": {\n description: \"Missing filter criteria\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n\n // Find One\n if (!isEndpointDisabled(routerConfig, \"findOne\")) {\n paths[`/api/${routeName}/{id}`] = {\n get: {\n tags: [humanReadableNamePlural],\n summary: `Get ${humanReadableName} by ID`,\n description: `Retrieves a single ${humanReadableName} record by its unique identifier`,\n operationId: `get${pascalModelName}ById`,\n parameters: [\n {\n name: \"id\",\n in: \"path\",\n description: `Unique identifier of the ${humanReadableName}`,\n required: true,\n schema: {\n type: \"string\",\n },\n },\n ],\n responses: {\n \"200\": {\n description: `${humanReadableName} retrieved successfully`,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`FindOne${pascalModelName}`, mode),\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n \"404\": {\n description: `${humanReadableName} not found`,\n },\n },\n security: [{ BearerAuth: [] }],\n },\n };\n }\n\n // Update One\n if (!isEndpointDisabled(routerConfig, \"updateOne\")) {\n if (!paths[`/api/${routeName}/{id}`]) paths[`/api/${routeName}/{id}`] = {};\n paths[`/api/${routeName}/{id}`]!.patch = {\n tags: [humanReadableNamePlural],\n summary: `Update ${humanReadableName} by ID`,\n description: `Updates a single ${humanReadableName} record by its unique identifier`,\n operationId: `update${pascalModelName}`,\n parameters: [\n {\n name: \"id\",\n in: \"path\",\n description: `Unique identifier of the ${humanReadableName}`,\n required: true,\n schema: {\n type: \"string\",\n },\n },\n ],\n requestBody: {\n description: `Partial ${humanReadableName} data to update`,\n required: true,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`Update${pascalModelName}`, mode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: `${humanReadableName} updated successfully`,\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(`${pascalModelName}`, mode),\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data provided\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n \"404\": {\n description: `${humanReadableName} not found`,\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n\n // Delete One\n if (!isEndpointDisabled(routerConfig, \"deleteOne\")) {\n if (!paths[`/api/${routeName}/{id}`]) paths[`/api/${routeName}/{id}`] = {};\n paths[`/api/${routeName}/{id}`]!.delete = {\n tags: [humanReadableNamePlural],\n summary: `Delete ${humanReadableName} by ID`,\n description: `Permanently deletes a single ${humanReadableName} record by its unique identifier`,\n operationId: `delete${pascalModelName}`,\n parameters: [\n {\n name: \"id\",\n in: \"path\",\n description: `Unique identifier of the ${humanReadableName}`,\n required: true,\n schema: {\n type: \"string\",\n },\n },\n ],\n responses: {\n \"204\": {\n description: `${humanReadableName} deleted successfully`,\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n \"404\": {\n description: `${humanReadableName} not found`,\n },\n },\n security: [{ BearerAuth: [] }],\n };\n }\n}\n"]}
@@ -0,0 +1,165 @@
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.generatePrismaModelParentRoutePaths = generatePrismaModelParentRoutePaths;
7
+ const pluralize_1 = __importDefault(require("pluralize"));
8
+ const utils_1 = require("../../../../../../exports/utils");
9
+ const swagger_router_helpers_1 = require("../../swagger.router.helpers");
10
+ const base_router_helpers_1 = require("../../../../../base/utils/helpers/base.router.helpers");
11
+ async function generatePrismaModelParentRoutePaths(paths, routeName, pascalModelName, humanReadableName, humanReadableNamePlural, routerConfig, mode) {
12
+ const parentModel = routerConfig.parent.model;
13
+ const parentRouteName = pluralize_1.default.plural((0, utils_1.kebabCase)(parentModel));
14
+ const parentHumanName = (0, swagger_router_helpers_1.kebabToHuman)((0, utils_1.kebabCase)(parentModel));
15
+ if ((0, base_router_helpers_1.isParentEndpointAllowed)(routerConfig, "createOne")) {
16
+ paths[`/api/${parentRouteName}/{id}/${routeName}`] = {
17
+ post: {
18
+ tags: [humanReadableNamePlural],
19
+ summary: `Create ${humanReadableName} for ${parentHumanName}`,
20
+ description: `Creates a new ${humanReadableName} record associated with the specified ${parentHumanName}`,
21
+ operationId: `create${pascalModelName}For${(0, utils_1.pascalCase)(parentModel)}`,
22
+ parameters: [
23
+ {
24
+ name: "id",
25
+ in: "path",
26
+ description: `Unique identifier of the ${parentHumanName}`,
27
+ required: true,
28
+ schema: {
29
+ type: "string",
30
+ },
31
+ },
32
+ ],
33
+ requestBody: {
34
+ description: `${humanReadableName} data to create`,
35
+ required: true,
36
+ content: {
37
+ "application/json": {
38
+ schema: {
39
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)(`Create${pascalModelName}`, mode),
40
+ },
41
+ },
42
+ },
43
+ },
44
+ responses: {
45
+ "201": {
46
+ description: `${humanReadableName} created successfully`,
47
+ content: {
48
+ "application/json": {
49
+ schema: {
50
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)(`${pascalModelName}`, mode),
51
+ },
52
+ },
53
+ },
54
+ },
55
+ "400": {
56
+ description: "Invalid input data provided",
57
+ },
58
+ "401": {
59
+ description: "Authentication required",
60
+ },
61
+ "403": {
62
+ description: "Insufficient permissions",
63
+ },
64
+ "404": {
65
+ description: `${parentHumanName} not found`,
66
+ },
67
+ },
68
+ security: [{ BearerAuth: [] }],
69
+ },
70
+ };
71
+ }
72
+ if ((0, base_router_helpers_1.isParentEndpointAllowed)(routerConfig, "findMany")) {
73
+ if (!paths[`/api/${parentRouteName}/{id}/${routeName}`])
74
+ paths[`/api/${parentRouteName}/{id}/${routeName}`] = {};
75
+ paths[`/api/${parentRouteName}/{id}/${routeName}`].get = {
76
+ tags: [humanReadableNamePlural],
77
+ summary: `Get ${humanReadableNamePlural} for ${parentHumanName}`,
78
+ description: `Retrieves all ${humanReadableNamePlural} associated with the specified ${parentHumanName}`,
79
+ operationId: `get${pluralize_1.default.plural(pascalModelName)}For${(0, utils_1.pascalCase)(parentModel)}`,
80
+ parameters: [
81
+ {
82
+ name: "id",
83
+ in: "path",
84
+ description: `Unique identifier of the ${parentHumanName}`,
85
+ required: true,
86
+ schema: {
87
+ type: "string",
88
+ },
89
+ },
90
+ {
91
+ name: "filter",
92
+ in: "query",
93
+ description: "Additional filter criteria in JSON format",
94
+ schema: {
95
+ type: "string",
96
+ },
97
+ },
98
+ {
99
+ name: "sort",
100
+ in: "query",
101
+ description: "Sort field (prefix with '-' for descending order)",
102
+ schema: {
103
+ type: "string",
104
+ },
105
+ },
106
+ {
107
+ name: "page",
108
+ in: "query",
109
+ description: "Page number (starts from 1)",
110
+ schema: {
111
+ type: "integer",
112
+ minimum: 1,
113
+ },
114
+ },
115
+ {
116
+ name: "limit",
117
+ in: "query",
118
+ description: "Number of items per page",
119
+ schema: {
120
+ type: "integer",
121
+ },
122
+ },
123
+ ],
124
+ responses: {
125
+ "200": {
126
+ description: `List of ${humanReadableNamePlural} retrieved successfully`,
127
+ content: {
128
+ "application/json": {
129
+ schema: {
130
+ type: "object",
131
+ properties: {
132
+ total: {
133
+ type: "integer",
134
+ description: "Total number of records",
135
+ },
136
+ results: {
137
+ type: "integer",
138
+ description: "Number of records in current page",
139
+ },
140
+ data: {
141
+ type: "array",
142
+ items: {
143
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)(`${pascalModelName}`, mode),
144
+ },
145
+ },
146
+ },
147
+ },
148
+ },
149
+ },
150
+ },
151
+ "401": {
152
+ description: "Authentication required",
153
+ },
154
+ "403": {
155
+ description: "Insufficient permissions",
156
+ },
157
+ "404": {
158
+ description: `${parentHumanName} not found`,
159
+ },
160
+ },
161
+ security: [{ BearerAuth: [] }],
162
+ };
163
+ }
164
+ }
165
+ //# sourceMappingURL=generate-prisma-model-parent-routes.js.map