arkos 1.4.0-canary.9 → 1.4.0-canary.91

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 (384) hide show
  1. package/cli.js +3 -5
  2. package/dist/cjs/app.js +104 -72
  3. package/dist/cjs/app.js.map +1 -1
  4. package/dist/cjs/exports/index.js.map +1 -1
  5. package/dist/cjs/exports/services/index.js +6 -1
  6. package/dist/cjs/exports/services/index.js.map +1 -1
  7. package/dist/cjs/modules/auth/auth.controller.js +9 -25
  8. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  9. package/dist/cjs/modules/auth/auth.router.js +23 -24
  10. package/dist/cjs/modules/auth/auth.router.js.map +1 -1
  11. package/dist/cjs/modules/auth/auth.service.js +35 -11
  12. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  13. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +16 -10
  14. package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +1 -1
  15. package/dist/cjs/modules/base/base.controller.js +3 -4
  16. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  17. package/dist/cjs/modules/base/base.middlewares.js +34 -8
  18. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  19. package/dist/cjs/modules/base/base.router.js +4 -3
  20. package/dist/cjs/modules/base/base.router.js.map +1 -1
  21. package/dist/cjs/modules/base/base.service.js +68 -66
  22. package/dist/cjs/modules/base/base.service.js.map +1 -1
  23. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +18 -41
  24. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  25. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +22 -6
  26. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  27. package/dist/cjs/modules/debugger/debugger.service.js +11 -4
  28. package/dist/cjs/modules/debugger/debugger.service.js.map +1 -1
  29. package/dist/cjs/modules/debugger/utils/loaded-components-logger.js +1 -1
  30. package/dist/cjs/modules/debugger/utils/loaded-components-logger.js.map +1 -1
  31. package/dist/cjs/modules/email/email.service.js +7 -5
  32. package/dist/cjs/modules/email/email.service.js.map +1 -1
  33. package/dist/cjs/modules/error-handler/error-handler.controller.js +22 -15
  34. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  35. package/dist/cjs/modules/error-handler/utils/app-error.js +4 -3
  36. package/dist/cjs/modules/error-handler/utils/app-error.js.map +1 -1
  37. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +1 -1
  38. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  39. package/dist/cjs/modules/file-upload/file-upload.controller.js +5 -6
  40. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
  41. package/dist/cjs/modules/file-upload/file-upload.router.js +17 -6
  42. package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
  43. package/dist/cjs/modules/file-upload/file-upload.service.js +38 -48
  44. package/dist/cjs/modules/file-upload/file-upload.service.js.map +1 -1
  45. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js +134 -0
  46. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js.map +1 -0
  47. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +10 -5
  48. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -1
  49. package/dist/cjs/modules/swagger/swagger.router.js +14 -6
  50. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  51. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js +53 -0
  52. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +1 -0
  53. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +10 -10
  54. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  55. package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +419 -0
  56. package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +1 -0
  57. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +3 -3
  58. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -1
  59. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +4 -6
  60. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  61. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +4 -4
  62. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  63. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -1
  64. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -1
  65. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +9 -9
  66. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -1
  67. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +9 -9
  68. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -1
  69. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +6 -8
  70. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
  71. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js +204 -0
  72. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -0
  73. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +9 -9
  74. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  75. package/dist/cjs/server.js +33 -36
  76. package/dist/cjs/server.js.map +1 -1
  77. package/dist/cjs/types/arkos-config.js.map +1 -1
  78. package/dist/cjs/types/auth.js.map +1 -1
  79. package/dist/cjs/types/index.js.map +1 -1
  80. package/dist/cjs/types/new-arkos-config.js +3 -0
  81. package/dist/cjs/types/new-arkos-config.js.map +1 -0
  82. package/dist/cjs/types/router-config.js.map +1 -1
  83. package/dist/cjs/utils/arkos-router/index.js +93 -38
  84. package/dist/cjs/utils/arkos-router/index.js.map +1 -1
  85. package/dist/cjs/utils/arkos-router/route-config-validator.js +9 -8
  86. package/dist/cjs/utils/arkos-router/route-config-validator.js.map +1 -1
  87. package/dist/cjs/utils/arkos-router/types/body-parser-config.js +3 -0
  88. package/dist/cjs/utils/arkos-router/types/body-parser-config.js.map +1 -0
  89. package/dist/cjs/utils/arkos-router/types/index.js.map +1 -1
  90. package/dist/cjs/utils/arkos-router/types/openapi-config.js +3 -0
  91. package/dist/cjs/utils/arkos-router/types/openapi-config.js.map +1 -0
  92. package/dist/cjs/utils/arkos-router/types/upload-config.js +3 -0
  93. package/dist/cjs/utils/arkos-router/types/upload-config.js.map +1 -0
  94. package/dist/cjs/utils/arkos-router/utils/helpers/index.js +35 -6
  95. package/dist/cjs/utils/arkos-router/utils/helpers/index.js.map +1 -1
  96. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js +237 -0
  97. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -0
  98. package/dist/cjs/utils/cli/build.js +9 -13
  99. package/dist/cjs/utils/cli/build.js.map +1 -1
  100. package/dist/cjs/utils/cli/dev.js +26 -8
  101. package/dist/cjs/utils/cli/dev.js.map +1 -1
  102. package/dist/cjs/utils/cli/export-auth-action.js +78 -0
  103. package/dist/cjs/utils/cli/export-auth-action.js.map +1 -0
  104. package/dist/cjs/utils/cli/generate.js +28 -12
  105. package/dist/cjs/utils/cli/generate.js.map +1 -1
  106. package/dist/cjs/utils/cli/index.js +32 -18
  107. package/dist/cjs/utils/cli/index.js.map +1 -1
  108. package/dist/cjs/utils/cli/prisma-generate.js +37 -7
  109. package/dist/cjs/utils/cli/prisma-generate.js.map +1 -1
  110. package/dist/cjs/utils/cli/start.js +12 -50
  111. package/dist/cjs/utils/cli/start.js.map +1 -1
  112. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -1
  113. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js +58 -0
  114. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js.map +1 -0
  115. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js +38 -13
  116. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js.map +1 -1
  117. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js +44 -17
  118. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js.map +1 -1
  119. package/dist/cjs/utils/cli/utils/template-generator/templates/{controller-template.js → generate-controller-template.js} +12 -2
  120. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -0
  121. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js +1 -34
  122. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -1
  123. package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js +97 -265
  124. package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -1
  125. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js +16 -16
  126. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -1
  127. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +5 -2
  128. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
  129. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +8 -32
  130. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +1 -1
  131. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/create-schema-template.js +3 -5
  132. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/create-schema-template.js.map +1 -1
  133. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/update-schema-template.js +1 -1
  134. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/update-schema-template.js.map +1 -1
  135. package/dist/cjs/utils/cli/utils/template-generators.js +2 -2
  136. package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
  137. package/dist/cjs/utils/cli/utils/watermark-stamper.js +14 -5
  138. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +1 -1
  139. package/dist/cjs/utils/define-config.js +2 -0
  140. package/dist/cjs/utils/define-config.js.map +1 -0
  141. package/dist/cjs/utils/dotenv.helpers.js +2 -1
  142. package/dist/cjs/utils/dotenv.helpers.js.map +1 -1
  143. package/dist/cjs/utils/dynamic-loader.js +7 -7
  144. package/dist/cjs/utils/dynamic-loader.js.map +1 -1
  145. package/dist/cjs/utils/features/port-and-host-allocator.js +28 -4
  146. package/dist/cjs/utils/features/port-and-host-allocator.js.map +1 -1
  147. package/dist/cjs/utils/helpers/api.features.helpers.js.map +1 -1
  148. package/dist/cjs/utils/helpers/arkos-config.helpers.js +45 -0
  149. package/dist/cjs/utils/helpers/arkos-config.helpers.js.map +1 -0
  150. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +114 -46
  151. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js.map +1 -1
  152. package/dist/cjs/utils/helpers/fs.helpers.js +1 -4
  153. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  154. package/dist/cjs/utils/helpers/query-parser.helpers.js +24 -0
  155. package/dist/cjs/utils/helpers/query-parser.helpers.js.map +1 -1
  156. package/dist/cjs/utils/helpers/routers.helpers.js +57 -4
  157. package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -1
  158. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +20 -31
  159. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +1 -1
  160. package/dist/cjs/utils/prisma/prisma-schema-parser.js +3 -4
  161. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -1
  162. package/dist/cjs/utils/sheu.js.map +1 -1
  163. package/dist/cjs/utils/validate-schema.js +1 -1
  164. package/dist/cjs/utils/validate-schema.js.map +1 -1
  165. package/dist/esm/app.js +104 -72
  166. package/dist/esm/app.js.map +1 -1
  167. package/dist/esm/exports/index.js.map +1 -1
  168. package/dist/esm/exports/services/index.js +2 -1
  169. package/dist/esm/exports/services/index.js.map +1 -1
  170. package/dist/esm/modules/auth/auth.controller.js +10 -26
  171. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  172. package/dist/esm/modules/auth/auth.router.js +25 -26
  173. package/dist/esm/modules/auth/auth.router.js.map +1 -1
  174. package/dist/esm/modules/auth/auth.service.js +35 -11
  175. package/dist/esm/modules/auth/auth.service.js.map +1 -1
  176. package/dist/esm/modules/auth/utils/services/auth-action.service.js +12 -9
  177. package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
  178. package/dist/esm/modules/base/base.controller.js +3 -4
  179. package/dist/esm/modules/base/base.controller.js.map +1 -1
  180. package/dist/esm/modules/base/base.middlewares.js +34 -8
  181. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  182. package/dist/esm/modules/base/base.router.js +4 -3
  183. package/dist/esm/modules/base/base.router.js.map +1 -1
  184. package/dist/esm/modules/base/base.service.js +68 -66
  185. package/dist/esm/modules/base/base.service.js.map +1 -1
  186. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +20 -42
  187. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  188. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +22 -6
  189. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  190. package/dist/esm/modules/debugger/debugger.service.js +11 -4
  191. package/dist/esm/modules/debugger/debugger.service.js.map +1 -1
  192. package/dist/esm/modules/debugger/utils/loaded-components-logger.js +1 -1
  193. package/dist/esm/modules/debugger/utils/loaded-components-logger.js.map +1 -1
  194. package/dist/esm/modules/email/email.service.js +7 -5
  195. package/dist/esm/modules/email/email.service.js.map +1 -1
  196. package/dist/esm/modules/error-handler/error-handler.controller.js +22 -12
  197. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
  198. package/dist/esm/modules/error-handler/utils/app-error.js +4 -3
  199. package/dist/esm/modules/error-handler/utils/app-error.js.map +1 -1
  200. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +1 -1
  201. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  202. package/dist/esm/modules/file-upload/file-upload.controller.js +5 -6
  203. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  204. package/dist/esm/modules/file-upload/file-upload.router.js +17 -6
  205. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  206. package/dist/esm/modules/file-upload/file-upload.service.js +37 -47
  207. package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -1
  208. package/dist/esm/modules/file-upload/utils/helpers/file-extensions.js +131 -0
  209. package/dist/esm/modules/file-upload/utils/helpers/file-extensions.js.map +1 -0
  210. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +9 -5
  211. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -1
  212. package/dist/esm/modules/swagger/swagger.router.js +14 -6
  213. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  214. package/dist/esm/modules/swagger/utils/helpers/class-validator-to-json-schema.js +48 -0
  215. package/dist/esm/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +1 -0
  216. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +10 -10
  217. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  218. package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +413 -0
  219. package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +1 -0
  220. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +3 -3
  221. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -1
  222. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +3 -5
  223. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  224. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +4 -4
  225. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  226. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -1
  227. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -1
  228. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +9 -9
  229. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -1
  230. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +9 -9
  231. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -1
  232. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +6 -8
  233. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
  234. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js +199 -0
  235. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -0
  236. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +9 -9
  237. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  238. package/dist/esm/server.js +31 -34
  239. package/dist/esm/server.js.map +1 -1
  240. package/dist/esm/types/arkos-config.js.map +1 -1
  241. package/dist/esm/types/auth.js.map +1 -1
  242. package/dist/esm/types/index.js.map +1 -1
  243. package/dist/esm/types/new-arkos-config.js +2 -0
  244. package/dist/esm/types/new-arkos-config.js.map +1 -0
  245. package/dist/esm/types/router-config.js.map +1 -1
  246. package/dist/esm/utils/arkos-router/index.js +93 -38
  247. package/dist/esm/utils/arkos-router/index.js.map +1 -1
  248. package/dist/esm/utils/arkos-router/route-config-validator.js +9 -8
  249. package/dist/esm/utils/arkos-router/route-config-validator.js.map +1 -1
  250. package/dist/esm/utils/arkos-router/types/body-parser-config.js +2 -0
  251. package/dist/esm/utils/arkos-router/types/body-parser-config.js.map +1 -0
  252. package/dist/esm/utils/arkos-router/types/index.js.map +1 -1
  253. package/dist/esm/utils/arkos-router/types/openapi-config.js +2 -0
  254. package/dist/esm/utils/arkos-router/types/openapi-config.js.map +1 -0
  255. package/dist/esm/utils/arkos-router/types/upload-config.js +2 -0
  256. package/dist/esm/utils/arkos-router/types/upload-config.js.map +1 -0
  257. package/dist/esm/utils/arkos-router/utils/helpers/index.js +34 -5
  258. package/dist/esm/utils/arkos-router/utils/helpers/index.js.map +1 -1
  259. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js +232 -0
  260. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -0
  261. package/dist/esm/utils/cli/build.js +9 -13
  262. package/dist/esm/utils/cli/build.js.map +1 -1
  263. package/dist/esm/utils/cli/dev.js +27 -9
  264. package/dist/esm/utils/cli/dev.js.map +1 -1
  265. package/dist/esm/utils/cli/export-auth-action.js +72 -0
  266. package/dist/esm/utils/cli/export-auth-action.js.map +1 -0
  267. package/dist/esm/utils/cli/generate.js +28 -12
  268. package/dist/esm/utils/cli/generate.js.map +1 -1
  269. package/dist/esm/utils/cli/index.js +32 -18
  270. package/dist/esm/utils/cli/index.js.map +1 -1
  271. package/dist/esm/utils/cli/prisma-generate.js +37 -7
  272. package/dist/esm/utils/cli/prisma-generate.js.map +1 -1
  273. package/dist/esm/utils/cli/start.js +12 -50
  274. package/dist/esm/utils/cli/start.js.map +1 -1
  275. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
  276. package/dist/esm/utils/cli/utils/runtime-cli-commander.js +53 -0
  277. package/dist/esm/utils/cli/utils/runtime-cli-commander.js.map +1 -0
  278. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js +38 -13
  279. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js.map +1 -1
  280. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js +44 -17
  281. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js.map +1 -1
  282. package/dist/esm/utils/cli/utils/template-generator/templates/{controller-template.js → generate-controller-template.js} +12 -2
  283. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -0
  284. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js +1 -34
  285. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -1
  286. package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js +97 -265
  287. package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -1
  288. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js +16 -16
  289. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -1
  290. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +5 -2
  291. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
  292. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +8 -32
  293. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -1
  294. package/dist/esm/utils/cli/utils/template-generator/templates/zod/create-schema-template.js +3 -5
  295. package/dist/esm/utils/cli/utils/template-generator/templates/zod/create-schema-template.js.map +1 -1
  296. package/dist/esm/utils/cli/utils/template-generator/templates/zod/update-schema-template.js +1 -1
  297. package/dist/esm/utils/cli/utils/template-generator/templates/zod/update-schema-template.js.map +1 -1
  298. package/dist/esm/utils/cli/utils/template-generators.js +1 -1
  299. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  300. package/dist/esm/utils/cli/utils/watermark-stamper.js +11 -5
  301. package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -1
  302. package/dist/esm/utils/define-config.js +2 -0
  303. package/dist/esm/utils/define-config.js.map +1 -0
  304. package/dist/esm/utils/dotenv.helpers.js +2 -1
  305. package/dist/esm/utils/dotenv.helpers.js.map +1 -1
  306. package/dist/esm/utils/dynamic-loader.js +8 -8
  307. package/dist/esm/utils/dynamic-loader.js.map +1 -1
  308. package/dist/esm/utils/features/port-and-host-allocator.js +28 -4
  309. package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -1
  310. package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -1
  311. package/dist/esm/utils/helpers/arkos-config.helpers.js +38 -0
  312. package/dist/esm/utils/helpers/arkos-config.helpers.js.map +1 -0
  313. package/dist/esm/utils/helpers/dynamic-loader.helpers.js +113 -46
  314. package/dist/esm/utils/helpers/dynamic-loader.helpers.js.map +1 -1
  315. package/dist/esm/utils/helpers/fs.helpers.js +1 -4
  316. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
  317. package/dist/esm/utils/helpers/query-parser.helpers.js +24 -0
  318. package/dist/esm/utils/helpers/query-parser.helpers.js.map +1 -1
  319. package/dist/esm/utils/helpers/routers.helpers.js +55 -4
  320. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
  321. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +20 -31
  322. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -1
  323. package/dist/esm/utils/prisma/prisma-schema-parser.js +3 -4
  324. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -1
  325. package/dist/esm/utils/sheu.js.map +1 -1
  326. package/dist/esm/utils/validate-schema.js +1 -1
  327. package/dist/esm/utils/validate-schema.js.map +1 -1
  328. package/dist/types/app.d.ts +2 -2
  329. package/dist/types/exports/index.d.ts +3 -2
  330. package/dist/types/exports/services/index.d.ts +2 -1
  331. package/dist/types/modules/auth/auth.controller.d.ts +2 -2
  332. package/dist/types/modules/auth/auth.router.d.ts +2 -3
  333. package/dist/types/modules/auth/auth.service.d.ts +6 -0
  334. package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +1 -0
  335. package/dist/types/modules/base/base.middlewares.d.ts +1 -1
  336. package/dist/types/modules/base/base.router.d.ts +2 -2
  337. package/dist/types/modules/base/base.service.d.ts +5 -36
  338. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +2 -4
  339. package/dist/types/modules/debugger/debugger.service.d.ts +1 -1
  340. package/dist/types/modules/email/email.service.d.ts +1 -1
  341. package/dist/types/modules/file-upload/file-upload.router.d.ts +2 -2
  342. package/dist/types/modules/file-upload/file-upload.service.d.ts +24 -2
  343. package/dist/types/modules/file-upload/utils/helpers/file-extensions.d.ts +3 -0
  344. package/dist/types/modules/file-upload/utils/helpers/file-upload.helpers.d.ts +2 -1
  345. package/dist/types/modules/swagger/swagger.router.d.ts +1 -1
  346. package/dist/types/modules/swagger/utils/helpers/class-validator-to-json-schema.d.ts +3 -0
  347. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +2 -2
  348. package/dist/types/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.d.ts +3 -0
  349. package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +2 -45
  350. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +1 -1
  351. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +1 -1
  352. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +1 -1
  353. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +1 -1
  354. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.d.ts +1 -1
  355. package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +1 -1
  356. package/dist/types/modules/swagger/utils/helpers/openapi-schema-converter.d.ts +17 -0
  357. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +3 -3
  358. package/dist/types/server.d.ts +4 -6
  359. package/dist/types/types/arkos-config.d.ts +4 -181
  360. package/dist/types/types/auth.d.ts +1 -1
  361. package/dist/types/types/index.d.ts +5 -4
  362. package/dist/types/types/new-arkos-config.d.ts +167 -0
  363. package/dist/types/types/router-config.d.ts +16 -23
  364. package/dist/types/utils/arkos-router/types/body-parser-config.d.ts +18 -0
  365. package/dist/types/utils/arkos-router/types/index.d.ts +25 -10
  366. package/dist/types/utils/arkos-router/types/openapi-config.d.ts +35 -0
  367. package/dist/types/utils/arkos-router/types/upload-config.d.ts +21 -0
  368. package/dist/types/utils/arkos-router/utils/helpers/upload-manager.d.ts +13 -0
  369. package/dist/types/utils/cli/export-auth-action.d.ts +4 -0
  370. package/dist/types/utils/cli/generate.d.ts +2 -1
  371. package/dist/types/utils/cli/utils/runtime-cli-commander.d.ts +11 -0
  372. package/dist/types/utils/cli/utils/watermark-stamper.d.ts +3 -3
  373. package/dist/types/utils/define-config.d.ts +0 -0
  374. package/dist/types/utils/features/port-and-host-allocator.d.ts +4 -2
  375. package/dist/types/utils/helpers/arkos-config.helpers.d.ts +7 -0
  376. package/dist/types/utils/helpers/dynamic-loader.helpers.d.ts +1 -0
  377. package/dist/types/utils/helpers/query-parser.helpers.d.ts +1 -0
  378. package/dist/types/utils/helpers/routers.helpers.d.ts +10 -0
  379. package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +1 -1
  380. package/dist/types/utils/validate-schema.d.ts +1 -1
  381. package/package.json +3 -2
  382. package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js.map +0 -1
  383. package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js.map +0 -1
  384. /package/dist/types/utils/cli/utils/template-generator/templates/{controller-template.d.ts → generate-controller-template.d.ts} +0 -0
@@ -1 +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 {\n getSchemaRef,\n localValidatorFileExists,\n} from \"./swagger.router.helpers\";\nimport { ArkosConfig, RouterConfig } from \"../../../../exports\";\nimport { getModuleComponents } from \"../../../../utils/dynamic-loader\";\nimport { isEndpointDisabled } from \"../../../base/utils/helpers/base.router.helpers\";\n\nexport const getSchemaMode = async (\n action: string,\n arkosConfig: ArkosConfig\n): Promise<\"prisma\" | \"zod\" | \"class-validator\"> => {\n const swaggerMode = arkosConfig.swagger?.mode;\n const isStrict = arkosConfig.swagger?.strict;\n\n if (!swaggerMode) return \"prisma\";\n if (isStrict) return swaggerMode;\n\n const actionKey = action as any;\n const localFileExists = await localValidatorFileExists(\n actionKey,\n \"user\",\n arkosConfig\n );\n\n if (!localFileExists) return \"prisma\";\n return swaggerMode;\n};\n\nexport default async function getAuthenticationJsonSchemaPaths(\n arkosConfig: ArkosConfig\n) {\n const paths: OpenAPIV3.PathsObject = {};\n\n if (!arkosConfig.swagger?.mode) return paths;\n\n const AuthModuleComponents = getModuleComponents(\"auth\");\n const routerConfig = AuthModuleComponents?.router\n ?.config as RouterConfig<\"auth\">;\n\n if (routerConfig?.disable === true) return paths;\n\n const isAuthEndpointDisabled = (endpoint: string): boolean => {\n return isEndpointDisabled(routerConfig, endpoint as any);\n };\n\n if (!isAuthEndpointDisabled(\"login\")) {\n const loginMode = await getSchemaMode(\"login\", arkosConfig);\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\", loginMode),\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\n if (!isAuthEndpointDisabled(\"logout\")) {\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\n if (!isAuthEndpointDisabled(\"signup\")) {\n const signupMode = await getSchemaMode(\"signup\", arkosConfig);\n const userMode = await getSchemaMode(\"user\", arkosConfig);\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\", signupMode),\n },\n },\n },\n },\n responses: {\n \"201\": {\n description: \"User created successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"User\", userMode),\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\n if (!isAuthEndpointDisabled(\"updatePassword\")) {\n const updatePasswordMode = await getSchemaMode(\n \"updatePassword\",\n arkosConfig\n );\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\", updatePasswordMode),\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\n if (!isAuthEndpointDisabled(\"getMe\")) {\n const findMeMode = await getSchemaMode(\"getMe\", arkosConfig);\n paths[\"/api/users/me\"] = {\n get: {\n tags: [\"Authentication\"],\n summary: \"Get current user information\",\n description:\n \"Retrieves information about the currently authenticated user\",\n operationId: \"getMe\",\n security: [{ BearerAuth: [] }],\n responses: {\n \"200\": {\n description: \"User information retrieved successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"GetMe\", findMeMode),\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n },\n };\n }\n\n if (!isAuthEndpointDisabled(\"updateMe\")) {\n const updateMeMode = await getSchemaMode(\"updateMe\", arkosConfig);\n const userMode = await getSchemaMode(\"user\", arkosConfig);\n if (!paths[\"/api/users/me\"]) paths[\"/api/users/me\"] = {};\n paths[\"/api/users/me\"]!.patch = {\n tags: [\"Authentication\"],\n summary: \"Update current user information\",\n description: \"Updates information for the currently authenticated user\",\n operationId: \"updateMe\",\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\", updateMeMode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"User updated successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"User\", userMode),\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n };\n }\n\n if (!isAuthEndpointDisabled(\"deleteMe\")) {\n if (!paths[\"/api/users/me\"]) paths[\"/api/users/me\"] = {};\n paths[\"/api/users/me\"]!.delete = {\n tags: [\"Authentication\"],\n summary: \"Delete current user account\",\n description: \"Marks the current user's account as deleted\",\n operationId: \"deleteMe\",\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 if (!isAuthEndpointDisabled(\"findManyAuthAction\")) {\n paths[\"/api/auth-actions\"] = {\n get: {\n tags: [\"Authentication\"],\n summary: \"Get all authentication actions\",\n description:\n \"Retrieves a list of all available authentication actions and permissions\",\n operationId: \"findManyAuthAction\",\n security: [{ BearerAuth: [] }],\n responses: {\n \"200\": {\n description: \"Auth actions retrieved successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n total: {\n type: \"number\",\n description: \"Total number of auth actions\",\n },\n results: {\n type: \"number\",\n description: \"Number of auth actions returned\",\n },\n data: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/FindManyAuthActionSystemSchema\",\n },\n },\n },\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n },\n };\n }\n\n return paths;\n}\n"]}
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 {\n getSchemaRef,\n localValidatorFileExists,\n} from \"./swagger.router.helpers\";\nimport { ArkosConfig, RouterConfig } from \"../../../../exports\";\nimport { getModuleComponents } from \"../../../../utils/dynamic-loader\";\nimport { isEndpointDisabled } from \"../../../base/utils/helpers/base.router.helpers\";\n\nexport const getSchemaMode = (\n action: string,\n arkosConfig: ArkosConfig\n): \"prisma\" | \"zod\" | \"class-validator\" => {\n const swaggerMode = arkosConfig.swagger?.mode;\n const isStrict = arkosConfig.swagger?.strict;\n\n if (!swaggerMode) return \"prisma\";\n if (isStrict) return swaggerMode;\n\n const actionKey = action as any;\n const localFileExists = localValidatorFileExists(\n actionKey,\n \"auth\",\n arkosConfig\n );\n\n if (!localFileExists) return \"prisma\";\n return swaggerMode;\n};\n\nexport default function getAuthenticationJsonSchemaPaths(\n arkosConfig: ArkosConfig\n) {\n const paths: OpenAPIV3.PathsObject = {};\n\n if (!arkosConfig.swagger?.mode) return paths;\n\n const AuthModuleComponents = getModuleComponents(\"auth\");\n const routerConfig = AuthModuleComponents?.router\n ?.config as RouterConfig<\"auth\">;\n\n if (routerConfig?.disable === true) return paths;\n\n const isAuthEndpointDisabled = (endpoint: string): boolean => {\n return isEndpointDisabled(routerConfig, endpoint as any);\n };\n\n if (!isAuthEndpointDisabled(\"login\")) {\n const loginMode = getSchemaMode(\"login\", arkosConfig);\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\", loginMode),\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\n if (!isAuthEndpointDisabled(\"logout\")) {\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\n if (!isAuthEndpointDisabled(\"signup\")) {\n const signupMode = getSchemaMode(\"signup\", arkosConfig);\n const userMode = getSchemaMode(\"user\", arkosConfig);\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\", signupMode),\n },\n },\n },\n },\n responses: {\n \"201\": {\n description: \"User created successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"User\", userMode),\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\n if (!isAuthEndpointDisabled(\"updatePassword\")) {\n const updatePasswordMode = getSchemaMode(\"updatePassword\", arkosConfig);\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\", updatePasswordMode),\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\n if (!isAuthEndpointDisabled(\"getMe\")) {\n const findMeMode = getSchemaMode(\"getMe\", arkosConfig);\n paths[\"/api/users/me\"] = {\n get: {\n tags: [\"Authentication\"],\n summary: \"Get current user information\",\n description:\n \"Retrieves information about the currently authenticated user\",\n operationId: \"getMe\",\n security: [{ BearerAuth: [] }],\n responses: {\n \"200\": {\n description: \"User information retrieved successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"GetMe\", findMeMode),\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n },\n };\n }\n\n if (!isAuthEndpointDisabled(\"updateMe\")) {\n const updateMeMode = getSchemaMode(\"updateMe\", arkosConfig);\n const userMode = getSchemaMode(\"user\", arkosConfig);\n if (!paths[\"/api/users/me\"]) paths[\"/api/users/me\"] = {};\n paths[\"/api/users/me\"]!.patch = {\n tags: [\"Authentication\"],\n summary: \"Update current user information\",\n description: \"Updates information for the currently authenticated user\",\n operationId: \"updateMe\",\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\", updateMeMode),\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"User updated successfully\",\n content: {\n \"application/json\": {\n schema: {\n $ref: getSchemaRef(\"User\", userMode),\n },\n },\n },\n },\n \"400\": {\n description: \"Invalid input data\",\n },\n \"401\": {\n description: \"Authentication required\",\n },\n },\n };\n }\n\n if (!isAuthEndpointDisabled(\"deleteMe\")) {\n if (!paths[\"/api/users/me\"]) paths[\"/api/users/me\"] = {};\n paths[\"/api/users/me\"]!.delete = {\n tags: [\"Authentication\"],\n summary: \"Delete current user account\",\n description: \"Marks the current user's account as deleted\",\n operationId: \"deleteMe\",\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 if (!isAuthEndpointDisabled(\"findManyAuthAction\")) {\n paths[\"/api/auth-actions\"] = {\n get: {\n tags: [\"Authentication\"],\n summary: \"Get all authentication actions\",\n description:\n \"Retrieves a list of all available authentication actions and permissions\",\n operationId: \"findManyAuthAction\",\n security: [{ BearerAuth: [] }],\n responses: {\n \"200\": {\n description: \"Auth actions retrieved successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n total: {\n type: \"number\",\n description: \"Total number of auth actions\",\n },\n results: {\n type: \"number\",\n description: \"Number of auth actions returned\",\n },\n data: {\n type: \"array\",\n items: {\n $ref: \"#/components/schemas/FindManyAuthActionSystemSchema\",\n },\n },\n },\n },\n },\n },\n },\n \"401\": {\n description: \"Authentication required\",\n },\n \"403\": {\n description: \"Insufficient permissions\",\n },\n },\n },\n };\n }\n\n return paths;\n}\n"]}
@@ -0,0 +1,413 @@
1
+ import { getModuleComponents } from "../../../../utils/dynamic-loader.js";
2
+ import { isEndpointDisabled } from "../../../base/utils/helpers/base.router.helpers.js";
3
+ import deepmerge from "../../../../utils/helpers/deepmerge.helper.js";
4
+ import { fileUploadDefaultRestrictions } from "../../../file-upload/file-upload.service.js";
5
+ export default function getFileUploadJsonSchemaPaths(arkosConfig) {
6
+ const paths = {};
7
+ if (!arkosConfig.fileUpload)
8
+ return paths;
9
+ const FileUploadModuleComponents = getModuleComponents("file-upload");
10
+ const routerConfig = FileUploadModuleComponents?.router
11
+ ?.config;
12
+ const authConfigs = FileUploadModuleComponents?.authConfigs;
13
+ if (routerConfig?.disable === true)
14
+ return paths;
15
+ const isFileUploadEndpointDisabled = (endpoint) => {
16
+ return isEndpointDisabled(routerConfig, endpoint);
17
+ };
18
+ const basePathname = arkosConfig.fileUpload?.baseRoute || "/api/uploads/";
19
+ const baseUploadDir = arkosConfig.fileUpload?.baseUploadDir || "uploads";
20
+ const restrictions = deepmerge(fileUploadDefaultRestrictions, arkosConfig.fileUpload?.restrictions || {});
21
+ const formatBytes = (bytes) => {
22
+ if (bytes === 0)
23
+ return "0 Bytes";
24
+ const k = 1024;
25
+ const sizes = ["Bytes", "KB", "MB", "GB"];
26
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
27
+ return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + " " + sizes[i];
28
+ };
29
+ const getFileTypeDescription = (fileType) => {
30
+ const restriction = restrictions[fileType];
31
+ if (!restriction)
32
+ return "";
33
+ const maxSize = formatBytes(restriction.maxSize);
34
+ const maxCount = restriction.maxCount;
35
+ const formats = restriction.supportedFilesRegex
36
+ ?.toString()
37
+ .replace(/\|/g, ", ")
38
+ .replace(/\//g, "")
39
+ .replace(/\.\*/g, "any format");
40
+ return `Maximum file size: ${maxSize}. Maximum files per upload: ${maxCount}. Supported formats: ${formats}`;
41
+ };
42
+ const shouldIncludeSecurity = (action) => {
43
+ const authControl = authConfigs?.authenticationControl;
44
+ if (!authControl)
45
+ return false;
46
+ if (typeof authControl === "boolean")
47
+ return authControl;
48
+ if (typeof authControl === "object") {
49
+ return authControl[action] === true;
50
+ }
51
+ return false;
52
+ };
53
+ if (!isFileUploadEndpointDisabled("findFile")) {
54
+ const cleanBasePath = basePathname.endsWith("/")
55
+ ? basePathname.slice(0, -1)
56
+ : basePathname;
57
+ paths[`${cleanBasePath}/{filePath*}`] = {
58
+ get: {
59
+ tags: ["File Upload"],
60
+ summary: "Retrieve uploaded file",
61
+ description: `Serves static files from the upload directory (${baseUploadDir}). This endpoint uses wildcard path matching to serve files from any subdirectory.`,
62
+ operationId: "findFile",
63
+ ...(shouldIncludeSecurity("View") && {
64
+ security: [{ BearerAuth: [] }],
65
+ }),
66
+ parameters: [
67
+ {
68
+ name: "filePath",
69
+ in: "path",
70
+ required: true,
71
+ schema: { type: "string" },
72
+ description: "Path to the file including file type directory (e.g., images/photo.jpg, videos/clip.mp4)",
73
+ },
74
+ ],
75
+ responses: {
76
+ "200": {
77
+ description: "File retrieved successfully",
78
+ content: {
79
+ "application/octet-stream": {
80
+ schema: {
81
+ type: "string",
82
+ format: "binary",
83
+ },
84
+ },
85
+ },
86
+ },
87
+ "404": {
88
+ description: "File not found",
89
+ },
90
+ ...(shouldIncludeSecurity("View") && {
91
+ "401": { description: "Authentication required" },
92
+ "403": { description: "Insufficient permissions to view files" },
93
+ }),
94
+ },
95
+ },
96
+ };
97
+ }
98
+ if (!isFileUploadEndpointDisabled("uploadFile")) {
99
+ const cleanBasePath = basePathname.endsWith("/")
100
+ ? basePathname.slice(0, -1)
101
+ : basePathname;
102
+ paths[`${cleanBasePath}/{fileType}`] = {
103
+ post: {
104
+ tags: ["File Upload"],
105
+ summary: "Upload file(s)",
106
+ description: "Upload one or multiple files. Supports image processing options for image uploads.",
107
+ operationId: "uploadFile",
108
+ ...(shouldIncludeSecurity("Create") && {
109
+ security: [{ BearerAuth: [] }],
110
+ }),
111
+ parameters: [
112
+ {
113
+ name: "fileType",
114
+ in: "path",
115
+ required: true,
116
+ schema: {
117
+ type: "string",
118
+ enum: ["images", "videos", "documents", "files"],
119
+ },
120
+ description: "Type of file being uploaded",
121
+ },
122
+ {
123
+ name: "format",
124
+ in: "query",
125
+ required: false,
126
+ schema: {
127
+ type: "string",
128
+ enum: ["jpeg", "jpg", "png", "webp", "gif", "avif"],
129
+ },
130
+ description: "Image format for conversion (only applicable for fileType=images)",
131
+ },
132
+ {
133
+ name: "width",
134
+ in: "query",
135
+ required: false,
136
+ schema: { type: "integer", minimum: 1 },
137
+ description: "Target width for image resize (only applicable for fileType=images)",
138
+ },
139
+ {
140
+ name: "height",
141
+ in: "query",
142
+ required: false,
143
+ schema: { type: "integer", minimum: 1 },
144
+ description: "Target height for image resize (only applicable for fileType=images)",
145
+ },
146
+ {
147
+ name: "resizeTo",
148
+ in: "query",
149
+ required: false,
150
+ schema: {
151
+ type: "string",
152
+ enum: ["cover", "contain", "fill", "inside", "outside"],
153
+ },
154
+ description: "Resize strategy (only applicable for fileType=images)",
155
+ },
156
+ ],
157
+ requestBody: {
158
+ required: true,
159
+ content: {
160
+ "multipart/form-data": {
161
+ schema: {
162
+ type: "object",
163
+ properties: {
164
+ images: {
165
+ type: "array",
166
+ items: { type: "string", format: "binary" },
167
+ description: getFileTypeDescription("images"),
168
+ },
169
+ videos: {
170
+ type: "array",
171
+ items: { type: "string", format: "binary" },
172
+ description: getFileTypeDescription("videos"),
173
+ },
174
+ documents: {
175
+ type: "array",
176
+ items: { type: "string", format: "binary" },
177
+ description: getFileTypeDescription("documents"),
178
+ },
179
+ files: {
180
+ type: "array",
181
+ items: { type: "string", format: "binary" },
182
+ description: getFileTypeDescription("files"),
183
+ },
184
+ },
185
+ },
186
+ },
187
+ },
188
+ },
189
+ responses: {
190
+ "200": {
191
+ description: "File(s) uploaded successfully",
192
+ content: {
193
+ "application/json": {
194
+ schema: {
195
+ type: "object",
196
+ properties: {
197
+ success: { type: "boolean", example: true },
198
+ data: {
199
+ oneOf: [
200
+ { type: "string", description: "URL of uploaded file" },
201
+ {
202
+ type: "array",
203
+ items: { type: "string" },
204
+ description: "URLs of uploaded files",
205
+ },
206
+ ],
207
+ },
208
+ message: { type: "string" },
209
+ },
210
+ },
211
+ },
212
+ },
213
+ },
214
+ "400": {
215
+ description: "Invalid file type, size limit exceeded, or no file uploaded",
216
+ },
217
+ ...(shouldIncludeSecurity("Create") && {
218
+ "401": { description: "Authentication required" },
219
+ "403": { description: "Insufficient permissions to upload files" },
220
+ }),
221
+ },
222
+ },
223
+ };
224
+ }
225
+ if (!isFileUploadEndpointDisabled("updateFile")) {
226
+ const cleanBasePath = basePathname.endsWith("/")
227
+ ? basePathname.slice(0, -1)
228
+ : basePathname;
229
+ paths[`${cleanBasePath}/{fileType}/{fileName}`] = {
230
+ ...(paths[`${cleanBasePath}/{fileType}/{fileName}`] || {}),
231
+ patch: {
232
+ tags: ["File Upload"],
233
+ summary: "Update existing file",
234
+ description: "Replace an existing file with a new one. Deletes the old file and uploads the new one.",
235
+ operationId: "updateFile",
236
+ ...(shouldIncludeSecurity("Update") && {
237
+ security: [{ BearerAuth: [] }],
238
+ }),
239
+ parameters: [
240
+ {
241
+ name: "fileType",
242
+ in: "path",
243
+ required: true,
244
+ schema: {
245
+ type: "string",
246
+ enum: ["images", "videos", "documents", "files"],
247
+ },
248
+ description: "Type of file being updated",
249
+ },
250
+ {
251
+ name: "fileName",
252
+ in: "path",
253
+ required: true,
254
+ schema: { type: "string" },
255
+ description: "Name of the file to update",
256
+ },
257
+ {
258
+ name: "format",
259
+ in: "query",
260
+ required: false,
261
+ schema: {
262
+ type: "string",
263
+ enum: ["jpeg", "jpg", "png", "webp", "gif", "avif"],
264
+ },
265
+ description: "Image format for conversion (only applicable for fileType=images)",
266
+ },
267
+ {
268
+ name: "width",
269
+ in: "query",
270
+ required: false,
271
+ schema: { type: "integer", minimum: 1 },
272
+ description: "Target width for image resize (only applicable for fileType=images)",
273
+ },
274
+ {
275
+ name: "height",
276
+ in: "query",
277
+ required: false,
278
+ schema: { type: "integer", minimum: 1 },
279
+ description: "Target height for image resize (only applicable for fileType=images)",
280
+ },
281
+ {
282
+ name: "resizeTo",
283
+ in: "query",
284
+ required: false,
285
+ schema: {
286
+ type: "string",
287
+ enum: ["cover", "contain", "fill", "inside", "outside"],
288
+ },
289
+ description: "Resize strategy (only applicable for fileType=images)",
290
+ },
291
+ ],
292
+ requestBody: {
293
+ required: true,
294
+ content: {
295
+ "multipart/form-data": {
296
+ schema: {
297
+ type: "object",
298
+ properties: {
299
+ images: {
300
+ type: "array",
301
+ items: { type: "string", format: "binary" },
302
+ description: getFileTypeDescription("images"),
303
+ },
304
+ videos: {
305
+ type: "array",
306
+ items: { type: "string", format: "binary" },
307
+ description: getFileTypeDescription("videos"),
308
+ },
309
+ documents: {
310
+ type: "array",
311
+ items: { type: "string", format: "binary" },
312
+ description: getFileTypeDescription("documents"),
313
+ },
314
+ files: {
315
+ type: "array",
316
+ items: { type: "string", format: "binary" },
317
+ description: getFileTypeDescription("files"),
318
+ },
319
+ },
320
+ },
321
+ },
322
+ },
323
+ },
324
+ responses: {
325
+ "200": {
326
+ description: "File updated successfully",
327
+ content: {
328
+ "application/json": {
329
+ schema: {
330
+ type: "object",
331
+ properties: {
332
+ success: { type: "boolean", example: true },
333
+ data: {
334
+ oneOf: [
335
+ { type: "string", description: "URL of updated file" },
336
+ {
337
+ type: "array",
338
+ items: { type: "string" },
339
+ description: "URLs of updated files",
340
+ },
341
+ ],
342
+ },
343
+ message: { type: "string" },
344
+ },
345
+ },
346
+ },
347
+ },
348
+ },
349
+ "400": {
350
+ description: "Invalid file type, size limit exceeded, or no file uploaded",
351
+ },
352
+ "404": {
353
+ description: "Original file not found",
354
+ },
355
+ ...(shouldIncludeSecurity("Update") && {
356
+ "401": { description: "Authentication required" },
357
+ "403": { description: "Insufficient permissions to update files" },
358
+ }),
359
+ },
360
+ },
361
+ };
362
+ }
363
+ if (!isFileUploadEndpointDisabled("deleteFile")) {
364
+ const cleanBasePath = basePathname.endsWith("/")
365
+ ? basePathname.slice(0, -1)
366
+ : basePathname;
367
+ if (!paths[`${cleanBasePath}/{fileType}/{fileName}`]) {
368
+ paths[`${cleanBasePath}/{fileType}/{fileName}`] = {};
369
+ }
370
+ paths[`${cleanBasePath}/{fileType}/{fileName}`].delete = {
371
+ tags: ["File Upload"],
372
+ summary: "Delete file",
373
+ description: "Delete an uploaded file from the server",
374
+ operationId: "deleteFile",
375
+ ...(shouldIncludeSecurity("Delete") && {
376
+ security: [{ BearerAuth: [] }],
377
+ }),
378
+ parameters: [
379
+ {
380
+ name: "fileType",
381
+ in: "path",
382
+ required: true,
383
+ schema: {
384
+ type: "string",
385
+ enum: ["images", "videos", "documents", "files"],
386
+ },
387
+ description: "Type of file being deleted",
388
+ },
389
+ {
390
+ name: "fileName",
391
+ in: "path",
392
+ required: true,
393
+ schema: { type: "string" },
394
+ description: "Name of the file to delete",
395
+ },
396
+ ],
397
+ responses: {
398
+ "204": {
399
+ description: "File deleted successfully",
400
+ },
401
+ "404": {
402
+ description: "File not found",
403
+ },
404
+ ...(shouldIncludeSecurity("Delete") && {
405
+ "401": { description: "Authentication required" },
406
+ "403": { description: "Insufficient permissions to delete files" },
407
+ }),
408
+ },
409
+ };
410
+ }
411
+ return paths;
412
+ }
413
+ //# sourceMappingURL=get-file-upload-json-schema-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-file-upload-json-schema-paths.js","sourceRoot":"","sources":["../../../../../../src/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.ts"],"names":[],"mappings":"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","sourcesContent":["import { OpenAPIV3 } from \"openapi-types\";\nimport { ArkosConfig, RouterConfig } from \"../../../../exports\";\nimport { getModuleComponents } from \"../../../../utils/dynamic-loader\";\nimport { isEndpointDisabled } from \"../../../base/utils/helpers/base.router.helpers\";\nimport deepmerge from \"../../../../utils/helpers/deepmerge.helper\";\nimport { fileUploadDefaultRestrictions } from \"../../../file-upload/file-upload.service\";\n\nexport default function getFileUploadJsonSchemaPaths(arkosConfig: ArkosConfig) {\n const paths: OpenAPIV3.PathsObject = {};\n\n if (!arkosConfig.fileUpload) return paths;\n\n const FileUploadModuleComponents = getModuleComponents(\"file-upload\");\n const routerConfig = FileUploadModuleComponents?.router\n ?.config as RouterConfig<\"file-upload\">;\n const authConfigs = FileUploadModuleComponents?.authConfigs;\n\n if (routerConfig?.disable === true) return paths;\n\n const isFileUploadEndpointDisabled = (endpoint: string): boolean => {\n return isEndpointDisabled(routerConfig, endpoint as any);\n };\n\n const basePathname = arkosConfig.fileUpload?.baseRoute || \"/api/uploads/\";\n const baseUploadDir = arkosConfig.fileUpload?.baseUploadDir || \"uploads\";\n\n const restrictions = deepmerge(\n fileUploadDefaultRestrictions,\n arkosConfig.fileUpload?.restrictions || {}\n );\n\n const formatBytes = (bytes: number): string => {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + \" \" + sizes[i];\n };\n\n const getFileTypeDescription = (fileType: string): string => {\n const restriction = restrictions[fileType as keyof typeof restrictions];\n if (!restriction) return \"\";\n\n const maxSize = formatBytes(restriction.maxSize!);\n const maxCount = restriction.maxCount;\n const formats = restriction.supportedFilesRegex\n ?.toString()\n .replace(/\\|/g, \", \")\n .replace(/\\//g, \"\")\n .replace(/\\.\\*/g, \"any format\");\n\n return `Maximum file size: ${maxSize}. Maximum files per upload: ${maxCount}. Supported formats: ${formats}`;\n };\n\n const shouldIncludeSecurity = (\n action: \"View\" | \"Create\" | \"Update\" | \"Delete\"\n ): boolean => {\n const authControl = authConfigs?.authenticationControl;\n if (!authControl) return false;\n\n if (typeof authControl === \"boolean\") return authControl;\n if (typeof authControl === \"object\") {\n return authControl[action] === true;\n }\n\n return false;\n };\n\n if (!isFileUploadEndpointDisabled(\"findFile\")) {\n const cleanBasePath = basePathname.endsWith(\"/\")\n ? basePathname.slice(0, -1)\n : basePathname;\n\n paths[`${cleanBasePath}/{filePath*}`] = {\n get: {\n tags: [\"File Upload\"],\n summary: \"Retrieve uploaded file\",\n description: `Serves static files from the upload directory (${baseUploadDir}). This endpoint uses wildcard path matching to serve files from any subdirectory.`,\n operationId: \"findFile\",\n ...(shouldIncludeSecurity(\"View\") && {\n security: [{ BearerAuth: [] }],\n }),\n parameters: [\n {\n name: \"filePath\",\n in: \"path\",\n required: true,\n schema: { type: \"string\" },\n description:\n \"Path to the file including file type directory (e.g., images/photo.jpg, videos/clip.mp4)\",\n },\n ],\n responses: {\n \"200\": {\n description: \"File retrieved successfully\",\n content: {\n \"application/octet-stream\": {\n schema: {\n type: \"string\",\n format: \"binary\",\n },\n },\n },\n },\n \"404\": {\n description: \"File not found\",\n },\n ...(shouldIncludeSecurity(\"View\") && {\n \"401\": { description: \"Authentication required\" },\n \"403\": { description: \"Insufficient permissions to view files\" },\n }),\n },\n },\n };\n }\n\n if (!isFileUploadEndpointDisabled(\"uploadFile\")) {\n const cleanBasePath = basePathname.endsWith(\"/\")\n ? basePathname.slice(0, -1)\n : basePathname;\n\n paths[`${cleanBasePath}/{fileType}`] = {\n post: {\n tags: [\"File Upload\"],\n summary: \"Upload file(s)\",\n description:\n \"Upload one or multiple files. Supports image processing options for image uploads.\",\n operationId: \"uploadFile\",\n ...(shouldIncludeSecurity(\"Create\") && {\n security: [{ BearerAuth: [] }],\n }),\n parameters: [\n {\n name: \"fileType\",\n in: \"path\",\n required: true,\n schema: {\n type: \"string\",\n enum: [\"images\", \"videos\", \"documents\", \"files\"],\n },\n description: \"Type of file being uploaded\",\n },\n {\n name: \"format\",\n in: \"query\",\n required: false,\n schema: {\n type: \"string\",\n enum: [\"jpeg\", \"jpg\", \"png\", \"webp\", \"gif\", \"avif\"],\n },\n description:\n \"Image format for conversion (only applicable for fileType=images)\",\n },\n {\n name: \"width\",\n in: \"query\",\n required: false,\n schema: { type: \"integer\", minimum: 1 },\n description:\n \"Target width for image resize (only applicable for fileType=images)\",\n },\n {\n name: \"height\",\n in: \"query\",\n required: false,\n schema: { type: \"integer\", minimum: 1 },\n description:\n \"Target height for image resize (only applicable for fileType=images)\",\n },\n {\n name: \"resizeTo\",\n in: \"query\",\n required: false,\n schema: {\n type: \"string\",\n enum: [\"cover\", \"contain\", \"fill\", \"inside\", \"outside\"],\n },\n description:\n \"Resize strategy (only applicable for fileType=images)\",\n },\n ],\n requestBody: {\n required: true,\n content: {\n \"multipart/form-data\": {\n schema: {\n type: \"object\",\n properties: {\n images: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"images\"),\n },\n videos: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"videos\"),\n },\n documents: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"documents\"),\n },\n files: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"files\"),\n },\n },\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"File(s) uploaded successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n success: { type: \"boolean\", example: true },\n data: {\n oneOf: [\n { type: \"string\", description: \"URL of uploaded file\" },\n {\n type: \"array\",\n items: { type: \"string\" },\n description: \"URLs of uploaded files\",\n },\n ],\n },\n message: { type: \"string\" },\n },\n },\n },\n },\n },\n \"400\": {\n description:\n \"Invalid file type, size limit exceeded, or no file uploaded\",\n },\n ...(shouldIncludeSecurity(\"Create\") && {\n \"401\": { description: \"Authentication required\" },\n \"403\": { description: \"Insufficient permissions to upload files\" },\n }),\n },\n },\n };\n }\n\n if (!isFileUploadEndpointDisabled(\"updateFile\")) {\n const cleanBasePath = basePathname.endsWith(\"/\")\n ? basePathname.slice(0, -1)\n : basePathname;\n\n paths[`${cleanBasePath}/{fileType}/{fileName}`] = {\n ...(paths[`${cleanBasePath}/{fileType}/{fileName}`] || {}),\n patch: {\n tags: [\"File Upload\"],\n summary: \"Update existing file\",\n description:\n \"Replace an existing file with a new one. Deletes the old file and uploads the new one.\",\n operationId: \"updateFile\",\n ...(shouldIncludeSecurity(\"Update\") && {\n security: [{ BearerAuth: [] }],\n }),\n parameters: [\n {\n name: \"fileType\",\n in: \"path\",\n required: true,\n schema: {\n type: \"string\",\n enum: [\"images\", \"videos\", \"documents\", \"files\"],\n },\n description: \"Type of file being updated\",\n },\n {\n name: \"fileName\",\n in: \"path\",\n required: true,\n schema: { type: \"string\" },\n description: \"Name of the file to update\",\n },\n {\n name: \"format\",\n in: \"query\",\n required: false,\n schema: {\n type: \"string\",\n enum: [\"jpeg\", \"jpg\", \"png\", \"webp\", \"gif\", \"avif\"],\n },\n description:\n \"Image format for conversion (only applicable for fileType=images)\",\n },\n {\n name: \"width\",\n in: \"query\",\n required: false,\n schema: { type: \"integer\", minimum: 1 },\n description:\n \"Target width for image resize (only applicable for fileType=images)\",\n },\n {\n name: \"height\",\n in: \"query\",\n required: false,\n schema: { type: \"integer\", minimum: 1 },\n description:\n \"Target height for image resize (only applicable for fileType=images)\",\n },\n {\n name: \"resizeTo\",\n in: \"query\",\n required: false,\n schema: {\n type: \"string\",\n enum: [\"cover\", \"contain\", \"fill\", \"inside\", \"outside\"],\n },\n description:\n \"Resize strategy (only applicable for fileType=images)\",\n },\n ],\n requestBody: {\n required: true,\n content: {\n \"multipart/form-data\": {\n schema: {\n type: \"object\",\n properties: {\n images: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"images\"),\n },\n videos: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"videos\"),\n },\n documents: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"documents\"),\n },\n files: {\n type: \"array\",\n items: { type: \"string\", format: \"binary\" },\n description: getFileTypeDescription(\"files\"),\n },\n },\n },\n },\n },\n },\n responses: {\n \"200\": {\n description: \"File updated successfully\",\n content: {\n \"application/json\": {\n schema: {\n type: \"object\",\n properties: {\n success: { type: \"boolean\", example: true },\n data: {\n oneOf: [\n { type: \"string\", description: \"URL of updated file\" },\n {\n type: \"array\",\n items: { type: \"string\" },\n description: \"URLs of updated files\",\n },\n ],\n },\n message: { type: \"string\" },\n },\n },\n },\n },\n },\n \"400\": {\n description:\n \"Invalid file type, size limit exceeded, or no file uploaded\",\n },\n \"404\": {\n description: \"Original file not found\",\n },\n ...(shouldIncludeSecurity(\"Update\") && {\n \"401\": { description: \"Authentication required\" },\n \"403\": { description: \"Insufficient permissions to update files\" },\n }),\n },\n },\n };\n }\n\n if (!isFileUploadEndpointDisabled(\"deleteFile\")) {\n const cleanBasePath = basePathname.endsWith(\"/\")\n ? basePathname.slice(0, -1)\n : basePathname;\n\n if (!paths[`${cleanBasePath}/{fileType}/{fileName}`]) {\n paths[`${cleanBasePath}/{fileType}/{fileName}`] = {};\n }\n\n paths[`${cleanBasePath}/{fileType}/{fileName}`]!.delete = {\n tags: [\"File Upload\"],\n summary: \"Delete file\",\n description: \"Delete an uploaded file from the server\",\n operationId: \"deleteFile\",\n ...(shouldIncludeSecurity(\"Delete\") && {\n security: [{ BearerAuth: [] }],\n }),\n parameters: [\n {\n name: \"fileType\",\n in: \"path\",\n required: true,\n schema: {\n type: \"string\",\n enum: [\"images\", \"videos\", \"documents\", \"files\"],\n },\n description: \"Type of file being deleted\",\n },\n {\n name: \"fileName\",\n in: \"path\",\n required: true,\n schema: { type: \"string\" },\n description: \"Name of the file to delete\",\n },\n ],\n responses: {\n \"204\": {\n description: \"File deleted successfully\",\n },\n \"404\": {\n description: \"File not found\",\n },\n ...(shouldIncludeSecurity(\"Delete\") && {\n \"401\": { description: \"Authentication required\" },\n \"403\": { description: \"Insufficient permissions to delete files\" },\n }),\n },\n };\n }\n\n return paths;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { capitalize } from "../../../../utils/helpers/text.helpers.js";
2
2
  import portAndHostAllocator from "../../../../utils/features/port-and-host-allocator.js";
3
- export default async function getSwaggerDefaultConfig(defaultModelsPaths, defaultJsonSchemas) {
4
- const portAndHost = await portAndHostAllocator.getHostAndAvailablePort({});
3
+ export default function getSwaggerDefaultConfig(defaultModelsPaths, defaultJsonSchemas) {
4
+ const portAndHost = portAndHostAllocator;
5
5
  return {
6
6
  endpoint: "/docs",
7
7
  mode: "prisma",
@@ -16,7 +16,7 @@ export default async function getSwaggerDefaultConfig(defaultModelsPaths, defaul
16
16
  },
17
17
  servers: [
18
18
  {
19
- url: `http://${portAndHost.host}:${portAndHost.port}`,
19
+ url: `http://${["0.0.0.0", "localhost", "127.0.0.1"].includes(portAndHost.host) ? "localhost" : portAndHost.host}:${portAndHost.port}`,
20
20
  description: `Local ${capitalize(process.env.NODE_ENV || "development")} Server`,
21
21
  },
22
22
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"get-swagger-default-configs.js","sourceRoot":"","sources":["../../../../../../src/modules/swagger/utils/helpers/get-swagger-default-configs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,oBAAoB,MAAM,oDAAoD,CAAC;AAEtF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,uBAAuB,CACnD,kBAAuC,EACvC,kBAAiD;IAEjD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAE3E,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,UAAU,EAAE;gBACV,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE;oBACJ,KAAK,EAAE,qBAAqB;oBAC5B,OAAO,EAAE,OAAO;oBAChB,WAAW,EACT,sFAAsF;iBACzF;gBACD,OAAO,EAAE;oBACP;wBACE,GAAG,EAAE,UAAU,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE;wBACrD,WAAW,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,SAAS;qBACjF;iBACF;gBACD,KAAK,EAAE,kBAAkB;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,kBAAkB,IAAI,EAAE;oBACjC,eAAe,EAAE;wBACf,UAAU,EAAE;4BACV,IAAI,EAAE,MAAM;4BACZ,MAAM,EAAE,QAAQ;4BAChB,YAAY,EAAE,KAAK;yBACpB;qBACF;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb;YACD,IAAI,EAAE;gBACJ,gCAAgC;gBAChC,mCAAmC;aACpC;YACD,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,KAAK;SAC5B;QACD,+BAA+B,EAAE;YAC/B,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,IAAI;YACjB,kBAAkB,EAAE,KAAK;YACzB,QAAQ,EAAE;gBACR,KAAK,EAAE,4BAA4B;gBACnC,WAAW,EAAE,yCAAyC;aACvD;YACD,SAAS,EAAE,4BAA4B;SACxC;KACwB,CAAC;AAC9B,CAAC","sourcesContent":["import { OpenAPIV3 } from \"openapi-types\";\nimport { ArkosConfig } from \"../../../../exports\";\nimport { capitalize } from \"../../../../utils/helpers/text.helpers\";\nimport portAndHostAllocator from \"../../../../utils/features/port-and-host-allocator\";\n\nexport default async function getSwaggerDefaultConfig(\n defaultModelsPaths: Record<string, any>,\n defaultJsonSchemas: OpenAPIV3.PathsObject<{}, {}>\n) {\n const portAndHost = await portAndHostAllocator.getHostAndAvailablePort({});\n\n return {\n endpoint: \"/docs\",\n mode: \"prisma\",\n strict: false,\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://${portAndHost.host}:${portAndHost.port}`,\n description: `Local ${capitalize(process.env.NODE_ENV || \"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 deepLinking: true,\n tryItOutEnabled: true,\n persistAuthorization: false,\n },\n scalarApiReferenceConfiguration: {\n theme: \"deepSpace\",\n darkMode: true,\n layout: \"modern\",\n showSidebar: true,\n hideDownloadButton: false,\n metaData: {\n title: \"Arkos.js API Documentation\",\n description: \"API documentation generated by Arkos.js\",\n },\n pageTitle: \"Arkos.js API Documentation\",\n },\n } as ArkosConfig[\"swagger\"];\n}\n"]}
1
+ {"version":3,"file":"get-swagger-default-configs.js","sourceRoot":"","sources":["../../../../../../src/modules/swagger/utils/helpers/get-swagger-default-configs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,oBAAoB,MAAM,oDAAoD,CAAC;AAEtF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,kBAAuC,EACvC,kBAAiD;IAEjD,MAAM,WAAW,GAAG,oBAAoB,CAAC;IAEzC,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,UAAU,EAAE;gBACV,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE;oBACJ,KAAK,EAAE,qBAAqB;oBAC5B,OAAO,EAAE,OAAO;oBAChB,WAAW,EACT,sFAAsF;iBACzF;gBACD,OAAO,EAAE;oBACP;wBACE,GAAG,EAAE,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE;wBACvI,WAAW,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,SAAS;qBACjF;iBACF;gBACD,KAAK,EAAE,kBAAkB;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,kBAAkB,IAAI,EAAE;oBACjC,eAAe,EAAE;wBACf,UAAU,EAAE;4BACV,IAAI,EAAE,MAAM;4BACZ,MAAM,EAAE,QAAQ;4BAChB,YAAY,EAAE,KAAK;yBACpB;qBACF;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb;YACD,IAAI,EAAE;gBACJ,gCAAgC;gBAChC,mCAAmC;aACpC;YACD,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,KAAK;SAC5B;QACD,+BAA+B,EAAE;YAC/B,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,IAAI;YACjB,kBAAkB,EAAE,KAAK;YACzB,QAAQ,EAAE;gBACR,KAAK,EAAE,4BAA4B;gBACnC,WAAW,EAAE,yCAAyC;aACvD;YACD,SAAS,EAAE,4BAA4B;SACxC;KACwB,CAAC;AAC9B,CAAC","sourcesContent":["import { OpenAPIV3 } from \"openapi-types\";\nimport { ArkosConfig } from \"../../../../exports\";\nimport { capitalize } from \"../../../../utils/helpers/text.helpers\";\nimport portAndHostAllocator from \"../../../../utils/features/port-and-host-allocator\";\n\nexport default function getSwaggerDefaultConfig(\n defaultModelsPaths: Record<string, any>,\n defaultJsonSchemas: OpenAPIV3.PathsObject<{}, {}>\n) {\n const portAndHost = portAndHostAllocator;\n\n return {\n endpoint: \"/docs\",\n mode: \"prisma\",\n strict: false,\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://${[\"0.0.0.0\", \"localhost\", \"127.0.0.1\"].includes(portAndHost.host!) ? \"localhost\" : portAndHost.host}:${portAndHost.port}`,\n description: `Local ${capitalize(process.env.NODE_ENV || \"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 deepLinking: true,\n tryItOutEnabled: true,\n persistAuthorization: false,\n },\n scalarApiReferenceConfiguration: {\n theme: \"deepSpace\",\n darkMode: true,\n layout: \"modern\",\n showSidebar: true,\n hideDownloadButton: false,\n metaData: {\n title: \"Arkos.js API Documentation\",\n description: \"API documentation generated by Arkos.js\",\n },\n pageTitle: \"Arkos.js API Documentation\",\n },\n } as ArkosConfig[\"swagger\"];\n}\n"]}