arkos 1.2.10-test → 1.2.11-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 (255) 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/base.service.js +2 -0
  11. package/dist/cjs/modules/base/base.service.js.map +1 -1
  12. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +41 -27
  13. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  14. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  15. package/dist/cjs/modules/error-handler/utils/catch-async.js +1 -1
  16. package/dist/cjs/modules/error-handler/utils/catch-async.js.map +1 -1
  17. package/dist/cjs/modules/swagger/swagger.router.js +14 -56
  18. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  19. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +250 -0
  20. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  21. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +66 -0
  22. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  23. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +41 -0
  24. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  25. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +22 -0
  26. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  27. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +30 -0
  28. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
  29. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +442 -0
  30. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
  31. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +165 -0
  32. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
  33. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +93 -0
  34. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  35. package/dist/cjs/server.js +2 -2
  36. package/dist/cjs/server.js.map +1 -1
  37. package/dist/cjs/types/arkos-config.js.map +1 -1
  38. package/dist/cjs/utils/cli/build.js +2 -19
  39. package/dist/cjs/utils/cli/build.js.map +1 -1
  40. package/dist/cjs/utils/cli/dev.js +16 -29
  41. package/dist/cjs/utils/cli/dev.js.map +1 -1
  42. package/dist/cjs/utils/cli/generate.js +6 -6
  43. package/dist/cjs/utils/cli/generate.js.map +1 -1
  44. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -3
  45. package/dist/cjs/utils/cli/utils/cli.helpers.js.map +1 -1
  46. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +33 -66
  47. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  48. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +16 -10
  49. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  50. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +5 -0
  51. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  52. package/dist/cjs/utils/helpers/fs.helpers.js +12 -5
  53. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  54. package/dist/cjs/utils/helpers/global.helpers.js +69 -2
  55. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  56. package/dist/cjs/utils/helpers/models.helpers.js +20 -44
  57. package/dist/cjs/utils/helpers/models.helpers.js.map +1 -1
  58. package/dist/cjs/utils/helpers/prisma.helpers.js +7 -4
  59. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  60. package/dist/cjs/utils/sheu.js +143 -0
  61. package/dist/cjs/utils/sheu.js.map +1 -0
  62. package/dist/esm/app.js +1 -0
  63. package/dist/esm/app.js.map +1 -0
  64. package/dist/{es2020 → esm}/exports/auth/index.js +1 -1
  65. package/dist/{es2020 → esm}/exports/controllers/index.js +2 -2
  66. package/dist/{es2020 → esm}/exports/error-handler/index.js +2 -2
  67. package/dist/{es2020 → esm}/exports/index.js +2 -2
  68. package/dist/{es2020 → esm}/exports/middlewares/index.js +1 -1
  69. package/dist/esm/exports/prisma/index.js +3 -0
  70. package/dist/{es2020 → esm}/exports/services/index.js +4 -4
  71. package/dist/esm/exports/utils/index.js +4 -0
  72. package/dist/esm/exports/validation/index.js +4 -0
  73. package/dist/{es2020 → esm}/modules/auth/auth.controller.js +7 -7
  74. package/dist/{es2020 → esm}/modules/auth/auth.router.js +6 -6
  75. package/dist/{es2020 → esm}/modules/auth/auth.service.js +6 -13
  76. package/dist/esm/modules/auth/auth.service.js.map +1 -0
  77. package/dist/{es2020 → esm}/modules/auth/utils/helpers/auth.controller.helpers.js +2 -2
  78. package/dist/{es2020 → esm}/modules/base/base.controller.js +18 -19
  79. package/dist/esm/modules/base/base.controller.js.map +1 -0
  80. package/dist/{es2020 → esm}/modules/base/base.middlewares.js +6 -6
  81. package/dist/{es2020 → esm}/modules/base/base.router.js +4 -4
  82. package/dist/esm/modules/base/base.router.js.map +1 -0
  83. package/dist/{es2020 → esm}/modules/base/base.service.js +8 -6
  84. package/dist/esm/modules/base/base.service.js.map +1 -0
  85. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.controller.helpers.js +1 -1
  86. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.middlewares.helpers.js +1 -1
  87. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.router.helpers.js +45 -33
  88. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -0
  89. package/dist/{es2020 → esm}/modules/base/utils/helpers/base.service.helpers.js +1 -1
  90. package/dist/{es2020 → esm}/modules/email/email.service.js +2 -2
  91. package/dist/{es2020 → esm}/modules/error-handler/error-handler.controller.js +3 -3
  92. package/dist/{es2020 → esm}/modules/error-handler/error-handler.controller.js.map +1 -1
  93. package/dist/{es2020 → esm}/modules/error-handler/utils/catch-async.js +1 -1
  94. package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -0
  95. package/dist/{es2020 → esm}/modules/error-handler/utils/error-handler.helpers.js +1 -1
  96. package/dist/{es2020 → esm}/modules/file-upload/file-upload.controller.js +7 -7
  97. package/dist/{es2020 → esm}/modules/file-upload/file-upload.router.js +5 -5
  98. package/dist/{es2020 → esm}/modules/file-upload/file-upload.service.js +5 -5
  99. package/dist/{es2020 → esm}/modules/file-upload/utils/helpers/file-upload.helpers.js +2 -2
  100. package/dist/{es2020 → esm}/modules/swagger/swagger.router.js +15 -57
  101. package/dist/esm/modules/swagger/swagger.router.js.map +1 -0
  102. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +247 -0
  103. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -0
  104. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +63 -0
  105. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -0
  106. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +38 -0
  107. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -0
  108. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +19 -0
  109. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -0
  110. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +24 -0
  111. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +1 -0
  112. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +436 -0
  113. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +1 -0
  114. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +159 -0
  115. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +1 -0
  116. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +83 -0
  117. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -0
  118. package/dist/esm/server.js +3 -0
  119. package/dist/esm/server.js.map +1 -0
  120. package/dist/esm/types/arkos-config.js.map +1 -0
  121. package/dist/{es2020 → esm}/utils/cli/build.js +4 -21
  122. package/dist/esm/utils/cli/build.js.map +1 -0
  123. package/dist/{es2020 → esm}/utils/cli/dev.js +20 -33
  124. package/dist/esm/utils/cli/dev.js.map +1 -0
  125. package/dist/{es2020 → esm}/utils/cli/generate.js +10 -10
  126. package/dist/{es2020 → esm}/utils/cli/generate.js.map +1 -1
  127. package/dist/{es2020 → esm}/utils/cli/index.js +5 -5
  128. package/dist/{es2020 → esm}/utils/cli/start.js +4 -4
  129. package/dist/esm/utils/cli/utils/cli.helpers.js +16 -0
  130. package/dist/esm/utils/cli/utils/cli.helpers.js.map +1 -0
  131. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +1 -1
  132. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-middlewares.js +34 -67
  133. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -0
  134. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +18 -12
  135. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -0
  136. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-router-template.js +6 -1
  137. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -0
  138. package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-service-template.js +2 -2
  139. package/dist/{es2020 → esm}/utils/cli/utils/template-generators.js +6 -6
  140. package/dist/{es2020 → esm}/utils/features/api.features.js +4 -4
  141. package/dist/{es2020 → esm}/utils/features/change-case.features.js +1 -1
  142. package/dist/{es2020 → esm}/utils/helpers/fs.helpers.js +12 -5
  143. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -0
  144. package/dist/esm/utils/helpers/global.helpers.js +65 -0
  145. package/dist/esm/utils/helpers/global.helpers.js.map +1 -0
  146. package/dist/{es2020 → esm}/utils/helpers/models.helpers.js +21 -12
  147. package/dist/esm/utils/helpers/models.helpers.js.map +1 -0
  148. package/dist/{es2020 → esm}/utils/helpers/prisma.helpers.js +11 -8
  149. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -0
  150. package/dist/esm/utils/sheu.js +141 -0
  151. package/dist/esm/utils/sheu.js.map +1 -0
  152. package/dist/{es2020 → esm}/utils/validate-dto.js +1 -1
  153. package/dist/{es2020 → esm}/utils/validate-schema.js +1 -1
  154. package/dist/types/modules/base/base.service.d.ts +1 -1
  155. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +4 -1
  156. package/dist/types/modules/swagger/swagger.router.d.ts +1 -1
  157. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +2 -0
  158. package/dist/types/modules/swagger/utils/helpers/get-system-json-schema-paths.d.ts +2 -0
  159. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +1 -0
  160. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +1 -0
  161. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.d.ts +1 -0
  162. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.d.ts +2 -0
  163. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.d.ts +2 -0
  164. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +7 -0
  165. package/dist/types/types/arkos-config.d.ts +7 -4
  166. package/dist/types/utils/cli/utils/cli.helpers.d.ts +1 -1
  167. package/dist/types/utils/helpers/global.helpers.d.ts +6 -1
  168. package/dist/types/utils/helpers/models.helpers.d.ts +10 -1
  169. package/dist/types/utils/sheu.d.ts +25 -0
  170. package/package.json +23 -29
  171. package/dist/es2020/app.js +0 -1
  172. package/dist/es2020/app.js.map +0 -1
  173. package/dist/es2020/exports/prisma/index.js +0 -3
  174. package/dist/es2020/exports/utils/index.js +0 -4
  175. package/dist/es2020/exports/validation/index.js +0 -4
  176. package/dist/es2020/modules/auth/auth.service.js.map +0 -1
  177. package/dist/es2020/modules/base/base.controller.js.map +0 -1
  178. package/dist/es2020/modules/base/base.router.js.map +0 -1
  179. package/dist/es2020/modules/base/base.service.js.map +0 -1
  180. package/dist/es2020/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
  181. package/dist/es2020/modules/error-handler/utils/catch-async.js.map +0 -1
  182. package/dist/es2020/modules/swagger/swagger.router.js.map +0 -1
  183. package/dist/es2020/server.js +0 -3
  184. package/dist/es2020/server.js.map +0 -1
  185. package/dist/es2020/types/arkos-config.js.map +0 -1
  186. package/dist/es2020/utils/cli/build.js.map +0 -1
  187. package/dist/es2020/utils/cli/dev.js.map +0 -1
  188. package/dist/es2020/utils/cli/utils/cli.helpers.js +0 -18
  189. package/dist/es2020/utils/cli/utils/cli.helpers.js.map +0 -1
  190. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +0 -1
  191. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
  192. package/dist/es2020/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
  193. package/dist/es2020/utils/helpers/fs.helpers.js.map +0 -1
  194. package/dist/es2020/utils/helpers/global.helpers.js +0 -4
  195. package/dist/es2020/utils/helpers/global.helpers.js.map +0 -1
  196. package/dist/es2020/utils/helpers/models.helpers.js.map +0 -1
  197. package/dist/es2020/utils/helpers/prisma.helpers.js.map +0 -1
  198. /package/dist/{es2020 → esm}/exports/auth/index.js.map +0 -0
  199. /package/dist/{es2020 → esm}/exports/controllers/index.js.map +0 -0
  200. /package/dist/{es2020 → esm}/exports/error-handler/index.js.map +0 -0
  201. /package/dist/{es2020 → esm}/exports/index.js.map +0 -0
  202. /package/dist/{es2020 → esm}/exports/middlewares/index.js.map +0 -0
  203. /package/dist/{es2020 → esm}/exports/prisma/index.js.map +0 -0
  204. /package/dist/{es2020 → esm}/exports/services/index.js.map +0 -0
  205. /package/dist/{es2020 → esm}/exports/utils/index.js.map +0 -0
  206. /package/dist/{es2020 → esm}/exports/validation/index.js.map +0 -0
  207. /package/dist/{es2020 → esm}/modules/auth/auth.controller.js.map +0 -0
  208. /package/dist/{es2020 → esm}/modules/auth/auth.router.js.map +0 -0
  209. /package/dist/{es2020 → esm}/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -0
  210. /package/dist/{es2020 → esm}/modules/base/base.middlewares.js.map +0 -0
  211. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.controller.helpers.js.map +0 -0
  212. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -0
  213. /package/dist/{es2020 → esm}/modules/base/utils/helpers/base.service.helpers.js.map +0 -0
  214. /package/dist/{es2020 → esm}/modules/email/email.service.js.map +0 -0
  215. /package/dist/{es2020 → esm}/modules/error-handler/utils/app-error.js +0 -0
  216. /package/dist/{es2020 → esm}/modules/error-handler/utils/app-error.js.map +0 -0
  217. /package/dist/{es2020 → esm}/modules/error-handler/utils/error-handler.helpers.js.map +0 -0
  218. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.controller.js.map +0 -0
  219. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.router.js.map +0 -0
  220. /package/dist/{es2020 → esm}/modules/file-upload/file-upload.service.js.map +0 -0
  221. /package/dist/{es2020 → esm}/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -0
  222. /package/dist/{es2020 → esm}/paths.js +0 -0
  223. /package/dist/{es2020 → esm}/paths.js.map +0 -0
  224. /package/dist/{es2020 → esm}/types/arkos-config.js +0 -0
  225. /package/dist/{es2020 → esm}/types/auth.js +0 -0
  226. /package/dist/{es2020 → esm}/types/auth.js.map +0 -0
  227. /package/dist/{es2020 → esm}/types/index.js +0 -0
  228. /package/dist/{es2020 → esm}/types/index.js.map +0 -0
  229. /package/dist/{es2020 → esm}/types/router-config.js +0 -0
  230. /package/dist/{es2020 → esm}/types/router-config.js.map +0 -0
  231. /package/dist/{es2020 → esm}/utils/arkos-env.js +0 -0
  232. /package/dist/{es2020 → esm}/utils/arkos-env.js.map +0 -0
  233. /package/dist/{es2020 → esm}/utils/cli/index.js.map +0 -0
  234. /package/dist/{es2020 → esm}/utils/cli/start.js.map +0 -0
  235. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -0
  236. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -0
  237. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -0
  238. /package/dist/{es2020 → esm}/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -0
  239. /package/dist/{es2020 → esm}/utils/cli/utils/template-generators.js.map +0 -0
  240. /package/dist/{es2020 → esm}/utils/dotenv.helpers.js +0 -0
  241. /package/dist/{es2020 → esm}/utils/dotenv.helpers.js.map +0 -0
  242. /package/dist/{es2020 → esm}/utils/features/api.features.js.map +0 -0
  243. /package/dist/{es2020 → esm}/utils/features/change-case.features.js.map +0 -0
  244. /package/dist/{es2020 → esm}/utils/helpers/api.features.helpers.js +0 -0
  245. /package/dist/{es2020 → esm}/utils/helpers/api.features.helpers.js.map +0 -0
  246. /package/dist/{es2020 → esm}/utils/helpers/change-case.helpers.js +0 -0
  247. /package/dist/{es2020 → esm}/utils/helpers/change-case.helpers.js.map +0 -0
  248. /package/dist/{es2020 → esm}/utils/helpers/deepmerge.helper.js +0 -0
  249. /package/dist/{es2020 → esm}/utils/helpers/deepmerge.helper.js.map +0 -0
  250. /package/dist/{es2020 → esm}/utils/helpers/query-parser.helpers.js +0 -0
  251. /package/dist/{es2020 → esm}/utils/helpers/query-parser.helpers.js.map +0 -0
  252. /package/dist/{es2020 → esm}/utils/helpers/text.helpers.js +0 -0
  253. /package/dist/{es2020 → esm}/utils/helpers/text.helpers.js.map +0 -0
  254. /package/dist/{es2020 → esm}/utils/validate-dto.js.map +0 -0
  255. /package/dist/{es2020 → esm}/utils/validate-schema.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"swagger.router.js","sourceRoot":"","sources":["../../../../src/modules/swagger/swagger.router.ts"],"names":[],"mappings":"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","sourcesContent":["import { Router } from \"express\";\nimport swaggerUi from \"swagger-ui-express\";\nimport swaggerJsdoc from \"swagger-jsdoc\";\nimport { ArkosConfig } from \"../../types/arkos-config\";\nimport deepmerge from \"../../utils/helpers/deepmerge.helper\";\n\nconst swaggerRouter = Router();\n\n// Helper function to generate schemas based on mode\nfunction generateSchemasByMode(swaggerConfig: ArkosConfig[\"swagger\"]) {\n const schemas: Record<string, any> = {};\n\n switch (swaggerConfig!.mode) {\n case \"prisma\":\n // In a real implementation, you'd generate schemas from Prisma models\n // This would require additional logic to parse Prisma schema files\n break;\n\n case \"class-validator\":\n // Generate schemas from class-validator decorators\n // This would require reflection or build-time generation\n break;\n\n case \"zod\":\n // Generate schemas from Zod definitions\n // This could be done through custom transformations\n break;\n\n case \"json-schema\":\n default:\n // Use manually defined JSON schemas\n // This is the default behavior with JSDoc comments\n break;\n }\n\n return schemas;\n}\n\nexport function getSwaggerRouter(arkosConfig: ArkosConfig): Router {\n // Default swagger configuration\n const defaultSwaggerConfig: ArkosConfig[\"swagger\"] = {\n endpoint: \"/docs\",\n mode: \"json-schema\",\n options: {\n definition: {\n openapi: \"3.0.0\",\n info: {\n title: \"Generated By Arkos.js\",\n version: \"1.0.0\",\n description:\n \"This API was automatically generated by Arkos.js read more about at www.arkosjs.com\",\n },\n servers: [\n {\n url: `http://${arkosConfig.host}:${arkosConfig.port}`,\n description: \"Local server\",\n },\n ],\n components: {\n schemas: {},\n securitySchemes: {\n BearerAuth: {\n type: \"http\",\n scheme: \"bearer\",\n bearerFormat: \"JWT\",\n },\n ApiKeyAuth: {\n type: \"apiKey\",\n in: \"header\",\n name: \"X-API-Key\",\n },\n },\n },\n security: [],\n },\n apis: [\n \"./src/routers/*.router.{ts,js}\",\n \"./src/modules/**/*.router.{ts,js}\",\n ],\n swaggerUiOptions: {\n explorer: true,\n customCss: `\n .swagger-ui .topbar { display: none; }\n .swagger-ui .info { margin: 20px 0; }\n `,\n swaggerOptions: {\n filter: true,\n displayRequestDuration: true,\n showExtensions: true,\n showCommonExtensions: true,\n },\n },\n deepLinking: true,\n tryItOutEnabled: true,\n persistAuthorization: false,\n },\n };\n\n // Merge default config with user config\n const swaggerConfigs = deepmerge(\n defaultSwaggerConfig,\n arkosConfig.swagger || {}\n );\n\n // Generate additional schemas based on mode\n const modeSchemas = generateSchemasByMode(swaggerConfigs);\n\n // Merge mode-generated schemas with existing schemas\n if (swaggerConfigs.options.definition.components?.schemas) {\n swaggerConfigs.options.definition.components.schemas = {\n ...swaggerConfigs.options.definition.components.schemas,\n ...modeSchemas,\n };\n }\n\n // Generate OpenAPI specification using swagger-jsdoc\n const swaggerSpecification = swaggerJsdoc({\n definition: swaggerConfigs.options\n .definition as swaggerJsdoc.SwaggerDefinition,\n apis: swaggerConfigs.options.apis || [],\n });\n\n // Setup Swagger UI options\n const swaggerUiOptions = {\n explorer: swaggerConfigs.options.swaggerUiOptions?.explorer ?? true,\n customCss: swaggerConfigs.options.swaggerUiOptions?.customCss,\n customSiteTitle:\n swaggerConfigs.options.swaggerUiOptions?.customSiteTitle ||\n \"API Documentation\",\n customfavIcon: swaggerConfigs.options.swaggerUiOptions?.customfavIcon,\n swaggerOptions: {\n filter:\n swaggerConfigs.options.swaggerUiOptions?.swaggerOptions?.filter ?? true,\n displayRequestDuration:\n swaggerConfigs.options.swaggerUiOptions?.swaggerOptions\n ?.displayRequestDuration ?? true,\n deepLinking: swaggerConfigs.options.deepLinking ?? true,\n tryItOutEnabled: swaggerConfigs.options.tryItOutEnabled ?? true,\n persistAuthorization:\n swaggerConfigs.options.persistAuthorization ?? false,\n showExtensions:\n swaggerConfigs.options.swaggerUiOptions?.swaggerOptions\n ?.showExtensions ?? true,\n showCommonExtensions:\n swaggerConfigs.options.swaggerUiOptions?.swaggerOptions\n ?.showCommonExtensions ?? true,\n ...swaggerConfigs.options.swaggerUiOptions?.swaggerOptions,\n },\n };\n\n // Serve Swagger UI static assets\n swaggerRouter.use(swaggerConfigs.endpoint!, swaggerUi.serve);\n\n // Serve Swagger documentation\n swaggerRouter.get(\n swaggerConfigs.endpoint!,\n swaggerUi.setup(swaggerSpecification, swaggerUiOptions)\n );\n\n // Serve raw OpenAPI spec as JSON\n swaggerRouter.get(`${swaggerConfigs.endpoint}/json`, (req, res) => {\n res.setHeader(\"Content-Type\", \"application/json\");\n res.json(swaggerSpecification);\n });\n\n // Serve raw OpenAPI spec as YAML (optional)\n swaggerRouter.get(`${swaggerConfigs.endpoint}/yaml`, (req, res) => {\n const yaml = require(\"js-yaml\");\n res.setHeader(\"Content-Type\", \"text/yaml\");\n res.send(yaml.dump(swaggerSpecification));\n });\n\n // Health check endpoint for Swagger itself\n swaggerRouter.get(`${swaggerConfigs.endpoint}/health`, (req, res) => {\n res.json({\n status: \"ok\",\n swagger: {\n version: swaggerConfigs.options.definition.openapi,\n title: swaggerConfigs.options.definition.info?.title,\n endpoint: swaggerConfigs.endpoint,\n mode: swaggerConfigs.mode,\n },\n });\n });\n\n return swaggerRouter;\n}\n"]}
1
+ {"version":3,"file":"swagger.router.js","sourceRoot":"","sources":["../../../../src/modules/swagger/swagger.router.ts"],"names":[],"mappings":"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","sourcesContent":["import { Router } from \"express\";\nimport swaggerUi from \"swagger-ui-express\";\nimport swaggerJsdoc from \"swagger-jsdoc\";\nimport { ArkosConfig } from \"../../types/arkos-config\";\nimport deepmerge from \"../../utils/helpers/deepmerge.helper\";\nimport {\n generatePathsForModels,\n getOpenAPIJsonSchemasByConfigMode,\n} from \"./utils/helpers/swagger.router.helpers\";\n\nconst swaggerRouter = Router();\n\nexport async function getSwaggerRouter(\n arkosConfig: ArkosConfig\n): Promise<Router> {\n const defaultJsonSchemas = await getOpenAPIJsonSchemasByConfigMode(\n arkosConfig.swagger\n );\n const defaultModelsPaths = await generatePathsForModels(arkosConfig.swagger);\n\n const defaultSwaggerConfig: ArkosConfig[\"swagger\"] = {\n endpoint: \"/api-docs\",\n mode: \"prisma\",\n options: {\n definition: {\n openapi: \"3.0.0\",\n info: {\n title: \"Powered By Arkos.js\",\n version: \"1.0.0\",\n description:\n \"This API was automatically generated by Arkos.js, read more about at www.arkosjs.com\",\n },\n servers: [\n {\n url: `http://${arkosConfig.host}:${arkosConfig.port}`,\n description: \"Development server\",\n },\n ],\n paths: defaultModelsPaths,\n components: {\n schemas: defaultJsonSchemas || {},\n securitySchemes: {\n BearerAuth: {\n type: \"http\",\n scheme: \"bearer\",\n bearerFormat: \"JWT\",\n },\n },\n },\n security: [],\n },\n apis: [\n \"./src/routers/*.router.{ts,js}\",\n \"./src/modules/**/*.router.{ts,js}\",\n ],\n swaggerUiOptions: {\n explorer: true,\n swaggerOptions: {\n filter: true,\n displayRequestDuration: true,\n showExtensions: true,\n showCommonExtensions: true,\n },\n },\n deepLinking: true,\n tryItOutEnabled: true,\n persistAuthorization: false,\n },\n };\n\n // Merge default config with user config\n const swaggerConfigs = deepmerge(\n defaultSwaggerConfig,\n arkosConfig.swagger || {}\n );\n\n // Merge mode-generated schemas with existing schemas\n if (swaggerConfigs?.options?.definition?.components?.schemas) {\n swaggerConfigs.options.definition.components.schemas = {\n ...swaggerConfigs?.options?.definition?.components.schemas,\n };\n }\n\n // Generate OpenAPI specification using swagger-jsdoc\n const swaggerSpecification = swaggerJsdoc({\n definition: swaggerConfigs.options\n .definition as swaggerJsdoc.SwaggerDefinition,\n apis: swaggerConfigs.options.apis || [],\n });\n\n // Setup Swagger UI options\n const swaggerUiOptions = {\n explorer: swaggerConfigs.options.swaggerUiOptions?.explorer ?? true,\n customCss: swaggerConfigs.options.swaggerUiOptions?.customCss,\n customSiteTitle:\n swaggerConfigs.options.swaggerUiOptions?.customSiteTitle ||\n \"Arkos.js API Documentation\",\n customfavIcon: swaggerConfigs.options.swaggerUiOptions?.customfavIcon,\n swaggerOptions: {\n filter:\n swaggerConfigs.options.swaggerUiOptions?.swaggerOptions?.filter ?? true,\n displayRequestDuration:\n swaggerConfigs.options.swaggerUiOptions?.swaggerOptions\n ?.displayRequestDuration ?? true,\n deepLinking: swaggerConfigs.options.deepLinking ?? true,\n tryItOutEnabled: swaggerConfigs.options.tryItOutEnabled ?? true,\n persistAuthorization:\n swaggerConfigs.options.persistAuthorization ?? false,\n showExtensions:\n swaggerConfigs.options.swaggerUiOptions?.swaggerOptions\n ?.showExtensions ?? true,\n showCommonExtensions:\n swaggerConfigs.options.swaggerUiOptions?.swaggerOptions\n ?.showCommonExtensions ?? true,\n ...swaggerConfigs.options.swaggerUiOptions?.swaggerOptions,\n },\n };\n\n // Serve Swagger UI static assets\n swaggerRouter.use(swaggerConfigs.endpoint!, swaggerUi.serve);\n\n // Serve Swagger documentation\n swaggerRouter.get(\n swaggerConfigs.endpoint!,\n swaggerUi.setup(swaggerSpecification, swaggerUiOptions)\n );\n\n // Serve raw OpenAPI spec as JSON\n // swaggerRouter.get(`${swaggerConfigs.endpoint}/json`, (req, res) => {\n // res.setHeader(\"Content-Type\", \"application/json\");\n // res.json(swaggerSpecification);\n // });\n\n // // Serve raw OpenAPI spec as YAML (optional)\n // swaggerRouter.get(`${swaggerConfigs.endpoint}/yaml`, (req, res) => {\n // const yaml = require(\"js-yaml\");\n // res.setHeader(\"Content-Type\", \"text/yaml\");\n // res.send(yaml.dump(swaggerSpecification));\n // });\n\n // // Health check endpoint for Swagger itself\n // swaggerRouter.get(`${swaggerConfigs.endpoint}/health`, (req, res) => {\n // res.json({\n // status: \"ok\",\n // swagger: {\n // version: swaggerConfigs?.options?.definition?.openapi,\n // title: swaggerConfigs?.options?.definition?.info?.title,\n // endpoint: swaggerConfigs.endpoint,\n // mode: swaggerConfigs.mode,\n // },\n // });\n // });\n\n return swaggerRouter;\n}\n"]}
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAuthenticationJsonSchemaPaths = getAuthenticationJsonSchemaPaths;
4
+ const swagger_router_helpers_1 = require("./swagger.router.helpers");
5
+ const server_1 = require("../../../../server");
6
+ function getAuthenticationJsonSchemaPaths() {
7
+ const mode = (0, server_1.getArkosConfig)().swagger?.mode;
8
+ const paths = {};
9
+ if (!mode)
10
+ return paths;
11
+ paths["/api/auth/login"] = {
12
+ post: {
13
+ tags: ["Authentication"],
14
+ summary: "Login to the system",
15
+ description: "Authenticates a user and returns an access token",
16
+ operationId: "login",
17
+ requestBody: {
18
+ description: "User credentials",
19
+ required: true,
20
+ content: {
21
+ "application/json": {
22
+ schema: {
23
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)("Login", mode),
24
+ },
25
+ },
26
+ },
27
+ },
28
+ responses: {
29
+ "200": {
30
+ description: "Login successful",
31
+ content: {
32
+ "application/json": {
33
+ schema: {
34
+ type: "object",
35
+ properties: {
36
+ accessToken: {
37
+ type: "string",
38
+ description: "JWT access token",
39
+ },
40
+ },
41
+ },
42
+ },
43
+ },
44
+ },
45
+ "400": {
46
+ description: "Invalid input data",
47
+ },
48
+ "401": {
49
+ description: "Invalid credentials",
50
+ },
51
+ },
52
+ },
53
+ };
54
+ paths["/api/auth/logout"] = {
55
+ delete: {
56
+ tags: ["Authentication"],
57
+ summary: "Logout from the system",
58
+ description: "Invalidates the current user's JWT token",
59
+ operationId: "logout",
60
+ security: [{ BearerAuth: [] }],
61
+ responses: {
62
+ "204": {
63
+ description: "Logout successful",
64
+ },
65
+ "401": {
66
+ description: "Authentication required",
67
+ },
68
+ },
69
+ },
70
+ };
71
+ paths["/api/auth/signup"] = {
72
+ post: {
73
+ tags: ["Authentication"],
74
+ summary: "Register a new user",
75
+ description: "Creates a new user account",
76
+ operationId: "signup",
77
+ requestBody: {
78
+ description: "User registration data",
79
+ required: true,
80
+ content: {
81
+ "application/json": {
82
+ schema: {
83
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)("Signup", mode),
84
+ },
85
+ },
86
+ },
87
+ },
88
+ responses: {
89
+ "201": {
90
+ description: "User created successfully",
91
+ content: {
92
+ "application/json": {
93
+ schema: {
94
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)("User", mode),
95
+ },
96
+ },
97
+ },
98
+ },
99
+ "400": {
100
+ description: "Invalid input data",
101
+ },
102
+ "409": {
103
+ description: "User already exists",
104
+ },
105
+ },
106
+ },
107
+ };
108
+ paths["/api/auth/update-password"] = {
109
+ post: {
110
+ tags: ["Authentication"],
111
+ summary: "Update user password",
112
+ description: "Changes the password for the authenticated user",
113
+ operationId: "updatePassword",
114
+ security: [{ BearerAuth: [] }],
115
+ requestBody: {
116
+ description: "Current and new password",
117
+ required: true,
118
+ content: {
119
+ "application/json": {
120
+ schema: {
121
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)("UpdatePassword", mode),
122
+ },
123
+ },
124
+ },
125
+ },
126
+ responses: {
127
+ "200": {
128
+ description: "Password updated successfully",
129
+ content: {
130
+ "application/json": {
131
+ schema: {
132
+ type: "object",
133
+ properties: {
134
+ status: {
135
+ type: "string",
136
+ example: "success",
137
+ },
138
+ message: {
139
+ type: "string",
140
+ example: "Password updated successfully!",
141
+ },
142
+ },
143
+ },
144
+ },
145
+ },
146
+ },
147
+ "400": {
148
+ description: "Invalid input data or current password incorrect",
149
+ },
150
+ "401": {
151
+ description: "Authentication required",
152
+ },
153
+ },
154
+ },
155
+ };
156
+ paths["/users/me"] = {
157
+ get: {
158
+ tags: ["Users"],
159
+ summary: "Get current user information",
160
+ description: "Retrieves information about the currently authenticated user",
161
+ operationId: "getCurrentUser",
162
+ security: [{ BearerAuth: [] }],
163
+ responses: {
164
+ "200": {
165
+ description: "User information retrieved successfully",
166
+ content: {
167
+ "application/json": {
168
+ schema: {
169
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)("FindMe", mode),
170
+ },
171
+ },
172
+ },
173
+ },
174
+ "401": {
175
+ description: "Authentication required",
176
+ },
177
+ },
178
+ },
179
+ };
180
+ paths["/users/me"] = {
181
+ patch: {
182
+ tags: ["Users"],
183
+ summary: "Update current user information",
184
+ description: "Updates information for the currently authenticated user",
185
+ operationId: "updateCurrentUser",
186
+ security: [{ BearerAuth: [] }],
187
+ requestBody: {
188
+ description: "User data to update",
189
+ required: true,
190
+ content: {
191
+ "application/json": {
192
+ schema: {
193
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)("UpdateMe", mode),
194
+ },
195
+ },
196
+ },
197
+ },
198
+ responses: {
199
+ "200": {
200
+ description: "User updated successfully",
201
+ content: {
202
+ "application/json": {
203
+ schema: {
204
+ $ref: (0, swagger_router_helpers_1.getSchemaRef)("User", mode),
205
+ },
206
+ },
207
+ },
208
+ },
209
+ "400": {
210
+ description: "Invalid input data",
211
+ },
212
+ "401": {
213
+ description: "Authentication required",
214
+ },
215
+ },
216
+ },
217
+ };
218
+ paths["/users/me"] = {
219
+ delete: {
220
+ tags: ["Users"],
221
+ summary: "Delete current user account",
222
+ description: "Marks the current user's account as deleted",
223
+ operationId: "deleteCurrentUser",
224
+ security: [{ BearerAuth: [] }],
225
+ responses: {
226
+ "200": {
227
+ description: "Account deleted successfully",
228
+ content: {
229
+ "application/json": {
230
+ schema: {
231
+ type: "object",
232
+ properties: {
233
+ message: {
234
+ type: "string",
235
+ example: "Account deleted successfully",
236
+ },
237
+ },
238
+ },
239
+ },
240
+ },
241
+ },
242
+ "401": {
243
+ description: "Authentication required",
244
+ },
245
+ },
246
+ },
247
+ };
248
+ return paths;
249
+ }
250
+ //# 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,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSystemJsonSchemaPaths = getSystemJsonSchemaPaths;
4
+ function getSystemJsonSchemaPaths() {
5
+ const paths = {};
6
+ paths["/api/available-resources"] = {
7
+ get: {
8
+ tags: ["System"],
9
+ summary: "Get available resources",
10
+ description: "Returns a comprehensive list of all available API resource endpoints",
11
+ operationId: "getAvailableResources",
12
+ responses: {
13
+ "200": {
14
+ description: "List of available resources retrieved successfully",
15
+ content: {
16
+ "application/json": {
17
+ schema: {
18
+ type: "object",
19
+ properties: {
20
+ data: {
21
+ type: "array",
22
+ items: {
23
+ type: "string",
24
+ },
25
+ description: "Array of available resource endpoints",
26
+ },
27
+ },
28
+ },
29
+ },
30
+ },
31
+ },
32
+ },
33
+ },
34
+ };
35
+ paths["/api/available-routes"] = {
36
+ get: {
37
+ tags: ["System"],
38
+ summary: "Get available routes",
39
+ description: "Returns a comprehensive list of all registered API routes and their methods",
40
+ operationId: "getAvailableRoutes",
41
+ responses: {
42
+ "200": {
43
+ description: "List of available routes retrieved successfully",
44
+ content: {
45
+ "application/json": {
46
+ schema: {
47
+ type: "object",
48
+ properties: {
49
+ routes: {
50
+ type: "array",
51
+ items: {
52
+ type: "string",
53
+ },
54
+ description: "Array of available API routes",
55
+ },
56
+ },
57
+ },
58
+ },
59
+ },
60
+ },
61
+ },
62
+ },
63
+ };
64
+ return paths;
65
+ }
66
+ //# sourceMappingURL=get-system-json-schema-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-system-json-schema-paths.js","sourceRoot":"","sources":["../../../../../../src/modules/swagger/utils/helpers/get-system-json-schema-paths.ts"],"names":[],"mappings":";;AAEA,4DAkEC;AAlED,SAAgB,wBAAwB;IACtC,MAAM,KAAK,GAA0B,EAAE,CAAC;IAExC,KAAK,CAAC,0BAA0B,CAAC,GAAG;QAClC,GAAG,EAAE;YACH,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,yBAAyB;YAClC,WAAW,EACT,sEAAsE;YACxE,WAAW,EAAE,uBAAuB;YACpC,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,WAAW,EAAE,oDAAoD;oBACjE,OAAO,EAAE;wBACP,kBAAkB,EAAE;4BAClB,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,IAAI,EAAE;wCACJ,IAAI,EAAE,OAAO;wCACb,KAAK,EAAE;4CACL,IAAI,EAAE,QAAQ;yCACf;wCACD,WAAW,EAAE,uCAAuC;qCACrD;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;IAEF,KAAK,CAAC,uBAAuB,CAAC,GAAG;QAC/B,GAAG,EAAE;YACH,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,sBAAsB;YAC/B,WAAW,EACT,6EAA6E;YAC/E,WAAW,EAAE,oBAAoB;YACjC,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,WAAW,EAAE,iDAAiD;oBAC9D,OAAO,EAAE;wBACP,kBAAkB,EAAE;4BAClB,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,MAAM,EAAE;wCACN,IAAI,EAAE,OAAO;wCACb,KAAK,EAAE;4CACL,IAAI,EAAE,QAAQ;yCACf;wCACD,WAAW,EAAE,+BAA+B;qCAC7C;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { OpenAPIV3 } from \"openapi-types\";\n\nexport function getSystemJsonSchemaPaths() {\n const paths: OpenAPIV3.PathsObject = {};\n\n paths[\"/api/available-resources\"] = {\n get: {\n tags: [\"System\"],\n summary: \"Get available resources\",\n description:\n \"Returns a comprehensive list of all available API resource endpoints\",\n operationId: \"getAvailableResources\",\n responses: {\n \"200\": {\n description: \"List of available resources retrieved successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n data: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description: \"Array of available resource endpoints\",\n },\n },\n },\n },\n },\n },\n },\n },\n };\n\n paths[\"/api/available-routes\"] = {\n get: {\n tags: [\"System\"],\n summary: \"Get available routes\",\n description:\n \"Returns a comprehensive list of all registered API routes and their methods\",\n operationId: \"getAvailableRoutes\",\n responses: {\n \"200\": {\n description: \"List of available routes retrieved successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n routes: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n description: \"Array of available API routes\",\n },\n },\n },\n },\n },\n },\n },\n },\n };\n\n return paths;\n}\n"]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateClassValidatorJsonSchemas = generateClassValidatorJsonSchemas;
4
+ const class_validator_jsonschema_1 = require("class-validator-jsonschema");
5
+ const global_helpers_1 = require("../../../../../utils/helpers/global.helpers");
6
+ const class_validator_1 = require("class-validator");
7
+ const models_helpers_1 = require("../../../../../utils/helpers/models.helpers");
8
+ const swagger_router_helpers_1 = require("../swagger.router.helpers");
9
+ async function generateClassValidatorJsonSchemas() {
10
+ const models = (0, models_helpers_1.getModels)();
11
+ const schemas = {};
12
+ const { defaultMetadataStorage } = await (0, global_helpers_1.importModule)("class-transformer/cjs/storage.js");
13
+ const jsonSchema = (0, class_validator_jsonschema_1.validationMetadatasToSchemas)({
14
+ classValidatorMetadataStorage: (0, class_validator_1.getMetadataStorage)(),
15
+ classTransformerMetadataStorage: defaultMetadataStorage,
16
+ refPointerPrefix: "#/components/schemas/",
17
+ });
18
+ Object.entries(jsonSchema).forEach(([className, schema]) => {
19
+ schemas[className] = schema;
20
+ });
21
+ models.forEach((modelName) => {
22
+ const modelModules = (0, models_helpers_1.getModelModules)(modelName);
23
+ if (modelModules?.dtos) {
24
+ Object.entries(modelModules.dtos).forEach(([dtoType, dtoClass]) => {
25
+ if (dtoClass) {
26
+ try {
27
+ const schemaName = (0, swagger_router_helpers_1.getCorrectJsonSchemaName)(dtoType, modelName, "Dto");
28
+ schemas[schemaName] = jsonSchema[dtoClass.name] || {};
29
+ if (schemas[dtoClass.name])
30
+ delete schemas[dtoClass.name];
31
+ }
32
+ catch (error) {
33
+ console.warn(`Failed to generate schema for ${dtoType} ${modelName}:`, error);
34
+ }
35
+ }
36
+ });
37
+ }
38
+ });
39
+ return schemas;
40
+ }
41
+ //# sourceMappingURL=generate-class-validator-json-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-class-validator-json-schemas.js","sourceRoot":"","sources":["../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.ts"],"names":[],"mappings":";;AASA,8EA4CC;AArDD,2EAA0E;AAC1E,gFAA2E;AAC3E,qDAAqD;AACrD,gFAGqD;AACrD,sEAAqE;AAE9D,KAAK,UAAU,iCAAiC;IACrD,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;IAC3B,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,IAAA,6BAAY,EACnD,kCAAkC,CACnC,CAAC;IAEF,MAAM,UAAU,GAAG,IAAA,yDAA4B,EAAC;QAC9C,6BAA6B,EAAE,IAAA,oCAAkB,GAAE;QACnD,+BAA+B,EAAE,sBAAsB;QACvD,gBAAgB,EAAE,uBAAuB;KAC1C,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;QACzD,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3B,MAAM,YAAY,GAAG,IAAA,gCAAe,EAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,YAAY,EAAE,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE;gBAChE,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,IAAA,iDAAwB,EACzC,OAAO,EACP,SAAS,EACT,KAAK,CACN,CAAC;wBACF,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACtD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;4BAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC5D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CACV,iCAAiC,OAAO,IAAI,SAAS,GAAG,EACxD,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { validationMetadatasToSchemas } from \"class-validator-jsonschema\";\nimport { importModule } from \"../../../../../utils/helpers/global.helpers\";\nimport { getMetadataStorage } from \"class-validator\";\nimport {\n getModelModules,\n getModels,\n} from \"../../../../../utils/helpers/models.helpers\";\nimport { getCorrectJsonSchemaName } from \"../swagger.router.helpers\";\n\nexport async function generateClassValidatorJsonSchemas() {\n const models = getModels();\n const schemas: Record<string, any> = {};\n\n const { defaultMetadataStorage } = await importModule(\n \"class-transformer/cjs/storage.js\"\n );\n\n const jsonSchema = validationMetadatasToSchemas({\n classValidatorMetadataStorage: getMetadataStorage(),\n classTransformerMetadataStorage: defaultMetadataStorage,\n refPointerPrefix: \"#/components/schemas/\",\n });\n\n Object.entries(jsonSchema).forEach(([className, schema]) => {\n schemas[className] = schema;\n });\n\n models.forEach((modelName) => {\n const modelModules = getModelModules(modelName);\n\n if (modelModules?.dtos) {\n Object.entries(modelModules.dtos).forEach(([dtoType, dtoClass]) => {\n if (dtoClass) {\n try {\n const schemaName = getCorrectJsonSchemaName(\n dtoType,\n modelName,\n \"Dto\"\n );\n schemas[schemaName] = jsonSchema[dtoClass.name] || {};\n if (schemas[dtoClass.name]) delete schemas[dtoClass.name];\n } catch (error) {\n console.warn(\n `Failed to generate schema for ${dtoType} ${modelName}:`,\n error\n );\n }\n }\n });\n }\n });\n\n return schemas;\n}\n"]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generatePrismaJsonSchemas = generatePrismaJsonSchemas;
4
+ const utils_1 = require("../../../../../exports/utils");
5
+ const models_helpers_1 = require("../../../../../utils/helpers/models.helpers");
6
+ async function generatePrismaJsonSchemas() {
7
+ const schemas = {};
8
+ const prismaContent = (0, models_helpers_1.getPrismaSchemasContent)();
9
+ const models = (0, models_helpers_1.getModels)();
10
+ models.forEach((modelName) => {
11
+ const pascalModelName = (0, utils_1.pascalCase)(modelName);
12
+ schemas[`Create${pascalModelName}Schema`] = {
13
+ type: "object",
14
+ properties: {},
15
+ };
16
+ schemas[`Update${pascalModelName}Schema`] = {
17
+ type: "object",
18
+ properties: {},
19
+ };
20
+ });
21
+ }
22
+ //# sourceMappingURL=generate-prisma-json-schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-prisma-json-schemas.js","sourceRoot":"","sources":["../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.ts"],"names":[],"mappings":";;AAMA,8DAsBC;AA5BD,wDAA0D;AAC1D,gFAGqD;AAE9C,KAAK,UAAU,yBAAyB;IAC7C,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,IAAA,wCAAuB,GAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;IAE3B,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3B,MAAM,eAAe,GAAG,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC;QAE9C,OAAO,CAAC,SAAS,eAAe,QAAQ,CAAC,GAAG;YAC1C,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAEX;SACF,CAAC;QAEF,OAAO,CAAC,SAAS,eAAe,QAAQ,CAAC,GAAG;YAC1C,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAEX;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { pascalCase } from \"../../../../../exports/utils\";\nimport {\n getModels,\n getPrismaSchemasContent,\n} from \"../../../../../utils/helpers/models.helpers\";\n\nexport async function generatePrismaJsonSchemas() {\n const schemas: Record<string, any> = {};\n const prismaContent = getPrismaSchemasContent();\n const models = getModels();\n\n models.forEach((modelName) => {\n const pascalModelName = pascalCase(modelName);\n\n schemas[`Create${pascalModelName}Schema`] = {\n type: \"object\",\n properties: {\n // Omit auto-generated fields like id, createdAt, updatedAt\n },\n };\n\n schemas[`Update${pascalModelName}Schema`] = {\n type: \"object\",\n properties: {\n // Make all fields optional for updates\n },\n };\n });\n}\n"]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateZodJsonSchemas = generateZodJsonSchemas;
7
+ const models_helpers_1 = require("../../../../../utils/helpers/models.helpers");
8
+ const zod_to_json_schema_1 = __importDefault(require("zod-to-json-schema"));
9
+ const swagger_router_helpers_1 = require("../swagger.router.helpers");
10
+ async function generateZodJsonSchemas() {
11
+ const models = [...(0, models_helpers_1.getModels)(), "file-upload", "auth"];
12
+ const schemas = {};
13
+ models.forEach((modelName) => {
14
+ const modelModules = (0, models_helpers_1.getModelModules)(modelName);
15
+ if (modelModules?.schemas)
16
+ Object.entries(modelModules.schemas).forEach(([schemaType, zodSchema]) => {
17
+ if (zodSchema)
18
+ try {
19
+ const jsonSchema = (0, zod_to_json_schema_1.default)(zodSchema);
20
+ const schemaName = (0, swagger_router_helpers_1.getCorrectJsonSchemaName)(schemaType, modelName, "Schema");
21
+ schemas[schemaName] = jsonSchema;
22
+ }
23
+ catch (error) {
24
+ console.warn(`Failed to generate schema for ${schemaType} ${modelName}:`, error);
25
+ }
26
+ });
27
+ });
28
+ return schemas;
29
+ }
30
+ //# sourceMappingURL=generate-zod-json-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-zod-json-schema.js","sourceRoot":"","sources":["../../../../../../../src/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.ts"],"names":[],"mappings":";;;;;AAOA,wDA8BC;AArCD,gFAGqD;AACrD,4EAAiD;AACjD,sEAAqE;AAE9D,KAAK,UAAU,sBAAsB;IAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAA,0BAAS,GAAE,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3B,MAAM,YAAY,GAAG,IAAA,gCAAe,EAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,YAAY,EAAE,OAAO;YACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAC1C,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE;gBAC1B,IAAI,SAAS;oBACX,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,IAAA,4BAAe,EAAC,SAAS,CAAC,CAAC;wBAC9C,MAAM,UAAU,GAAG,IAAA,iDAAwB,EACzC,UAAU,EACV,SAAS,EACT,QAAQ,CACT,CAAC;wBACF,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;oBACnC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CACV,iCAAiC,UAAU,IAAI,SAAS,GAAG,EAC3D,KAAK,CACN,CAAC;oBACJ,CAAC;YACL,CAAC,CACF,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import {\n getModelModules,\n getModels,\n} from \"../../../../../utils/helpers/models.helpers\";\nimport zodToJsonSchema from \"zod-to-json-schema\";\nimport { getCorrectJsonSchemaName } from \"../swagger.router.helpers\";\n\nexport async function generateZodJsonSchemas() {\n const models = [...getModels(), \"file-upload\", \"auth\"];\n const schemas: Record<string, any> = {};\n\n models.forEach((modelName) => {\n const modelModules = getModelModules(modelName);\n\n if (modelModules?.schemas)\n Object.entries(modelModules.schemas).forEach(\n ([schemaType, zodSchema]) => {\n if (zodSchema)\n try {\n const jsonSchema = zodToJsonSchema(zodSchema);\n const schemaName = getCorrectJsonSchemaName(\n schemaType,\n modelName,\n \"Schema\"\n );\n schemas[schemaName] = jsonSchema;\n } catch (error) {\n console.warn(\n `Failed to generate schema for ${schemaType} ${modelName}:`,\n error\n );\n }\n }\n );\n });\n\n return schemas;\n}\n"]}