arkos 2.0.0-next.3 → 2.0.0-next.30

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 (655) hide show
  1. package/README.md +146 -145
  2. package/cli.js +11 -20
  3. package/dist/esm/app.js +37 -35
  4. package/dist/esm/app.js.map +1 -1
  5. package/dist/esm/components/arkos-gateway/arkos-gateway.js +362 -0
  6. package/dist/esm/components/arkos-gateway/arkos-gateway.js.map +1 -0
  7. package/dist/esm/components/arkos-gateway/socket-extensions.js +176 -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 +30 -19
  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/file-upload.js +2 -0
  30. package/dist/esm/exports/file-upload.js.map +1 -0
  31. package/dist/esm/exports/index.js +3 -3
  32. package/dist/esm/exports/index.js.map +1 -1
  33. package/dist/esm/exports/middlewares/index.js +1 -1
  34. package/dist/esm/exports/middlewares/index.js.map +1 -1
  35. package/dist/esm/exports/services/index.js +2 -2
  36. package/dist/esm/exports/services/index.js.map +1 -1
  37. package/dist/esm/exports/websockets.js +5 -0
  38. package/dist/esm/exports/websockets.js.map +1 -0
  39. package/dist/esm/generated.js.map +1 -1
  40. package/dist/esm/modules/auth/auth.controller.js +165 -230
  41. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  42. package/dist/esm/modules/auth/auth.router.js +28 -10
  43. package/dist/esm/modules/auth/auth.router.js.map +1 -1
  44. package/dist/esm/modules/auth/auth.service.js +202 -136
  45. package/dist/esm/modules/auth/auth.service.js.map +1 -1
  46. package/dist/esm/modules/auth/auth.types.js +2 -0
  47. package/dist/esm/modules/auth/auth.types.js.map +1 -0
  48. package/dist/esm/modules/auth/utils/auth-error-objects.js +2 -2
  49. package/dist/esm/modules/auth/utils/auth-error-objects.js.map +1 -1
  50. package/dist/esm/modules/auth/utils/auth-hooks-manager.js +148 -0
  51. package/dist/esm/modules/auth/utils/auth-hooks-manager.js.map +1 -0
  52. package/dist/esm/modules/auth/utils/auth-openapi-generator.js +367 -0
  53. package/dist/esm/modules/auth/utils/auth-openapi-generator.js.map +1 -0
  54. package/dist/esm/modules/auth/utils/auth-prisma-json-schema-generator.js +97 -0
  55. package/dist/esm/modules/auth/utils/auth-prisma-json-schema-generator.js.map +1 -0
  56. package/dist/esm/modules/auth/utils/docs-links.js +6 -0
  57. package/dist/esm/modules/auth/utils/docs-links.js.map +1 -0
  58. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -0
  59. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js.map +1 -1
  60. package/dist/esm/modules/auth/utils/services/auth-action.service.js +20 -16
  61. package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
  62. package/dist/esm/modules/auth/utils/token-extraction.js +57 -0
  63. package/dist/esm/modules/auth/utils/token-extraction.js.map +1 -0
  64. package/dist/esm/modules/base/base.controller.js +228 -202
  65. package/dist/esm/modules/base/base.controller.js.map +1 -1
  66. package/dist/esm/modules/base/base.middlewares.js +69 -86
  67. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  68. package/dist/esm/modules/base/base.router.js +23 -9
  69. package/dist/esm/modules/base/base.router.js.map +1 -1
  70. package/dist/esm/modules/base/base.service.js +92 -197
  71. package/dist/esm/modules/base/base.service.js.map +1 -1
  72. package/dist/esm/modules/base/types/base.service.types.js.map +1 -1
  73. package/dist/esm/modules/base/utils/error-prettifier.js +90 -30
  74. package/dist/esm/modules/base/utils/error-prettifier.js.map +1 -1
  75. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +26 -5
  76. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  77. package/dist/esm/modules/base/utils/model-openapi-generator.js +438 -0
  78. package/dist/esm/modules/base/utils/model-openapi-generator.js.map +1 -0
  79. package/dist/esm/modules/email/email.service.js +21 -12
  80. package/dist/esm/modules/email/email.service.js.map +1 -1
  81. package/dist/esm/modules/error-handler/error-handler.controller.js +24 -113
  82. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
  83. package/dist/esm/modules/error-handler/utils/app-error.js +5 -2
  84. package/dist/esm/modules/error-handler/utils/app-error.js.map +1 -1
  85. package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -1
  86. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +60 -110
  87. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  88. package/dist/esm/modules/error-handler/utils/errors.js +127 -0
  89. package/dist/esm/modules/error-handler/utils/errors.js.map +1 -0
  90. package/dist/esm/modules/error-handler/utils/get-handled-error.js +73 -0
  91. package/dist/esm/modules/error-handler/utils/get-handled-error.js.map +1 -0
  92. package/dist/esm/modules/error-handler/utils/multer-error-handler.js +34 -0
  93. package/dist/esm/modules/error-handler/utils/multer-error-handler.js.map +1 -0
  94. package/dist/esm/modules/file-upload/file-upload.controller.js +227 -215
  95. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  96. package/dist/esm/modules/file-upload/file-upload.router.js +54 -15
  97. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  98. package/dist/esm/modules/file-upload/file-upload.service.js +41 -26
  99. package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -1
  100. package/dist/esm/modules/file-upload/utils/file-upload-json-schema-generator.js +371 -0
  101. package/dist/esm/modules/file-upload/utils/file-upload-json-schema-generator.js.map +1 -0
  102. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +73 -35
  103. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -1
  104. package/dist/esm/modules/file-upload/utils/helpers/serve-upload-dir.js +206 -0
  105. package/dist/esm/modules/file-upload/utils/helpers/serve-upload-dir.js.map +1 -0
  106. package/dist/esm/modules/file-upload/utils/helpers/upload-path.helper.js +103 -0
  107. package/dist/esm/modules/file-upload/utils/helpers/upload-path.helper.js.map +1 -0
  108. package/dist/esm/modules/file-upload/utils/helpers/upload-serving-validation.js +212 -0
  109. package/dist/esm/modules/file-upload/utils/helpers/upload-serving-validation.js.map +1 -0
  110. package/dist/esm/modules/file-upload/utils/helpers/upload-serving.registry.js +30 -0
  111. package/dist/esm/modules/file-upload/utils/helpers/upload-serving.registry.js.map +1 -0
  112. package/dist/esm/modules/swagger/swagger.router.js +39 -22
  113. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  114. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js +305 -0
  115. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js.map +1 -0
  116. package/dist/esm/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +1 -1
  117. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +6 -7
  118. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -1
  119. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js +47 -43
  120. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -1
  121. package/dist/esm/server.js +1 -1
  122. package/dist/esm/server.js.map +1 -1
  123. package/dist/esm/types/arkos-config/utils.js +2 -0
  124. package/dist/esm/types/arkos-config/utils.js.map +1 -0
  125. package/dist/esm/types/arkos-prisma-input.js.map +1 -1
  126. package/dist/esm/types/arkos.js.map +1 -1
  127. package/dist/esm/types/auth.js.map +1 -1
  128. package/dist/esm/types/index.js.map +1 -1
  129. package/dist/esm/types/internal.js +2 -0
  130. package/dist/esm/types/internal.js.map +1 -0
  131. package/dist/esm/types/new-arkos-config.js.map +1 -1
  132. package/dist/esm/types/router-config.js.map +1 -1
  133. package/dist/esm/types/upload.js +2 -0
  134. package/dist/esm/types/upload.js.map +1 -0
  135. package/dist/esm/types/validation/validation-manager.js +57 -0
  136. package/dist/esm/types/validation/validation-manager.js.map +1 -0
  137. package/dist/esm/types/validation/validator.js +2 -0
  138. package/dist/esm/types/validation/validator.js.map +1 -0
  139. package/dist/esm/utils/arkos-router/arkos-router-openapi-manager.js +68 -34
  140. package/dist/esm/utils/arkos-router/arkos-router-openapi-manager.js.map +1 -1
  141. package/dist/esm/utils/arkos-router/index.js +58 -158
  142. package/dist/esm/utils/arkos-router/index.js.map +1 -1
  143. package/dist/esm/utils/arkos-router/route-config-registry.js +2 -3
  144. package/dist/esm/utils/arkos-router/route-config-registry.js.map +1 -1
  145. package/dist/esm/utils/arkos-router/route-config-validator.js +11 -10
  146. package/dist/esm/utils/arkos-router/route-config-validator.js.map +1 -1
  147. package/dist/esm/utils/arkos-router/types/index.js.map +1 -1
  148. package/dist/esm/utils/arkos-router/types/openapi-config.js.map +1 -1
  149. package/dist/esm/utils/arkos-router/types/upload-config.js.map +1 -1
  150. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +198 -0
  151. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -0
  152. package/dist/esm/utils/arkos-router/utils/helpers/index.js +92 -29
  153. package/dist/esm/utils/arkos-router/utils/helpers/index.js.map +1 -1
  154. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js +683 -119
  155. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -1
  156. package/dist/esm/utils/bundler.js +6 -6
  157. package/dist/esm/utils/bundler.js.map +1 -1
  158. package/dist/esm/utils/cli/build.js +16 -9
  159. package/dist/esm/utils/cli/build.js.map +1 -1
  160. package/dist/esm/utils/cli/dev.js +33 -32
  161. package/dist/esm/utils/cli/dev.js.map +1 -1
  162. package/dist/esm/utils/cli/export-auth-action.js +7 -7
  163. package/dist/esm/utils/cli/export-auth-action.js.map +1 -1
  164. package/dist/esm/utils/cli/generate.js +77 -58
  165. package/dist/esm/utils/cli/generate.js.map +1 -1
  166. package/dist/esm/utils/cli/index.js +74 -56
  167. package/dist/esm/utils/cli/index.js.map +1 -1
  168. package/dist/esm/utils/cli/prisma-generate.js +66 -35
  169. package/dist/esm/utils/cli/prisma-generate.js.map +1 -1
  170. package/dist/esm/utils/cli/start.js +27 -16
  171. package/dist/esm/utils/cli/start.js.map +1 -1
  172. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
  173. package/dist/esm/utils/cli/utils/dependency-version-check.js +39 -0
  174. package/dist/esm/utils/cli/utils/dependency-version-check.js.map +1 -0
  175. package/dist/esm/utils/cli/utils/runtime-cli-commander.js +7 -3
  176. package/dist/esm/utils/cli/utils/runtime-cli-commander.js.map +1 -1
  177. package/dist/esm/utils/cli/utils/smart-fs-watcher.js +3 -0
  178. package/dist/esm/utils/cli/utils/smart-fs-watcher.js.map +1 -1
  179. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +307 -11
  180. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js.map +1 -1
  181. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +16 -7
  182. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  183. package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js +117 -65
  184. package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +1 -1
  185. package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js +6 -8
  186. package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js.map +1 -1
  187. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +13 -2
  188. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
  189. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +2 -2
  190. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -1
  191. package/dist/esm/utils/cli/utils/template-generator/templates/zod-schema-generator.js +213 -19
  192. package/dist/esm/utils/cli/utils/template-generator/templates/zod-schema-generator.js.map +1 -1
  193. package/dist/esm/utils/cli/utils/template-generators.js +31 -18
  194. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  195. package/dist/esm/utils/cli/utils/watermark-stamper.js +1 -1
  196. package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -1
  197. package/dist/esm/utils/define-config.js +15 -0
  198. package/dist/esm/utils/define-config.js.map +1 -1
  199. package/dist/esm/utils/docs-links.js +2 -0
  200. package/dist/esm/utils/docs-links.js.map +1 -0
  201. package/dist/esm/utils/dotenv.helpers.js +3 -7
  202. package/dist/esm/utils/dotenv.helpers.js.map +1 -1
  203. package/dist/esm/utils/dynamic-loader.js +6 -5
  204. package/dist/esm/utils/dynamic-loader.js.map +1 -1
  205. package/dist/esm/utils/features/api.features.js +46 -27
  206. package/dist/esm/utils/features/api.features.js.map +1 -1
  207. package/dist/esm/utils/features/port-and-host-allocator.js +4 -3
  208. package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -1
  209. package/dist/esm/utils/helpers/api.features.helpers.js +20 -0
  210. package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -1
  211. package/dist/esm/utils/helpers/arkos-config.helpers.js +60 -24
  212. package/dist/esm/utils/helpers/arkos-config.helpers.js.map +1 -1
  213. package/dist/esm/utils/helpers/exit-error.js +1 -0
  214. package/dist/esm/utils/helpers/exit-error.js.map +1 -1
  215. package/dist/esm/utils/helpers/fs.helpers.js +25 -32
  216. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
  217. package/dist/esm/utils/helpers/global.helpers.js +1 -1
  218. package/dist/esm/utils/helpers/global.helpers.js.map +1 -1
  219. package/dist/esm/utils/helpers/prisma.helpers.js +10 -7
  220. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
  221. package/dist/esm/utils/helpers/query-parser.helpers.js +7 -22
  222. package/dist/esm/utils/helpers/query-parser.helpers.js.map +1 -1
  223. package/dist/esm/utils/helpers/routers.helpers.js +2 -2
  224. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
  225. package/dist/esm/utils/helpers/url-helpers.js +11 -0
  226. package/dist/esm/utils/helpers/url-helpers.js.map +1 -0
  227. package/dist/esm/utils/initialize-app.js +43 -17
  228. package/dist/esm/utils/initialize-app.js.map +1 -1
  229. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +154 -226
  230. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -1
  231. package/dist/esm/utils/prisma/prisma-schema-parser.js +37 -11
  232. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -1
  233. package/dist/esm/utils/prisma/types.js.map +1 -1
  234. package/dist/esm/utils/remove-dir.js +1 -1
  235. package/dist/esm/utils/remove-dir.js.map +1 -1
  236. package/dist/esm/utils/setup-app.js +59 -42
  237. package/dist/esm/utils/setup-app.js.map +1 -1
  238. package/dist/esm/utils/validate-schema.js +25 -23
  239. package/dist/esm/utils/validate-schema.js.map +1 -1
  240. package/dist/types/app.d.ts +15 -10
  241. package/dist/types/components/arkos-gateway/arkos-gateway.d.ts +135 -0
  242. package/dist/types/components/arkos-gateway/socket-extensions.d.ts +80 -0
  243. package/dist/types/components/arkos-gateway/types.d.ts +467 -0
  244. package/dist/types/components/arkos-gateway/utils/helpers.d.ts +9 -0
  245. package/dist/types/components/arkos-gateway/utils/memory-gateway-store.d.ts +14 -0
  246. package/dist/types/components/arkos-gateway/utils/multi-tier-arkos-gateway-store.d.ts +20 -0
  247. package/dist/types/components/arkos-gateway/utils/rate-limiter.d.ts +11 -0
  248. package/dist/types/components/arkos-route-hook/index.d.ts +13 -6
  249. package/dist/types/components/arkos-route-hook/reader.d.ts +4 -7
  250. package/dist/types/components/arkos-route-hook/types.d.ts +12 -5
  251. package/dist/types/exports/error-handler/index.d.ts +1 -0
  252. package/dist/types/exports/file-upload.d.ts +1 -0
  253. package/dist/types/exports/index.d.ts +4 -5
  254. package/dist/types/exports/middlewares/index.d.ts +1 -1
  255. package/dist/types/exports/services/index.d.ts +3 -3
  256. package/dist/types/exports/websockets.d.ts +5 -0
  257. package/dist/types/modules/auth/auth.controller.d.ts +10 -3
  258. package/dist/types/modules/auth/auth.service.d.ts +170 -51
  259. package/dist/types/modules/auth/auth.types.d.ts +72 -0
  260. package/dist/types/modules/auth/utils/auth-hooks-manager.d.ts +63 -0
  261. package/dist/types/modules/auth/utils/auth-openapi-generator.d.ts +9 -0
  262. package/dist/types/modules/auth/utils/auth-prisma-json-schema-generator.d.ts +13 -0
  263. package/dist/types/modules/auth/utils/docs-links.d.ts +3 -0
  264. package/dist/types/modules/auth/utils/helpers/auth.controller.helpers.d.ts +1 -0
  265. package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +2 -2
  266. package/dist/types/modules/auth/utils/token-extraction.d.ts +53 -0
  267. package/dist/types/modules/base/base.controller.d.ts +7 -6
  268. package/dist/types/modules/base/base.middlewares.d.ts +3 -9
  269. package/dist/types/modules/base/base.service.d.ts +18 -26
  270. package/dist/types/modules/base/types/base.service.types.d.ts +11 -0
  271. package/dist/types/modules/base/utils/error-prettifier.d.ts +8 -0
  272. package/dist/types/modules/base/utils/helpers/base.service.helpers.d.ts +1 -1
  273. package/dist/types/modules/base/utils/model-openapi-generator.d.ts +12 -0
  274. package/dist/types/modules/email/email.service.d.ts +3 -1
  275. package/dist/types/modules/error-handler/utils/app-error.d.ts +0 -2
  276. package/dist/types/modules/error-handler/utils/catch-async.d.ts +2 -2
  277. package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +2 -27
  278. package/dist/types/modules/error-handler/utils/errors.d.ts +176 -0
  279. package/dist/types/modules/error-handler/utils/get-handled-error.d.ts +1 -0
  280. package/dist/types/modules/error-handler/utils/multer-error-handler.d.ts +7 -0
  281. package/dist/types/modules/file-upload/file-upload.controller.d.ts +7 -2
  282. package/dist/types/modules/file-upload/file-upload.service.d.ts +2 -6
  283. package/dist/types/modules/file-upload/utils/file-upload-json-schema-generator.d.ts +12 -0
  284. package/dist/types/modules/file-upload/utils/helpers/file-upload.helpers.d.ts +21 -1
  285. package/dist/types/modules/file-upload/utils/helpers/serve-upload-dir.d.ts +43 -0
  286. package/dist/types/modules/file-upload/utils/helpers/upload-path.helper.d.ts +14 -0
  287. package/dist/types/modules/file-upload/utils/helpers/upload-serving-validation.d.ts +5 -0
  288. package/dist/types/modules/file-upload/utils/helpers/upload-serving.registry.d.ts +31 -0
  289. package/dist/types/modules/swagger/swagger.router.d.ts +1 -2
  290. package/dist/types/modules/swagger/utils/get-open-api-login-html.d.ts +1 -0
  291. package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +48 -3
  292. package/dist/types/modules/swagger/utils/helpers/openapi-schema-converter.d.ts +8 -3
  293. package/dist/types/types/arkos-config/utils.d.ts +68 -0
  294. package/dist/types/types/arkos-prisma-input.d.ts +7 -3
  295. package/dist/types/types/arkos.d.ts +5 -15
  296. package/dist/types/types/auth.d.ts +4 -4
  297. package/dist/types/types/index.d.ts +15 -58
  298. package/dist/types/types/internal.d.ts +25 -0
  299. package/dist/types/types/new-arkos-config.d.ts +374 -67
  300. package/dist/types/types/router-config.d.ts +3 -66
  301. package/dist/types/types/upload.d.ts +45 -0
  302. package/dist/types/types/validation/validation-manager.d.ts +25 -0
  303. package/dist/types/types/validation/validator.d.ts +2 -0
  304. package/dist/types/utils/arkos-router/arkos-router-openapi-manager.d.ts +14 -1
  305. package/dist/types/utils/arkos-router/index.d.ts +86 -11
  306. package/dist/types/utils/arkos-router/types/index.d.ts +83 -31
  307. package/dist/types/utils/arkos-router/types/openapi-config.d.ts +3 -2
  308. package/dist/types/utils/arkos-router/types/upload-config.d.ts +158 -10
  309. package/dist/types/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.d.ts +6 -0
  310. package/dist/types/utils/arkos-router/utils/helpers/index.d.ts +4 -6
  311. package/dist/types/utils/arkos-router/utils/helpers/upload-manager.d.ts +21 -36
  312. package/dist/types/utils/bundler.d.ts +1 -1
  313. package/dist/types/utils/cli/build.d.ts +1 -1
  314. package/dist/types/utils/cli/generate.d.ts +15 -6
  315. package/dist/types/utils/cli/start.d.ts +3 -1
  316. package/dist/types/utils/cli/utils/dependency-version-check.d.ts +15 -0
  317. package/dist/types/utils/cli/utils/template-generator/templates/class-validator-dto-generator.d.ts +11 -0
  318. package/dist/types/utils/cli/utils/template-generator/templates/zod-schema-generator.d.ts +4 -0
  319. package/dist/types/utils/define-config.d.ts +57 -3
  320. package/dist/types/utils/docs-links.d.ts +1 -0
  321. package/dist/types/utils/dotenv.helpers.d.ts +1 -0
  322. package/dist/types/utils/dynamic-loader.d.ts +2 -2
  323. package/dist/types/utils/features/api.features.d.ts +1 -2
  324. package/dist/types/utils/helpers/arkos-config.helpers.d.ts +9 -1
  325. package/dist/types/utils/helpers/fs.helpers.d.ts +1 -16
  326. package/dist/types/utils/helpers/global.helpers.d.ts +1 -0
  327. package/dist/types/utils/helpers/prisma.helpers.d.ts +1 -1
  328. package/dist/types/utils/helpers/query-parser.helpers.d.ts +1 -1
  329. package/dist/types/utils/helpers/url-helpers.d.ts +1 -0
  330. package/dist/types/utils/initialize-app.d.ts +1 -0
  331. package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +12 -30
  332. package/dist/types/utils/prisma/prisma-schema-parser.d.ts +4 -0
  333. package/dist/types/utils/prisma/types.d.ts +3 -2
  334. package/dist/types/utils/validate-schema.d.ts +1 -1
  335. package/package.json +84 -75
  336. package/dist/cjs/app.js +0 -79
  337. package/dist/cjs/app.js.map +0 -1
  338. package/dist/cjs/components/arkos-loadable-registry/index.js +0 -28
  339. package/dist/cjs/components/arkos-loadable-registry/index.js.map +0 -1
  340. package/dist/cjs/components/arkos-loadable-translator/index.js +0 -144
  341. package/dist/cjs/components/arkos-loadable-translator/index.js.map +0 -1
  342. package/dist/cjs/components/arkos-policy/index.js +0 -36
  343. package/dist/cjs/components/arkos-policy/index.js.map +0 -1
  344. package/dist/cjs/components/arkos-policy/types.js +0 -3
  345. package/dist/cjs/components/arkos-policy/types.js.map +0 -1
  346. package/dist/cjs/components/arkos-route-hook/index.js +0 -50
  347. package/dist/cjs/components/arkos-route-hook/index.js.map +0 -1
  348. package/dist/cjs/components/arkos-route-hook/reader.js +0 -47
  349. package/dist/cjs/components/arkos-route-hook/reader.js.map +0 -1
  350. package/dist/cjs/components/arkos-route-hook/types.js +0 -3
  351. package/dist/cjs/components/arkos-route-hook/types.js.map +0 -1
  352. package/dist/cjs/components/arkos-service-hook/index.js +0 -35
  353. package/dist/cjs/components/arkos-service-hook/index.js.map +0 -1
  354. package/dist/cjs/components/arkos-service-hook/reader.js +0 -30
  355. package/dist/cjs/components/arkos-service-hook/reader.js.map +0 -1
  356. package/dist/cjs/components/arkos-service-hook/types.js +0 -3
  357. package/dist/cjs/components/arkos-service-hook/types.js.map +0 -1
  358. package/dist/cjs/exports/auth/index.js +0 -6
  359. package/dist/cjs/exports/auth/index.js.map +0 -1
  360. package/dist/cjs/exports/config.js +0 -6
  361. package/dist/cjs/exports/config.js.map +0 -1
  362. package/dist/cjs/exports/controllers/index.js +0 -42
  363. package/dist/cjs/exports/controllers/index.js.map +0 -1
  364. package/dist/cjs/exports/error-handler/index.js +0 -11
  365. package/dist/cjs/exports/error-handler/index.js.map +0 -1
  366. package/dist/cjs/exports/index.js +0 -23
  367. package/dist/cjs/exports/index.js.map +0 -1
  368. package/dist/cjs/exports/middlewares/index.js +0 -7
  369. package/dist/cjs/exports/middlewares/index.js.map +0 -1
  370. package/dist/cjs/exports/prisma/index.js +0 -13
  371. package/dist/cjs/exports/prisma/index.js.map +0 -1
  372. package/dist/cjs/exports/services/index.js +0 -53
  373. package/dist/cjs/exports/services/index.js.map +0 -1
  374. package/dist/cjs/exports/utils/index.js +0 -26
  375. package/dist/cjs/exports/utils/index.js.map +0 -1
  376. package/dist/cjs/exports/validation/index.js +0 -11
  377. package/dist/cjs/exports/validation/index.js.map +0 -1
  378. package/dist/cjs/generated.js +0 -7
  379. package/dist/cjs/generated.js.map +0 -1
  380. package/dist/cjs/modules/auth/auth.controller.js +0 -254
  381. package/dist/cjs/modules/auth/auth.controller.js.map +0 -1
  382. package/dist/cjs/modules/auth/auth.router.js +0 -113
  383. package/dist/cjs/modules/auth/auth.router.js.map +0 -1
  384. package/dist/cjs/modules/auth/auth.service.js +0 -277
  385. package/dist/cjs/modules/auth/auth.service.js.map +0 -1
  386. package/dist/cjs/modules/auth/utils/auth-error-objects.js +0 -10
  387. package/dist/cjs/modules/auth/utils/auth-error-objects.js.map +0 -1
  388. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +0 -83
  389. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -1
  390. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +0 -150
  391. package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +0 -1
  392. package/dist/cjs/modules/base/base.controller.js +0 -275
  393. package/dist/cjs/modules/base/base.controller.js.map +0 -1
  394. package/dist/cjs/modules/base/base.middlewares.js +0 -231
  395. package/dist/cjs/modules/base/base.middlewares.js.map +0 -1
  396. package/dist/cjs/modules/base/base.router.js +0 -112
  397. package/dist/cjs/modules/base/base.router.js.map +0 -1
  398. package/dist/cjs/modules/base/base.service.js +0 -432
  399. package/dist/cjs/modules/base/base.service.js.map +0 -1
  400. package/dist/cjs/modules/base/types/base.service.types.js +0 -3
  401. package/dist/cjs/modules/base/types/base.service.types.js.map +0 -1
  402. package/dist/cjs/modules/base/utils/error-prettifier.js +0 -188
  403. package/dist/cjs/modules/base/utils/error-prettifier.js.map +0 -1
  404. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +0 -49
  405. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -1
  406. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +0 -13
  407. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
  408. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +0 -222
  409. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +0 -1
  410. package/dist/cjs/modules/base/utils/router-validator.js +0 -13
  411. package/dist/cjs/modules/base/utils/router-validator.js.map +0 -1
  412. package/dist/cjs/modules/base/utils/service-hooks-manager.js +0 -19
  413. package/dist/cjs/modules/base/utils/service-hooks-manager.js.map +0 -1
  414. package/dist/cjs/modules/debugger/debugger.service.js +0 -59
  415. package/dist/cjs/modules/debugger/debugger.service.js.map +0 -1
  416. package/dist/cjs/modules/email/email.service.js +0 -106
  417. package/dist/cjs/modules/email/email.service.js.map +0 -1
  418. package/dist/cjs/modules/error-handler/error-handler.controller.js +0 -192
  419. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +0 -1
  420. package/dist/cjs/modules/error-handler/utils/app-error.js +0 -28
  421. package/dist/cjs/modules/error-handler/utils/app-error.js.map +0 -1
  422. package/dist/cjs/modules/error-handler/utils/catch-async.js +0 -21
  423. package/dist/cjs/modules/error-handler/utils/catch-async.js.map +0 -1
  424. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +0 -218
  425. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +0 -1
  426. package/dist/cjs/modules/file-upload/file-upload.controller.js +0 -256
  427. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +0 -1
  428. package/dist/cjs/modules/file-upload/file-upload.router.js +0 -80
  429. package/dist/cjs/modules/file-upload/file-upload.router.js.map +0 -1
  430. package/dist/cjs/modules/file-upload/file-upload.service.js +0 -343
  431. package/dist/cjs/modules/file-upload/file-upload.service.js.map +0 -1
  432. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js +0 -134
  433. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js.map +0 -1
  434. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +0 -100
  435. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -1
  436. package/dist/cjs/modules/swagger/swagger.router.js +0 -65
  437. package/dist/cjs/modules/swagger/swagger.router.js.map +0 -1
  438. package/dist/cjs/modules/swagger/utils/built-in-route-path-object-manager.js +0 -7
  439. package/dist/cjs/modules/swagger/utils/built-in-route-path-object-manager.js.map +0 -1
  440. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js +0 -53
  441. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +0 -1
  442. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +0 -473
  443. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +0 -1
  444. package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +0 -491
  445. package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +0 -1
  446. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +0 -73
  447. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +0 -1
  448. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +0 -37
  449. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +0 -1
  450. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +0 -61
  451. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +0 -1
  452. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +0 -31
  453. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +0 -1
  454. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +0 -49
  455. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +0 -1
  456. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +0 -39
  457. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +0 -1
  458. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +0 -468
  459. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +0 -1
  460. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +0 -260
  461. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +0 -1
  462. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js +0 -331
  463. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js.map +0 -1
  464. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +0 -109
  465. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +0 -1
  466. package/dist/cjs/package.json +0 -3
  467. package/dist/cjs/server.js +0 -60
  468. package/dist/cjs/server.js.map +0 -1
  469. package/dist/cjs/types/arkos-prisma-input.js +0 -3
  470. package/dist/cjs/types/arkos-prisma-input.js.map +0 -1
  471. package/dist/cjs/types/arkos.js +0 -3
  472. package/dist/cjs/types/arkos.js.map +0 -1
  473. package/dist/cjs/types/auth.js +0 -3
  474. package/dist/cjs/types/auth.js.map +0 -1
  475. package/dist/cjs/types/index.js +0 -3
  476. package/dist/cjs/types/index.js.map +0 -1
  477. package/dist/cjs/types/new-arkos-config.js +0 -3
  478. package/dist/cjs/types/new-arkos-config.js.map +0 -1
  479. package/dist/cjs/types/router-config.js +0 -3
  480. package/dist/cjs/types/router-config.js.map +0 -1
  481. package/dist/cjs/utils/arkos-env.js +0 -9
  482. package/dist/cjs/utils/arkos-env.js.map +0 -1
  483. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js +0 -126
  484. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js.map +0 -1
  485. package/dist/cjs/utils/arkos-router/index.js +0 -253
  486. package/dist/cjs/utils/arkos-router/index.js.map +0 -1
  487. package/dist/cjs/utils/arkos-router/route-config-registry.js +0 -16
  488. package/dist/cjs/utils/arkos-router/route-config-registry.js.map +0 -1
  489. package/dist/cjs/utils/arkos-router/route-config-validator.js +0 -56
  490. package/dist/cjs/utils/arkos-router/route-config-validator.js.map +0 -1
  491. package/dist/cjs/utils/arkos-router/types/body-parser-config.js +0 -3
  492. package/dist/cjs/utils/arkos-router/types/body-parser-config.js.map +0 -1
  493. package/dist/cjs/utils/arkos-router/types/index.js +0 -3
  494. package/dist/cjs/utils/arkos-router/types/index.js.map +0 -1
  495. package/dist/cjs/utils/arkos-router/types/openapi-config.js +0 -3
  496. package/dist/cjs/utils/arkos-router/types/openapi-config.js.map +0 -1
  497. package/dist/cjs/utils/arkos-router/types/upload-config.js +0 -3
  498. package/dist/cjs/utils/arkos-router/types/upload-config.js.map +0 -1
  499. package/dist/cjs/utils/arkos-router/utils/helpers/index.js +0 -163
  500. package/dist/cjs/utils/arkos-router/utils/helpers/index.js.map +0 -1
  501. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js +0 -283
  502. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js.map +0 -1
  503. package/dist/cjs/utils/bundler.js +0 -163
  504. package/dist/cjs/utils/bundler.js.map +0 -1
  505. package/dist/cjs/utils/cli/build.js +0 -200
  506. package/dist/cjs/utils/cli/build.js.map +0 -1
  507. package/dist/cjs/utils/cli/dev.js +0 -128
  508. package/dist/cjs/utils/cli/dev.js.map +0 -1
  509. package/dist/cjs/utils/cli/export-auth-action.js +0 -79
  510. package/dist/cjs/utils/cli/export-auth-action.js.map +0 -1
  511. package/dist/cjs/utils/cli/generate.js +0 -229
  512. package/dist/cjs/utils/cli/generate.js.map +0 -1
  513. package/dist/cjs/utils/cli/index.js +0 -191
  514. package/dist/cjs/utils/cli/index.js.map +0 -1
  515. package/dist/cjs/utils/cli/prisma-generate.js +0 -112
  516. package/dist/cjs/utils/cli/prisma-generate.js.map +0 -1
  517. package/dist/cjs/utils/cli/start.js +0 -72
  518. package/dist/cjs/utils/cli/start.js.map +0 -1
  519. package/dist/cjs/utils/cli/utils/cli.helpers.js +0 -24
  520. package/dist/cjs/utils/cli/utils/cli.helpers.js.map +0 -1
  521. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js +0 -114
  522. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js.map +0 -1
  523. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +0 -73
  524. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js.map +0 -1
  525. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +0 -550
  526. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js.map +0 -1
  527. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -52
  528. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
  529. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js +0 -139
  530. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +0 -1
  531. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js +0 -53
  532. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js.map +0 -1
  533. package/dist/cjs/utils/cli/utils/template-generator/templates/route-hook.template.js +0 -39
  534. package/dist/cjs/utils/cli/utils/template-generator/templates/route-hook.template.js.map +0 -1
  535. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +0 -19
  536. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +0 -1
  537. package/dist/cjs/utils/cli/utils/template-generator/templates/service-hook.template.js +0 -32
  538. package/dist/cjs/utils/cli/utils/template-generator/templates/service-hook.template.js.map +0 -1
  539. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +0 -50
  540. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +0 -1
  541. package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js +0 -351
  542. package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js.map +0 -1
  543. package/dist/cjs/utils/cli/utils/template-generators.js +0 -52
  544. package/dist/cjs/utils/cli/utils/template-generators.js.map +0 -1
  545. package/dist/cjs/utils/cli/utils/watermark-stamper.js +0 -26
  546. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +0 -1
  547. package/dist/cjs/utils/define-config.js +0 -46
  548. package/dist/cjs/utils/define-config.js.map +0 -1
  549. package/dist/cjs/utils/dotenv.helpers.js +0 -52
  550. package/dist/cjs/utils/dotenv.helpers.js.map +0 -1
  551. package/dist/cjs/utils/dynamic-loader.js +0 -22
  552. package/dist/cjs/utils/dynamic-loader.js.map +0 -1
  553. package/dist/cjs/utils/expand-env.js +0 -72
  554. package/dist/cjs/utils/expand-env.js.map +0 -1
  555. package/dist/cjs/utils/features/api.features.js +0 -201
  556. package/dist/cjs/utils/features/api.features.js.map +0 -1
  557. package/dist/cjs/utils/features/port-and-host-allocator.js +0 -129
  558. package/dist/cjs/utils/features/port-and-host-allocator.js.map +0 -1
  559. package/dist/cjs/utils/helpers/api.features.helpers.js +0 -327
  560. package/dist/cjs/utils/helpers/api.features.helpers.js.map +0 -1
  561. package/dist/cjs/utils/helpers/arkos-config.helpers.js +0 -86
  562. package/dist/cjs/utils/helpers/arkos-config.helpers.js.map +0 -1
  563. package/dist/cjs/utils/helpers/change-case.helpers.js +0 -177
  564. package/dist/cjs/utils/helpers/change-case.helpers.js.map +0 -1
  565. package/dist/cjs/utils/helpers/deepmerge.helper.js +0 -115
  566. package/dist/cjs/utils/helpers/deepmerge.helper.js.map +0 -1
  567. package/dist/cjs/utils/helpers/exit-error.js +0 -12
  568. package/dist/cjs/utils/helpers/exit-error.js.map +0 -1
  569. package/dist/cjs/utils/helpers/fs.helpers.js +0 -60
  570. package/dist/cjs/utils/helpers/fs.helpers.js.map +0 -1
  571. package/dist/cjs/utils/helpers/global.helpers.js +0 -105
  572. package/dist/cjs/utils/helpers/global.helpers.js.map +0 -1
  573. package/dist/cjs/utils/helpers/prisma.helpers.js +0 -53
  574. package/dist/cjs/utils/helpers/prisma.helpers.js.map +0 -1
  575. package/dist/cjs/utils/helpers/query-parser.helpers.js +0 -69
  576. package/dist/cjs/utils/helpers/query-parser.helpers.js.map +0 -1
  577. package/dist/cjs/utils/helpers/routers.helpers.js +0 -36
  578. package/dist/cjs/utils/helpers/routers.helpers.js.map +0 -1
  579. package/dist/cjs/utils/helpers/text.helpers.js +0 -28
  580. package/dist/cjs/utils/helpers/text.helpers.js.map +0 -1
  581. package/dist/cjs/utils/initialize-app.js +0 -55
  582. package/dist/cjs/utils/initialize-app.js.map +0 -1
  583. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +0 -437
  584. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +0 -1
  585. package/dist/cjs/utils/prisma/prisma-schema-parser.js +0 -360
  586. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +0 -1
  587. package/dist/cjs/utils/prisma/types.js +0 -3
  588. package/dist/cjs/utils/prisma/types.js.map +0 -1
  589. package/dist/cjs/utils/remove-dir.js +0 -14
  590. package/dist/cjs/utils/remove-dir.js.map +0 -1
  591. package/dist/cjs/utils/setup-app.js +0 -119
  592. package/dist/cjs/utils/setup-app.js.map +0 -1
  593. package/dist/cjs/utils/sheu.js +0 -131
  594. package/dist/cjs/utils/sheu.js.map +0 -1
  595. package/dist/cjs/utils/validate-dto.js +0 -19
  596. package/dist/cjs/utils/validate-dto.js.map +0 -1
  597. package/dist/cjs/utils/validate-schema.js +0 -75
  598. package/dist/cjs/utils/validate-schema.js.map +0 -1
  599. package/dist/esm/components/arkos-loadable-translator/index.js +0 -138
  600. package/dist/esm/components/arkos-loadable-translator/index.js.map +0 -1
  601. package/dist/esm/components/arkos-service-hook/index.js +0 -32
  602. package/dist/esm/components/arkos-service-hook/index.js.map +0 -1
  603. package/dist/esm/components/arkos-service-hook/reader.js +0 -24
  604. package/dist/esm/components/arkos-service-hook/reader.js.map +0 -1
  605. package/dist/esm/components/arkos-service-hook/types.js +0 -2
  606. package/dist/esm/components/arkos-service-hook/types.js.map +0 -1
  607. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +0 -10
  608. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +0 -1
  609. package/dist/esm/modules/base/utils/service-hooks-manager.js +0 -17
  610. package/dist/esm/modules/base/utils/service-hooks-manager.js.map +0 -1
  611. package/dist/esm/modules/swagger/utils/built-in-route-path-object-manager.js +0 -5
  612. package/dist/esm/modules/swagger/utils/built-in-route-path-object-manager.js.map +0 -1
  613. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +0 -469
  614. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +0 -1
  615. package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +0 -485
  616. package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +0 -1
  617. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +0 -34
  618. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +0 -1
  619. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +0 -55
  620. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +0 -1
  621. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +0 -25
  622. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +0 -1
  623. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +0 -46
  624. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +0 -1
  625. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +0 -33
  626. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +0 -1
  627. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +0 -462
  628. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +0 -1
  629. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +0 -255
  630. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +0 -1
  631. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +0 -98
  632. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +0 -1
  633. package/dist/esm/utils/cli/utils/template-generator/templates/route-hook.template.js +0 -36
  634. package/dist/esm/utils/cli/utils/template-generator/templates/route-hook.template.js.map +0 -1
  635. package/dist/esm/utils/cli/utils/template-generator/templates/service-hook.template.js +0 -29
  636. package/dist/esm/utils/cli/utils/template-generator/templates/service-hook.template.js.map +0 -1
  637. package/dist/types/components/arkos-loadable-translator/index.d.ts +0 -53
  638. package/dist/types/components/arkos-service-hook/index.d.ts +0 -41
  639. package/dist/types/components/arkos-service-hook/reader.d.ts +0 -35
  640. package/dist/types/components/arkos-service-hook/types.d.ts +0 -240
  641. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +0 -3
  642. package/dist/types/modules/base/utils/service-hooks-manager.d.ts +0 -10
  643. package/dist/types/modules/swagger/utils/built-in-route-path-object-manager.d.ts +0 -4
  644. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +0 -5
  645. package/dist/types/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.d.ts +0 -3
  646. package/dist/types/modules/swagger/utils/helpers/get-system-json-schema-paths.d.ts +0 -2
  647. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +0 -1
  648. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +0 -1
  649. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.d.ts +0 -4
  650. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +0 -1
  651. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +0 -2
  652. package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +0 -76
  653. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +0 -19
  654. package/dist/types/utils/cli/utils/template-generator/templates/route-hook.template.d.ts +0 -2
  655. package/dist/types/utils/cli/utils/template-generator/templates/service-hook.template.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"prisma.helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers/prisma.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,CAAC,IAAI,cAAc,GAAQ,IAAI,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAW,EAAE,IAAY,EAAE,QAAa;IACtE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,kBAAkB;SAC/B,yBAAyB,EAAE;SAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAM,IAAe,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAEtE,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,OAAO,IAAI,KAAK,CAAC,gBAAgB,EAAE;YACjC,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa;gBACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAChC,WAAW,EACX,UAAU,EACV,aAAa,CACd,CAAC;gBAEF,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;oBACzC,OAAO,UAAU,GAAG,IAAW;wBAC7B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;wBAChC,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC;wBAE1D,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;4BACpB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;4BAE1B,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACnD,IAAI,CAAC,KAAK,CACR,sBAAsB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAC1D,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC/D,CAAC;wBACH,CAAC;wBAED,OAAO,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBACjD,CAAC,CAAC;gBACJ,CAAC;gBAED,OAAO,cAAc,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE,EAAE;QACzD,GAAG,EAAE,eAAe;KACrB,CAAC,CAAC;AACL,CAAC","sourcesContent":["import prismaSchemaParser from \"../prisma/prisma-schema-parser\";\nimport { getArkosConfig } from \"./arkos-config.helpers\";\nimport sheu from \"../sheu\";\n\nexport let prismaInstance: any = null;\n\nexport async function loadPrismaModule() {\n return getArkosConfig()?.prisma?.instance;\n}\n\nexport function handlePrismaGet(target: any, prop: string, receiver: any) {\n const originalProperty = Reflect.get(target, prop, receiver);\n\n const isModel = prismaSchemaParser\n .getModelsAsArrayOfStrings()\n .find((m) => m.toLowerCase() === (prop as string)?.toLowerCase?.());\n\n if (isModel && originalProperty) {\n return new Proxy(originalProperty, {\n get(modelTarget, methodName, modelReceiver) {\n const originalMethod = Reflect.get(\n modelTarget,\n methodName,\n modelReceiver\n );\n\n if (typeof originalMethod === \"function\") {\n return function (...args: any[]) {\n const config = getArkosConfig();\n const debugLevel = config.debugging?.requests?.level || 0;\n\n if (debugLevel >= 3) {\n const queryArgs = args[0];\n\n if (queryArgs && Object.keys(queryArgs).length > 0) {\n sheu.debug(\n `Final Prisma Args\\n${JSON.stringify(queryArgs, null, 2)}`,\n { timestamp: true }\n );\n } else {\n sheu.debug(`Final Prisma Args - Empty`, { timestamp: true });\n }\n }\n\n return originalMethod.apply(modelTarget, args);\n };\n }\n\n return originalMethod;\n },\n });\n }\n\n return originalProperty;\n}\n\nexport function getPrismaInstance() {\n return new Proxy(getArkosConfig()?.prisma?.instance || {}, {\n get: handlePrismaGet,\n });\n}\n"]}
1
+ {"version":3,"file":"prisma.helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers/prisma.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,CAAC,IAAI,cAAc,GAAQ,IAAI,CAAC;AAEtC,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC;IACpD,IAAI,CAAC,QAAQ;QACX,IAAI,CAAC,IAAI,CACP,qDAAqD,oBAAoB,EAAE,mEAAmE,EAC9I,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;IACJ,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAW,EAAE,IAAY,EAAE,QAAa;IACtE,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAQ,CAAC;IAEtE,MAAM,OAAO,GACX,OAAO,gBAAgB,KAAK,QAAQ;QAClC,CAAC,CAAC,UAAU,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACxC,CAAC,CAAC,KAAK,CAAC;IAEZ,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,OAAO,IAAI,KAAK,CAAC,gBAAgB,EAAE;YACjC,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa;gBACxC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAChC,WAAW,EACX,UAAU,EACV,aAAa,CACd,CAAC;gBAEF,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;oBACzC,OAAO,UAAS,GAAG,IAAW;wBAC5B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;wBAChC,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC;wBAE1D,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;4BACpB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;4BAE1B,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACnD,IAAI,CAAC,KAAK,CACR,sBAAsB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAC1D,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC/D,CAAC;wBACH,CAAC;wBAED,OAAO,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBACjD,CAAC,CAAC;gBACJ,CAAC;gBAED,OAAO,cAAc,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE,EAAE;QACzD,GAAG,EAAE,eAAe;KACrB,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { getArkosConfig } from \"./arkos-config.helpers\";\nimport sheu from \"../sheu\";\nimport { getUserFileExtension } from \"./fs.helpers\";\n\nexport let prismaInstance: any = null;\n\nexport function loadPrismaModule() {\n const instance = getArkosConfig()?.prisma?.instance;\n if (!instance)\n sheu.warn(\n `Prisma client instance not passed to arkos.config.${getUserFileExtension()}, see https://www.arkosjs.com/docs/core-concepts/prisma-orm/setup`,\n { timestamp: true }\n );\n return instance;\n}\n\nexport function handlePrismaGet(target: any, prop: string, receiver: any) {\n const originalProperty = (Reflect.get(target, prop, receiver)) as any;\n\n const isModel =\n typeof originalProperty === \"object\"\n ? \"findMany\" in (originalProperty || {})\n : false;\n\n if (isModel && originalProperty) {\n return new Proxy(originalProperty, {\n get(modelTarget, methodName, modelReceiver) {\n const originalMethod = Reflect.get(\n modelTarget,\n methodName,\n modelReceiver\n );\n\n if (typeof originalMethod === \"function\") {\n return function(...args: any[]) {\n const config = getArkosConfig();\n const debugLevel = config.debugging?.requests?.level || 0;\n\n if (debugLevel >= 3) {\n const queryArgs = args[0];\n\n if (queryArgs && Object.keys(queryArgs).length > 0) {\n sheu.debug(\n `Final Prisma Args\\n${JSON.stringify(queryArgs, null, 2)}`,\n { timestamp: true }\n );\n } else {\n sheu.debug(`Final Prisma Args - Empty`, { timestamp: true });\n }\n }\n\n return originalMethod.apply(modelTarget, args);\n };\n }\n\n return originalMethod;\n },\n });\n }\n\n return originalProperty;\n}\n\nexport function getPrismaInstance() {\n return new Proxy(getArkosConfig()?.prisma?.instance || {}, {\n get: handlePrismaGet,\n });\n}\n"]}
@@ -1,24 +1,4 @@
1
1
  import { parseQueryParamsWithModifiers } from "./api.features.helpers.js";
2
- function parseDoubleUnderscore(query) {
3
- const result = {};
4
- for (const [key, value] of Object.entries(query)) {
5
- const parts = key.split("__");
6
- if (parts.length === 1) {
7
- result[key] = value;
8
- }
9
- else {
10
- let current = result;
11
- for (let i = 0; i < parts.length - 1; i++) {
12
- if (!current[parts[i]]) {
13
- current[parts[i]] = {};
14
- }
15
- current = current[parts[i]];
16
- }
17
- current[parts[parts.length - 1]] = value;
18
- }
19
- }
20
- return result;
21
- }
22
2
  export const parse = (target, options) => {
23
3
  switch (typeof target) {
24
4
  case "string":
@@ -57,8 +37,13 @@ export const parse = (target, options) => {
57
37
  return target;
58
38
  }
59
39
  };
60
- export const queryParser = (options) => (req, res, next) => {
61
- req.query = parse(req.query, options);
40
+ export const queryParser = (options) => (req, _, next) => {
41
+ Object.defineProperty(req, "query", {
42
+ value: parse(req.query, options),
43
+ writable: false,
44
+ configurable: true,
45
+ enumerable: true,
46
+ });
62
47
  next();
63
48
  };
64
49
  //# sourceMappingURL=query-parser.helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-parser.helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers/query-parser.helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { ArkosNextFunction, ArkosRequest, ArkosResponse } from \"../../types\";\nimport { parseQueryParamsWithModifiers } from \"./api.features.helpers\";\n\ntype ParsedQuery = any;\n\nexport interface Options {\n parseNull?: boolean;\n parseUndefined?: boolean;\n parseBoolean?: boolean;\n parseNumber?: boolean;\n parseDoubleUnderscore?: boolean;\n}\n\nfunction parseDoubleUnderscore(\n query: Record<string, any>\n): Record<string, any> {\n const result: Record<string, any> = {};\n\n for (const [key, value] of Object.entries(query)) {\n const parts = key.split(\"__\");\n\n if (parts.length === 1) {\n result[key] = value;\n } else {\n let current = result;\n\n for (let i = 0; i < parts.length - 1; i++) {\n if (!current[parts[i]]) {\n current[parts[i]] = {};\n }\n current = current[parts[i]];\n }\n\n current[parts[parts.length - 1]] = value;\n }\n }\n\n return result;\n}\n\nexport const parse = (target: ParsedQuery, options: Options): ParsedQuery => {\n switch (typeof target) {\n case \"string\":\n if (target === \"\") {\n return \"\";\n } else if (options.parseNull && target === \"null\") {\n return null;\n } else if (options.parseUndefined && target === \"undefined\") {\n return undefined;\n } else if (\n options.parseBoolean &&\n (target === \"true\" || target === \"false\")\n ) {\n return target === \"true\";\n } else if (options.parseNumber && !isNaN(Number(target))) {\n return Number(target);\n } else if (options.parseNumber && !isNaN(Number(target))) {\n return parseQueryParamsWithModifiers(target as any);\n } else {\n return target;\n }\n case \"object\":\n if (Array.isArray(target)) {\n return target.map((x) => parse(x, options));\n } else {\n const obj = target;\n Object.keys(obj).map((key) => (obj[key] = parse(target[key], options)));\n return obj;\n }\n default:\n return target;\n }\n};\n\nexport const queryParser =\n (options: Options) =>\n (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => {\n req.query = parse(req.query, options);\n next();\n };\n"]}
1
+ {"version":3,"file":"query-parser.helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers/query-parser.helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAYvE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAmB,EAAE,OAAgB,EAAe,EAAE;IAC1E,QAAQ,OAAO,MAAM,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,OAAO,CAAC,SAAS,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,OAAO,CAAC,cAAc,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC5D,OAAO,SAAS,CAAC;YACnB,CAAC;iBAAM,IACL,OAAO,CAAC,YAAY;gBACpB,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC,EACzC,CAAC;gBACD,OAAO,MAAM,KAAK,MAAM,CAAC;YAC3B,CAAC;iBAAM,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACzD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACzD,OAAO,6BAA6B,CAAC,MAAa,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,KAAK,QAAQ;YACX,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,MAAM,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACxE,OAAO,GAAG,CAAC;YACb,CAAC;QACH;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,OAAgB,EAAE,EAAE,CACnB,CAAC,GAAiB,EAAE,CAAgB,EAAE,IAAuB,EAAE,EAAE;IAC/D,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE;QAClC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;QAChC,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,IAAI,EAAE,CAAC;AACT,CAAC,CAAC","sourcesContent":["import { ArkosNextFunction, ArkosRequest, ArkosResponse } from \"../../types\";\nimport { parseQueryParamsWithModifiers } from \"./api.features.helpers\";\n\ntype ParsedQuery = any;\n\nexport interface Options {\n parseNull?: boolean;\n parseUndefined?: boolean;\n parseBoolean?: boolean;\n parseNumber?: boolean;\n parseDoubleUnderscore?: boolean;\n}\n\nexport const parse = (target: ParsedQuery, options: Options): ParsedQuery => {\n switch (typeof target) {\n case \"string\":\n if (target === \"\") {\n return \"\";\n } else if (options.parseNull && target === \"null\") {\n return null;\n } else if (options.parseUndefined && target === \"undefined\") {\n return undefined;\n } else if (\n options.parseBoolean &&\n (target === \"true\" || target === \"false\")\n ) {\n return target === \"true\";\n } else if (options.parseNumber && !isNaN(Number(target))) {\n return Number(target);\n } else if (options.parseNumber && !isNaN(Number(target))) {\n return parseQueryParamsWithModifiers(target as any);\n } else {\n return target;\n }\n case \"object\":\n if (Array.isArray(target)) {\n return target.map((x) => parse(x, options));\n } else {\n const obj = target;\n Object.keys(obj).map((key) => (obj[key] = parse(target[key], options)));\n return obj;\n }\n default:\n return target;\n }\n};\n\nexport const queryParser =\n (options: Options) =>\n (req: ArkosRequest, _: ArkosResponse, next: ArkosNextFunction) => {\n Object.defineProperty(req, \"query\", {\n value: parse(req.query, options),\n writable: false,\n configurable: true,\n enumerable: true,\n });\n\n next();\n };\n"]}
@@ -2,11 +2,11 @@ import catchAsync from "../../modules/error-handler/utils/catch-async.js";
2
2
  import ExitError from "./exit-error.js";
3
3
  function throwErrorIfInterceptorIsNotAFunction(middleware) {
4
4
  if (middleware && typeof middleware !== "function")
5
- throw ExitError(`Validation Error: Invalid interceptor of type ${typeof middleware}, they must be a function or an array of function. checkout https://arkosjs.com/docs/core-concepts/interceptor-middlewares`);
5
+ throw ExitError(`Validation Error: Invalid interceptor of type ${typeof middleware}, they must be a function or an array of function. checkout https://arkosjs.com/docs/core-concepts/components/interceptors`);
6
6
  }
7
7
  export const safeCatchAsync = (middleware, options = { type: "normal" }) => {
8
8
  if (middleware && typeof middleware !== "function")
9
- throw ExitError(`Validation Error: Invalid interceptor of type ${typeof middleware}, they must be a function or an array of function. checkout https://arkosjs.com/docs/core-concepts/interceptor-middlewares`);
9
+ throw ExitError(`Validation Error: Invalid interceptor of type ${typeof middleware}, they must be a function or an array of function. checkout https://arkosjs.com/docs/core-concepts/components/interceptors`);
10
10
  return middleware ? catchAsync(middleware, options) : undefined;
11
11
  };
12
12
  export const processMiddleware = (middleware, options = { type: "normal" }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"routers.helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers/routers.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,UAEN,MAAM,+CAA+C,CAAC;AACvD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,SAAS,qCAAqC,CAAC,UAAe;IAC5D,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,UAAU;QAChD,MAAM,SAAS,CACb,iDAAiD,OAAO,UAAU,4HAA4H,CAC/L,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,UAAe,EACf,UAAwC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC1D,EAAE;IACF,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,UAAU;QAChD,MAAM,SAAS,CACb,iDAAiD,OAAO,UAAU,4HAA4H,CAC/L,CAAC;IAEJ,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAAe,EACf,UAAwC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC1D,EAAE;IACF,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU;aACd,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACV,qCAAqC,CAAC,EAAE,CAAC,CAAC;YAC1C,OAAO,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAA2B,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,qCAAqC,CAAC,UAAU,CAAC,CAAC;QAClD,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAA2B,CAAC;IACzE,CAAC;AACH,CAAC,CAAC","sourcesContent":["import catchAsync, {\n CatchAsyncReturnType,\n} from \"../../modules/error-handler/utils/catch-async\";\nimport ExitError from \"./exit-error\";\n\nfunction throwErrorIfInterceptorIsNotAFunction(middleware: any) {\n if (middleware && typeof middleware !== \"function\")\n throw ExitError(\n `Validation Error: Invalid interceptor of type ${typeof middleware}, they must be a function or an array of function. checkout https://arkosjs.com/docs/core-concepts/interceptor-middlewares`\n );\n}\n\nexport const safeCatchAsync = (\n middleware: any,\n options: { type: \"error\" | \"normal\" } = { type: \"normal\" }\n) => {\n if (middleware && typeof middleware !== \"function\")\n throw ExitError(\n `Validation Error: Invalid interceptor of type ${typeof middleware}, they must be a function or an array of function. checkout https://arkosjs.com/docs/core-concepts/interceptor-middlewares`\n );\n\n return middleware ? catchAsync(middleware, options) : undefined;\n};\n\nexport const processMiddleware = (\n middleware: any,\n options: { type: \"error\" | \"normal\" } = { type: \"normal\" }\n) => {\n if (!middleware) return [];\n if (Array.isArray(middleware)) {\n return middleware\n .filter((mw) => !!mw)\n .map((mw) => {\n throwErrorIfInterceptorIsNotAFunction(mw);\n return safeCatchAsync(mw, options);\n }) as CatchAsyncReturnType[];\n } else {\n throwErrorIfInterceptorIsNotAFunction(middleware);\n return [safeCatchAsync(middleware, options)] as CatchAsyncReturnType[];\n }\n};\n"]}
1
+ {"version":3,"file":"routers.helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers/routers.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,UAEN,MAAM,+CAA+C,CAAC;AACvD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,SAAS,qCAAqC,CAAC,UAAe;IAC5D,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,UAAU;QAChD,MAAM,SAAS,CACb,iDAAiD,OAAO,UAAU,4HAA4H,CAC/L,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,UAAe,EACf,UAAwC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC1D,EAAE;IACF,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,UAAU;QAChD,MAAM,SAAS,CACb,iDAAiD,OAAO,UAAU,4HAA4H,CAC/L,CAAC;IAEJ,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAAe,EACf,UAAwC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC1D,EAAE;IACF,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU;aACd,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACV,qCAAqC,CAAC,EAAE,CAAC,CAAC;YAC1C,OAAO,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAA2B,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,qCAAqC,CAAC,UAAU,CAAC,CAAC;QAClD,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAA2B,CAAC;IACzE,CAAC;AACH,CAAC,CAAC","sourcesContent":["import catchAsync, {\n CatchAsyncReturnType,\n} from \"../../modules/error-handler/utils/catch-async\";\nimport ExitError from \"./exit-error\";\n\nfunction throwErrorIfInterceptorIsNotAFunction(middleware: any) {\n if (middleware && typeof middleware !== \"function\")\n throw ExitError(\n `Validation Error: Invalid interceptor of type ${typeof middleware}, they must be a function or an array of function. checkout https://arkosjs.com/docs/core-concepts/components/interceptors`\n );\n}\n\nexport const safeCatchAsync = (\n middleware: any,\n options: { type: \"error\" | \"normal\" } = { type: \"normal\" }\n) => {\n if (middleware && typeof middleware !== \"function\")\n throw ExitError(\n `Validation Error: Invalid interceptor of type ${typeof middleware}, they must be a function or an array of function. checkout https://arkosjs.com/docs/core-concepts/components/interceptors`\n );\n\n return middleware ? catchAsync(middleware, options) : undefined;\n};\n\nexport const processMiddleware = (\n middleware: any,\n options: { type: \"error\" | \"normal\" } = { type: \"normal\" }\n) => {\n if (!middleware) return [];\n if (Array.isArray(middleware)) {\n return middleware\n .filter((mw) => !!mw)\n .map((mw) => {\n throwErrorIfInterceptorIsNotAFunction(mw);\n return safeCatchAsync(mw, options);\n }) as CatchAsyncReturnType[];\n } else {\n throwErrorIfInterceptorIsNotAFunction(middleware);\n return [safeCatchAsync(middleware, options)] as CatchAsyncReturnType[];\n }\n};\n"]}
@@ -0,0 +1,11 @@
1
+ export function lenientDecode(str) {
2
+ return str.replace(/%([0-9A-Fa-f]{2})/g, (_, hex) => {
3
+ try {
4
+ return decodeURIComponent("%" + hex);
5
+ }
6
+ catch {
7
+ return String.fromCharCode(parseInt(hex, 16));
8
+ }
9
+ });
10
+ }
11
+ //# sourceMappingURL=url-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers/url-helpers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAClD,IAAI,CAAC;YACH,OAAO,kBAAkB,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["export function lenientDecode(str: string) {\n return str.replace(/%([0-9A-Fa-f]{2})/g, (_, hex) => {\n try {\n return decodeURIComponent(\"%\" + hex);\n } catch {\n return String.fromCharCode(parseInt(hex, 16));\n }\n });\n}\n"]}
@@ -6,17 +6,42 @@ import errorHandler from "../modules/error-handler/error-handler.controller.js";
6
6
  import { getArkosConfig } from "../server.js";
7
7
  import { isAuthenticationEnabled } from "./helpers/arkos-config.helpers.js";
8
8
  import { getSwaggerRouter } from "../modules/swagger/swagger.router.js";
9
+ import { lenientDecode } from "./helpers/url-helpers.js";
10
+ import path from "path";
11
+ import express from "express";
12
+ import { userRequire } from "./helpers/global.helpers.js";
13
+ import { existsSync, mkdirSync } from "fs";
14
+ import sheu from "./sheu.js";
15
+ import { validateUploadServingConfig } from "../modules/file-upload/utils/helpers/upload-serving-validation.js";
9
16
  export default function initializeApp(app) {
10
17
  const config = getArkosConfig();
11
18
  const globalPrefix = config.globalPrefix || "/api";
12
19
  const routersConfig = config?.routers;
13
- const middlewaresConfig = config?.middlewares;
20
+ if (config?.staticFiles?.enabled !== false) {
21
+ const folder = config?.staticFiles?.folder ?? "/public";
22
+ const prefix = config?.staticFiles?.prefix ?? "/";
23
+ const resolvedPath = path.resolve(path.join(process.cwd(), folder));
24
+ if (!existsSync(resolvedPath)) {
25
+ mkdirSync(resolvedPath, { recursive: true });
26
+ sheu.warn(`Folder '${folder}' was created to serve static files, if you deleted it intending to disable static files, please rather set staticFiles.enabled = false. See https://arkosjs.com/docs/guides/file-handling/static-files`, { timestamp: true });
27
+ }
28
+ app.use({ path: prefix }, express.static(resolvedPath, {
29
+ maxAge: "1y",
30
+ etag: true,
31
+ lastModified: true,
32
+ dotfiles: "ignore",
33
+ fallthrough: true,
34
+ index: false,
35
+ cacheControl: true,
36
+ ...config?.staticFiles?.expressStatic,
37
+ }));
38
+ }
14
39
  if (routersConfig?.welcomeRoute !== false) {
15
40
  if (typeof routersConfig?.welcomeRoute === "function") {
16
- app.get(globalPrefix, routersConfig.welcomeRoute);
41
+ app.get({ path: globalPrefix }, routersConfig.welcomeRoute);
17
42
  }
18
43
  else {
19
- app.get(globalPrefix, (_, res) => {
44
+ app.get({ path: globalPrefix }, (_, res) => {
20
45
  res.status(200).json({ message: config.welcomeMessage });
21
46
  });
22
47
  }
@@ -25,25 +50,26 @@ export default function initializeApp(app) {
25
50
  app.use(fileUploadRouter);
26
51
  if (isAuthenticationEnabled()) {
27
52
  const authRouter = getAuthRouter();
28
- app.use(globalPrefix, authRouter);
53
+ app.use({ path: globalPrefix }, authRouter);
29
54
  }
30
55
  const modelsRouter = getPrismaModelsRouter();
31
- app.use(globalPrefix, modelsRouter);
56
+ app.use({ path: globalPrefix }, modelsRouter);
32
57
  if (config.swagger &&
33
58
  (process.env.ARKOS_BUILD !== "true" ||
34
- config.swagger.enableAfterBuild === true))
35
- app.use(globalPrefix, getSwaggerRouter(config, app));
36
- app.use("*", (req) => {
37
- throw new AppError("Route not found", 404, { route: req.originalUrl }, "RouteNotFound");
38
- });
39
- if (middlewaresConfig?.errorHandler !== false) {
40
- if (typeof middlewaresConfig?.errorHandler === "function") {
41
- app.use(middlewaresConfig.errorHandler);
42
- }
43
- else {
44
- app.use(errorHandler);
45
- }
59
+ config.swagger.enableAfterBuild === true)) {
60
+ const scalarDistPath = path.dirname(userRequire.resolve("@scalar/api-reference"));
61
+ app.use({ path: `${config.globalPrefix}/scalar-api-reference` }, express.static(scalarDistPath));
62
+ app.use({ path: globalPrefix }, getSwaggerRouter(config, app));
46
63
  }
64
+ validateUploadServingConfig();
65
+ return app;
66
+ }
67
+ export function addGlobalErrorHandler(app) {
68
+ app.use({ path: "*slug" }, (req) => {
69
+ const url = lenientDecode(req.originalUrl);
70
+ throw new AppError(`Route ${req.method.toUpperCase()} ${url} was not found`, 404, { route: `${req.method.toUpperCase()} ${url}` }, "RouteNotFound");
71
+ });
72
+ app.use(errorHandler);
47
73
  return app;
48
74
  }
49
75
  //# sourceMappingURL=initialize-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initialize-app.js","sourceRoot":"","sources":["../../../src/utils/initialize-app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,YAAY,MAAM,mDAAmD,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,GAAU;IAC9C,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC;IAEnD,MAAM,aAAa,GAAG,MAAM,EAAE,OAAO,CAAC;IACtC,MAAM,iBAAiB,GAAG,MAAM,EAAE,WAAW,CAAC;IAE9C,IAAI,aAAa,EAAE,YAAY,KAAK,KAAK,EAAE,CAAC;QAC1C,IAAI,OAAO,aAAa,EAAE,YAAY,KAAK,UAAU,EAAE,CAAC;YACtD,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE1B,IAAI,uBAAuB,EAAE,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;IAC7C,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEpC,IACE,MAAM,CAAC,OAAO;QACd,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM;YACjC,MAAM,CAAC,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC;QAE3C,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAEvD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,IAAI,QAAQ,CAChB,iBAAiB,EACjB,GAAG,EACH,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,EAC1B,eAAe,CAChB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,iBAAiB,EAAE,YAAY,KAAK,KAAK,EAAE,CAAC;QAC9C,IAAI,OAAO,iBAAiB,EAAE,YAAY,KAAK,UAAU,EAAE,CAAC;YAC1D,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import { Arkos } from \"../types/arkos\";\nimport { getFileUploadRouter } from \"../modules/file-upload/file-upload.router\";\nimport { getAuthRouter } from \"../modules/auth/auth.router\";\nimport { getPrismaModelsRouter } from \"../modules/base/base.router\";\nimport { AppError } from \"../exports/error-handler\";\nimport errorHandler from \"../modules/error-handler/error-handler.controller\";\nimport { getArkosConfig } from \"../server\";\nimport { isAuthenticationEnabled } from \"./helpers/arkos-config.helpers\";\nimport { getSwaggerRouter } from \"../modules/swagger/swagger.router\";\n\nexport default function initializeApp(app: Arkos) {\n const config = getArkosConfig();\n const globalPrefix = config.globalPrefix || \"/api\";\n\n const routersConfig = config?.routers;\n const middlewaresConfig = config?.middlewares;\n\n if (routersConfig?.welcomeRoute !== false) {\n if (typeof routersConfig?.welcomeRoute === \"function\") {\n app.get(globalPrefix, routersConfig.welcomeRoute);\n } else {\n app.get(globalPrefix, (_, res) => {\n res.status(200).json({ message: config.welcomeMessage });\n });\n }\n }\n\n const fileUploadRouter = getFileUploadRouter();\n app.use(fileUploadRouter);\n\n if (isAuthenticationEnabled()) {\n const authRouter = getAuthRouter();\n app.use(globalPrefix, authRouter);\n }\n\n const modelsRouter = getPrismaModelsRouter();\n app.use(globalPrefix, modelsRouter);\n\n if (\n config.swagger &&\n (process.env.ARKOS_BUILD !== \"true\" ||\n config.swagger.enableAfterBuild === true)\n )\n app.use(globalPrefix, getSwaggerRouter(config, app));\n\n app.use(\"*\", (req) => {\n throw new AppError(\n \"Route not found\",\n 404,\n { route: req.originalUrl },\n \"RouteNotFound\"\n );\n });\n\n if (middlewaresConfig?.errorHandler !== false) {\n if (typeof middlewaresConfig?.errorHandler === \"function\") {\n app.use(middlewaresConfig.errorHandler);\n } else {\n app.use(errorHandler);\n }\n }\n return app;\n}\n"]}
1
+ {"version":3,"file":"initialize-app.js","sourceRoot":"","sources":["../../../src/utils/initialize-app.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arkos } from \"../types/arkos\";\nimport { getFileUploadRouter } from \"../modules/file-upload/file-upload.router\";\nimport { getAuthRouter } from \"../modules/auth/auth.router\";\nimport { getPrismaModelsRouter } from \"../modules/base/base.router\";\nimport { AppError } from \"../exports/error-handler\";\nimport errorHandler from \"../modules/error-handler/error-handler.controller\";\nimport { getArkosConfig } from \"../server\";\nimport { isAuthenticationEnabled } from \"./helpers/arkos-config.helpers\";\nimport { getSwaggerRouter } from \"../modules/swagger/swagger.router\";\nimport { lenientDecode } from \"./helpers/url-helpers\";\nimport path from \"path\";\nimport express from \"express\";\nimport { userRequire } from \"./helpers/global.helpers\";\nimport { existsSync, mkdirSync } from \"fs\";\nimport sheu from \"./sheu\";\nimport { validateUploadServingConfig } from \"../modules/file-upload/utils/helpers/upload-serving-validation\";\n\nexport default function initializeApp(app: Arkos) {\n const config = getArkosConfig();\n const globalPrefix = config.globalPrefix || \"/api\";\n\n const routersConfig = config?.routers;\n\n if (config?.staticFiles?.enabled !== false) {\n const folder = config?.staticFiles?.folder ?? \"/public\";\n const prefix = config?.staticFiles?.prefix ?? \"/\";\n const resolvedPath = path.resolve(path.join(process.cwd(), folder));\n\n if (!existsSync(resolvedPath)) {\n mkdirSync(resolvedPath, { recursive: true });\n sheu.warn(\n `Folder '${folder}' was created to serve static files, if you deleted it intending to disable static files, please rather set staticFiles.enabled = false. See https://arkosjs.com/docs/guides/file-handling/static-files`,\n { timestamp: true }\n );\n }\n\n app.use(\n { path: prefix },\n express.static(resolvedPath, {\n maxAge: \"1y\",\n etag: true,\n lastModified: true,\n dotfiles: \"ignore\",\n fallthrough: true,\n index: false,\n cacheControl: true,\n ...config?.staticFiles?.expressStatic,\n })\n );\n }\n\n if (routersConfig?.welcomeRoute !== false) {\n if (typeof routersConfig?.welcomeRoute === \"function\") {\n app.get({ path: globalPrefix }, routersConfig.welcomeRoute);\n } else {\n app.get({ path: globalPrefix }, (_, res) => {\n res.status(200).json({ message: config.welcomeMessage });\n });\n }\n }\n\n const fileUploadRouter = getFileUploadRouter();\n app.use(fileUploadRouter);\n\n if (isAuthenticationEnabled()) {\n const authRouter = getAuthRouter();\n app.use({ path: globalPrefix }, authRouter);\n }\n\n const modelsRouter = getPrismaModelsRouter();\n app.use({ path: globalPrefix }, modelsRouter);\n\n if (\n config.swagger &&\n (process.env.ARKOS_BUILD !== \"true\" ||\n config.swagger.enableAfterBuild === true)\n ) {\n const scalarDistPath = path.dirname(\n userRequire.resolve(\"@scalar/api-reference\")\n );\n\n app.use(\n { path: `${config.globalPrefix}/scalar-api-reference` },\n express.static(scalarDistPath)\n );\n\n app.use({ path: globalPrefix }, getSwaggerRouter(config, app));\n }\n\n validateUploadServingConfig();\n\n return app;\n}\n\nexport function addGlobalErrorHandler(app: Arkos) {\n app.use({ path: \"*slug\" }, (req) => {\n const url = lenientDecode(req.originalUrl);\n throw new AppError(\n `Route ${req.method.toUpperCase()} ${url} was not found`,\n 404,\n { route: `${req.method.toUpperCase()} ${url}` },\n \"RouteNotFound\"\n );\n });\n app.use(errorHandler);\n\n return app;\n}\n"]}