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,3 +1,4 @@
1
+ import type { ArkosFile, UploadPrepare, UploadPrepareFile, UploadUrlPath } from "../../../types/upload";
1
2
  export type UploadConfig =
2
3
  /**
3
4
  * Creates middleware that processes a single file associated with the
@@ -10,13 +11,13 @@ export type UploadConfig =
10
11
  * uploads: {
11
12
  * type: "single",
12
13
  * field: "avatar",
13
- * uploadDir: "images",
14
+ * uploadDir: "/images",
14
15
  * maxSize: 1024 * 1024 * 5 // 5MB
15
16
  * }
16
17
  */
17
18
  ({
18
19
  type: "single";
19
- /** Name of the multipart form field to process */
20
+ /** Name of the multipart form field to process. Supports bracket notation, including nested array paths (e.g. "banners[][image]") */
20
21
  field: string;
21
22
  } & ArkosRouterBaseUploadConfig)
22
23
  /**
@@ -34,15 +35,17 @@ export type UploadConfig =
34
35
  * field: "gallery",
35
36
  * maxCount: 10,
36
37
  * minCount: 1,
37
- * uploadDir: "images"
38
+ * uploadDir: "/images"
38
39
  * }
39
40
  */
40
41
  | ({
41
42
  type: "array";
42
- /** Shared name of the multipart form fields to process */
43
+ /** Shared name of the multipart form fields to process. Supports bracket notation, including nested array paths (e.g. "banners[][images]") */
43
44
  field: string;
44
45
  /** Maximum number of files to process (defaults to framework config) */
45
46
  maxCount?: number;
47
+ /** Minimum number of files required */
48
+ minCount?: number;
46
49
  } & ArkosRouterBaseUploadConfig)
47
50
  /**
48
51
  * Creates middleware that processes multiple files associated with the
@@ -52,18 +55,25 @@ export type UploadConfig =
52
55
  * maps each field name to an array of the associated file information
53
56
  * objects.
54
57
  *
55
- * @throws `MulterError('LIMIT_UNEXPECTED_FILE')` if more than `maxCount` files are associated with `fieldName` for any field
58
+ * Each field entry is a full single or array upload config with a `name`
59
+ * property. Field names support bracket notation, including nested array
60
+ * paths (e.g. "banners[][images]").
56
61
  *
57
62
  * @example
58
63
  * uploads: {
59
64
  * type: "fields",
60
65
  * fields: [
61
- * { field: "avatar", maxCount: 1, uploadDir: "images" },
62
- * { field: "resume", maxCount: 1, uploadDir: "documents" }
66
+ * { name: "avatar", type: "single", uploadDir: "/images" },
67
+ * { name: "resume", type: "single", uploadDir: "/documents" },
68
+ * { name: "banners[][images]", type: "array", maxCount: 5, uploadDir: "/banners" }
63
69
  * ]
64
70
  * }
65
71
  */
66
72
  | ({
73
+ type: "fields";
74
+ /** Array of field configurations describing multipart form fields to process */
75
+ fields: UploadConfigFieldEntry[];
76
+ } & Pick<ArkosRouterBaseUploadConfig, "deleteOnError" | "image" | "uploadDir" | "urlPath" | "serve" | "prepare" | "prepareFile" | "overwrite">) | ({
67
77
  type: "fields";
68
78
  /** Array of field configurations describing multipart form fields to process */
69
79
  fields: {
@@ -71,12 +81,59 @@ export type UploadConfig =
71
81
  name: string;
72
82
  /** Maximum number of files for this field (defaults to framework config) */
73
83
  maxCount?: number;
84
+ minCount?: number;
74
85
  }[];
75
86
  } & ArkosRouterBaseUploadConfig);
76
87
  /**
77
- * Base configuration options for file uploads.
78
- * These settings can override framework-level defaults for specific routes.
88
+ * A single field entry inside a `fields` upload config.
89
+ * Each entry is a full single or array upload config with an additional
90
+ * `name` property identifying the form field.
91
+ *
92
+ * Field names support bracket notation, including nested array paths
93
+ * (e.g. "banners[][images]"). For nested array paths, multer validation
94
+ * is bypassed and constraints (allowedFileTypes, maxSize, minCount, maxCount)
95
+ * are enforced per group after upload.
79
96
  */
97
+ export type UploadConfigFieldEntry =
98
+ /**
99
+ * A single-file field entry.
100
+ *
101
+ * @example
102
+ * { name: "avatar", type: "single", uploadDir: "/images", required: true }
103
+ *
104
+ * @example
105
+ * // nested array path — one image per banner
106
+ * { name: "banners[][image]", type: "single", uploadDir: "/banners" }
107
+ */
108
+ ({
109
+ /** Name of the form field. Supports bracket notation including nested array paths. */
110
+ name: string;
111
+ type: "single";
112
+ } & Omit<ArkosRouterBaseUploadConfig, "deleteOnError">)
113
+ /**
114
+ * A multi-file field entry.
115
+ *
116
+ * @example
117
+ * { name: "gallery", type: "array", maxCount: 6, uploadDir: "/gallery" }
118
+ *
119
+ * @example
120
+ * // nested array path — multiple images per banner, min 1 max 5
121
+ * { name: "banners[][images]", type: "array", minCount: 1, maxCount: 5, uploadDir: "/banners" }
122
+ */
123
+ | ({
124
+ /** Name of the form field. Supports bracket notation including nested array paths. */
125
+ name: string;
126
+ type?: "array";
127
+ /** Maximum number of files for this field (defaults to framework config) */
128
+ maxCount?: number;
129
+ /** Minimum number of files required for this field */
130
+ minCount?: number;
131
+ } & Omit<ArkosRouterBaseUploadConfig, "deleteOnError">); /**
132
+
133
+ /**
134
+ * Base configuration options for file uploads.
135
+ * These settings can override framework-level defaults for specific routes.
136
+ */
80
137
  export type ArkosRouterBaseUploadConfig = {
81
138
  /**
82
139
  * Directory category where files will be stored.
@@ -86,6 +143,65 @@ export type ArkosRouterBaseUploadConfig = {
86
143
  * @default Depends on the file type which is descovered by the file mimetype, otherwise falls to files.
87
144
  */
88
145
  uploadDir?: string;
146
+ /**
147
+ * Public URL for the uploaded files, relative to the file upload `baseRoute`.
148
+ *
149
+ * A string is a folder: the stored filename is appended. An object with
150
+ * `exact` is the complete public path relative to `baseRoute`: nothing is
151
+ * appended, and the path must be static.
152
+ *
153
+ * Requires `uploadDir` to be set.
154
+ *
155
+ * @since 1.8.0-rc
156
+ *
157
+ * @example
158
+ * // Files stored in uploads/storage/acme but served at /api/uploads/private/files
159
+ * uploadDir: "/storage/acme",
160
+ * urlPath: "/private/files"
161
+ *
162
+ * @example
163
+ * // The response URL is always /api/uploads/users/me/photo
164
+ * uploadDir: "/users/:userId/photo",
165
+ * urlPath: { exact: "/users/me/photo" }
166
+ */
167
+ urlPath?: UploadUrlPath;
168
+ /**
169
+ * Resolves the disk parameters for this upload folder. Required for every
170
+ * dynamic folder (`:param` in `uploadDir`). It may be async and may throw to
171
+ * deny the request.
172
+ *
173
+ * URL parameters are merged into the disk parameter map, with values
174
+ * returned by `prepare` taking precedence.
175
+ *
176
+ * @since 1.8.0-rc
177
+ */
178
+ prepare?: UploadPrepare;
179
+ /**
180
+ * Resolves per-file data before the file is written. Only `filename` is
181
+ * consumed. The returned filename is treated as a base name: the final
182
+ * saved extension is always preserved.
183
+ *
184
+ * May be async.
185
+ *
186
+ * @since 1.8.0-rc
187
+ */
188
+ prepareFile?: UploadPrepareFile;
189
+ /**
190
+ * Whether a file with the same target name may be replaced.
191
+ *
192
+ * @default true
193
+ * @since 1.8.0-rc
194
+ */
195
+ overwrite?: boolean;
196
+ /**
197
+ * Set to `false` to opt this upload directory out of the startup coverage
198
+ * check when `fileUpload.serving` is `"registered"`.
199
+ *
200
+ * Only `false` has meaning.
201
+ *
202
+ * @since 1.8.0-rc
203
+ */
204
+ serve?: boolean;
89
205
  /**
90
206
  * Whether to automatically delete uploaded files if an error occurs during request processing.
91
207
  * Cleanup happens when errors are thrown and not caught within the route handler.
@@ -105,7 +221,7 @@ export type ArkosRouterBaseUploadConfig = {
105
221
  * When using validation, the attached format will be available in your validated body.
106
222
  * For array/fields uploads, an array of the specified format will be attached.
107
223
  */
108
- attachToBody?: "pathname" | "url" | "file" | false;
224
+ attachToBody?: "pathname" | "url" | "file" | false | ((file: ArkosFile) => any);
109
225
  /**
110
226
  * Maximum file size in bytes.
111
227
  * Overrides the framework-level default for this uploadDir category.
@@ -139,6 +255,38 @@ export type ArkosRouterBaseUploadConfig = {
139
255
  * @default true
140
256
  */
141
257
  required?: boolean;
258
+ /**
259
+ * Image optimization options applied through Sharp for image uploads.
260
+ * When omitted, images fall back to the framework defaults (webp conversion).
261
+ *
262
+ * @example
263
+ * image: { resizeTo: 1200, quality: 80 }
264
+ * image: { format: "png", width: 800 }
265
+ * image: { optimize: false } // store original bytes untouched
266
+ */
267
+ image?: {
268
+ /**
269
+ * Set to `false` to skip optimization entirely and store the original
270
+ * bytes as-is, e.g. to let users upload an image "as a document".
271
+ *
272
+ * @default true
273
+ */
274
+ optimize?: boolean;
275
+ /** Output format, defaults to `webp` */
276
+ format?: string;
277
+ /** Output quality (1-100) for lossy formats (webp, jpeg, avif) */
278
+ quality?: number;
279
+ /** Target width, keeping aspect ratio */
280
+ width?: number;
281
+ /** Target height, keeping aspect ratio */
282
+ height?: number;
283
+ /** Target size to fit within, keeping aspect ratio */
284
+ resizeTo?: number;
285
+ /** Resize strategy, defaults to `inside` */
286
+ fit?: "cover" | "contain" | "fill" | "inside" | "outside";
287
+ /** Prevent upscaling images smaller than the requested dimensions */
288
+ withoutEnlargement?: boolean;
289
+ };
142
290
  /**
143
291
  * Open API field description
144
292
  */
@@ -0,0 +1,6 @@
1
+ import { IRouter, RouterOptions } from "express";
2
+ import { IArkosRouter } from "../../types";
3
+ import { ArkosRouterOptions } from "../..";
4
+ import { Arkos } from "../../../../types/arkos";
5
+ import { Express } from "express";
6
+ export declare function applyArkosRouterProxy<T extends Express | IRouter>(target: T, options?: RouterOptions & ArkosRouterOptions, component?: "app" | "router"): T extends Express ? Arkos : IArkosRouter;
@@ -1,10 +1,8 @@
1
1
  import { ArkosRouteConfig } from "../../types";
2
- export declare function extractArkosRoutes(app: any, basePath?: string): Array<{
3
- path: string;
4
- method: string;
5
- config?: ArkosRouteConfig;
6
- }>;
7
- export declare function getMiddlewareStack(config: ArkosRouteConfig): any[];
2
+ import { ArkosRouterOptions } from "../..";
3
+ export declare function extractArkosRoutes(app: any, basePath?: string, inheritedRouteOptions?: ArkosRouterOptions): any[];
4
+ export declare function extractLayerPath(layer: any): string;
5
+ export declare function getMiddlewareStack(config: ArkosRouteConfig | Omit<ArkosRouteConfig, "path">): any[];
8
6
  /**
9
7
  * Extracts path parameters from an Express route path
10
8
  *
@@ -1,50 +1,35 @@
1
1
  import { UploadConfig } from "../../types/upload-config";
2
2
  import { ArkosNextFunction, ArkosRequest, ArkosResponse } from "../../../../exports";
3
+ import { UploadDirParams, UploadPrepare, UploadPrepareFile, UploadUrlPath } from "../../../../types/upload";
3
4
  import { RequestHandler } from "express";
5
+ type UploadSettings = {
6
+ uploadDir?: string;
7
+ urlPath?: UploadUrlPath;
8
+ prepare?: UploadPrepare;
9
+ prepareFile?: UploadPrepareFile;
10
+ overwrite?: boolean;
11
+ key: string;
12
+ };
13
+ type ResolvedUploadSettings = {
14
+ dirParams: UploadDirParams;
15
+ uploadDir: string;
16
+ urlPath: string;
17
+ urlPathExact: boolean;
18
+ };
4
19
  declare class UploadManager {
20
+ getUploadSettingsForFile(config: UploadConfig | undefined, file: Express.Multer.File): UploadSettings;
21
+ resolveUploadSettings(req: ArkosRequest, file: Express.Multer.File, settings: UploadSettings): Promise<ResolvedUploadSettings>;
22
+ nextFileIndex(req: ArkosRequest, file: Express.Multer.File): number;
23
+ cleanupRequestFiles(req: ArkosRequest): Promise<void>;
5
24
  private getUpload;
6
25
  getMiddleware(config: UploadConfig): RequestHandler;
26
+ registerUploadConfig(config: UploadConfig, route: string): void;
7
27
  handleUpload(config: UploadConfig, oldFilePath?: string): any;
8
- /**
9
- * Validates that all required upload files are present in the request.
10
- * Checks req.file or req.files based on upload configuration type.
11
- *
12
- * @param {UploadConfig} uploadConfig - The upload configuration from config.experimental.uploads
13
- * @throws {AppError} If required files are missing
14
- *
15
- * @example
16
- * // Single file upload - checks req.file
17
- * validateRequiredFiles(
18
- * { type: 'single', field: 'avatar', required: true },
19
- * req,
20
- * '/users/:id/avatar'
21
- * )
22
- *
23
- * @example
24
- * // Array file upload - checks req.files array
25
- * validateRequiredFiles(
26
- * { type: 'array', field: 'photos', required: true },
27
- * req,
28
- * '/gallery/upload'
29
- * )
30
- *
31
- * @example
32
- * // Multiple fields - checks req.files object
33
- * validateRequiredFiles(
34
- * { type: 'fields', fields: [{ name: 'avatar' }, { name: 'resume' }], required: true },
35
- * req,
36
- * '/profile/upload'
37
- * )
38
- */
39
28
  validateRequiredFiles(uploadConfig: UploadConfig): any;
40
29
  handleFileCleanup(config: UploadConfig): (err: any, req: ArkosRequest, _: ArkosResponse, next: ArkosNextFunction) => Promise<void>;
41
30
  handlePostUpload(config: UploadConfig): any;
42
- /**
43
- * Validates the file's type and MIME type.
44
- * @param {Express.Multer.File} file - The uploaded file.
45
- * @param {Function} cb - The callback function to indicate if file is valid.
46
- */
47
31
  private fileFilter;
32
+ isAllFieldRequired(uploadConfig: UploadConfig): boolean;
48
33
  }
49
34
  declare const uploadManager: UploadManager;
50
35
  export default uploadManager;
@@ -87,7 +87,7 @@ export declare class Bundler {
87
87
  * @param filePath - Absolute path to the JSON file
88
88
  * @returns Parsed object, or empty object if parsing fails
89
89
  */
90
- private readJsonWithComments;
90
+ readJsonWithComments(filePath: string): any;
91
91
  /**
92
92
  * Resolves a single import path to its final rewritten form.
93
93
  *
@@ -5,5 +5,5 @@ interface BuildOptions {
5
5
  /**
6
6
  * Main build function for the arkos CLI
7
7
  */
8
- export declare function buildCommand(options?: BuildOptions): void;
8
+ export declare function buildCommand(options?: BuildOptions): Promise<void>;
9
9
  export {};
@@ -10,21 +10,30 @@ export type GenerateOptions = {
10
10
  shouldPrintError?: boolean;
11
11
  isBulk?: boolean;
12
12
  };
13
+ export interface GenerateConfig {
14
+ templateName: string;
15
+ fileSuffix?: string;
16
+ customValidation?: (modelName: string) => void;
17
+ customImports?: (names: any) => any;
18
+ customPath?: string;
19
+ prefix?: string;
20
+ allowedModules: string[] | "*";
21
+ ext?: string;
22
+ attachModuleName?: boolean;
23
+ }
13
24
  export declare const generateCommand: {
14
25
  controller: (options: GenerateOptions) => Promise<void>;
15
26
  service: (options: GenerateOptions) => Promise<void>;
16
27
  router: (options: GenerateOptions) => Promise<void>;
17
28
  policy: (options: GenerateOptions) => Promise<void>;
18
- routeHook: (options: GenerateOptions) => Promise<void>;
19
- serviceHook: (options: GenerateOptions) => Promise<void>;
20
- createSchema: (options: GenerateOptions) => Promise<void>;
21
- updateSchema: (options: GenerateOptions) => Promise<void>;
22
- baseSchema: (options: GenerateOptions) => Promise<void>;
23
- querySchema: (options: GenerateOptions) => Promise<void>;
24
29
  createDto: (options: GenerateOptions) => Promise<void>;
25
30
  updateDto: (options: GenerateOptions) => Promise<void>;
26
31
  baseDto: (options: GenerateOptions) => Promise<void>;
27
32
  queryDto: (options: GenerateOptions) => Promise<void>;
28
33
  prismaModel: (options: GenerateOptions) => Promise<void>;
34
+ loginDto: (options: GenerateOptions) => Promise<void>;
35
+ signupDto: (options: GenerateOptions) => Promise<void>;
36
+ updateMeDto: (options: GenerateOptions) => Promise<void>;
37
+ updatePasswordDto: (options: GenerateOptions) => Promise<void>;
29
38
  multipleComponents: (options: MultipleComponentsGenerateOptions) => Promise<void>;
30
39
  };
@@ -1,11 +1,13 @@
1
1
  interface StartOptions {
2
2
  port?: string;
3
3
  host?: string;
4
+ stamp?: false;
5
+ shouldThrow?: true;
4
6
  }
5
7
  /**
6
8
  * Production start command for the arkos CLI
7
9
  */
8
- export declare function startCommand(options?: StartOptions): void;
10
+ export declare function startCommand(options?: StartOptions): Promise<void>;
9
11
  /**
10
12
  * Help function to help other processes to terminate the production server child process
11
13
  */
@@ -0,0 +1,15 @@
1
+ export declare const SUPPORTED_ZOD_MAJOR = 4;
2
+ /**
3
+ * Reads the version range declared for a dependency in the user's package.json.
4
+ *
5
+ * @returns The declared range (e.g. "^3.24.2") or `null` when not declared.
6
+ */
7
+ export declare function getDeclaredDependencyVersion(packageName: string): string | null;
8
+ /**
9
+ * Asserts every package version requirement of the user's project.
10
+ *
11
+ * New dependency checks can be added here as Arkos requirements evolve.
12
+ *
13
+ * @throws {Error} When a required package version is not supported.
14
+ */
15
+ export declare function assertRequiredPackageVersion(): void;
@@ -8,10 +8,21 @@ export declare class ClassValidatorDtoGenerator {
8
8
  private getFilterTypeForField;
9
9
  private generateFilterClasses;
10
10
  private generateNestedDtoClass;
11
+ /**
12
+ * Builds a @Transform decorator that coerces raw incoming values
13
+ * (e.g. strings from multipart/form-data or query params) into the
14
+ * correct native type before class-validator runs its checks.
15
+ * Mirrors the z.coerce.* behavior used in the Zod schema generator.
16
+ */
17
+ private generateTransformDecorator;
11
18
  private generateClassValidatorField;
12
19
  private generateClassValidatorFieldForUpdate;
13
20
  private getValidatorsForType;
14
21
  private mapPrismaTypeToTS;
22
+ generateLoginDto(_: TemplateOptions): string;
23
+ generateSignupDto(_: TemplateOptions): string;
24
+ generateUpdateMeDto(_: TemplateOptions): string;
25
+ generateUpdatePasswordDto(_: TemplateOptions): string;
15
26
  }
16
27
  declare const classValidatorDtoGenerator: ClassValidatorDtoGenerator;
17
28
  export default classValidatorDtoGenerator;
@@ -9,6 +9,10 @@ export declare class ZodSchemaGenerator {
9
9
  private generateFilterSchemas;
10
10
  private generateZodField;
11
11
  private mapPrismaTypeToZod;
12
+ generateLoginSchema(_: TemplateOptions): string;
13
+ generateSignupSchema(_: TemplateOptions): string;
14
+ generateUpdateMeSchema(_: TemplateOptions): string;
15
+ generateUpdatePasswordSchema(_: TemplateOptions): string;
12
16
  }
13
17
  declare const zodSchemaGenerator: ZodSchemaGenerator;
14
18
  export default zodSchemaGenerator;
@@ -15,9 +15,63 @@ import { ArkosConfig } from "../exports";
15
15
  * });
16
16
  * ```
17
17
  *
18
- * @see {@link https://www.arkosjs.com/docs/api-reference/define-config}
18
+ * @see {@link https://www.arkosjs.com/docs/reference/define-config}
19
19
  */
20
- export declare function defineConfig(config: ArkosConfig): ArkosConfig;
21
- export type UserArkosConfig = ReturnType<typeof defineConfig> & {
20
+ export declare function defineConfig<const T extends ArkosConfig>(config: T): ResolveArkosConfig<T>;
21
+ /**
22
+ * The literal defaults `defineConfig` fills in for omitted options.
23
+ *
24
+ * Defaults that are runtime/environment dependent (`port`, `host`,
25
+ * `source.entryPoint`, `swagger.authenticate`) stay broad; the
26
+ * rest are pinned to their exact literal so the generated `RuntimeArkosConfig`
27
+ * exposes them as-is.
28
+ */
29
+ export type UserArkosConfigDefaults = {
30
+ welcomeMessage: "Welcome to our RESTful API generated by Arkos, find out more about Arkos at www.arkosjs.com";
31
+ globalPrefix: "/api";
32
+ port: number;
33
+ host: string;
34
+ source: {
35
+ entryPoint: string;
36
+ };
37
+ request: {
38
+ parameters: {
39
+ allowDangerousPrismaQueryOptions: false;
40
+ };
41
+ };
42
+ fileUpload: {
43
+ baseUploadDir: "uploads";
44
+ baseRoute: "/api/uploads";
45
+ serving: "all";
46
+ };
47
+ routers: {
48
+ strict: false;
49
+ };
50
+ swagger: {
51
+ enableAfterBuild: true;
52
+ authenticate: boolean;
53
+ };
54
+ debugging: {
55
+ requests: {
56
+ level: 1;
57
+ };
58
+ dynamicLoader: {
59
+ level: 0;
60
+ };
61
+ };
62
+ };
63
+ /**
64
+ * Overlays the declared config on top of the literal defaults: a declared value
65
+ * always wins, otherwise the default applies. Shared nested objects are merged
66
+ * so both the user's keys and the unwritten defaulted keys are present.
67
+ */
68
+ type ResolveArkosConfig<T> = DeepOverride<UserArkosConfigDefaults, T> & {
69
+ __loader: "defineConfig";
70
+ };
71
+ type DeepOverride<D, T> = T extends readonly unknown[] ? T : T extends object ? D extends object ? {
72
+ readonly [K in keyof T | keyof D]: K extends keyof T ? K extends keyof D ? DeepOverride<D[K], T[K]> : T[K] : K extends keyof D ? D[K] : never;
73
+ } : T : T;
74
+ export type UserArkosConfig = Partial<ArkosConfig> & {
22
75
  __loader: "defineConfig";
23
76
  };
77
+ export {};
@@ -0,0 +1 @@
1
+ export declare const baseDocsLink = "https://www.arkosjs.com";
@@ -1,3 +1,4 @@
1
+ export declare let lastLoadedEnvFiles: string[];
1
2
  /**
2
3
  * Loads and expands environment variables in a prioritized order
3
4
  *
@@ -1,4 +1,4 @@
1
- import { ZodTypeAny } from "zod";
1
+ import { ZodType } from 'zod';
2
2
  export declare function isClass(value: any): boolean;
3
- export declare function isZodSchema(value: any): value is ZodTypeAny;
3
+ export declare function isZodSchema(value: any): value is ZodType;
4
4
  export declare const appModules: string[];
@@ -1,4 +1,3 @@
1
- import { Request } from "express";
2
1
  import { ArkosRequest } from "../../types";
3
2
  type ModelName = string;
4
3
  export default class APIFeatures {
@@ -9,7 +8,7 @@ export default class APIFeatures {
9
8
  reqFiltersSearchParam: any;
10
9
  modelName?: ModelName;
11
10
  excludedFields: string[];
12
- constructor(req?: Request, modelName?: ModelName);
11
+ constructor(req?: ArkosRequest, modelName?: ModelName);
13
12
  filter(): this;
14
13
  sort(): this;
15
14
  limitFields(): this;
@@ -1,4 +1,5 @@
1
- import { UserArkosConfig } from "../define-config";
1
+ import { UserArkosConfig } from '../define-config';
2
+ export declare function readArkosConfig(): void;
2
3
  export declare function isUsingAuthentication(): "static" | "dynamic" | undefined;
3
4
  export declare function isAuthenticationEnabled(): boolean | undefined;
4
5
  /**
@@ -7,3 +8,10 @@ export declare function isAuthenticationEnabled(): boolean | undefined;
7
8
  * @returns {ArkosConfig}
8
9
  */
9
10
  export declare function getArkosConfig(): UserArkosConfig;
11
+ /**
12
+ * Returns true if application is being run through `arkos start` after `arkos build`
13
+ *
14
+ * @since 1.5.16-beta
15
+ */
16
+ export declare function isProduction(): boolean;
17
+ export declare function validateArkosConfig(): void;
@@ -12,19 +12,4 @@ export declare let userFileExtension: "ts" | "js" | undefined;
12
12
  * Returns 'ts' when TypeScript config exists and not in build mode, otherwise 'js'
13
13
  * @returns 'ts' | 'js'
14
14
  */
15
- export declare const getUserFileExtension: () => "ts" | "js";
16
- /**
17
- * Checks if a file exists at the specified file path.
18
- *
19
- * @param filePath - The path to the file to check
20
- * @returns {boolean} True if the file exists, false otherwise or if there's an error
21
- *
22
- * @example
23
- * ```ts
24
- * const exists = checkFileExists('./path/to/file.txt');
25
- * if (exists) {
26
- * console.info('File exists!');
27
- * }
28
- * ```
29
- */
30
- export declare function checkFileExists(filePath: string): boolean;
15
+ export declare const getUserFileExtension: (root?: string) => "ts" | "js";
@@ -1,5 +1,6 @@
1
1
  export declare function getPackageJson(): any;
2
2
  export declare function isEsm(): boolean;
3
+ export declare const userRequire: NodeJS.Require;
3
4
  export declare function importModule(modulePath: string, options?: {
4
5
  fixExtension: boolean;
5
6
  }): Promise<any>;
@@ -1,4 +1,4 @@
1
1
  export declare let prismaInstance: any;
2
- export declare function loadPrismaModule(): Promise<import("../../generated").PrismaClient>;
2
+ export declare function loadPrismaModule(): import("../../generated").PrismaClient | undefined;
3
3
  export declare function handlePrismaGet(target: any, prop: string, receiver: any): any;
4
4
  export declare function getPrismaInstance(): any;
@@ -8,5 +8,5 @@ export interface Options {
8
8
  parseDoubleUnderscore?: boolean;
9
9
  }
10
10
  export declare const parse: (target: ParsedQuery, options: Options) => ParsedQuery;
11
- export declare const queryParser: (options: Options) => (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => void;
11
+ export declare const queryParser: (options: Options) => (req: ArkosRequest, _: ArkosResponse, next: ArkosNextFunction) => void;
12
12
  export {};
@@ -0,0 +1 @@
1
+ export declare function lenientDecode(str: string): string;
@@ -1,2 +1,3 @@
1
1
  import { Arkos } from "../types/arkos";
2
2
  export default function initializeApp(app: Arkos): Arkos;
3
+ export declare function addGlobalErrorHandler(app: Arkos): Arkos;