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