arkos 1.3.1-beta → 1.3.2-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 (256) hide show
  1. package/dist/cjs/app.js +139 -1
  2. package/dist/cjs/exports/auth/index.js +6 -1
  3. package/dist/cjs/exports/controllers/index.js +11 -1
  4. package/dist/cjs/exports/error-handler/index.js +11 -1
  5. package/dist/cjs/exports/index.js +12 -1
  6. package/dist/cjs/exports/middlewares/index.js +7 -1
  7. package/dist/cjs/exports/prisma/index.js +13 -1
  8. package/dist/cjs/exports/services/index.js +48 -1
  9. package/dist/cjs/exports/utils/index.js +44 -1
  10. package/dist/cjs/exports/validation/index.js +11 -1
  11. package/dist/cjs/modules/auth/auth.controller.js +229 -1
  12. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  13. package/dist/cjs/modules/auth/auth.router.js +82 -1
  14. package/dist/cjs/modules/auth/auth.router.js.map +1 -1
  15. package/dist/cjs/modules/auth/auth.service.js +226 -1
  16. package/dist/cjs/modules/auth/utils/auth-error-objects.js +10 -1
  17. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +83 -1
  18. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +92 -1
  19. package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +1 -1
  20. package/dist/cjs/modules/base/base.controller.js +172 -1
  21. package/dist/cjs/modules/base/base.middlewares.js +92 -1
  22. package/dist/cjs/modules/base/base.router.js +22 -1
  23. package/dist/cjs/modules/base/base.service.js +507 -1
  24. package/dist/cjs/modules/base/base.service.js.map +1 -1
  25. package/dist/cjs/modules/base/types/base.service.types.js +3 -1
  26. package/dist/cjs/modules/base/types/base.service.types.js.map +1 -1
  27. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +80 -1
  28. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +50 -1
  29. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +104 -1
  30. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +208 -1
  31. package/dist/cjs/modules/base/utils/router-validator.js +16 -1
  32. package/dist/cjs/modules/base/utils/service-hooks-manager.js +19 -1
  33. package/dist/cjs/modules/email/email.service.js +104 -1
  34. package/dist/cjs/modules/error-handler/error-handler.controller.js +146 -4
  35. package/dist/cjs/modules/error-handler/utils/app-error.js +17 -1
  36. package/dist/cjs/modules/error-handler/utils/catch-async.js +21 -1
  37. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +205 -3
  38. package/dist/cjs/modules/file-upload/file-upload.controller.js +233 -1
  39. package/dist/cjs/modules/file-upload/file-upload.router.js +60 -1
  40. package/dist/cjs/modules/file-upload/file-upload.service.js +322 -1
  41. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +97 -1
  42. package/dist/cjs/modules/swagger/swagger.router.js +38 -1
  43. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +338 -1
  44. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +64 -1
  45. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +37 -1
  46. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +48 -1
  47. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +32 -1
  48. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +49 -1
  49. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +34 -1
  50. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +471 -1
  51. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +572 -1
  52. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +260 -1
  53. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +112 -1
  54. package/dist/cjs/paths.js +9 -1
  55. package/dist/cjs/server.js +94 -5
  56. package/dist/cjs/types/arkos-config.js +3 -1
  57. package/dist/cjs/types/arkos-config.js.map +1 -1
  58. package/dist/cjs/types/auth.js +3 -1
  59. package/dist/cjs/types/index.js +11 -1
  60. package/dist/cjs/types/router-config.js +3 -1
  61. package/dist/cjs/utils/arkos-env.js +9 -1
  62. package/dist/cjs/utils/cli/build.js +214 -5
  63. package/dist/cjs/utils/cli/dev.js +154 -3
  64. package/dist/cjs/utils/cli/generate.js +109 -1
  65. package/dist/cjs/utils/cli/index.js +104 -1
  66. package/dist/cjs/utils/cli/index.js.map +1 -1
  67. package/dist/cjs/utils/cli/prisma-generate.js +120 -0
  68. package/dist/cjs/utils/cli/prisma-generate.js.map +1 -0
  69. package/dist/cjs/utils/cli/start.js +103 -1
  70. package/dist/cjs/utils/cli/utils/cli.helpers.js +24 -1
  71. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +73 -1
  72. package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js +36 -0
  73. package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -0
  74. package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js +21 -0
  75. package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -0
  76. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js +201 -0
  77. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -0
  78. package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js +288 -0
  79. package/dist/cjs/utils/cli/utils/template-generator/templates/{generate-middlewares.js.map → middlewares-template.js.map} +1 -1
  80. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js +64 -0
  81. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -0
  82. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +45 -0
  83. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +1 -0
  84. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +29 -0
  85. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +1 -0
  86. package/dist/cjs/utils/cli/utils/template-generators.js +34 -2
  87. package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
  88. package/dist/cjs/utils/cli/utils/watermark-stamper.js +17 -3
  89. package/dist/cjs/utils/dotenv.helpers.js +43 -1
  90. package/dist/cjs/utils/dynamic-loader.js +270 -9
  91. package/dist/cjs/utils/features/api.features.js +169 -1
  92. package/dist/cjs/utils/features/change-case.features.js +67 -1
  93. package/dist/cjs/utils/features/port-and-host-allocator.js +105 -1
  94. package/dist/cjs/utils/helpers/api.features.helpers.js +112 -1
  95. package/dist/cjs/utils/helpers/change-case.helpers.js +177 -1
  96. package/dist/cjs/utils/helpers/deepmerge.helper.js +115 -1
  97. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +76 -1
  98. package/dist/cjs/utils/helpers/fs.helpers.js +57 -1
  99. package/dist/cjs/utils/helpers/global.helpers.js +94 -1
  100. package/dist/cjs/utils/helpers/prisma.helpers.js +40 -1
  101. package/dist/cjs/utils/helpers/query-parser.helpers.js +45 -1
  102. package/dist/cjs/utils/helpers/routers.helpers.js +37 -1
  103. package/dist/cjs/utils/helpers/text.helpers.js +28 -1
  104. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +455 -1
  105. package/dist/cjs/utils/prisma/prisma-schema-parser.js +216 -4
  106. package/dist/cjs/utils/prisma/types.js +3 -1
  107. package/dist/cjs/utils/sheu.js +120 -1
  108. package/dist/cjs/utils/validate-dto.js +17 -1
  109. package/dist/cjs/utils/validate-schema.js +15 -1
  110. package/dist/esm/app.js +132 -1
  111. package/dist/esm/exports/auth/index.js +2 -1
  112. package/dist/esm/exports/controllers/index.js +4 -1
  113. package/dist/esm/exports/error-handler/index.js +4 -1
  114. package/dist/esm/exports/index.js +8 -1
  115. package/dist/esm/exports/middlewares/index.js +2 -1
  116. package/dist/esm/exports/prisma/index.js +6 -1
  117. package/dist/esm/exports/services/index.js +9 -1
  118. package/dist/esm/exports/utils/index.js +4 -1
  119. package/dist/esm/exports/validation/index.js +4 -1
  120. package/dist/esm/modules/auth/auth.controller.js +222 -1
  121. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  122. package/dist/esm/modules/auth/auth.router.js +76 -1
  123. package/dist/esm/modules/auth/auth.router.js.map +1 -1
  124. package/dist/esm/modules/auth/auth.service.js +219 -1
  125. package/dist/esm/modules/auth/utils/auth-error-objects.js +4 -1
  126. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +73 -1
  127. package/dist/esm/modules/auth/utils/services/auth-action.service.js +90 -1
  128. package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
  129. package/dist/esm/modules/base/base.controller.js +165 -1
  130. package/dist/esm/modules/base/base.middlewares.js +81 -1
  131. package/dist/esm/modules/base/base.router.js +15 -1
  132. package/dist/esm/modules/base/base.service.js +500 -1
  133. package/dist/esm/modules/base/base.service.js.map +1 -1
  134. package/dist/esm/modules/base/types/base.service.types.js +2 -1
  135. package/dist/esm/modules/base/types/base.service.types.js.map +1 -1
  136. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +76 -1
  137. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +44 -1
  138. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +96 -1
  139. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +198 -1
  140. package/dist/esm/modules/base/utils/router-validator.js +14 -1
  141. package/dist/esm/modules/base/utils/service-hooks-manager.js +17 -1
  142. package/dist/esm/modules/email/email.service.js +97 -1
  143. package/dist/esm/modules/error-handler/error-handler.controller.js +107 -4
  144. package/dist/esm/modules/error-handler/utils/app-error.js +15 -1
  145. package/dist/esm/modules/error-handler/utils/catch-async.js +19 -1
  146. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +163 -3
  147. package/dist/esm/modules/file-upload/file-upload.controller.js +228 -1
  148. package/dist/esm/modules/file-upload/file-upload.router.js +54 -1
  149. package/dist/esm/modules/file-upload/file-upload.service.js +314 -1
  150. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +87 -1
  151. package/dist/esm/modules/swagger/swagger.router.js +32 -1
  152. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +333 -1
  153. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +58 -1
  154. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +34 -1
  155. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +42 -1
  156. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +26 -1
  157. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +46 -1
  158. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +28 -1
  159. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +465 -1
  160. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +566 -1
  161. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +255 -1
  162. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +101 -1
  163. package/dist/esm/paths.js +3 -1
  164. package/dist/esm/server.js +85 -5
  165. package/dist/esm/types/arkos-config.js +2 -1
  166. package/dist/esm/types/arkos-config.js.map +1 -1
  167. package/dist/esm/types/auth.js +2 -1
  168. package/dist/esm/types/index.js +8 -1
  169. package/dist/esm/types/router-config.js +2 -1
  170. package/dist/esm/utils/arkos-env.js +7 -1
  171. package/dist/esm/utils/cli/build.js +208 -5
  172. package/dist/esm/utils/cli/dev.js +147 -3
  173. package/dist/esm/utils/cli/generate.js +103 -1
  174. package/dist/esm/utils/cli/index.js +94 -1
  175. package/dist/esm/utils/cli/index.js.map +1 -1
  176. package/dist/esm/utils/cli/prisma-generate.js +114 -0
  177. package/dist/esm/utils/cli/prisma-generate.js.map +1 -0
  178. package/dist/esm/utils/cli/start.js +96 -1
  179. package/dist/esm/utils/cli/utils/cli.helpers.js +16 -1
  180. package/dist/esm/utils/cli/utils/smart-fs-watcher.js +68 -1
  181. package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js +33 -0
  182. package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -0
  183. package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js +18 -0
  184. package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js.map +1 -0
  185. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js +198 -0
  186. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -0
  187. package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js +285 -0
  188. package/dist/esm/utils/cli/utils/template-generator/templates/{generate-middlewares.js.map → middlewares-template.js.map} +1 -1
  189. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js +61 -0
  190. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -0
  191. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +39 -0
  192. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -0
  193. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +26 -0
  194. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -0
  195. package/dist/esm/utils/cli/utils/template-generators.js +28 -2
  196. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  197. package/dist/esm/utils/cli/utils/watermark-stamper.js +15 -3
  198. package/dist/esm/utils/dotenv.helpers.js +37 -1
  199. package/dist/esm/utils/dynamic-loader.js +254 -9
  200. package/dist/esm/utils/features/api.features.js +162 -1
  201. package/dist/esm/utils/features/change-case.features.js +31 -1
  202. package/dist/esm/utils/features/port-and-host-allocator.js +67 -1
  203. package/dist/esm/utils/helpers/api.features.helpers.js +106 -1
  204. package/dist/esm/utils/helpers/change-case.helpers.js +161 -1
  205. package/dist/esm/utils/helpers/deepmerge.helper.js +113 -1
  206. package/dist/esm/utils/helpers/dynamic-loader.helpers.js +69 -1
  207. package/dist/esm/utils/helpers/fs.helpers.js +48 -1
  208. package/dist/esm/utils/helpers/global.helpers.js +51 -1
  209. package/dist/esm/utils/helpers/prisma.helpers.js +32 -1
  210. package/dist/esm/utils/helpers/query-parser.helpers.js +40 -1
  211. package/dist/esm/utils/helpers/routers.helpers.js +29 -1
  212. package/dist/esm/utils/helpers/text.helpers.js +22 -1
  213. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +448 -1
  214. package/dist/esm/utils/prisma/prisma-schema-parser.js +209 -4
  215. package/dist/esm/utils/prisma/types.js +2 -1
  216. package/dist/esm/utils/sheu.js +118 -1
  217. package/dist/esm/utils/validate-dto.js +11 -1
  218. package/dist/esm/utils/validate-schema.js +9 -1
  219. package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +1 -1
  220. package/dist/types/modules/base/types/base.service.types.d.ts +12 -9
  221. package/dist/types/types/arkos-config.d.ts +3 -2
  222. package/dist/types/utils/cli/prisma-generate.d.ts +1 -0
  223. package/package.json +2 -2
  224. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -21
  225. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -1
  226. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -12
  227. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
  228. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js +0 -144
  229. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +0 -1
  230. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -256
  231. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -36
  232. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
  233. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -18
  234. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
  235. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -9
  236. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -1
  237. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +0 -21
  238. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js.map +0 -1
  239. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -12
  240. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
  241. package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js +0 -144
  242. package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +0 -1
  243. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +0 -256
  244. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +0 -36
  245. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +0 -1
  246. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +0 -18
  247. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +0 -1
  248. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +0 -9
  249. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +0 -1
  250. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-auth-configs-template.d.ts → auth-configs-template.d.ts} +0 -0
  251. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-controller-template.d.ts → controller-template.d.ts} +0 -0
  252. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-hooks-template.d.ts → hooks-template.d.ts} +0 -0
  253. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-middlewares.d.ts → middlewares-template.d.ts} +0 -0
  254. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-prisma-query-options.d.ts → query-options-template.d.ts} +0 -0
  255. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-router-template.d.ts → router-template.d.ts} +0 -0
  256. /package/dist/types/utils/cli/utils/template-generator/templates/{generate-service-template.d.ts → service-template.d.ts} +0 -0
@@ -1 +1,333 @@
1
- "use strict";import{getSchemaRef as n,localValidatorFileExists as c}from"./swagger.router.helpers.js";import{getModuleComponents as u}from"../../../../utils/dynamic-loader.js";import{isEndpointDisabled as p}from"../../../base/utils/helpers/base.router.helpers.js";export const getSchemaMode=async(s,e)=>{const r=e.swagger?.mode,a=e.swagger?.strict;return r&&(a||await c(s,"user",e))?r:"prisma"};export default async function d(s){const e={};if(!s.swagger?.mode)return e;const a=u("auth")?.router?.config;if(a?.disable===!0)return e;const i=t=>p(a,t);if(!i("login")){const t=await getSchemaMode("login",s);e["/api/auth/login"]={post:{tags:["Authentication"],summary:"Login to the system",description:"Authenticates a user and returns an access token",operationId:"login",requestBody:{description:"User credentials",required:!0,content:{"application/json":{schema:{$ref:n("Login",t)}}}},responses:{200:{description:"Login successful",content:{"application/json":{schema:{type:"object",properties:{accessToken:{type:"string",description:"JWT access token"}}}}}},400:{description:"Invalid input data"},401:{description:"Invalid credentials"}}}}}if(i("logout")||(e["/api/auth/logout"]={delete:{tags:["Authentication"],summary:"Logout from the system",description:"Invalidates the current user's JWT token",operationId:"logout",security:[{BearerAuth:[]}],responses:{204:{description:"Logout successful"},401:{description:"Authentication required"}}}}),!i("signup")){const t=await getSchemaMode("signup",s),o=await getSchemaMode("user",s);e["/api/auth/signup"]={post:{tags:["Authentication"],summary:"Register a new user",description:"Creates a new user account",operationId:"signup",requestBody:{description:"User registration data",required:!0,content:{"application/json":{schema:{$ref:n("Signup",t)}}}},responses:{201:{description:"User created successfully",content:{"application/json":{schema:{$ref:n("User",o)}}}},400:{description:"Invalid input data"},409:{description:"User already exists"}}}}}if(!i("updatePassword")){const t=await getSchemaMode("updatePassword",s);e["/api/auth/update-password"]={post:{tags:["Authentication"],summary:"Update user password",description:"Changes the password for the authenticated user",operationId:"updatePassword",security:[{BearerAuth:[]}],requestBody:{description:"Current and new password",required:!0,content:{"application/json":{schema:{$ref:n("UpdatePassword",t)}}}},responses:{200:{description:"Password updated successfully",content:{"application/json":{schema:{type:"object",properties:{status:{type:"string",example:"success"},message:{type:"string",example:"Password updated successfully!"}}}}}},400:{description:"Invalid input data or current password incorrect"},401:{description:"Authentication required"}}}}}if(!i("getMe")){const t=await getSchemaMode("getMe",s);e["/api/users/me"]={get:{tags:["Authentication"],summary:"Get current user information",description:"Retrieves information about the currently authenticated user",operationId:"getMe",security:[{BearerAuth:[]}],responses:{200:{description:"User information retrieved successfully",content:{"application/json":{schema:{$ref:n("GetMe",t)}}}},401:{description:"Authentication required"}}}}}if(!i("updateMe")){const t=await getSchemaMode("updateMe",s),o=await getSchemaMode("user",s);e["/api/users/me"]||(e["/api/users/me"]={}),e["/api/users/me"].patch={tags:["Authentication"],summary:"Update current user information",description:"Updates information for the currently authenticated user",operationId:"updateMe",security:[{BearerAuth:[]}],requestBody:{description:"User data to update",required:!0,content:{"application/json":{schema:{$ref:n("UpdateMe",t)}}}},responses:{200:{description:"User updated successfully",content:{"application/json":{schema:{$ref:n("User",o)}}}},400:{description:"Invalid input data"},401:{description:"Authentication required"}}}}return i("deleteMe")||(e["/api/users/me"]||(e["/api/users/me"]={}),e["/api/users/me"].delete={tags:["Authentication"],summary:"Delete current user account",description:"Marks the current user's account as deleted",operationId:"deleteMe",security:[{BearerAuth:[]}],responses:{200:{description:"Account deleted successfully",content:{"application/json":{schema:{type:"object",properties:{message:{type:"string",example:"Account deleted successfully"}}}}}},401:{description:"Authentication required"}}}),i("findManyAuthAction")||(e["/api/auth-actions"]={get:{tags:["Authentication"],summary:"Get all authentication actions",description:"Retrieves a list of all available authentication actions and permissions",operationId:"findManyAuthAction",security:[{BearerAuth:[]}],responses:{200:{description:"Auth actions retrieved successfully",content:{"application/json":{schema:{type:"object",properties:{total:{type:"number",description:"Total number of auth actions"},results:{type:"number",description:"Number of auth actions returned"},data:{type:"array",items:{$ref:"#/components/schemas/FindManyAuthActionSystemSchema"}}}}}}},401:{description:"Authentication required"},403:{description:"Insufficient permissions"}}}}),e}
1
+ import { getSchemaRef, localValidatorFileExists, } from "./swagger.router.helpers.js";
2
+ import { getModuleComponents } from "../../../../utils/dynamic-loader.js";
3
+ import { isEndpointDisabled } from "../../../base/utils/helpers/base.router.helpers.js";
4
+ export const getSchemaMode = async (action, arkosConfig) => {
5
+ const swaggerMode = arkosConfig.swagger?.mode;
6
+ const isStrict = arkosConfig.swagger?.strict;
7
+ if (!swaggerMode)
8
+ return "prisma";
9
+ if (isStrict)
10
+ return swaggerMode;
11
+ const actionKey = action;
12
+ const localFileExists = await localValidatorFileExists(actionKey, "user", arkosConfig);
13
+ if (!localFileExists)
14
+ return "prisma";
15
+ return swaggerMode;
16
+ };
17
+ export default async function getAuthenticationJsonSchemaPaths(arkosConfig) {
18
+ const paths = {};
19
+ if (!arkosConfig.swagger?.mode)
20
+ return paths;
21
+ const AuthModuleComponents = getModuleComponents("auth");
22
+ const routerConfig = AuthModuleComponents?.router?.config;
23
+ if (routerConfig?.disable === true)
24
+ return paths;
25
+ const isAuthEndpointDisabled = (endpoint) => {
26
+ return isEndpointDisabled(routerConfig, endpoint);
27
+ };
28
+ if (!isAuthEndpointDisabled("login")) {
29
+ const loginMode = await getSchemaMode("login", arkosConfig);
30
+ paths["/api/auth/login"] = {
31
+ post: {
32
+ tags: ["Authentication"],
33
+ summary: "Login to the system",
34
+ description: "Authenticates a user and returns an access token",
35
+ operationId: "login",
36
+ requestBody: {
37
+ description: "User credentials",
38
+ required: true,
39
+ content: {
40
+ "application/json": {
41
+ schema: {
42
+ $ref: getSchemaRef("Login", loginMode),
43
+ },
44
+ },
45
+ },
46
+ },
47
+ responses: {
48
+ "200": {
49
+ description: "Login successful",
50
+ content: {
51
+ "application/json": {
52
+ schema: {
53
+ type: "object",
54
+ properties: {
55
+ accessToken: {
56
+ type: "string",
57
+ description: "JWT access token",
58
+ },
59
+ },
60
+ },
61
+ },
62
+ },
63
+ },
64
+ "400": {
65
+ description: "Invalid input data",
66
+ },
67
+ "401": {
68
+ description: "Invalid credentials",
69
+ },
70
+ },
71
+ },
72
+ };
73
+ }
74
+ if (!isAuthEndpointDisabled("logout")) {
75
+ paths["/api/auth/logout"] = {
76
+ delete: {
77
+ tags: ["Authentication"],
78
+ summary: "Logout from the system",
79
+ description: "Invalidates the current user's JWT token",
80
+ operationId: "logout",
81
+ security: [{ BearerAuth: [] }],
82
+ responses: {
83
+ "204": {
84
+ description: "Logout successful",
85
+ },
86
+ "401": {
87
+ description: "Authentication required",
88
+ },
89
+ },
90
+ },
91
+ };
92
+ }
93
+ if (!isAuthEndpointDisabled("signup")) {
94
+ const signupMode = await getSchemaMode("signup", arkosConfig);
95
+ const userMode = await getSchemaMode("user", arkosConfig);
96
+ paths["/api/auth/signup"] = {
97
+ post: {
98
+ tags: ["Authentication"],
99
+ summary: "Register a new user",
100
+ description: "Creates a new user account",
101
+ operationId: "signup",
102
+ requestBody: {
103
+ description: "User registration data",
104
+ required: true,
105
+ content: {
106
+ "application/json": {
107
+ schema: {
108
+ $ref: getSchemaRef("Signup", signupMode),
109
+ },
110
+ },
111
+ },
112
+ },
113
+ responses: {
114
+ "201": {
115
+ description: "User created successfully",
116
+ content: {
117
+ "application/json": {
118
+ schema: {
119
+ $ref: getSchemaRef("User", userMode),
120
+ },
121
+ },
122
+ },
123
+ },
124
+ "400": {
125
+ description: "Invalid input data",
126
+ },
127
+ "409": {
128
+ description: "User already exists",
129
+ },
130
+ },
131
+ },
132
+ };
133
+ }
134
+ if (!isAuthEndpointDisabled("updatePassword")) {
135
+ const updatePasswordMode = await getSchemaMode("updatePassword", arkosConfig);
136
+ paths["/api/auth/update-password"] = {
137
+ post: {
138
+ tags: ["Authentication"],
139
+ summary: "Update user password",
140
+ description: "Changes the password for the authenticated user",
141
+ operationId: "updatePassword",
142
+ security: [{ BearerAuth: [] }],
143
+ requestBody: {
144
+ description: "Current and new password",
145
+ required: true,
146
+ content: {
147
+ "application/json": {
148
+ schema: {
149
+ $ref: getSchemaRef("UpdatePassword", updatePasswordMode),
150
+ },
151
+ },
152
+ },
153
+ },
154
+ responses: {
155
+ "200": {
156
+ description: "Password updated successfully",
157
+ content: {
158
+ "application/json": {
159
+ schema: {
160
+ type: "object",
161
+ properties: {
162
+ status: {
163
+ type: "string",
164
+ example: "success",
165
+ },
166
+ message: {
167
+ type: "string",
168
+ example: "Password updated successfully!",
169
+ },
170
+ },
171
+ },
172
+ },
173
+ },
174
+ },
175
+ "400": {
176
+ description: "Invalid input data or current password incorrect",
177
+ },
178
+ "401": {
179
+ description: "Authentication required",
180
+ },
181
+ },
182
+ },
183
+ };
184
+ }
185
+ if (!isAuthEndpointDisabled("getMe")) {
186
+ const findMeMode = await getSchemaMode("getMe", arkosConfig);
187
+ paths["/api/users/me"] = {
188
+ get: {
189
+ tags: ["Authentication"],
190
+ summary: "Get current user information",
191
+ description: "Retrieves information about the currently authenticated user",
192
+ operationId: "getMe",
193
+ security: [{ BearerAuth: [] }],
194
+ responses: {
195
+ "200": {
196
+ description: "User information retrieved successfully",
197
+ content: {
198
+ "application/json": {
199
+ schema: {
200
+ $ref: getSchemaRef("GetMe", findMeMode),
201
+ },
202
+ },
203
+ },
204
+ },
205
+ "401": {
206
+ description: "Authentication required",
207
+ },
208
+ },
209
+ },
210
+ };
211
+ }
212
+ if (!isAuthEndpointDisabled("updateMe")) {
213
+ const updateMeMode = await getSchemaMode("updateMe", arkosConfig);
214
+ const userMode = await getSchemaMode("user", arkosConfig);
215
+ if (!paths["/api/users/me"])
216
+ paths["/api/users/me"] = {};
217
+ paths["/api/users/me"].patch = {
218
+ tags: ["Authentication"],
219
+ summary: "Update current user information",
220
+ description: "Updates information for the currently authenticated user",
221
+ operationId: "updateMe",
222
+ security: [{ BearerAuth: [] }],
223
+ requestBody: {
224
+ description: "User data to update",
225
+ required: true,
226
+ content: {
227
+ "application/json": {
228
+ schema: {
229
+ $ref: getSchemaRef("UpdateMe", updateMeMode),
230
+ },
231
+ },
232
+ },
233
+ },
234
+ responses: {
235
+ "200": {
236
+ description: "User updated successfully",
237
+ content: {
238
+ "application/json": {
239
+ schema: {
240
+ $ref: getSchemaRef("User", userMode),
241
+ },
242
+ },
243
+ },
244
+ },
245
+ "400": {
246
+ description: "Invalid input data",
247
+ },
248
+ "401": {
249
+ description: "Authentication required",
250
+ },
251
+ },
252
+ };
253
+ }
254
+ if (!isAuthEndpointDisabled("deleteMe")) {
255
+ if (!paths["/api/users/me"])
256
+ paths["/api/users/me"] = {};
257
+ paths["/api/users/me"].delete = {
258
+ tags: ["Authentication"],
259
+ summary: "Delete current user account",
260
+ description: "Marks the current user's account as deleted",
261
+ operationId: "deleteMe",
262
+ security: [{ BearerAuth: [] }],
263
+ responses: {
264
+ "200": {
265
+ description: "Account deleted successfully",
266
+ content: {
267
+ "application/json": {
268
+ schema: {
269
+ type: "object",
270
+ properties: {
271
+ message: {
272
+ type: "string",
273
+ example: "Account deleted successfully",
274
+ },
275
+ },
276
+ },
277
+ },
278
+ },
279
+ },
280
+ "401": {
281
+ description: "Authentication required",
282
+ },
283
+ },
284
+ };
285
+ }
286
+ if (!isAuthEndpointDisabled("findManyAuthAction")) {
287
+ paths["/api/auth-actions"] = {
288
+ get: {
289
+ tags: ["Authentication"],
290
+ summary: "Get all authentication actions",
291
+ description: "Retrieves a list of all available authentication actions and permissions",
292
+ operationId: "findManyAuthAction",
293
+ security: [{ BearerAuth: [] }],
294
+ responses: {
295
+ "200": {
296
+ description: "Auth actions retrieved successfully",
297
+ content: {
298
+ "application/json": {
299
+ schema: {
300
+ type: "object",
301
+ properties: {
302
+ total: {
303
+ type: "number",
304
+ description: "Total number of auth actions",
305
+ },
306
+ results: {
307
+ type: "number",
308
+ description: "Number of auth actions returned",
309
+ },
310
+ data: {
311
+ type: "array",
312
+ items: {
313
+ $ref: "#/components/schemas/FindManyAuthActionSystemSchema",
314
+ },
315
+ },
316
+ },
317
+ },
318
+ },
319
+ },
320
+ },
321
+ "401": {
322
+ description: "Authentication required",
323
+ },
324
+ "403": {
325
+ description: "Insufficient permissions",
326
+ },
327
+ },
328
+ },
329
+ };
330
+ }
331
+ return paths;
332
+ }
333
+ //# sourceMappingURL=get-authentication-json-schema-paths.js.map
@@ -1 +1,58 @@
1
- "use strict";import{capitalize as r}from"../../../../utils/helpers/text.helpers.js";import s from"../../../../utils/features/port-and-host-allocator.js";export default async function a(t,o){const e=await s.getHostAndAvailablePort({});return{endpoint:"/docs",mode:"prisma",strict:!1,options:{definition:{openapi:"3.0.0",info:{title:"Powered By Arkos.js",version:"1.0.0",description:"This API was automatically generated by Arkos.js, read more about at www.arkosjs.com"},servers:[{url:`http://${e.host}:${e.port}`,description:`Local ${r(process.env.NODE_ENV||"development")} Server`}],paths:t,components:{schemas:o||{},securitySchemes:{BearerAuth:{type:"http",scheme:"bearer",bearerFormat:"JWT"}}},security:[]},apis:["./src/routers/*.router.{ts,js}","./src/modules/**/*.router.{ts,js}"],deepLinking:!0,tryItOutEnabled:!0,persistAuthorization:!1},scalarApiReferenceConfiguration:{theme:"deepSpace",darkMode:!0,layout:"modern",showSidebar:!0,hideDownloadButton:!1,metaData:{title:"Arkos.js API Documentation",description:"API documentation generated by Arkos.js"},pageTitle:"Arkos.js API Documentation"}}}
1
+ import { capitalize } from "../../../../utils/helpers/text.helpers.js";
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({});
5
+ return {
6
+ endpoint: "/docs",
7
+ mode: "prisma",
8
+ strict: false,
9
+ options: {
10
+ definition: {
11
+ openapi: "3.0.0",
12
+ info: {
13
+ title: "Powered By Arkos.js",
14
+ version: "1.0.0",
15
+ description: "This API was automatically generated by Arkos.js, read more about at www.arkosjs.com",
16
+ },
17
+ servers: [
18
+ {
19
+ url: `http://${portAndHost.host}:${portAndHost.port}`,
20
+ description: `Local ${capitalize(process.env.NODE_ENV || "development")} Server`,
21
+ },
22
+ ],
23
+ paths: defaultModelsPaths,
24
+ components: {
25
+ schemas: defaultJsonSchemas || {},
26
+ securitySchemes: {
27
+ BearerAuth: {
28
+ type: "http",
29
+ scheme: "bearer",
30
+ bearerFormat: "JWT",
31
+ },
32
+ },
33
+ },
34
+ security: [],
35
+ },
36
+ apis: [
37
+ "./src/routers/*.router.{ts,js}",
38
+ "./src/modules/**/*.router.{ts,js}",
39
+ ],
40
+ deepLinking: true,
41
+ tryItOutEnabled: true,
42
+ persistAuthorization: false,
43
+ },
44
+ scalarApiReferenceConfiguration: {
45
+ theme: "deepSpace",
46
+ darkMode: true,
47
+ layout: "modern",
48
+ showSidebar: true,
49
+ hideDownloadButton: false,
50
+ metaData: {
51
+ title: "Arkos.js API Documentation",
52
+ description: "API documentation generated by Arkos.js",
53
+ },
54
+ pageTitle: "Arkos.js API Documentation",
55
+ },
56
+ };
57
+ }
58
+ //# sourceMappingURL=get-swagger-default-configs.js.map
@@ -1 +1,34 @@
1
- "use strict";export function getSystemJsonSchemaPaths(){const e={};return e["/api/available-resources"]={get:{tags:["System"],summary:"Get available resources",description:"Returns a comprehensive list of all available API resource endpoints",operationId:"getAvailableResources",responses:{200:{description:"List of available resources retrieved successfully",content:{"application/json":{schema:{type:"object",properties:{data:{type:"array",items:{type:"string"},description:"Array of available resource endpoints"}}}}}}}}},e}
1
+ export function getSystemJsonSchemaPaths() {
2
+ const paths = {};
3
+ paths["/api/available-resources"] = {
4
+ get: {
5
+ tags: ["System"],
6
+ summary: "Get available resources",
7
+ description: "Returns a comprehensive list of all available API resource endpoints",
8
+ operationId: "getAvailableResources",
9
+ responses: {
10
+ "200": {
11
+ description: "List of available resources retrieved successfully",
12
+ content: {
13
+ "application/json": {
14
+ schema: {
15
+ type: "object",
16
+ properties: {
17
+ data: {
18
+ type: "array",
19
+ items: {
20
+ type: "string",
21
+ },
22
+ description: "Array of available resource endpoints",
23
+ },
24
+ },
25
+ },
26
+ },
27
+ },
28
+ },
29
+ },
30
+ },
31
+ };
32
+ return paths;
33
+ }
34
+ //# sourceMappingURL=get-system-json-schema-paths.js.map
@@ -1 +1,42 @@
1
- "use strict";import{validationMetadatasToSchemas as i}from"class-validator-jsonschema";import{importModule as f}from"../../../../../utils/helpers/global.helpers.js";import{getMetadataStorage as h}from"class-validator";import{getModuleComponents as d}from"../../../../../utils/dynamic-loader.js";import{getCorrectJsonSchemaName as p}from"../swagger.router.helpers.js";import g from"../../../../../utils/prisma/prisma-schema-parser.js";export async function generateClassValidatorJsonSchemas(){const c=[...g.getModelsAsArrayOfStrings(),"auth"],e={},{defaultMetadataStorage:m}=await f("class-transformer/cjs/storage.js"),s=i({classValidatorMetadataStorage:h(),classTransformerMetadataStorage:m,refPointerPrefix:"#/components/schemas/"});return Object.entries(s).forEach(([a,t])=>{e[a]=t}),c.forEach(a=>{const t=d(a);t?.dtos&&Object.entries(t.dtos).forEach(([n,r])=>{if(r)try{const o=p(n,a,"Dto");e[o]=s[r.name]||{},e[r.name]&&delete e[r.name]}catch(o){console.warn(`Failed to generate schema for ${n} ${a}:`,o)}})}),e}
1
+ import { validationMetadatasToSchemas } from "class-validator-jsonschema";
2
+ import { importModule } from "../../../../../utils/helpers/global.helpers.js";
3
+ import { getMetadataStorage } from "class-validator";
4
+ import { getModuleComponents } from "../../../../../utils/dynamic-loader.js";
5
+ import { getCorrectJsonSchemaName } from "../swagger.router.helpers.js";
6
+ import prismaSchemaParser from "../../../../../utils/prisma/prisma-schema-parser.js";
7
+ export async function generateClassValidatorJsonSchemas() {
8
+ const requiredAppModules = [
9
+ ...prismaSchemaParser.getModelsAsArrayOfStrings(),
10
+ "auth",
11
+ ];
12
+ const schemas = {};
13
+ const { defaultMetadataStorage } = await importModule("class-transformer/cjs/storage.js");
14
+ const jsonSchema = validationMetadatasToSchemas({
15
+ classValidatorMetadataStorage: getMetadataStorage(),
16
+ classTransformerMetadataStorage: defaultMetadataStorage,
17
+ refPointerPrefix: "#/components/schemas/",
18
+ });
19
+ Object.entries(jsonSchema).forEach(([className, schema]) => {
20
+ schemas[className] = schema;
21
+ });
22
+ requiredAppModules.forEach((modelName) => {
23
+ const moduleComponents = getModuleComponents(modelName);
24
+ if (moduleComponents?.dtos) {
25
+ Object.entries(moduleComponents.dtos).forEach(([dtoType, dtoClass]) => {
26
+ if (dtoClass) {
27
+ try {
28
+ const schemaName = getCorrectJsonSchemaName(dtoType, modelName, "Dto");
29
+ schemas[schemaName] = jsonSchema[dtoClass.name] || {};
30
+ if (schemas[dtoClass.name])
31
+ delete schemas[dtoClass.name];
32
+ }
33
+ catch (error) {
34
+ console.warn(`Failed to generate schema for ${dtoType} ${modelName}:`, error);
35
+ }
36
+ }
37
+ });
38
+ }
39
+ });
40
+ return schemas;
41
+ }
42
+ //# sourceMappingURL=generate-class-validator-json-schemas.js.map
@@ -1 +1,26 @@
1
- "use strict";import m from"../../../../../utils/prisma/prisma-json-schema-generator.js";import t from"../../../../../utils/prisma/prisma-schema-parser.js";export async function generatePrismaJsonSchemas(s){const o=[...t.getModelsAsArrayOfStrings(),"auth"];try{return(await Promise.all(o.map(async r=>await m.generateModelSchemas({modelName:r,arkosConfig:s})))).reduce((r,a)=>({...r,...a}),{})}catch(e){throw console.error(e),e}}
1
+ import PrismaJsonSchemaGenerator from "../../../../../utils/prisma/prisma-json-schema-generator.js";
2
+ import prismaSchemaParser from "../../../../../utils/prisma/prisma-schema-parser.js";
3
+ export async function generatePrismaJsonSchemas(arkosConfig) {
4
+ const requiredAppModules = [
5
+ ...prismaSchemaParser.getModelsAsArrayOfStrings(),
6
+ "auth",
7
+ ];
8
+ try {
9
+ const modelSchemasArray = await Promise.all(requiredAppModules.map(async (modelName) => {
10
+ const modelSchemas = await PrismaJsonSchemaGenerator.generateModelSchemas({
11
+ modelName,
12
+ arkosConfig,
13
+ });
14
+ return modelSchemas;
15
+ }));
16
+ const schemas = modelSchemasArray.reduce((acc, modelSchemas) => {
17
+ return { ...acc, ...modelSchemas };
18
+ }, {});
19
+ return schemas;
20
+ }
21
+ catch (err) {
22
+ console.error(err);
23
+ throw err;
24
+ }
25
+ }
26
+ //# sourceMappingURL=generate-prisma-json-schemas.js.map
@@ -1 +1,46 @@
1
- "use strict";export default function i(t){const r=t?.authentication?.mode==="dynamic",e={action:{type:"string",description:"Action name, e.g Create, View, Update, Download, Cancel"},resource:{type:"string",description:"Resource name, e.g user, user-role, product, author"},name:{type:"string",description:"Human-readable name for this permission",nullable:!0},description:{type:"string",description:"Detailed description of what this permission allows",nullable:!0},errorMessage:{type:"string",description:"Error message returned on forbidden response",nullable:!0}};return r||(e.roles={type:"array",description:"Role names that have this permission, e.g Admin, Manager",items:{type:"string"}}),{FindManyAuthActionSystemSchema:{type:"object",properties:e,required:["action","resource"],additionalProperties:!1}}}
1
+ export default function generateSystemJsonSchemas(arkosConfig) {
2
+ const isDynamicMode = arkosConfig?.authentication?.mode === "dynamic";
3
+ const baseProperties = {
4
+ action: {
5
+ type: "string",
6
+ description: "Action name, e.g Create, View, Update, Download, Cancel",
7
+ },
8
+ resource: {
9
+ type: "string",
10
+ description: "Resource name, e.g user, user-role, product, author",
11
+ },
12
+ name: {
13
+ type: "string",
14
+ description: "Human-readable name for this permission",
15
+ nullable: true,
16
+ },
17
+ description: {
18
+ type: "string",
19
+ description: "Detailed description of what this permission allows",
20
+ nullable: true,
21
+ },
22
+ errorMessage: {
23
+ type: "string",
24
+ description: "Error message returned on forbidden response",
25
+ nullable: true,
26
+ },
27
+ };
28
+ if (!isDynamicMode) {
29
+ baseProperties.roles = {
30
+ type: "array",
31
+ description: "Role names that have this permission, e.g Admin, Manager",
32
+ items: {
33
+ type: "string",
34
+ },
35
+ };
36
+ }
37
+ return {
38
+ FindManyAuthActionSystemSchema: {
39
+ type: "object",
40
+ properties: baseProperties,
41
+ required: ["action", "resource"],
42
+ additionalProperties: false,
43
+ },
44
+ };
45
+ }
46
+ //# sourceMappingURL=generate-system-json-schemas.js.map
@@ -1 +1,28 @@
1
- "use strict";import{getModuleComponents as m}from"../../../../../utils/dynamic-loader.js";import h from"zod-to-json-schema";import{getCorrectJsonSchemaName as f}from"../swagger.router.helpers.js";import i from"../../../../../utils/prisma/prisma-schema-parser.js";export default async function p(){const n=[...i.getModelsAsArrayOfStrings(),"auth"],r={};return n.forEach(o=>{const s=m(o);s?.schemas&&Object.entries(s.schemas).forEach(([t,c])=>{if(c)try{const e=h(c),a=f(t,o,"Schema");r[a]=e}catch(e){console.warn(`Failed to generate schema for ${t} ${o}:`,e)}})}),r}
1
+ import { getModuleComponents } from "../../../../../utils/dynamic-loader.js";
2
+ import zodToJsonSchema from "zod-to-json-schema";
3
+ import { getCorrectJsonSchemaName } from "../swagger.router.helpers.js";
4
+ import prismaSchemaParser from "../../../../../utils/prisma/prisma-schema-parser.js";
5
+ export default async function generateZodJsonSchemas() {
6
+ const requiredAppModules = [
7
+ ...prismaSchemaParser.getModelsAsArrayOfStrings(),
8
+ "auth",
9
+ ];
10
+ const schemas = {};
11
+ requiredAppModules.forEach((modelName) => {
12
+ const moduleComponents = getModuleComponents(modelName);
13
+ if (moduleComponents?.schemas)
14
+ Object.entries(moduleComponents.schemas).forEach(([schemaType, zodSchema]) => {
15
+ if (zodSchema)
16
+ try {
17
+ const jsonSchema = zodToJsonSchema(zodSchema);
18
+ const schemaName = getCorrectJsonSchemaName(schemaType, modelName, "Schema");
19
+ schemas[schemaName] = jsonSchema;
20
+ }
21
+ catch (error) {
22
+ console.warn(`Failed to generate schema for ${schemaType} ${modelName}:`, error);
23
+ }
24
+ });
25
+ });
26
+ return schemas;
27
+ }
28
+ //# sourceMappingURL=generate-zod-json-schemas.js.map