arkos 2.0.0-next.2 → 2.0.0-next.20

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 (613) hide show
  1. package/README.md +146 -145
  2. package/cli.js +11 -13
  3. package/dist/esm/app.js +17 -16
  4. package/dist/esm/app.js.map +1 -1
  5. package/dist/esm/components/arkos-gateway/arkos-gateway.js +338 -0
  6. package/dist/esm/components/arkos-gateway/arkos-gateway.js.map +1 -0
  7. package/dist/esm/components/arkos-gateway/socket-extensions.js +168 -0
  8. package/dist/esm/components/arkos-gateway/socket-extensions.js.map +1 -0
  9. package/dist/esm/components/arkos-gateway/types.js +3 -0
  10. package/dist/esm/components/arkos-gateway/types.js.map +1 -0
  11. package/dist/esm/components/arkos-gateway/utils/helpers.js +105 -0
  12. package/dist/esm/components/arkos-gateway/utils/helpers.js.map +1 -0
  13. package/dist/esm/components/arkos-gateway/utils/memory-gateway-store.js +45 -0
  14. package/dist/esm/components/arkos-gateway/utils/memory-gateway-store.js.map +1 -0
  15. package/dist/esm/components/arkos-gateway/utils/multi-tier-arkos-gateway-store.js +40 -0
  16. package/dist/esm/components/arkos-gateway/utils/multi-tier-arkos-gateway-store.js.map +1 -0
  17. package/dist/esm/components/arkos-gateway/utils/rate-limiter.js +13 -0
  18. package/dist/esm/components/arkos-gateway/utils/rate-limiter.js.map +1 -0
  19. package/dist/esm/components/arkos-loadable-registry/index.js +1 -3
  20. package/dist/esm/components/arkos-loadable-registry/index.js.map +1 -1
  21. package/dist/esm/components/arkos-policy/index.js +3 -1
  22. package/dist/esm/components/arkos-policy/index.js.map +1 -1
  23. package/dist/esm/components/arkos-route-hook/index.js +2 -1
  24. package/dist/esm/components/arkos-route-hook/index.js.map +1 -1
  25. package/dist/esm/components/arkos-route-hook/reader.js.map +1 -1
  26. package/dist/esm/components/arkos-route-hook/types.js.map +1 -1
  27. package/dist/esm/exports/error-handler/index.js +1 -0
  28. package/dist/esm/exports/error-handler/index.js.map +1 -1
  29. package/dist/esm/exports/index.js +3 -3
  30. package/dist/esm/exports/index.js.map +1 -1
  31. package/dist/esm/exports/middlewares/index.js +1 -1
  32. package/dist/esm/exports/middlewares/index.js.map +1 -1
  33. package/dist/esm/exports/services/index.js +2 -2
  34. package/dist/esm/exports/services/index.js.map +1 -1
  35. package/dist/esm/exports/websockets.js +5 -0
  36. package/dist/esm/exports/websockets.js.map +1 -0
  37. package/dist/esm/generated.js.map +1 -1
  38. package/dist/esm/modules/auth/auth.controller.js +214 -222
  39. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  40. package/dist/esm/modules/auth/auth.router.js +26 -9
  41. package/dist/esm/modules/auth/auth.router.js.map +1 -1
  42. package/dist/esm/modules/auth/auth.service.js +90 -102
  43. package/dist/esm/modules/auth/auth.service.js.map +1 -1
  44. package/dist/esm/modules/auth/utils/auth-error-objects.js +2 -2
  45. package/dist/esm/modules/auth/utils/auth-error-objects.js.map +1 -1
  46. package/dist/esm/modules/auth/utils/auth-hooks-manager.js +148 -0
  47. package/dist/esm/modules/auth/utils/auth-hooks-manager.js.map +1 -0
  48. package/dist/esm/modules/auth/utils/auth-openapi-generator.js +367 -0
  49. package/dist/esm/modules/auth/utils/auth-openapi-generator.js.map +1 -0
  50. package/dist/esm/modules/auth/utils/auth-prisma-json-schema-generator.js +97 -0
  51. package/dist/esm/modules/auth/utils/auth-prisma-json-schema-generator.js.map +1 -0
  52. package/dist/esm/modules/auth/utils/docs-links.js +6 -0
  53. package/dist/esm/modules/auth/utils/docs-links.js.map +1 -0
  54. package/dist/esm/modules/auth/utils/services/auth-action.service.js +20 -16
  55. package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
  56. package/dist/esm/modules/base/base.controller.js +182 -162
  57. package/dist/esm/modules/base/base.controller.js.map +1 -1
  58. package/dist/esm/modules/base/base.middlewares.js +31 -48
  59. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  60. package/dist/esm/modules/base/base.router.js +23 -9
  61. package/dist/esm/modules/base/base.router.js.map +1 -1
  62. package/dist/esm/modules/base/base.service.js +33 -138
  63. package/dist/esm/modules/base/base.service.js.map +1 -1
  64. package/dist/esm/modules/base/types/base.service.types.js.map +1 -1
  65. package/dist/esm/modules/base/utils/error-prettifier.js +26 -30
  66. package/dist/esm/modules/base/utils/error-prettifier.js.map +1 -1
  67. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +26 -5
  68. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  69. package/dist/esm/modules/base/utils/model-openapi-generator.js +438 -0
  70. package/dist/esm/modules/base/utils/model-openapi-generator.js.map +1 -0
  71. package/dist/esm/modules/email/email.service.js +17 -10
  72. package/dist/esm/modules/email/email.service.js.map +1 -1
  73. package/dist/esm/modules/error-handler/error-handler.controller.js +24 -113
  74. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
  75. package/dist/esm/modules/error-handler/utils/app-error.js +5 -2
  76. package/dist/esm/modules/error-handler/utils/app-error.js.map +1 -1
  77. package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -1
  78. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +9 -103
  79. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  80. package/dist/esm/modules/error-handler/utils/errors.js +127 -0
  81. package/dist/esm/modules/error-handler/utils/errors.js.map +1 -0
  82. package/dist/esm/modules/error-handler/utils/get-handled-error.js +68 -0
  83. package/dist/esm/modules/error-handler/utils/get-handled-error.js.map +1 -0
  84. package/dist/esm/modules/error-handler/utils/multer-error-handler.js +34 -0
  85. package/dist/esm/modules/error-handler/utils/multer-error-handler.js.map +1 -0
  86. package/dist/esm/modules/file-upload/file-upload.controller.js +208 -214
  87. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  88. package/dist/esm/modules/file-upload/file-upload.router.js +35 -12
  89. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  90. package/dist/esm/modules/file-upload/file-upload.service.js +13 -8
  91. package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -1
  92. package/dist/esm/modules/file-upload/utils/file-upload-json-schema-generator.js +346 -0
  93. package/dist/esm/modules/file-upload/utils/file-upload-json-schema-generator.js.map +1 -0
  94. package/dist/esm/modules/swagger/swagger.router.js +39 -22
  95. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  96. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js +305 -0
  97. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js.map +1 -0
  98. package/dist/esm/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +1 -1
  99. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +6 -7
  100. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -1
  101. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js +6 -3
  102. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -1
  103. package/dist/esm/server.js +1 -1
  104. package/dist/esm/server.js.map +1 -1
  105. package/dist/esm/types/arkos-config/utils.js +2 -0
  106. package/dist/esm/types/arkos-config/utils.js.map +1 -0
  107. package/dist/esm/types/arkos-prisma-input.js.map +1 -1
  108. package/dist/esm/types/arkos.js.map +1 -1
  109. package/dist/esm/types/auth.js.map +1 -1
  110. package/dist/esm/types/index.js.map +1 -1
  111. package/dist/esm/types/new-arkos-config.js.map +1 -1
  112. package/dist/esm/types/router-config.js.map +1 -1
  113. package/dist/esm/types/upload.js +2 -0
  114. package/dist/esm/types/upload.js.map +1 -0
  115. package/dist/esm/types/validation/validation-manager.js +49 -0
  116. package/dist/esm/types/validation/validation-manager.js.map +1 -0
  117. package/dist/esm/types/validation/validator.js +2 -0
  118. package/dist/esm/types/validation/validator.js.map +1 -0
  119. package/dist/esm/utils/arkos-router/arkos-router-openapi-manager.js +68 -34
  120. package/dist/esm/utils/arkos-router/arkos-router-openapi-manager.js.map +1 -1
  121. package/dist/esm/utils/arkos-router/index.js +37 -130
  122. package/dist/esm/utils/arkos-router/index.js.map +1 -1
  123. package/dist/esm/utils/arkos-router/route-config-registry.js +2 -3
  124. package/dist/esm/utils/arkos-router/route-config-registry.js.map +1 -1
  125. package/dist/esm/utils/arkos-router/types/index.js.map +1 -1
  126. package/dist/esm/utils/arkos-router/types/openapi-config.js.map +1 -1
  127. package/dist/esm/utils/arkos-router/types/upload-config.js.map +1 -1
  128. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +188 -0
  129. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -0
  130. package/dist/esm/utils/arkos-router/utils/helpers/index.js +88 -29
  131. package/dist/esm/utils/arkos-router/utils/helpers/index.js.map +1 -1
  132. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js +364 -89
  133. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -1
  134. package/dist/esm/utils/bundler.js +6 -6
  135. package/dist/esm/utils/bundler.js.map +1 -1
  136. package/dist/esm/utils/cli/build.js +16 -7
  137. package/dist/esm/utils/cli/build.js.map +1 -1
  138. package/dist/esm/utils/cli/dev.js +18 -28
  139. package/dist/esm/utils/cli/dev.js.map +1 -1
  140. package/dist/esm/utils/cli/export-auth-action.js +5 -4
  141. package/dist/esm/utils/cli/export-auth-action.js.map +1 -1
  142. package/dist/esm/utils/cli/generate.js +70 -56
  143. package/dist/esm/utils/cli/generate.js.map +1 -1
  144. package/dist/esm/utils/cli/index.js +54 -50
  145. package/dist/esm/utils/cli/index.js.map +1 -1
  146. package/dist/esm/utils/cli/prisma-generate.js +8 -37
  147. package/dist/esm/utils/cli/prisma-generate.js.map +1 -1
  148. package/dist/esm/utils/cli/start.js +25 -14
  149. package/dist/esm/utils/cli/start.js.map +1 -1
  150. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
  151. package/dist/esm/utils/cli/utils/runtime-cli-commander.js +7 -4
  152. package/dist/esm/utils/cli/utils/runtime-cli-commander.js.map +1 -1
  153. package/dist/esm/utils/cli/utils/smart-fs-watcher.js +3 -0
  154. package/dist/esm/utils/cli/utils/smart-fs-watcher.js.map +1 -1
  155. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +307 -11
  156. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js.map +1 -1
  157. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +16 -7
  158. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  159. package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js +117 -65
  160. package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +1 -1
  161. package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js +6 -8
  162. package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js.map +1 -1
  163. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +13 -2
  164. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
  165. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +2 -2
  166. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -1
  167. package/dist/esm/utils/cli/utils/template-generator/templates/zod-schema-generator.js +213 -19
  168. package/dist/esm/utils/cli/utils/template-generator/templates/zod-schema-generator.js.map +1 -1
  169. package/dist/esm/utils/cli/utils/template-generators.js +31 -18
  170. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  171. package/dist/esm/utils/define-config.js +14 -0
  172. package/dist/esm/utils/define-config.js.map +1 -1
  173. package/dist/esm/utils/docs-links.js +2 -0
  174. package/dist/esm/utils/docs-links.js.map +1 -0
  175. package/dist/esm/utils/dotenv.helpers.js +0 -6
  176. package/dist/esm/utils/dotenv.helpers.js.map +1 -1
  177. package/dist/esm/utils/dynamic-loader.js +2 -1
  178. package/dist/esm/utils/dynamic-loader.js.map +1 -1
  179. package/dist/esm/utils/features/api.features.js +46 -27
  180. package/dist/esm/utils/features/api.features.js.map +1 -1
  181. package/dist/esm/utils/features/port-and-host-allocator.js +4 -3
  182. package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -1
  183. package/dist/esm/utils/helpers/api.features.helpers.js +20 -0
  184. package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -1
  185. package/dist/esm/utils/helpers/arkos-config.helpers.js +20 -2
  186. package/dist/esm/utils/helpers/arkos-config.helpers.js.map +1 -1
  187. package/dist/esm/utils/helpers/exit-error.js +1 -0
  188. package/dist/esm/utils/helpers/exit-error.js.map +1 -1
  189. package/dist/esm/utils/helpers/fs.helpers.js +26 -33
  190. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
  191. package/dist/esm/utils/helpers/global.helpers.js +1 -1
  192. package/dist/esm/utils/helpers/global.helpers.js.map +1 -1
  193. package/dist/esm/utils/helpers/prisma.helpers.js +10 -7
  194. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
  195. package/dist/esm/utils/helpers/query-parser.helpers.js +7 -22
  196. package/dist/esm/utils/helpers/query-parser.helpers.js.map +1 -1
  197. package/dist/esm/utils/helpers/routers.helpers.js +2 -2
  198. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
  199. package/dist/esm/utils/helpers/url-helpers.js +11 -0
  200. package/dist/esm/utils/helpers/url-helpers.js.map +1 -0
  201. package/dist/esm/utils/initialize-app.js +41 -17
  202. package/dist/esm/utils/initialize-app.js.map +1 -1
  203. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +154 -226
  204. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -1
  205. package/dist/esm/utils/prisma/prisma-schema-parser.js +37 -11
  206. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -1
  207. package/dist/esm/utils/prisma/types.js.map +1 -1
  208. package/dist/esm/utils/remove-dir.js +1 -1
  209. package/dist/esm/utils/remove-dir.js.map +1 -1
  210. package/dist/esm/utils/setup-app.js +59 -42
  211. package/dist/esm/utils/setup-app.js.map +1 -1
  212. package/dist/esm/utils/validate-schema.js +23 -21
  213. package/dist/esm/utils/validate-schema.js.map +1 -1
  214. package/dist/types/app.d.ts +10 -7
  215. package/dist/types/components/arkos-gateway/arkos-gateway.d.ts +121 -0
  216. package/dist/types/components/arkos-gateway/socket-extensions.d.ts +79 -0
  217. package/dist/types/components/arkos-gateway/types.d.ts +364 -0
  218. package/dist/types/components/arkos-gateway/utils/helpers.d.ts +9 -0
  219. package/dist/types/components/arkos-gateway/utils/memory-gateway-store.d.ts +14 -0
  220. package/dist/types/components/arkos-gateway/utils/multi-tier-arkos-gateway-store.d.ts +20 -0
  221. package/dist/types/components/arkos-gateway/utils/rate-limiter.d.ts +11 -0
  222. package/dist/types/components/arkos-route-hook/index.d.ts +11 -5
  223. package/dist/types/components/arkos-route-hook/reader.d.ts +4 -7
  224. package/dist/types/components/arkos-route-hook/types.d.ts +9 -5
  225. package/dist/types/exports/error-handler/index.d.ts +1 -0
  226. package/dist/types/exports/index.d.ts +5 -5
  227. package/dist/types/exports/middlewares/index.d.ts +1 -1
  228. package/dist/types/exports/services/index.d.ts +3 -3
  229. package/dist/types/exports/websockets.d.ts +5 -0
  230. package/dist/types/modules/auth/auth.service.d.ts +80 -51
  231. package/dist/types/modules/auth/utils/auth-hooks-manager.d.ts +63 -0
  232. package/dist/types/modules/auth/utils/auth-openapi-generator.d.ts +9 -0
  233. package/dist/types/modules/auth/utils/auth-prisma-json-schema-generator.d.ts +13 -0
  234. package/dist/types/modules/auth/utils/docs-links.d.ts +3 -0
  235. package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +2 -2
  236. package/dist/types/modules/base/base.controller.d.ts +4 -4
  237. package/dist/types/modules/base/base.middlewares.d.ts +1 -7
  238. package/dist/types/modules/base/base.service.d.ts +8 -17
  239. package/dist/types/modules/base/types/base.service.types.d.ts +11 -0
  240. package/dist/types/modules/base/utils/helpers/base.service.helpers.d.ts +1 -1
  241. package/dist/types/modules/base/utils/model-openapi-generator.d.ts +12 -0
  242. package/dist/types/modules/email/email.service.d.ts +1 -1
  243. package/dist/types/modules/error-handler/utils/app-error.d.ts +0 -2
  244. package/dist/types/modules/error-handler/utils/catch-async.d.ts +2 -2
  245. package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +1 -27
  246. package/dist/types/modules/error-handler/utils/errors.d.ts +176 -0
  247. package/dist/types/modules/error-handler/utils/get-handled-error.d.ts +1 -0
  248. package/dist/types/modules/error-handler/utils/multer-error-handler.d.ts +7 -0
  249. package/dist/types/modules/file-upload/file-upload.controller.d.ts +7 -2
  250. package/dist/types/modules/file-upload/utils/file-upload-json-schema-generator.d.ts +12 -0
  251. package/dist/types/modules/swagger/swagger.router.d.ts +1 -2
  252. package/dist/types/modules/swagger/utils/get-open-api-login-html.d.ts +1 -0
  253. package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +48 -3
  254. package/dist/types/modules/swagger/utils/helpers/openapi-schema-converter.d.ts +6 -1
  255. package/dist/types/types/arkos-config/utils.d.ts +68 -0
  256. package/dist/types/types/arkos-prisma-input.d.ts +4 -3
  257. package/dist/types/types/arkos.d.ts +5 -15
  258. package/dist/types/types/auth.d.ts +4 -4
  259. package/dist/types/types/index.d.ts +10 -58
  260. package/dist/types/types/new-arkos-config.d.ts +326 -36
  261. package/dist/types/types/router-config.d.ts +0 -63
  262. package/dist/types/types/upload.d.ts +10 -0
  263. package/dist/types/types/validation/validation-manager.d.ts +27 -0
  264. package/dist/types/types/validation/validator.d.ts +2 -0
  265. package/dist/types/utils/arkos-router/arkos-router-openapi-manager.d.ts +14 -1
  266. package/dist/types/utils/arkos-router/index.d.ts +83 -8
  267. package/dist/types/utils/arkos-router/types/index.d.ts +74 -23
  268. package/dist/types/utils/arkos-router/types/openapi-config.d.ts +3 -2
  269. package/dist/types/utils/arkos-router/types/upload-config.d.ts +65 -8
  270. package/dist/types/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.d.ts +6 -0
  271. package/dist/types/utils/arkos-router/utils/helpers/index.d.ts +4 -6
  272. package/dist/types/utils/arkos-router/utils/helpers/upload-manager.d.ts +1 -36
  273. package/dist/types/utils/bundler.d.ts +1 -1
  274. package/dist/types/utils/cli/build.d.ts +1 -1
  275. package/dist/types/utils/cli/generate.d.ts +15 -6
  276. package/dist/types/utils/cli/start.d.ts +3 -1
  277. package/dist/types/utils/cli/utils/template-generator/templates/class-validator-dto-generator.d.ts +11 -0
  278. package/dist/types/utils/cli/utils/template-generator/templates/zod-schema-generator.d.ts +4 -0
  279. package/dist/types/utils/define-config.d.ts +1 -1
  280. package/dist/types/utils/docs-links.d.ts +1 -0
  281. package/dist/types/utils/dynamic-loader.d.ts +2 -2
  282. package/dist/types/utils/features/api.features.d.ts +1 -2
  283. package/dist/types/utils/helpers/arkos-config.helpers.d.ts +7 -0
  284. package/dist/types/utils/helpers/fs.helpers.d.ts +1 -16
  285. package/dist/types/utils/helpers/global.helpers.d.ts +1 -0
  286. package/dist/types/utils/helpers/prisma.helpers.d.ts +1 -1
  287. package/dist/types/utils/helpers/query-parser.helpers.d.ts +1 -1
  288. package/dist/types/utils/helpers/url-helpers.d.ts +1 -0
  289. package/dist/types/utils/initialize-app.d.ts +1 -0
  290. package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +12 -30
  291. package/dist/types/utils/prisma/prisma-schema-parser.d.ts +4 -0
  292. package/dist/types/utils/prisma/types.d.ts +3 -2
  293. package/package.json +117 -84
  294. package/dist/cjs/app.js +0 -79
  295. package/dist/cjs/app.js.map +0 -1
  296. package/dist/cjs/components/arkos-loadable-registry/index.js +0 -28
  297. package/dist/cjs/components/arkos-loadable-registry/index.js.map +0 -1
  298. package/dist/cjs/components/arkos-loadable-translator/index.js +0 -144
  299. package/dist/cjs/components/arkos-loadable-translator/index.js.map +0 -1
  300. package/dist/cjs/components/arkos-policy/index.js +0 -36
  301. package/dist/cjs/components/arkos-policy/index.js.map +0 -1
  302. package/dist/cjs/components/arkos-policy/types.js +0 -3
  303. package/dist/cjs/components/arkos-policy/types.js.map +0 -1
  304. package/dist/cjs/components/arkos-route-hook/index.js +0 -50
  305. package/dist/cjs/components/arkos-route-hook/index.js.map +0 -1
  306. package/dist/cjs/components/arkos-route-hook/reader.js +0 -47
  307. package/dist/cjs/components/arkos-route-hook/reader.js.map +0 -1
  308. package/dist/cjs/components/arkos-route-hook/types.js +0 -3
  309. package/dist/cjs/components/arkos-route-hook/types.js.map +0 -1
  310. package/dist/cjs/components/arkos-service-hook/index.js +0 -35
  311. package/dist/cjs/components/arkos-service-hook/index.js.map +0 -1
  312. package/dist/cjs/components/arkos-service-hook/reader.js +0 -30
  313. package/dist/cjs/components/arkos-service-hook/reader.js.map +0 -1
  314. package/dist/cjs/components/arkos-service-hook/types.js +0 -3
  315. package/dist/cjs/components/arkos-service-hook/types.js.map +0 -1
  316. package/dist/cjs/exports/auth/index.js +0 -6
  317. package/dist/cjs/exports/auth/index.js.map +0 -1
  318. package/dist/cjs/exports/config.js +0 -6
  319. package/dist/cjs/exports/config.js.map +0 -1
  320. package/dist/cjs/exports/controllers/index.js +0 -42
  321. package/dist/cjs/exports/controllers/index.js.map +0 -1
  322. package/dist/cjs/exports/error-handler/index.js +0 -11
  323. package/dist/cjs/exports/error-handler/index.js.map +0 -1
  324. package/dist/cjs/exports/index.js +0 -23
  325. package/dist/cjs/exports/index.js.map +0 -1
  326. package/dist/cjs/exports/middlewares/index.js +0 -7
  327. package/dist/cjs/exports/middlewares/index.js.map +0 -1
  328. package/dist/cjs/exports/prisma/index.js +0 -13
  329. package/dist/cjs/exports/prisma/index.js.map +0 -1
  330. package/dist/cjs/exports/services/index.js +0 -53
  331. package/dist/cjs/exports/services/index.js.map +0 -1
  332. package/dist/cjs/exports/utils/index.js +0 -26
  333. package/dist/cjs/exports/utils/index.js.map +0 -1
  334. package/dist/cjs/exports/validation/index.js +0 -11
  335. package/dist/cjs/exports/validation/index.js.map +0 -1
  336. package/dist/cjs/generated.js +0 -7
  337. package/dist/cjs/generated.js.map +0 -1
  338. package/dist/cjs/modules/auth/auth.controller.js +0 -254
  339. package/dist/cjs/modules/auth/auth.controller.js.map +0 -1
  340. package/dist/cjs/modules/auth/auth.router.js +0 -113
  341. package/dist/cjs/modules/auth/auth.router.js.map +0 -1
  342. package/dist/cjs/modules/auth/auth.service.js +0 -277
  343. package/dist/cjs/modules/auth/auth.service.js.map +0 -1
  344. package/dist/cjs/modules/auth/utils/auth-error-objects.js +0 -10
  345. package/dist/cjs/modules/auth/utils/auth-error-objects.js.map +0 -1
  346. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +0 -83
  347. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -1
  348. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +0 -150
  349. package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +0 -1
  350. package/dist/cjs/modules/base/base.controller.js +0 -275
  351. package/dist/cjs/modules/base/base.controller.js.map +0 -1
  352. package/dist/cjs/modules/base/base.middlewares.js +0 -231
  353. package/dist/cjs/modules/base/base.middlewares.js.map +0 -1
  354. package/dist/cjs/modules/base/base.router.js +0 -112
  355. package/dist/cjs/modules/base/base.router.js.map +0 -1
  356. package/dist/cjs/modules/base/base.service.js +0 -432
  357. package/dist/cjs/modules/base/base.service.js.map +0 -1
  358. package/dist/cjs/modules/base/types/base.service.types.js +0 -3
  359. package/dist/cjs/modules/base/types/base.service.types.js.map +0 -1
  360. package/dist/cjs/modules/base/utils/error-prettifier.js +0 -188
  361. package/dist/cjs/modules/base/utils/error-prettifier.js.map +0 -1
  362. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +0 -49
  363. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -1
  364. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +0 -13
  365. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
  366. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +0 -222
  367. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +0 -1
  368. package/dist/cjs/modules/base/utils/router-validator.js +0 -13
  369. package/dist/cjs/modules/base/utils/router-validator.js.map +0 -1
  370. package/dist/cjs/modules/base/utils/service-hooks-manager.js +0 -19
  371. package/dist/cjs/modules/base/utils/service-hooks-manager.js.map +0 -1
  372. package/dist/cjs/modules/debugger/debugger.service.js +0 -59
  373. package/dist/cjs/modules/debugger/debugger.service.js.map +0 -1
  374. package/dist/cjs/modules/email/email.service.js +0 -106
  375. package/dist/cjs/modules/email/email.service.js.map +0 -1
  376. package/dist/cjs/modules/error-handler/error-handler.controller.js +0 -192
  377. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +0 -1
  378. package/dist/cjs/modules/error-handler/utils/app-error.js +0 -28
  379. package/dist/cjs/modules/error-handler/utils/app-error.js.map +0 -1
  380. package/dist/cjs/modules/error-handler/utils/catch-async.js +0 -21
  381. package/dist/cjs/modules/error-handler/utils/catch-async.js.map +0 -1
  382. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +0 -218
  383. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +0 -1
  384. package/dist/cjs/modules/file-upload/file-upload.controller.js +0 -256
  385. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +0 -1
  386. package/dist/cjs/modules/file-upload/file-upload.router.js +0 -80
  387. package/dist/cjs/modules/file-upload/file-upload.router.js.map +0 -1
  388. package/dist/cjs/modules/file-upload/file-upload.service.js +0 -343
  389. package/dist/cjs/modules/file-upload/file-upload.service.js.map +0 -1
  390. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js +0 -134
  391. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js.map +0 -1
  392. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +0 -100
  393. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -1
  394. package/dist/cjs/modules/swagger/swagger.router.js +0 -65
  395. package/dist/cjs/modules/swagger/swagger.router.js.map +0 -1
  396. package/dist/cjs/modules/swagger/utils/built-in-route-path-object-manager.js +0 -7
  397. package/dist/cjs/modules/swagger/utils/built-in-route-path-object-manager.js.map +0 -1
  398. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js +0 -53
  399. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +0 -1
  400. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +0 -473
  401. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +0 -1
  402. package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +0 -491
  403. package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +0 -1
  404. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +0 -73
  405. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +0 -1
  406. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +0 -37
  407. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +0 -1
  408. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +0 -61
  409. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +0 -1
  410. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +0 -31
  411. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +0 -1
  412. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +0 -49
  413. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +0 -1
  414. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +0 -39
  415. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +0 -1
  416. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +0 -468
  417. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +0 -1
  418. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +0 -260
  419. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +0 -1
  420. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js +0 -331
  421. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js.map +0 -1
  422. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +0 -109
  423. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +0 -1
  424. package/dist/cjs/package.json +0 -3
  425. package/dist/cjs/server.js +0 -60
  426. package/dist/cjs/server.js.map +0 -1
  427. package/dist/cjs/types/arkos-prisma-input.js +0 -3
  428. package/dist/cjs/types/arkos-prisma-input.js.map +0 -1
  429. package/dist/cjs/types/arkos.js +0 -3
  430. package/dist/cjs/types/arkos.js.map +0 -1
  431. package/dist/cjs/types/auth.js +0 -3
  432. package/dist/cjs/types/auth.js.map +0 -1
  433. package/dist/cjs/types/index.js +0 -3
  434. package/dist/cjs/types/index.js.map +0 -1
  435. package/dist/cjs/types/new-arkos-config.js +0 -3
  436. package/dist/cjs/types/new-arkos-config.js.map +0 -1
  437. package/dist/cjs/types/router-config.js +0 -3
  438. package/dist/cjs/types/router-config.js.map +0 -1
  439. package/dist/cjs/utils/arkos-env.js +0 -9
  440. package/dist/cjs/utils/arkos-env.js.map +0 -1
  441. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js +0 -126
  442. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js.map +0 -1
  443. package/dist/cjs/utils/arkos-router/index.js +0 -253
  444. package/dist/cjs/utils/arkos-router/index.js.map +0 -1
  445. package/dist/cjs/utils/arkos-router/route-config-registry.js +0 -16
  446. package/dist/cjs/utils/arkos-router/route-config-registry.js.map +0 -1
  447. package/dist/cjs/utils/arkos-router/route-config-validator.js +0 -56
  448. package/dist/cjs/utils/arkos-router/route-config-validator.js.map +0 -1
  449. package/dist/cjs/utils/arkos-router/types/body-parser-config.js +0 -3
  450. package/dist/cjs/utils/arkos-router/types/body-parser-config.js.map +0 -1
  451. package/dist/cjs/utils/arkos-router/types/index.js +0 -3
  452. package/dist/cjs/utils/arkos-router/types/index.js.map +0 -1
  453. package/dist/cjs/utils/arkos-router/types/openapi-config.js +0 -3
  454. package/dist/cjs/utils/arkos-router/types/openapi-config.js.map +0 -1
  455. package/dist/cjs/utils/arkos-router/types/upload-config.js +0 -3
  456. package/dist/cjs/utils/arkos-router/types/upload-config.js.map +0 -1
  457. package/dist/cjs/utils/arkos-router/utils/helpers/index.js +0 -163
  458. package/dist/cjs/utils/arkos-router/utils/helpers/index.js.map +0 -1
  459. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js +0 -283
  460. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js.map +0 -1
  461. package/dist/cjs/utils/bundler.js +0 -163
  462. package/dist/cjs/utils/bundler.js.map +0 -1
  463. package/dist/cjs/utils/cli/build.js +0 -199
  464. package/dist/cjs/utils/cli/build.js.map +0 -1
  465. package/dist/cjs/utils/cli/dev.js +0 -128
  466. package/dist/cjs/utils/cli/dev.js.map +0 -1
  467. package/dist/cjs/utils/cli/export-auth-action.js +0 -79
  468. package/dist/cjs/utils/cli/export-auth-action.js.map +0 -1
  469. package/dist/cjs/utils/cli/generate.js +0 -229
  470. package/dist/cjs/utils/cli/generate.js.map +0 -1
  471. package/dist/cjs/utils/cli/index.js +0 -191
  472. package/dist/cjs/utils/cli/index.js.map +0 -1
  473. package/dist/cjs/utils/cli/prisma-generate.js +0 -112
  474. package/dist/cjs/utils/cli/prisma-generate.js.map +0 -1
  475. package/dist/cjs/utils/cli/start.js +0 -72
  476. package/dist/cjs/utils/cli/start.js.map +0 -1
  477. package/dist/cjs/utils/cli/utils/cli.helpers.js +0 -24
  478. package/dist/cjs/utils/cli/utils/cli.helpers.js.map +0 -1
  479. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js +0 -115
  480. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js.map +0 -1
  481. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +0 -73
  482. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js.map +0 -1
  483. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +0 -550
  484. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js.map +0 -1
  485. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -52
  486. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
  487. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js +0 -139
  488. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +0 -1
  489. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js +0 -53
  490. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js.map +0 -1
  491. package/dist/cjs/utils/cli/utils/template-generator/templates/route-hook.template.js +0 -39
  492. package/dist/cjs/utils/cli/utils/template-generator/templates/route-hook.template.js.map +0 -1
  493. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +0 -19
  494. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +0 -1
  495. package/dist/cjs/utils/cli/utils/template-generator/templates/service-hook.template.js +0 -32
  496. package/dist/cjs/utils/cli/utils/template-generator/templates/service-hook.template.js.map +0 -1
  497. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +0 -50
  498. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +0 -1
  499. package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js +0 -351
  500. package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js.map +0 -1
  501. package/dist/cjs/utils/cli/utils/template-generators.js +0 -52
  502. package/dist/cjs/utils/cli/utils/template-generators.js.map +0 -1
  503. package/dist/cjs/utils/cli/utils/watermark-stamper.js +0 -26
  504. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +0 -1
  505. package/dist/cjs/utils/define-config.js +0 -46
  506. package/dist/cjs/utils/define-config.js.map +0 -1
  507. package/dist/cjs/utils/dotenv.helpers.js +0 -52
  508. package/dist/cjs/utils/dotenv.helpers.js.map +0 -1
  509. package/dist/cjs/utils/dynamic-loader.js +0 -22
  510. package/dist/cjs/utils/dynamic-loader.js.map +0 -1
  511. package/dist/cjs/utils/expand-env.js +0 -72
  512. package/dist/cjs/utils/expand-env.js.map +0 -1
  513. package/dist/cjs/utils/features/api.features.js +0 -201
  514. package/dist/cjs/utils/features/api.features.js.map +0 -1
  515. package/dist/cjs/utils/features/port-and-host-allocator.js +0 -129
  516. package/dist/cjs/utils/features/port-and-host-allocator.js.map +0 -1
  517. package/dist/cjs/utils/helpers/api.features.helpers.js +0 -327
  518. package/dist/cjs/utils/helpers/api.features.helpers.js.map +0 -1
  519. package/dist/cjs/utils/helpers/arkos-config.helpers.js +0 -86
  520. package/dist/cjs/utils/helpers/arkos-config.helpers.js.map +0 -1
  521. package/dist/cjs/utils/helpers/change-case.helpers.js +0 -177
  522. package/dist/cjs/utils/helpers/change-case.helpers.js.map +0 -1
  523. package/dist/cjs/utils/helpers/deepmerge.helper.js +0 -115
  524. package/dist/cjs/utils/helpers/deepmerge.helper.js.map +0 -1
  525. package/dist/cjs/utils/helpers/exit-error.js +0 -12
  526. package/dist/cjs/utils/helpers/exit-error.js.map +0 -1
  527. package/dist/cjs/utils/helpers/fs.helpers.js +0 -60
  528. package/dist/cjs/utils/helpers/fs.helpers.js.map +0 -1
  529. package/dist/cjs/utils/helpers/global.helpers.js +0 -105
  530. package/dist/cjs/utils/helpers/global.helpers.js.map +0 -1
  531. package/dist/cjs/utils/helpers/prisma.helpers.js +0 -53
  532. package/dist/cjs/utils/helpers/prisma.helpers.js.map +0 -1
  533. package/dist/cjs/utils/helpers/query-parser.helpers.js +0 -69
  534. package/dist/cjs/utils/helpers/query-parser.helpers.js.map +0 -1
  535. package/dist/cjs/utils/helpers/routers.helpers.js +0 -36
  536. package/dist/cjs/utils/helpers/routers.helpers.js.map +0 -1
  537. package/dist/cjs/utils/helpers/text.helpers.js +0 -28
  538. package/dist/cjs/utils/helpers/text.helpers.js.map +0 -1
  539. package/dist/cjs/utils/initialize-app.js +0 -55
  540. package/dist/cjs/utils/initialize-app.js.map +0 -1
  541. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +0 -437
  542. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +0 -1
  543. package/dist/cjs/utils/prisma/prisma-schema-parser.js +0 -360
  544. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +0 -1
  545. package/dist/cjs/utils/prisma/types.js +0 -3
  546. package/dist/cjs/utils/prisma/types.js.map +0 -1
  547. package/dist/cjs/utils/remove-dir.js +0 -14
  548. package/dist/cjs/utils/remove-dir.js.map +0 -1
  549. package/dist/cjs/utils/setup-app.js +0 -119
  550. package/dist/cjs/utils/setup-app.js.map +0 -1
  551. package/dist/cjs/utils/sheu.js +0 -131
  552. package/dist/cjs/utils/sheu.js.map +0 -1
  553. package/dist/cjs/utils/validate-dto.js +0 -19
  554. package/dist/cjs/utils/validate-dto.js.map +0 -1
  555. package/dist/cjs/utils/validate-schema.js +0 -75
  556. package/dist/cjs/utils/validate-schema.js.map +0 -1
  557. package/dist/esm/components/arkos-loadable-translator/index.js +0 -138
  558. package/dist/esm/components/arkos-loadable-translator/index.js.map +0 -1
  559. package/dist/esm/components/arkos-service-hook/index.js +0 -32
  560. package/dist/esm/components/arkos-service-hook/index.js.map +0 -1
  561. package/dist/esm/components/arkos-service-hook/reader.js +0 -24
  562. package/dist/esm/components/arkos-service-hook/reader.js.map +0 -1
  563. package/dist/esm/components/arkos-service-hook/types.js +0 -2
  564. package/dist/esm/components/arkos-service-hook/types.js.map +0 -1
  565. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +0 -10
  566. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
  567. package/dist/esm/modules/base/utils/service-hooks-manager.js +0 -17
  568. package/dist/esm/modules/base/utils/service-hooks-manager.js.map +0 -1
  569. package/dist/esm/modules/swagger/utils/built-in-route-path-object-manager.js +0 -5
  570. package/dist/esm/modules/swagger/utils/built-in-route-path-object-manager.js.map +0 -1
  571. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +0 -469
  572. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +0 -1
  573. package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +0 -485
  574. package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +0 -1
  575. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +0 -34
  576. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +0 -1
  577. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +0 -55
  578. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +0 -1
  579. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +0 -25
  580. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +0 -1
  581. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +0 -46
  582. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +0 -1
  583. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +0 -33
  584. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +0 -1
  585. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +0 -462
  586. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +0 -1
  587. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +0 -255
  588. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +0 -1
  589. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +0 -98
  590. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +0 -1
  591. package/dist/esm/utils/cli/utils/template-generator/templates/route-hook.template.js +0 -36
  592. package/dist/esm/utils/cli/utils/template-generator/templates/route-hook.template.js.map +0 -1
  593. package/dist/esm/utils/cli/utils/template-generator/templates/service-hook.template.js +0 -29
  594. package/dist/esm/utils/cli/utils/template-generator/templates/service-hook.template.js.map +0 -1
  595. package/dist/types/components/arkos-loadable-translator/index.d.ts +0 -53
  596. package/dist/types/components/arkos-service-hook/index.d.ts +0 -41
  597. package/dist/types/components/arkos-service-hook/reader.d.ts +0 -35
  598. package/dist/types/components/arkos-service-hook/types.d.ts +0 -240
  599. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +0 -3
  600. package/dist/types/modules/base/utils/service-hooks-manager.d.ts +0 -10
  601. package/dist/types/modules/swagger/utils/built-in-route-path-object-manager.d.ts +0 -4
  602. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +0 -5
  603. package/dist/types/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.d.ts +0 -3
  604. package/dist/types/modules/swagger/utils/helpers/get-system-json-schema-paths.d.ts +0 -2
  605. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +0 -1
  606. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +0 -1
  607. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.d.ts +0 -4
  608. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +0 -1
  609. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +0 -2
  610. package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +0 -76
  611. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +0 -19
  612. package/dist/types/utils/cli/utils/template-generator/templates/route-hook.template.d.ts +0 -2
  613. package/dist/types/utils/cli/utils/template-generator/templates/service-hook.template.d.ts +0 -2
@@ -1,351 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ZodSchemaGenerator = void 0;
7
- const prisma_schema_parser_1 = __importDefault(require("../../../../prisma/prisma-schema-parser.js"));
8
- const fs_helpers_1 = require("../../../../helpers/fs.helpers.js");
9
- class ZodSchemaGenerator {
10
- ensureCorrectOptions(options) {
11
- const { modelName } = options;
12
- if (!modelName)
13
- throw new Error("Module name is required for schema template");
14
- const model = prisma_schema_parser_1.default.models.find((m) => m.name.toLowerCase() === modelName.pascal.toLowerCase());
15
- if (!model)
16
- throw new Error(`Model ${modelName.pascal} not found in Prisma schema`);
17
- return model;
18
- }
19
- generateCreateSchema(options) {
20
- const { modelName } = options;
21
- const model = this.ensureCorrectOptions(options);
22
- const ext = (0, fs_helpers_1.getUserFileExtension)();
23
- const isTypeScript = ext === "ts";
24
- const restrictedFields = [
25
- "id",
26
- "createdAt",
27
- "updatedAt",
28
- "deletedAt",
29
- "created_at",
30
- "updated_at",
31
- "deleted_at",
32
- ];
33
- const isUserModule = modelName.kebab === "user";
34
- const enumsUsed = new Set();
35
- let schemaFields = [];
36
- for (const field of model.fields) {
37
- const isForeignKey = model.fields.some((f) => f.foreignKeyField === field.name);
38
- if (field.isId || restrictedFields.includes(field.name) || isForeignKey)
39
- continue;
40
- if (field.isRelation) {
41
- if (field.isArray)
42
- continue;
43
- const referencedModel = prisma_schema_parser_1.default.models.find((m) => m.name === field.type);
44
- if (referencedModel) {
45
- const refField = field.foreignReferenceField || "id";
46
- const refFieldType = referencedModel.fields.find((f) => f.name === refField);
47
- let zodType = this.mapPrismaTypeToZod(refFieldType?.type);
48
- if (refFieldType?.type?.toLowerCase?.() === "string" ||
49
- !refFieldType?.type)
50
- zodType = zodType + ".min(1)";
51
- const isOptional = field.isOptional || field.defaultValue !== undefined;
52
- schemaFields.push(` ${field.name}: z.object({ ${refField}: ${zodType} })${isOptional ? ".optional()" : ""}`);
53
- }
54
- continue;
55
- }
56
- if (prisma_schema_parser_1.default.isEnum(field.type))
57
- enumsUsed.add(field.type);
58
- const zodSchema = this.generateZodField(field, isUserModule, false);
59
- schemaFields.push(` ${field.name}: ${zodSchema}`);
60
- }
61
- const enumImports = enumsUsed.size > 0
62
- ? `import { ${Array.from(enumsUsed).join(", ")} } from "@prisma/client";\n`
63
- : "";
64
- const typeExport = isTypeScript
65
- ? `\n\nexport type Create${modelName.pascal}SchemaType = z.infer<typeof Create${modelName.pascal}Schema>;`
66
- : "";
67
- return `import { z } from "zod";
68
- ${enumImports}
69
- const Create${modelName.pascal}Schema = z.object({
70
- ${schemaFields.join(",\n")}
71
- });
72
-
73
- export default Create${modelName.pascal}Schema;${typeExport}
74
- `;
75
- }
76
- generateUpdateSchema(options) {
77
- const { modelName } = options;
78
- const model = this.ensureCorrectOptions(options);
79
- const ext = (0, fs_helpers_1.getUserFileExtension)();
80
- const isTypeScript = ext === "ts";
81
- const restrictedFields = ["id", "createdAt", "updatedAt", "deletedAt"];
82
- const isUserModule = modelName.kebab === "user";
83
- const enumsUsed = new Set();
84
- let schemaFields = [];
85
- for (const field of model.fields) {
86
- const isForeignKey = model.fields.some((f) => f.foreignKeyField === field.name);
87
- if (field.isId || restrictedFields.includes(field.name) || isForeignKey) {
88
- continue;
89
- }
90
- if (field.isRelation) {
91
- if (field.isArray)
92
- continue;
93
- const referencedModel = prisma_schema_parser_1.default.models.find((m) => m.name === field.type);
94
- if (referencedModel) {
95
- const refField = field.foreignReferenceField || "id";
96
- const refFieldType = referencedModel.fields.find((f) => f.name === refField);
97
- let zodType = this.mapPrismaTypeToZod(refFieldType?.type);
98
- if (refFieldType?.type?.toLowerCase?.() === "string" ||
99
- !refFieldType?.type)
100
- zodType = zodType + ".min(1)";
101
- schemaFields.push(` ${field.name}: z.object({ ${refField}: ${zodType} }).optional()`);
102
- }
103
- continue;
104
- }
105
- if (prisma_schema_parser_1.default.isEnum(field.type)) {
106
- enumsUsed.add(field.type);
107
- }
108
- const zodSchema = this.generateZodField(field, isUserModule, true);
109
- schemaFields.push(` ${field.name}: ${zodSchema}`);
110
- }
111
- const enumImports = enumsUsed.size > 0
112
- ? `import { ${Array.from(enumsUsed).join(", ")} } from "@prisma/client";\n`
113
- : "";
114
- const typeExport = isTypeScript
115
- ? `\n\nexport type Update${modelName.pascal}SchemaType = z.infer<typeof Update${modelName.pascal}Schema>;`
116
- : "";
117
- return `import { z } from "zod";
118
- ${enumImports}
119
- const Update${modelName.pascal}Schema = z.object({
120
- ${schemaFields.join(",\n")}
121
- });
122
-
123
- export default Update${modelName.pascal}Schema;${typeExport}
124
- `;
125
- }
126
- generateBaseSchema(options) {
127
- const { modelName } = options;
128
- const model = this.ensureCorrectOptions(options);
129
- const ext = (0, fs_helpers_1.getUserFileExtension)();
130
- const isTypeScript = ext === "ts";
131
- const isUserModule = modelName.kebab === "user";
132
- const enumsUsed = new Set();
133
- let schemaFields = [];
134
- for (const field of model.fields) {
135
- if (isUserModule && field.name === "password") {
136
- continue;
137
- }
138
- if (field.isRelation) {
139
- continue;
140
- }
141
- if (prisma_schema_parser_1.default.isEnum(field.type)) {
142
- enumsUsed.add(field.type);
143
- }
144
- const zodSchema = this.generateZodField(field, isUserModule, false);
145
- schemaFields.push(` ${field.name}: ${zodSchema}`);
146
- }
147
- const enumImports = enumsUsed.size > 0
148
- ? `import { ${Array.from(enumsUsed).join(", ")} } from "@prisma/client";\n`
149
- : "";
150
- const typeExport = isTypeScript
151
- ? `\n\nexport type ${modelName.pascal}SchemaType = z.infer<typeof ${modelName.pascal}Schema>;`
152
- : "";
153
- return `import { z } from "zod";
154
- ${enumImports}
155
- const ${modelName.pascal}Schema = z.object({
156
- ${schemaFields.join(",\n")}
157
- });
158
-
159
- export default ${modelName.pascal}Schema;${typeExport}
160
- `;
161
- }
162
- generateQuerySchema(options) {
163
- const { modelName } = options;
164
- const model = this.ensureCorrectOptions(options);
165
- const ext = (0, fs_helpers_1.getUserFileExtension)();
166
- const isTypeScript = ext === "ts";
167
- const isUserModule = modelName.kebab === "user";
168
- const enumsUsed = new Set();
169
- const filterSchemasNeeded = new Set();
170
- const restrictedFields = ["id"];
171
- const timestampFields = [
172
- "createdAt",
173
- "updatedAt",
174
- "deletedAt",
175
- "created_at",
176
- "updated_at",
177
- "deleted_at",
178
- ];
179
- let schemaFields = [];
180
- let timestampSchemaFields = [];
181
- schemaFields.push(` page: z.coerce.number().optional()`);
182
- schemaFields.push(` limit: z.coerce.number().max(100).optional()`);
183
- schemaFields.push(` sort: z.string().optional()`);
184
- schemaFields.push(` fields: z.string().optional()`);
185
- for (const field of model.fields) {
186
- if (isUserModule && field.name === "password")
187
- continue;
188
- if (restrictedFields.includes(field.name))
189
- continue;
190
- const isForeignKey = model.fields.some((f) => f.foreignKeyField === field.name);
191
- if (isForeignKey)
192
- continue;
193
- if (field.isRelation) {
194
- if (field.isArray)
195
- continue;
196
- const referencedModel = prisma_schema_parser_1.default.models.find((m) => m.name === field.type);
197
- if (referencedModel) {
198
- const refField = field.foreignReferenceField || "id";
199
- const refFieldType = referencedModel.fields.find((f) => f.name === refField);
200
- const zodType = this.mapPrismaTypeToZod(refFieldType?.type);
201
- const fieldDef = ` ${field.name}: z.object({ ${refField}: ${zodType}.optional() }).optional()`;
202
- if (timestampFields.includes(field.name)) {
203
- timestampSchemaFields.push(fieldDef);
204
- }
205
- else {
206
- schemaFields.push(fieldDef);
207
- }
208
- }
209
- continue;
210
- }
211
- if (prisma_schema_parser_1.default.isEnum(field.type)) {
212
- enumsUsed.add(field.type);
213
- const fieldDef = ` ${field.name}: z.nativeEnum(${field.type}).optional()`;
214
- if (timestampFields.includes(field.name)) {
215
- timestampSchemaFields.push(fieldDef);
216
- }
217
- else {
218
- schemaFields.push(fieldDef);
219
- }
220
- continue;
221
- }
222
- if (field.type === "Boolean") {
223
- const fieldDef = ` ${field.name}: z.boolean().optional()`;
224
- if (timestampFields.includes(field.name)) {
225
- timestampSchemaFields.push(fieldDef);
226
- }
227
- else {
228
- schemaFields.push(fieldDef);
229
- }
230
- continue;
231
- }
232
- const filterSchemaName = this.getFilterSchemaForField(field, enumsUsed);
233
- if (filterSchemaName) {
234
- filterSchemasNeeded.add(filterSchemaName);
235
- const fieldDef = ` ${field.name}: ${filterSchemaName}.optional()`;
236
- if (timestampFields.includes(field.name)) {
237
- timestampSchemaFields.push(fieldDef);
238
- }
239
- else {
240
- schemaFields.push(fieldDef);
241
- }
242
- }
243
- }
244
- const enumImports = enumsUsed.size > 0
245
- ? `import { ${Array.from(enumsUsed).join(", ")} } from "@prisma/client";\n`
246
- : "";
247
- const filterSchemas = this.generateFilterSchemas(filterSchemasNeeded, enumsUsed);
248
- const filterSchemasSection = filterSchemas ? `\n${filterSchemas}\n` : "";
249
- const typeExport = isTypeScript
250
- ? `\n\nexport type Query${modelName.pascal}SchemaType = z.infer<typeof Query${modelName.pascal}Schema>;`
251
- : "";
252
- const allFields = [...schemaFields, ...timestampSchemaFields];
253
- return `import { z } from "zod";
254
- ${enumImports}${filterSchemasSection}
255
- const Query${modelName.pascal}Schema = z.object({
256
- ${allFields.join(",\n")}
257
- });
258
-
259
- export default Query${modelName.pascal}Schema;${typeExport}
260
- `;
261
- }
262
- getFilterSchemaForField(field, enumsUsed) {
263
- if (prisma_schema_parser_1.default.isEnum(field.type)) {
264
- enumsUsed.add(field.type);
265
- return `${field.type}FilterSchema`;
266
- }
267
- switch (field.type) {
268
- case "String":
269
- return "StringFilterSchema";
270
- case "Int":
271
- case "Float":
272
- case "Decimal":
273
- case "BigInt":
274
- return "NumberFilterSchema";
275
- case "DateTime":
276
- return "DateTimeFilterSchema";
277
- default:
278
- return null;
279
- }
280
- }
281
- generateFilterSchemas(filterSchemasNeeded, _) {
282
- const schemas = [];
283
- if (filterSchemasNeeded.has("StringFilterSchema")) {
284
- schemas.push(`const StringFilterSchema = z.object({
285
- icontains: z.string().optional()
286
- });`);
287
- }
288
- if (filterSchemasNeeded.has("NumberFilterSchema")) {
289
- schemas.push(`const NumberFilterSchema = z.object({
290
- equals: z.coerce.number().optional(),
291
- gte: z.coerce.number().optional(),
292
- lte: z.coerce.number().optional()
293
- });`);
294
- }
295
- if (filterSchemasNeeded.has("DateTimeFilterSchema")) {
296
- schemas.push(`const DateTimeFilterSchema = z.object({
297
- equals: z.string().optional(),
298
- gte: z.string().optional(),
299
- lte: z.string().optional()
300
- });`);
301
- }
302
- return schemas.join("\n\n");
303
- }
304
- generateZodField(field, isUserModule, forceOptional) {
305
- let zodType = this.mapPrismaTypeToZod(field.type);
306
- if (field.isArray)
307
- zodType = `z.array(${zodType}${field.type === "String" ? ".min(1)" : ""})`;
308
- if (prisma_schema_parser_1.default.isEnum(field.type))
309
- zodType = field.isArray
310
- ? `z.array(z.nativeEnum(${field.type}))`
311
- : `z.nativeEnum(${field.type})`;
312
- if (isUserModule) {
313
- if (field.name === "email") {
314
- zodType = `z.string().email()`;
315
- }
316
- else if (field.name === "password") {
317
- zodType = `z.string().min(8).regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)/, "Password must contain at least one uppercase letter, one lowercase letter, and one number")`;
318
- }
319
- }
320
- const isOptional = forceOptional || field.isOptional || field.defaultValue !== undefined;
321
- if (isOptional)
322
- zodType += ".optional()";
323
- return zodType;
324
- }
325
- mapPrismaTypeToZod(prismaType) {
326
- switch (prismaType) {
327
- case "String":
328
- return "z.string()";
329
- case "Int":
330
- case "Float":
331
- case "Decimal":
332
- return "z.number()";
333
- case "Boolean":
334
- return "z.boolean()";
335
- case "DateTime":
336
- return "z.date().or(z.string()).refine((val) => val instanceof Date || !isNaN(Date.parse(val)), 'Invalid date')";
337
- case "Json":
338
- return "z.any()";
339
- case "Bytes":
340
- return "z.instanceof(Buffer)";
341
- case "BigInt":
342
- return "z.bigint()";
343
- default:
344
- return "z.any()";
345
- }
346
- }
347
- }
348
- exports.ZodSchemaGenerator = ZodSchemaGenerator;
349
- const zodSchemaGenerator = new ZodSchemaGenerator();
350
- exports.default = zodSchemaGenerator;
351
- //# sourceMappingURL=zod-schema-generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zod-schema-generator.js","sourceRoot":"","sources":["../../../../../../../src/utils/cli/utils/template-generator/templates/zod-schema-generator.ts"],"names":[],"mappings":"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","sourcesContent":["import prismaSchemaParser from \"../../../../prisma/prisma-schema-parser\";\nimport { PrismaField } from \"../../../../prisma/types\";\nimport { getUserFileExtension } from \"../../../../helpers/fs.helpers\";\nimport { TemplateOptions } from \"../../template-generators\";\n\nexport class ZodSchemaGenerator {\n private ensureCorrectOptions(options: TemplateOptions) {\n const { modelName } = options;\n if (!modelName)\n throw new Error(\"Module name is required for schema template\");\n const model = prismaSchemaParser.models.find(\n (m) => m.name.toLowerCase() === modelName.pascal.toLowerCase()\n );\n if (!model)\n throw new Error(`Model ${modelName.pascal} not found in Prisma schema`);\n return model;\n }\n\n generateCreateSchema(options: TemplateOptions): string {\n const { modelName } = options;\n const model = this.ensureCorrectOptions(options);\n\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n const restrictedFields = [\n \"id\",\n \"createdAt\",\n \"updatedAt\",\n \"deletedAt\",\n \"created_at\",\n \"updated_at\",\n \"deleted_at\",\n ];\n const isUserModule = modelName!.kebab === \"user\";\n const enumsUsed = new Set<string>();\n\n let schemaFields: string[] = [];\n\n for (const field of model.fields) {\n const isForeignKey = model.fields.some(\n (f) => f.foreignKeyField === field.name\n );\n if (field.isId || restrictedFields.includes(field.name) || isForeignKey)\n continue;\n\n if (field.isRelation) {\n if (field.isArray) continue;\n\n const referencedModel = prismaSchemaParser.models.find(\n (m) => m.name === field.type\n );\n\n if (referencedModel) {\n const refField = field.foreignReferenceField || \"id\";\n const refFieldType = referencedModel.fields.find(\n (f) => f.name === refField\n );\n let zodType = this.mapPrismaTypeToZod(refFieldType?.type!);\n if (\n refFieldType?.type?.toLowerCase?.() === \"string\" ||\n !refFieldType?.type\n )\n zodType = zodType + \".min(1)\";\n const isOptional =\n field.isOptional || field.defaultValue !== undefined;\n schemaFields.push(\n ` ${field.name}: z.object({ ${refField}: ${zodType} })${isOptional ? \".optional()\" : \"\"}`\n );\n }\n continue;\n }\n\n if (prismaSchemaParser.isEnum(field.type)) enumsUsed.add(field.type);\n\n const zodSchema = this.generateZodField(field, isUserModule, false);\n schemaFields.push(` ${field.name}: ${zodSchema}`);\n }\n\n const enumImports =\n enumsUsed.size > 0\n ? `import { ${Array.from(enumsUsed).join(\", \")} } from \"@prisma/client\";\\n`\n : \"\";\n\n const typeExport = isTypeScript\n ? `\\n\\nexport type Create${modelName!.pascal}SchemaType = z.infer<typeof Create${modelName!.pascal}Schema>;`\n : \"\";\n\n return `import { z } from \"zod\";\n${enumImports}\nconst Create${modelName!.pascal}Schema = z.object({\n${schemaFields.join(\",\\n\")}\n});\n\nexport default Create${modelName!.pascal}Schema;${typeExport}\n`;\n }\n\n generateUpdateSchema(options: TemplateOptions): string {\n const { modelName } = options;\n const model = this.ensureCorrectOptions(options);\n\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n const restrictedFields = [\"id\", \"createdAt\", \"updatedAt\", \"deletedAt\"];\n const isUserModule = modelName!.kebab === \"user\";\n const enumsUsed = new Set<string>();\n\n let schemaFields: string[] = [];\n\n for (const field of model.fields) {\n const isForeignKey = model.fields.some(\n (f) => f.foreignKeyField === field.name\n );\n if (field.isId || restrictedFields.includes(field.name) || isForeignKey) {\n continue;\n }\n\n if (field.isRelation) {\n if (field.isArray) continue;\n\n const referencedModel = prismaSchemaParser.models.find(\n (m) => m.name === field.type\n );\n\n if (referencedModel) {\n const refField = field.foreignReferenceField || \"id\";\n const refFieldType = referencedModel.fields.find(\n (f) => f.name === refField\n );\n let zodType = this.mapPrismaTypeToZod(refFieldType?.type!);\n if (\n refFieldType?.type?.toLowerCase?.() === \"string\" ||\n !refFieldType?.type\n )\n zodType = zodType + \".min(1)\";\n\n schemaFields.push(\n ` ${field.name}: z.object({ ${refField}: ${zodType} }).optional()`\n );\n }\n continue;\n }\n\n if (prismaSchemaParser.isEnum(field.type)) {\n enumsUsed.add(field.type);\n }\n\n const zodSchema = this.generateZodField(field, isUserModule, true);\n schemaFields.push(` ${field.name}: ${zodSchema}`);\n }\n\n const enumImports =\n enumsUsed.size > 0\n ? `import { ${Array.from(enumsUsed).join(\", \")} } from \"@prisma/client\";\\n`\n : \"\";\n\n const typeExport = isTypeScript\n ? `\\n\\nexport type Update${modelName!.pascal}SchemaType = z.infer<typeof Update${modelName!.pascal}Schema>;`\n : \"\";\n\n return `import { z } from \"zod\";\n${enumImports}\nconst Update${modelName!.pascal}Schema = z.object({\n${schemaFields.join(\",\\n\")}\n});\n\nexport default Update${modelName!.pascal}Schema;${typeExport}\n`;\n }\n\n generateBaseSchema(options: TemplateOptions): string {\n const { modelName } = options;\n const model = this.ensureCorrectOptions(options);\n\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n const isUserModule = modelName!.kebab === \"user\";\n const enumsUsed = new Set<string>();\n\n let schemaFields: string[] = [];\n\n for (const field of model.fields) {\n if (isUserModule && field.name === \"password\") {\n continue;\n }\n\n if (field.isRelation) {\n continue;\n }\n\n if (prismaSchemaParser.isEnum(field.type)) {\n enumsUsed.add(field.type);\n }\n\n const zodSchema = this.generateZodField(field, isUserModule, false);\n schemaFields.push(` ${field.name}: ${zodSchema}`);\n }\n\n const enumImports =\n enumsUsed.size > 0\n ? `import { ${Array.from(enumsUsed).join(\", \")} } from \"@prisma/client\";\\n`\n : \"\";\n\n const typeExport = isTypeScript\n ? `\\n\\nexport type ${modelName!.pascal}SchemaType = z.infer<typeof ${modelName!.pascal}Schema>;`\n : \"\";\n\n return `import { z } from \"zod\";\n${enumImports}\nconst ${modelName!.pascal}Schema = z.object({\n${schemaFields.join(\",\\n\")}\n});\n\nexport default ${modelName!.pascal}Schema;${typeExport}\n`;\n }\n\n generateQuerySchema(options: TemplateOptions): string {\n const { modelName } = options;\n const model = this.ensureCorrectOptions(options);\n\n const ext = getUserFileExtension();\n const isTypeScript = ext === \"ts\";\n const isUserModule = modelName!.kebab === \"user\";\n const enumsUsed = new Set<string>();\n const filterSchemasNeeded = new Set<string>();\n const restrictedFields = [\"id\"];\n const timestampFields = [\n \"createdAt\",\n \"updatedAt\",\n \"deletedAt\",\n \"created_at\",\n \"updated_at\",\n \"deleted_at\",\n ];\n\n let schemaFields: string[] = [];\n let timestampSchemaFields: string[] = [];\n\n schemaFields.push(` page: z.coerce.number().optional()`);\n schemaFields.push(` limit: z.coerce.number().max(100).optional()`);\n schemaFields.push(` sort: z.string().optional()`);\n schemaFields.push(` fields: z.string().optional()`);\n\n for (const field of model.fields) {\n if (isUserModule && field.name === \"password\") continue;\n if (restrictedFields.includes(field.name)) continue;\n\n const isForeignKey = model.fields.some(\n (f) => f.foreignKeyField === field.name\n );\n if (isForeignKey) continue;\n\n if (field.isRelation) {\n if (field.isArray) continue;\n\n const referencedModel = prismaSchemaParser.models.find(\n (m) => m.name === field.type\n );\n\n if (referencedModel) {\n const refField = field.foreignReferenceField || \"id\";\n const refFieldType = referencedModel.fields.find(\n (f) => f.name === refField\n );\n const zodType = this.mapPrismaTypeToZod(refFieldType?.type!);\n\n const fieldDef = ` ${field.name}: z.object({ ${refField}: ${zodType}.optional() }).optional()`;\n\n if (timestampFields.includes(field.name)) {\n timestampSchemaFields.push(fieldDef);\n } else {\n schemaFields.push(fieldDef);\n }\n }\n continue;\n }\n\n if (prismaSchemaParser.isEnum(field.type)) {\n enumsUsed.add(field.type);\n const fieldDef = ` ${field.name}: z.nativeEnum(${field.type}).optional()`;\n\n if (timestampFields.includes(field.name)) {\n timestampSchemaFields.push(fieldDef);\n } else {\n schemaFields.push(fieldDef);\n }\n continue;\n }\n\n if (field.type === \"Boolean\") {\n const fieldDef = ` ${field.name}: z.boolean().optional()`;\n\n if (timestampFields.includes(field.name)) {\n timestampSchemaFields.push(fieldDef);\n } else {\n schemaFields.push(fieldDef);\n }\n continue;\n }\n\n const filterSchemaName = this.getFilterSchemaForField(field, enumsUsed);\n if (filterSchemaName) {\n filterSchemasNeeded.add(filterSchemaName);\n const fieldDef = ` ${field.name}: ${filterSchemaName}.optional()`;\n\n if (timestampFields.includes(field.name)) {\n timestampSchemaFields.push(fieldDef);\n } else {\n schemaFields.push(fieldDef);\n }\n }\n }\n\n const enumImports =\n enumsUsed.size > 0\n ? `import { ${Array.from(enumsUsed).join(\", \")} } from \"@prisma/client\";\\n`\n : \"\";\n\n const filterSchemas = this.generateFilterSchemas(\n filterSchemasNeeded,\n enumsUsed\n );\n\n const filterSchemasSection = filterSchemas ? `\\n${filterSchemas}\\n` : \"\";\n\n const typeExport = isTypeScript\n ? `\\n\\nexport type Query${modelName!.pascal}SchemaType = z.infer<typeof Query${modelName!.pascal}Schema>;`\n : \"\";\n\n const allFields = [...schemaFields, ...timestampSchemaFields];\n\n return `import { z } from \"zod\";\n${enumImports}${filterSchemasSection}\nconst Query${modelName!.pascal}Schema = z.object({\n${allFields.join(\",\\n\")}\n});\n\nexport default Query${modelName!.pascal}Schema;${typeExport}\n`;\n }\n\n private getFilterSchemaForField(\n field: PrismaField,\n enumsUsed: Set<string>\n ): string | null {\n if (prismaSchemaParser.isEnum(field.type)) {\n enumsUsed.add(field.type);\n return `${field.type}FilterSchema`;\n }\n\n switch (field.type) {\n case \"String\":\n return \"StringFilterSchema\";\n case \"Int\":\n case \"Float\":\n case \"Decimal\":\n case \"BigInt\":\n return \"NumberFilterSchema\";\n case \"DateTime\":\n return \"DateTimeFilterSchema\";\n default:\n return null;\n }\n }\n\n private generateFilterSchemas(\n filterSchemasNeeded: Set<string>,\n _: Set<string>\n ): string {\n const schemas: string[] = [];\n\n if (filterSchemasNeeded.has(\"StringFilterSchema\")) {\n schemas.push(`const StringFilterSchema = z.object({\n icontains: z.string().optional()\n});`);\n }\n\n if (filterSchemasNeeded.has(\"NumberFilterSchema\")) {\n schemas.push(`const NumberFilterSchema = z.object({\n equals: z.coerce.number().optional(),\n gte: z.coerce.number().optional(),\n lte: z.coerce.number().optional()\n});`);\n }\n\n if (filterSchemasNeeded.has(\"DateTimeFilterSchema\")) {\n schemas.push(`const DateTimeFilterSchema = z.object({\n equals: z.string().optional(),\n gte: z.string().optional(),\n lte: z.string().optional()\n});`);\n }\n\n return schemas.join(\"\\n\\n\");\n }\n\n private generateZodField(\n field: PrismaField,\n isUserModule: boolean,\n forceOptional: boolean\n ): string {\n let zodType = this.mapPrismaTypeToZod(field.type);\n\n if (field.isArray)\n zodType = `z.array(${zodType}${field.type === \"String\" ? \".min(1)\" : \"\"})`;\n\n if (prismaSchemaParser.isEnum(field.type))\n zodType = field.isArray\n ? `z.array(z.nativeEnum(${field.type}))`\n : `z.nativeEnum(${field.type})`;\n\n if (isUserModule) {\n if (field.name === \"email\") {\n zodType = `z.string().email()`;\n } else if (field.name === \"password\") {\n zodType = `z.string().min(8).regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)/, \"Password must contain at least one uppercase letter, one lowercase letter, and one number\")`;\n }\n }\n\n const isOptional =\n forceOptional || field.isOptional || field.defaultValue !== undefined;\n if (isOptional) zodType += \".optional()\";\n\n return zodType;\n }\n\n private mapPrismaTypeToZod(prismaType: string): string {\n switch (prismaType) {\n case \"String\":\n return \"z.string()\";\n case \"Int\":\n case \"Float\":\n case \"Decimal\":\n return \"z.number()\";\n case \"Boolean\":\n return \"z.boolean()\";\n case \"DateTime\":\n return \"z.date().or(z.string()).refine((val) => val instanceof Date || !isNaN(Date.parse(val)), 'Invalid date')\";\n case \"Json\":\n return \"z.any()\";\n case \"Bytes\":\n return \"z.instanceof(Buffer)\";\n case \"BigInt\":\n return \"z.bigint()\";\n default:\n return \"z.any()\";\n }\n }\n}\n\nconst zodSchemaGenerator = new ZodSchemaGenerator();\n\nexport default zodSchemaGenerator;\n"]}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateTemplate = generateTemplate;
7
- const generate_controller_template_1 = require("./template-generator/templates/generate-controller-template.js");
8
- const router_template_1 = require("./template-generator/templates/router-template.js");
9
- const service_template_1 = require("./template-generator/templates/service-template.js");
10
- const class_validator_dto_generator_1 = __importDefault(require("./template-generator/templates/class-validator-dto-generator.js"));
11
- const zod_schema_generator_1 = __importDefault(require("./template-generator/templates/zod-schema-generator.js"));
12
- const prisma_schema_parser_1 = __importDefault(require("../../prisma/prisma-schema-parser.js"));
13
- const policy_template_1 = require("./template-generator/templates/policy-template.js");
14
- const route_hook_template_1 = require("./template-generator/templates/route-hook.template.js");
15
- const service_hook_template_1 = require("./template-generator/templates/service-hook.template.js");
16
- function generateTemplate(type, options) {
17
- switch (type) {
18
- case "controller":
19
- return (0, generate_controller_template_1.generateControllerTemplate)(options);
20
- case "service":
21
- return (0, service_template_1.generateServiceTemplate)(options);
22
- case "router":
23
- return (0, router_template_1.generateRouterTemplate)(options);
24
- case "policy":
25
- return (0, policy_template_1.generatePolicyTemplate)(options);
26
- case "route-hook":
27
- return (0, route_hook_template_1.generateRouteHookTemplate)(options);
28
- case "service-hook":
29
- return (0, service_hook_template_1.generateServiceHookTemplate)(options);
30
- case "create-schema":
31
- return zod_schema_generator_1.default.generateCreateSchema(options);
32
- case "update-schema":
33
- return zod_schema_generator_1.default.generateUpdateSchema(options);
34
- case "schema":
35
- return zod_schema_generator_1.default.generateBaseSchema(options);
36
- case "query-schema":
37
- return zod_schema_generator_1.default.generateQuerySchema(options);
38
- case "create-dto":
39
- return class_validator_dto_generator_1.default.generateCreateDto(options);
40
- case "update-dto":
41
- return class_validator_dto_generator_1.default.generateUpdateDto(options);
42
- case "dto":
43
- return class_validator_dto_generator_1.default.generateBaseDto(options);
44
- case "query-dto":
45
- return class_validator_dto_generator_1.default.generateQueryDto(options);
46
- case "prisma-model":
47
- return prisma_schema_parser_1.default.generatePrismaModel(options);
48
- default:
49
- throw new Error(`Unknown template type: ${type}`);
50
- }
51
- }
52
- //# sourceMappingURL=template-generators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-generators.js","sourceRoot":"","sources":["../../../../../src/utils/cli/utils/template-generators.ts"],"names":[],"mappings":";;;;;AA4BA,4CA0CC;AAtED,8GAAyG;AACzG,oFAAwF;AACxF,sFAA0F;AAC1F,iIAAsG;AACtG,+GAAqF;AACrF,6FAAmE;AACnE,oFAAwF;AACxF,4FAA+F;AAC/F,gGAAmG;AAoBnG,SAAgB,gBAAgB,CAC9B,IAAY,EACZ,OAAwB;IAExB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,IAAA,yDAA0B,EAAC,OAAO,CAAC,CAAC;QAC7C,KAAK,SAAS;YACZ,OAAO,IAAA,0CAAuB,EAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,IAAA,wCAAsB,EAAC,OAAO,CAAC,CAAC;QACzC,KAAK,QAAQ;YACX,OAAO,IAAA,wCAAsB,EAAC,OAAO,CAAC,CAAC;QACzC,KAAK,YAAY;YACf,OAAO,IAAA,+CAAyB,EAAC,OAAO,CAAC,CAAC;QAC5C,KAAK,cAAc;YACjB,OAAO,IAAA,mDAA2B,EAAC,OAAO,CAAC,CAAC;QAE9C,KAAK,eAAe;YAClB,OAAO,8BAAkB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,KAAK,eAAe;YAClB,OAAO,8BAAkB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,KAAK,QAAQ;YACX,OAAO,8BAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACxD,KAAK,cAAc;YACjB,OAAO,8BAAkB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEzD,KAAK,YAAY;YACf,OAAO,uCAA0B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC/D,KAAK,YAAY;YACf,OAAO,uCAA0B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC/D,KAAK,KAAK;YACR,OAAO,uCAA0B,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC7D,KAAK,WAAW;YACd,OAAO,uCAA0B,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE9D,KAAK,cAAc;YACjB,OAAO,8BAAkB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEzD;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC","sourcesContent":["import { generateControllerTemplate } from \"./template-generator/templates/generate-controller-template\";\nimport { generateRouterTemplate } from \"./template-generator/templates/router-template\";\nimport { generateServiceTemplate } from \"./template-generator/templates/service-template\";\nimport classValidatorDtoGenerator from \"./template-generator/templates/class-validator-dto-generator\";\nimport zodSchemaGenerator from \"./template-generator/templates/zod-schema-generator\";\nimport prismaSchemaParser from \"../../prisma/prisma-schema-parser\";\nimport { generatePolicyTemplate } from \"./template-generator/templates/policy-template\";\nimport { generateRouteHookTemplate } from \"./template-generator/templates/route-hook.template\";\nimport { generateServiceHookTemplate } from \"./template-generator/templates/service-hook.template\";\n\ninterface ModelName {\n pascal: string;\n camel: string;\n kebab: string;\n}\n\ninterface MiddlewareName {\n pascal: string;\n camel: string;\n kebab: string;\n}\n\nexport interface TemplateOptions {\n modelName: ModelName;\n middlewareName?: MiddlewareName;\n imports?: Record<string, string>;\n}\n\nexport function generateTemplate(\n type: string,\n options: TemplateOptions\n): string {\n switch (type) {\n case \"controller\":\n return generateControllerTemplate(options);\n case \"service\":\n return generateServiceTemplate(options);\n case \"router\":\n return generateRouterTemplate(options);\n case \"policy\":\n return generatePolicyTemplate(options);\n case \"route-hook\":\n return generateRouteHookTemplate(options);\n case \"service-hook\":\n return generateServiceHookTemplate(options);\n\n case \"create-schema\":\n return zodSchemaGenerator.generateCreateSchema(options);\n case \"update-schema\":\n return zodSchemaGenerator.generateUpdateSchema(options);\n case \"schema\":\n return zodSchemaGenerator.generateBaseSchema(options);\n case \"query-schema\":\n return zodSchemaGenerator.generateQuerySchema(options);\n\n case \"create-dto\":\n return classValidatorDtoGenerator.generateCreateDto(options);\n case \"update-dto\":\n return classValidatorDtoGenerator.generateUpdateDto(options);\n case \"dto\":\n return classValidatorDtoGenerator.generateBaseDto(options);\n case \"query-dto\":\n return classValidatorDtoGenerator.generateQueryDto(options);\n\n case \"prisma-model\":\n return prismaSchemaParser.generatePrismaModel(options);\n\n default:\n throw new Error(`Unknown template type: ${type}`);\n }\n}\n"]}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const port_and_host_allocator_1 = __importDefault(require("../../features/port-and-host-allocator.js"));
7
- const fs_helpers_1 = require("../../helpers/fs.helpers.js");
8
- const cli_helpers_1 = require("./cli.helpers.js");
9
- class WatermarkStamper {
10
- stamp({ envFiles, host, port, }) {
11
- console.info(`\n \x1b[1m\x1b[36m⌃ Arkos.js ${(0, cli_helpers_1.getVersion)()}\x1b[0m`);
12
- if (host && port) {
13
- console.info(` - Local: http://${["0.0.0.0", "127.0.0.1"].includes(host) ? "localhost" : host}:${port}`);
14
- let nonLocalIp = port_and_host_allocator_1.default.getFirstNonLocalIp();
15
- if (nonLocalIp && host === "0.0.0.0")
16
- console.info(` - Network: http://${nonLocalIp}:${port}`);
17
- }
18
- if (envFiles?.length || 0 > 1)
19
- console.info(` - Environments: ${(0, fs_helpers_1.fullCleanCwd)(envFiles?.join(", ") || "")
20
- .replaceAll(`\\`, "")
21
- .replaceAll("/", "")}\n`);
22
- }
23
- }
24
- const watermarkStamper = new WatermarkStamper();
25
- exports.default = watermarkStamper;
26
- //# sourceMappingURL=watermark-stamper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"watermark-stamper.js","sourceRoot":"","sources":["../../../../../src/utils/cli/utils/watermark-stamper.ts"],"names":[],"mappings":";;;;;AAAA,qGAA0E;AAC1E,yDAAwD;AACxD,+CAA2C;AAK3C,MAAM,gBAAgB;IAIpB,KAAK,CAAC,EACJ,QAAQ,EACR,IAAI,EACJ,IAAI,GAKL;QACC,OAAO,CAAC,IAAI,CAAC,iCAAiC,IAAA,wBAAU,GAAE,SAAS,CAAC,CAAC;QACrE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CACV,4BAA4B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CACnG,CAAC;YACF,IAAI,UAAU,GAAG,iCAAoB,CAAC,kBAAkB,EAAE,CAAC;YAC3D,IAAI,UAAU,IAAI,IAAI,KAAK,SAAS;gBAClC,OAAO,CAAC,IAAI,CAAC,4BAA4B,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,QAAQ,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC;YAC3B,OAAO,CAAC,IAAI,CACV,qBAAqB,IAAA,yBAAY,EAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBAC1D,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;iBACpB,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAC3B,CAAC;IACN,CAAC;CACF;AAED,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAEhD,kBAAe,gBAAgB,CAAC","sourcesContent":["import portAndHostAllocator from \"../../features/port-and-host-allocator\";\nimport { fullCleanCwd } from \"../../helpers/fs.helpers\";\nimport { getVersion } from \"./cli.helpers\";\n\n/**\n * Helps in putting Arkosjs watermark\n */\nclass WatermarkStamper {\n /**\n * Stamps Arkosjs watermark with Local and Environments\n */\n stamp({\n envFiles,\n host,\n port,\n }: {\n envFiles?: string[];\n host?: string;\n port?: string;\n }) {\n console.info(`\\n \\x1b[1m\\x1b[36m⌃ Arkos.js ${getVersion()}\\x1b[0m`);\n if (host && port) {\n console.info(\n ` - Local: http://${[\"0.0.0.0\", \"127.0.0.1\"].includes(host) ? \"localhost\" : host}:${port}`\n );\n let nonLocalIp = portAndHostAllocator.getFirstNonLocalIp();\n if (nonLocalIp && host === \"0.0.0.0\")\n console.info(` - Network: http://${nonLocalIp}:${port}`);\n }\n\n if (envFiles?.length || 0 > 1)\n console.info(\n ` - Environments: ${fullCleanCwd(envFiles?.join(\", \") || \"\")\n .replaceAll(`\\\\`, \"\")\n .replaceAll(\"/\", \"\")}\\n`\n );\n }\n}\n\nconst watermarkStamper = new WatermarkStamper();\n\nexport default watermarkStamper;\n"]}
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defineConfig = defineConfig;
4
- function defineConfig(config) {
5
- const finalConfig = {
6
- welcomeMessage: "Welcome to our RESTful API generated by Arkos, find out more about Arkos at www.arkosjs.com",
7
- globalPrefix: "/api",
8
- ...config,
9
- port: config.port ||
10
- Number(process.env.__PORT || process.env.CLI_PORT || process.env.PORT) ||
11
- 8000,
12
- host: config.host ||
13
- process.env.__HOST ||
14
- process.env.CLI_HOST ||
15
- process.env.HOST ||
16
- (process.env.ARKOS_BUILD !== "true" ? "0.0.0.0" : "127.0.0.1"),
17
- request: {
18
- ...config.request,
19
- parameters: {
20
- allowDangerousPrismaQueryOptions: config.request?.parameters?.allowDangerousPrismaQueryOptions ?? false,
21
- ...config.request?.parameters,
22
- },
23
- },
24
- fileUpload: {
25
- baseUploadDir: "uploads",
26
- baseRoute: "/api/uploads",
27
- ...config.fileUpload,
28
- },
29
- routers: {
30
- strict: config.routers?.strict || "no-bulk",
31
- ...config.routers,
32
- },
33
- middlewares: {
34
- ...config.middlewares,
35
- },
36
- debugging: {
37
- requests: {
38
- level: config.debugging?.requests?.level || 1,
39
- ...config.debugging?.requests,
40
- },
41
- },
42
- };
43
- finalConfig.__loader = "defineConfig";
44
- return finalConfig;
45
- }
46
- //# sourceMappingURL=define-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../../src/utils/define-config.ts"],"names":[],"mappings":";;AAsBA,oCA8DC;AA9DD,SAAgB,YAAY,CAAC,MAAmB;IAgB9C,MAAM,WAAW,GAAG;QAClB,cAAc,EACZ,6FAA6F;QAC/F,YAAY,EAAE,MAAM;QACpB,GAAG,MAAM;QACT,IAAI,EACF,MAAM,CAAC,IAAI;YACX,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACtE,IAAI;QACN,IAAI,EACF,MAAM,CAAC,IAAI;YACX,OAAO,CAAC,GAAG,CAAC,MAAM;YAClB,OAAO,CAAC,GAAG,CAAC,QAAQ;YACpB,OAAO,CAAC,GAAG,CAAC,IAAI;YAChB,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QAChE,OAAO,EAAE;YACP,GAAG,MAAM,CAAC,OAAO;YACjB,UAAU,EAAE;gBACV,gCAAgC,EAC9B,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,gCAAgC,IAAI,KAAK;gBACvE,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU;aAC9B;SACF;QACD,UAAU,EAAE;YACV,aAAa,EAAE,SAAS;YACxB,SAAS,EAAE,cAAc;YACzB,GAAG,MAAM,CAAC,UAAU;SACrB;QACD,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,SAAS;YAC3C,GAAG,MAAM,CAAC,OAAO;SAClB;QACD,WAAW,EAAE;YACX,GAAG,MAAM,CAAC,WAAW;SACtB;QACD,SAAS,EAAE;YACT,QAAQ,EAAE;gBACR,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;gBAC7C,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ;aAC9B;SACF;KACF,CAAC;IAED,WAAmB,CAAC,QAAQ,GAAG,cAAc,CAAC;IAE/C,OAAO,WAAW,CAAC;AACrB,CAAC","sourcesContent":["import { ArkosConfig } from \"../exports\";\n// import { PrismaClient } from \"../generated\";\nimport ExitError from \"./helpers/exit-error\";\n\n/**\n * Defines and validates the Arkos configuration, filling in defaults where needed.\n * Use this in your `arkos.config.ts` to get full type safety and autocompletion.\n *\n * @example\n * ```ts\n * // arkos.config.ts\n * import prisma from \"./src/utils/prisma\";\n * import { defineConfig } from \"arkos\";\n *\n * export default defineConfig({\n * prisma: { instance: prisma },\n * globalPrefix: \"/api\",\n * });\n * ```\n *\n * @see {@link https://www.arkosjs.com/docs/api-reference/define-config}\n */\nexport function defineConfig(config: ArkosConfig): ArkosConfig {\n // if (!config.prisma?.instance && typeof jest === \"undefined\") {\n // throw ExitError(\n // \"ArkosConfigError: prisma.instance is required. Pass your PrismaClient instance via defineConfig({ prisma: { instance: new PrismaClient() } }).\"\n // );\n // }\n\n // if (\n // !(config.prisma?.instance instanceof PrismaClient) &&\n // typeof jest === \"undefined\"\n // ) {\n // throw ExitError(\n // \"ArkosConfigError: prisma.instance must be a valid PrismaClient instance.\"\n // );\n // }\n\n const finalConfig = {\n welcomeMessage:\n \"Welcome to our RESTful API generated by Arkos, find out more about Arkos at www.arkosjs.com\",\n globalPrefix: \"/api\",\n ...config,\n port:\n config.port ||\n Number(process.env.__PORT || process.env.CLI_PORT || process.env.PORT) ||\n 8000,\n host:\n config.host ||\n process.env.__HOST ||\n process.env.CLI_HOST ||\n process.env.HOST ||\n (process.env.ARKOS_BUILD !== \"true\" ? \"0.0.0.0\" : \"127.0.0.1\"),\n request: {\n ...config.request,\n parameters: {\n allowDangerousPrismaQueryOptions:\n config.request?.parameters?.allowDangerousPrismaQueryOptions ?? false,\n ...config.request?.parameters,\n },\n },\n fileUpload: {\n baseUploadDir: \"uploads\",\n baseRoute: \"/api/uploads\",\n ...config.fileUpload,\n },\n routers: {\n strict: config.routers?.strict || \"no-bulk\",\n ...config.routers,\n },\n middlewares: {\n ...config.middlewares,\n },\n debugging: {\n requests: {\n level: config.debugging?.requests?.level || 1,\n ...config.debugging?.requests,\n },\n },\n };\n\n (finalConfig as any).__loader = \"defineConfig\";\n\n return finalConfig;\n}\n\nexport type UserArkosConfig = ReturnType<typeof defineConfig> & {\n __loader: \"defineConfig\";\n};\n"]}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.loadEnvironmentVariables = loadEnvironmentVariables;
7
- const path_1 = __importDefault(require("path"));
8
- const fs_1 = __importDefault(require("fs"));
9
- const dotenv_1 = __importDefault(require("dotenv"));
10
- const sheu_1 = __importDefault(require("./sheu.js"));
11
- const expand_env_1 = require("./expand-env.js");
12
- function loadEnvironmentVariables() {
13
- const ENV = process.env.NODE_ENV;
14
- const cwd = process.cwd();
15
- const envFiles = [
16
- path_1.default.resolve(cwd, ".env"),
17
- path_1.default.resolve(cwd, ".env.local"),
18
- ...(ENV
19
- ? [
20
- path_1.default.resolve(cwd, `.env.${ENV}`),
21
- path_1.default.resolve(cwd, `.env.${ENV}.local`),
22
- ]
23
- : []),
24
- ];
25
- const existingEnvFiles = [];
26
- let mergedParsed = {};
27
- envFiles.forEach((filePath) => {
28
- if (fs_1.default.existsSync(filePath)) {
29
- if (process.env.ARKOS_BUILD === "true" && filePath.endsWith(".local")) {
30
- sheu_1.default.warn(`Skipping the local ${filePath.replace(cwd, "").replace("/", "")} file in production build`);
31
- }
32
- else {
33
- const parsed = dotenv_1.default.parse(fs_1.default.readFileSync(filePath));
34
- mergedParsed = { ...mergedParsed, ...parsed };
35
- existingEnvFiles.push(filePath);
36
- }
37
- }
38
- });
39
- const expanded = (0, expand_env_1.expandEnv)({
40
- parsed: mergedParsed,
41
- processEnv: mergedParsed,
42
- });
43
- Object.assign(process.env, expanded.parsed || mergedParsed);
44
- const requiredVars = ["DATABASE_URL"];
45
- const missingVars = requiredVars.filter((varName) => !process.env[varName]);
46
- if (missingVars.length > 0) {
47
- console.error("Missing required environment variables:", missingVars.join(", "));
48
- throw new Error(`Missing required environment variables: ${missingVars.join(", ")}`);
49
- }
50
- return existingEnvFiles.reverse();
51
- }
52
- //# sourceMappingURL=dotenv.helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dotenv.helpers.js","sourceRoot":"","sources":["../../../src/utils/dotenv.helpers.ts"],"names":[],"mappings":";;;;;AAcA,4DAqDC;AAnED,gDAAwB;AACxB,4CAAoB;AACpB,oDAA4B;AAC5B,kDAA0B;AAC1B,6CAAyC;AAUzC,SAAgB,wBAAwB;IACtC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,MAAM,QAAQ,GAAG;QACf,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC;QACzB,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC;QAC/B,GAAG,CAAC,GAAG;YACL,CAAC,CAAC;gBACE,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,EAAE,CAAC;gBAChC,cAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAAC;aACvC;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,IAAI,YAAY,GAA2B,EAAE,CAAC;IAE9C,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC5B,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtE,cAAI,CAAC,IAAI,CACP,sBAAsB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,2BAA2B,CAC5F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,gBAAM,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvD,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;gBAC9C,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAA,sBAAS,EAAC;QACzB,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,YAAY;KACzB,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CACX,yCAAyC,EACzC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CACvB,CAAC;QACF,MAAM,IAAI,KAAK,CACb,2CAA2C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpE,CAAC;IACJ,CAAC;IAED,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC","sourcesContent":["import path from \"path\";\nimport fs from \"fs\";\nimport dotenv from \"dotenv\";\nimport sheu from \"./sheu\";\nimport { expandEnv } from \"./expand-env\";\n\n/**\n * Loads and expands environment variables in a prioritized order\n *\n * 1. Main .env file (.env)\n * 2. Local environment overrides (.env.local)\n * 3. Environment-specific (.env.{NODE_ENV})\n * 5. Environment-specific local (.env.{NODE_ENV}.local)\n */\nexport function loadEnvironmentVariables() {\n const ENV = process.env.NODE_ENV;\n const cwd = process.cwd();\n\n const envFiles = [\n path.resolve(cwd, \".env\"),\n path.resolve(cwd, \".env.local\"),\n ...(ENV\n ? [\n path.resolve(cwd, `.env.${ENV}`),\n path.resolve(cwd, `.env.${ENV}.local`),\n ]\n : []),\n ];\n\n const existingEnvFiles: string[] = [];\n let mergedParsed: Record<string, string> = {};\n\n envFiles.forEach((filePath) => {\n if (fs.existsSync(filePath)) {\n if (process.env.ARKOS_BUILD === \"true\" && filePath.endsWith(\".local\")) {\n sheu.warn(\n `Skipping the local ${filePath.replace(cwd, \"\").replace(\"/\", \"\")} file in production build`\n );\n } else {\n const parsed = dotenv.parse(fs.readFileSync(filePath));\n mergedParsed = { ...mergedParsed, ...parsed };\n existingEnvFiles.push(filePath);\n }\n }\n });\n\n const expanded = expandEnv({\n parsed: mergedParsed,\n processEnv: mergedParsed,\n });\n\n Object.assign(process.env, expanded.parsed || mergedParsed);\n\n const requiredVars = [\"DATABASE_URL\"];\n const missingVars = requiredVars.filter((varName) => !process.env[varName]);\n\n if (missingVars.length > 0) {\n console.error(\n \"Missing required environment variables:\",\n missingVars.join(\", \")\n );\n throw new Error(\n `Missing required environment variables: ${missingVars.join(\", \")}`\n );\n }\n\n return existingEnvFiles.reverse();\n}\n"]}