arkos 2.0.0-next.16 → 2.0.0-next.18

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 (434) hide show
  1. package/README.md +33 -31
  2. package/cli.js +1 -8
  3. package/dist/esm/app.js +5 -12
  4. package/dist/esm/app.js.map +1 -1
  5. package/dist/esm/components/arkos-gateway/arkos-gateway.js +337 -0
  6. package/dist/esm/components/arkos-gateway/arkos-gateway.js.map +1 -0
  7. package/dist/esm/components/arkos-gateway/socket-extensions.js +161 -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 +47 -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 +39 -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-policy/index.js.map +1 -1
  20. package/dist/esm/components/arkos-route-hook/index.js +2 -1
  21. package/dist/esm/components/arkos-route-hook/index.js.map +1 -1
  22. package/dist/esm/components/arkos-route-hook/reader.js.map +1 -1
  23. package/dist/esm/components/arkos-route-hook/types.js.map +1 -1
  24. package/dist/esm/exports/index.js +2 -2
  25. package/dist/esm/exports/index.js.map +1 -1
  26. package/dist/esm/exports/services/index.js +2 -2
  27. package/dist/esm/exports/services/index.js.map +1 -1
  28. package/dist/esm/exports/websockets.js +5 -0
  29. package/dist/esm/exports/websockets.js.map +1 -0
  30. package/dist/esm/generated.js.map +1 -1
  31. package/dist/esm/modules/auth/auth.controller.js +2 -2
  32. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  33. package/dist/esm/modules/auth/auth.service.js +83 -204
  34. package/dist/esm/modules/auth/auth.service.js.map +1 -1
  35. package/dist/esm/modules/auth/utils/auth-error-objects.js +2 -2
  36. package/dist/esm/modules/auth/utils/auth-error-objects.js.map +1 -1
  37. package/dist/esm/modules/auth/utils/auth-hooks-manager.js +148 -0
  38. package/dist/esm/modules/auth/utils/auth-hooks-manager.js.map +1 -0
  39. package/dist/esm/modules/auth/utils/docs-links.js +6 -0
  40. package/dist/esm/modules/auth/utils/docs-links.js.map +1 -0
  41. package/dist/esm/modules/auth/utils/services/auth-action.service.js +6 -4
  42. package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
  43. package/dist/esm/modules/base/base.controller.js +11 -5
  44. package/dist/esm/modules/base/base.controller.js.map +1 -1
  45. package/dist/esm/modules/base/base.middlewares.js +12 -21
  46. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  47. package/dist/esm/modules/base/base.service.js +16 -128
  48. package/dist/esm/modules/base/base.service.js.map +1 -1
  49. package/dist/esm/modules/base/types/base.service.types.js.map +1 -1
  50. package/dist/esm/modules/email/email.service.js +14 -7
  51. package/dist/esm/modules/email/email.service.js.map +1 -1
  52. package/dist/esm/modules/error-handler/error-handler.controller.js +6 -66
  53. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
  54. package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -1
  55. package/dist/esm/modules/error-handler/utils/get-handled-error.js +68 -0
  56. package/dist/esm/modules/error-handler/utils/get-handled-error.js.map +1 -0
  57. package/dist/esm/modules/file-upload/file-upload.router.js +9 -2
  58. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  59. package/dist/esm/modules/file-upload/file-upload.service.js +1 -1
  60. package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -1
  61. package/dist/esm/modules/swagger/swagger.router.js +11 -10
  62. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  63. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js +3 -1
  64. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js.map +1 -1
  65. package/dist/esm/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +1 -1
  66. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js +4 -2
  67. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -1
  68. package/dist/esm/server.js +1 -1
  69. package/dist/esm/server.js.map +1 -1
  70. package/dist/esm/types/arkos.js.map +1 -1
  71. package/dist/esm/types/index.js.map +1 -1
  72. package/dist/esm/types/new-arkos-config.js.map +1 -1
  73. package/dist/esm/types/upload.js +2 -0
  74. package/dist/esm/types/upload.js.map +1 -0
  75. package/dist/esm/types/validation/validation-manager.js +50 -0
  76. package/dist/esm/types/validation/validation-manager.js.map +1 -0
  77. package/dist/esm/types/validation/validator.js +2 -0
  78. package/dist/esm/types/validation/validator.js.map +1 -0
  79. package/dist/esm/utils/arkos-router/arkos-router-openapi-manager.js +9 -33
  80. package/dist/esm/utils/arkos-router/arkos-router-openapi-manager.js.map +1 -1
  81. package/dist/esm/utils/arkos-router/index.js +15 -3
  82. package/dist/esm/utils/arkos-router/index.js.map +1 -1
  83. package/dist/esm/utils/arkos-router/types/index.js.map +1 -1
  84. package/dist/esm/utils/arkos-router/types/upload-config.js.map +1 -1
  85. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +45 -9
  86. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -1
  87. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js +26 -6
  88. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -1
  89. package/dist/esm/utils/cli/build.js +11 -2
  90. package/dist/esm/utils/cli/build.js.map +1 -1
  91. package/dist/esm/utils/cli/dev.js +4 -6
  92. package/dist/esm/utils/cli/dev.js.map +1 -1
  93. package/dist/esm/utils/cli/generate.js +0 -90
  94. package/dist/esm/utils/cli/generate.js.map +1 -1
  95. package/dist/esm/utils/cli/index.js +10 -74
  96. package/dist/esm/utils/cli/index.js.map +1 -1
  97. package/dist/esm/utils/cli/start.js +20 -11
  98. package/dist/esm/utils/cli/start.js.map +1 -1
  99. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
  100. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +53 -17
  101. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js.map +1 -1
  102. package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js +3 -54
  103. package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +1 -1
  104. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +11 -4
  105. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
  106. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +2 -2
  107. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -1
  108. package/dist/esm/utils/cli/utils/template-generator/templates/zod-schema-generator.js +18 -18
  109. package/dist/esm/utils/cli/utils/template-generator/templates/zod-schema-generator.js.map +1 -1
  110. package/dist/esm/utils/cli/utils/template-generators.js +27 -24
  111. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  112. package/dist/esm/utils/docs-links.js +2 -0
  113. package/dist/esm/utils/docs-links.js.map +1 -0
  114. package/dist/esm/utils/features/api.features.js.map +1 -1
  115. package/dist/esm/utils/helpers/arkos-config.helpers.js.map +1 -1
  116. package/dist/esm/utils/helpers/exit-error.js +1 -1
  117. package/dist/esm/utils/helpers/exit-error.js.map +1 -1
  118. package/dist/esm/utils/initialize-app.js +3 -3
  119. package/dist/esm/utils/initialize-app.js.map +1 -1
  120. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +19 -18
  121. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -1
  122. package/dist/esm/utils/remove-dir.js +1 -1
  123. package/dist/esm/utils/remove-dir.js.map +1 -1
  124. package/dist/esm/utils/setup-app.js.map +1 -1
  125. package/dist/types/app.d.ts +4 -0
  126. package/dist/types/components/arkos-gateway/arkos-gateway.d.ts +121 -0
  127. package/dist/types/components/arkos-gateway/socket-extensions.d.ts +79 -0
  128. package/dist/types/components/arkos-gateway/types.d.ts +364 -0
  129. package/dist/types/components/arkos-gateway/utils/helpers.d.ts +9 -0
  130. package/dist/types/components/arkos-gateway/utils/memory-gateway-store.d.ts +14 -0
  131. package/dist/types/components/arkos-gateway/utils/multi-tier-arkos-gateway-store.d.ts +20 -0
  132. package/dist/types/components/arkos-gateway/utils/rate-limiter.d.ts +11 -0
  133. package/dist/types/components/arkos-route-hook/index.d.ts +11 -5
  134. package/dist/types/components/arkos-route-hook/reader.d.ts +2 -2
  135. package/dist/types/components/arkos-route-hook/types.d.ts +5 -1
  136. package/dist/types/exports/index.d.ts +3 -2
  137. package/dist/types/exports/services/index.d.ts +3 -3
  138. package/dist/types/exports/websockets.d.ts +5 -0
  139. package/dist/types/modules/auth/auth.service.d.ts +12 -36
  140. package/dist/types/modules/auth/utils/auth-hooks-manager.d.ts +63 -0
  141. package/dist/types/modules/auth/utils/docs-links.d.ts +3 -0
  142. package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +2 -2
  143. package/dist/types/modules/base/base.controller.d.ts +2 -2
  144. package/dist/types/modules/base/base.service.d.ts +5 -15
  145. package/dist/types/modules/base/types/base.service.types.d.ts +11 -0
  146. package/dist/types/modules/error-handler/utils/catch-async.d.ts +2 -2
  147. package/dist/types/modules/error-handler/utils/get-handled-error.d.ts +1 -0
  148. package/dist/types/modules/swagger/utils/helpers/openapi-schema-converter.d.ts +6 -1
  149. package/dist/types/types/arkos.d.ts +2 -15
  150. package/dist/types/types/index.d.ts +6 -5
  151. package/dist/types/types/new-arkos-config.d.ts +1 -1
  152. package/dist/types/types/upload.d.ts +10 -0
  153. package/dist/types/types/validation/validation-manager.d.ts +27 -0
  154. package/dist/types/types/validation/validator.d.ts +2 -0
  155. package/dist/types/utils/arkos-router/index.d.ts +7 -0
  156. package/dist/types/utils/arkos-router/types/index.d.ts +35 -21
  157. package/dist/types/utils/arkos-router/types/upload-config.d.ts +2 -1
  158. package/dist/types/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.d.ts +6 -7
  159. package/dist/types/utils/arkos-router/utils/helpers/upload-manager.d.ts +1 -0
  160. package/dist/types/utils/cli/build.d.ts +1 -1
  161. package/dist/types/utils/cli/generate.d.ts +11 -10
  162. package/dist/types/utils/cli/start.d.ts +2 -0
  163. package/dist/types/utils/cli/utils/template-generator/templates/class-validator-dto-generator.d.ts +7 -0
  164. package/dist/types/utils/docs-links.d.ts +1 -0
  165. package/dist/types/utils/features/api.features.d.ts +1 -2
  166. package/dist/types/utils/helpers/arkos-config.helpers.d.ts +5 -0
  167. package/package.json +61 -30
  168. package/dist/cjs/app.js +0 -121
  169. package/dist/cjs/app.js.map +0 -1
  170. package/dist/cjs/components/arkos-loadable-registry/index.js +0 -28
  171. package/dist/cjs/components/arkos-loadable-registry/index.js.map +0 -1
  172. package/dist/cjs/components/arkos-loadable-translator/index.js +0 -144
  173. package/dist/cjs/components/arkos-loadable-translator/index.js.map +0 -1
  174. package/dist/cjs/components/arkos-policy/index.js +0 -38
  175. package/dist/cjs/components/arkos-policy/index.js.map +0 -1
  176. package/dist/cjs/components/arkos-policy/types.js +0 -3
  177. package/dist/cjs/components/arkos-policy/types.js.map +0 -1
  178. package/dist/cjs/components/arkos-route-hook/index.js +0 -50
  179. package/dist/cjs/components/arkos-route-hook/index.js.map +0 -1
  180. package/dist/cjs/components/arkos-route-hook/reader.js +0 -47
  181. package/dist/cjs/components/arkos-route-hook/reader.js.map +0 -1
  182. package/dist/cjs/components/arkos-route-hook/types.js +0 -3
  183. package/dist/cjs/components/arkos-route-hook/types.js.map +0 -1
  184. package/dist/cjs/components/arkos-service-hook/index.js +0 -35
  185. package/dist/cjs/components/arkos-service-hook/index.js.map +0 -1
  186. package/dist/cjs/components/arkos-service-hook/reader.js +0 -30
  187. package/dist/cjs/components/arkos-service-hook/reader.js.map +0 -1
  188. package/dist/cjs/components/arkos-service-hook/types.js +0 -3
  189. package/dist/cjs/components/arkos-service-hook/types.js.map +0 -1
  190. package/dist/cjs/exports/auth/index.js +0 -6
  191. package/dist/cjs/exports/auth/index.js.map +0 -1
  192. package/dist/cjs/exports/config.js +0 -6
  193. package/dist/cjs/exports/config.js.map +0 -1
  194. package/dist/cjs/exports/controllers/index.js +0 -42
  195. package/dist/cjs/exports/controllers/index.js.map +0 -1
  196. package/dist/cjs/exports/error-handler/index.js +0 -26
  197. package/dist/cjs/exports/error-handler/index.js.map +0 -1
  198. package/dist/cjs/exports/index.js +0 -23
  199. package/dist/cjs/exports/index.js.map +0 -1
  200. package/dist/cjs/exports/middlewares/index.js +0 -7
  201. package/dist/cjs/exports/middlewares/index.js.map +0 -1
  202. package/dist/cjs/exports/prisma/index.js +0 -13
  203. package/dist/cjs/exports/prisma/index.js.map +0 -1
  204. package/dist/cjs/exports/services/index.js +0 -53
  205. package/dist/cjs/exports/services/index.js.map +0 -1
  206. package/dist/cjs/exports/utils/index.js +0 -26
  207. package/dist/cjs/exports/utils/index.js.map +0 -1
  208. package/dist/cjs/exports/validation/index.js +0 -11
  209. package/dist/cjs/exports/validation/index.js.map +0 -1
  210. package/dist/cjs/generated.js +0 -7
  211. package/dist/cjs/generated.js.map +0 -1
  212. package/dist/cjs/modules/auth/auth.controller.js +0 -254
  213. package/dist/cjs/modules/auth/auth.controller.js.map +0 -1
  214. package/dist/cjs/modules/auth/auth.router.js +0 -130
  215. package/dist/cjs/modules/auth/auth.router.js.map +0 -1
  216. package/dist/cjs/modules/auth/auth.service.js +0 -433
  217. package/dist/cjs/modules/auth/auth.service.js.map +0 -1
  218. package/dist/cjs/modules/auth/utils/auth-error-objects.js +0 -10
  219. package/dist/cjs/modules/auth/utils/auth-error-objects.js.map +0 -1
  220. package/dist/cjs/modules/auth/utils/auth-openapi-generator.js +0 -372
  221. package/dist/cjs/modules/auth/utils/auth-openapi-generator.js.map +0 -1
  222. package/dist/cjs/modules/auth/utils/auth-prisma-json-schema-generator.js +0 -101
  223. package/dist/cjs/modules/auth/utils/auth-prisma-json-schema-generator.js.map +0 -1
  224. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +0 -83
  225. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -1
  226. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +0 -154
  227. package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +0 -1
  228. package/dist/cjs/modules/base/base.controller.js +0 -287
  229. package/dist/cjs/modules/base/base.controller.js.map +0 -1
  230. package/dist/cjs/modules/base/base.middlewares.js +0 -238
  231. package/dist/cjs/modules/base/base.middlewares.js.map +0 -1
  232. package/dist/cjs/modules/base/base.router.js +0 -126
  233. package/dist/cjs/modules/base/base.router.js.map +0 -1
  234. package/dist/cjs/modules/base/base.service.js +0 -436
  235. package/dist/cjs/modules/base/base.service.js.map +0 -1
  236. package/dist/cjs/modules/base/types/base.service.types.js +0 -3
  237. package/dist/cjs/modules/base/types/base.service.types.js.map +0 -1
  238. package/dist/cjs/modules/base/utils/error-prettifier.js +0 -188
  239. package/dist/cjs/modules/base/utils/error-prettifier.js.map +0 -1
  240. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +0 -49
  241. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -1
  242. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +0 -243
  243. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +0 -1
  244. package/dist/cjs/modules/base/utils/model-openapi-generator.js +0 -443
  245. package/dist/cjs/modules/base/utils/model-openapi-generator.js.map +0 -1
  246. package/dist/cjs/modules/base/utils/router-validator.js +0 -13
  247. package/dist/cjs/modules/base/utils/router-validator.js.map +0 -1
  248. package/dist/cjs/modules/base/utils/service-hooks-manager.js +0 -19
  249. package/dist/cjs/modules/base/utils/service-hooks-manager.js.map +0 -1
  250. package/dist/cjs/modules/debugger/debugger.service.js +0 -59
  251. package/dist/cjs/modules/debugger/debugger.service.js.map +0 -1
  252. package/dist/cjs/modules/email/email.service.js +0 -106
  253. package/dist/cjs/modules/email/email.service.js.map +0 -1
  254. package/dist/cjs/modules/error-handler/error-handler.controller.js +0 -166
  255. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +0 -1
  256. package/dist/cjs/modules/error-handler/utils/app-error.js +0 -27
  257. package/dist/cjs/modules/error-handler/utils/app-error.js.map +0 -1
  258. package/dist/cjs/modules/error-handler/utils/catch-async.js +0 -21
  259. package/dist/cjs/modules/error-handler/utils/catch-async.js.map +0 -1
  260. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +0 -104
  261. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +0 -1
  262. package/dist/cjs/modules/error-handler/utils/errors.js +0 -158
  263. package/dist/cjs/modules/error-handler/utils/errors.js.map +0 -1
  264. package/dist/cjs/modules/error-handler/utils/multer-error-handler.js +0 -39
  265. package/dist/cjs/modules/error-handler/utils/multer-error-handler.js.map +0 -1
  266. package/dist/cjs/modules/file-upload/file-upload.controller.js +0 -252
  267. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +0 -1
  268. package/dist/cjs/modules/file-upload/file-upload.router.js +0 -96
  269. package/dist/cjs/modules/file-upload/file-upload.router.js.map +0 -1
  270. package/dist/cjs/modules/file-upload/file-upload.service.js +0 -343
  271. package/dist/cjs/modules/file-upload/file-upload.service.js.map +0 -1
  272. package/dist/cjs/modules/file-upload/utils/file-upload-json-schema-generator.js +0 -351
  273. package/dist/cjs/modules/file-upload/utils/file-upload-json-schema-generator.js.map +0 -1
  274. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js +0 -134
  275. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js.map +0 -1
  276. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +0 -100
  277. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -1
  278. package/dist/cjs/modules/swagger/swagger.router.js +0 -81
  279. package/dist/cjs/modules/swagger/swagger.router.js.map +0 -1
  280. package/dist/cjs/modules/swagger/utils/get-open-api-login-html.js +0 -306
  281. package/dist/cjs/modules/swagger/utils/get-open-api-login-html.js.map +0 -1
  282. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js +0 -53
  283. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +0 -1
  284. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +0 -72
  285. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +0 -1
  286. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js +0 -331
  287. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js.map +0 -1
  288. package/dist/cjs/package.json +0 -3
  289. package/dist/cjs/server.js +0 -60
  290. package/dist/cjs/server.js.map +0 -1
  291. package/dist/cjs/types/arkos-config/utils.js +0 -3
  292. package/dist/cjs/types/arkos-config/utils.js.map +0 -1
  293. package/dist/cjs/types/arkos-prisma-input.js +0 -3
  294. package/dist/cjs/types/arkos-prisma-input.js.map +0 -1
  295. package/dist/cjs/types/arkos.js +0 -3
  296. package/dist/cjs/types/arkos.js.map +0 -1
  297. package/dist/cjs/types/auth.js +0 -3
  298. package/dist/cjs/types/auth.js.map +0 -1
  299. package/dist/cjs/types/index.js +0 -3
  300. package/dist/cjs/types/index.js.map +0 -1
  301. package/dist/cjs/types/new-arkos-config.js +0 -3
  302. package/dist/cjs/types/new-arkos-config.js.map +0 -1
  303. package/dist/cjs/types/router-config.js +0 -3
  304. package/dist/cjs/types/router-config.js.map +0 -1
  305. package/dist/cjs/utils/arkos-env.js +0 -9
  306. package/dist/cjs/utils/arkos-env.js.map +0 -1
  307. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js +0 -184
  308. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js.map +0 -1
  309. package/dist/cjs/utils/arkos-router/index.js +0 -153
  310. package/dist/cjs/utils/arkos-router/index.js.map +0 -1
  311. package/dist/cjs/utils/arkos-router/route-config-registry.js +0 -16
  312. package/dist/cjs/utils/arkos-router/route-config-registry.js.map +0 -1
  313. package/dist/cjs/utils/arkos-router/route-config-validator.js +0 -56
  314. package/dist/cjs/utils/arkos-router/route-config-validator.js.map +0 -1
  315. package/dist/cjs/utils/arkos-router/types/body-parser-config.js +0 -3
  316. package/dist/cjs/utils/arkos-router/types/body-parser-config.js.map +0 -1
  317. package/dist/cjs/utils/arkos-router/types/index.js +0 -3
  318. package/dist/cjs/utils/arkos-router/types/index.js.map +0 -1
  319. package/dist/cjs/utils/arkos-router/types/openapi-config.js +0 -3
  320. package/dist/cjs/utils/arkos-router/types/openapi-config.js.map +0 -1
  321. package/dist/cjs/utils/arkos-router/types/upload-config.js +0 -3
  322. package/dist/cjs/utils/arkos-router/types/upload-config.js.map +0 -1
  323. package/dist/cjs/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +0 -158
  324. package/dist/cjs/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +0 -1
  325. package/dist/cjs/utils/arkos-router/utils/helpers/index.js +0 -179
  326. package/dist/cjs/utils/arkos-router/utils/helpers/index.js.map +0 -1
  327. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js +0 -540
  328. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js.map +0 -1
  329. package/dist/cjs/utils/bundler.js +0 -163
  330. package/dist/cjs/utils/bundler.js.map +0 -1
  331. package/dist/cjs/utils/cli/build.js +0 -199
  332. package/dist/cjs/utils/cli/build.js.map +0 -1
  333. package/dist/cjs/utils/cli/dev.js +0 -133
  334. package/dist/cjs/utils/cli/dev.js.map +0 -1
  335. package/dist/cjs/utils/cli/export-auth-action.js +0 -80
  336. package/dist/cjs/utils/cli/export-auth-action.js.map +0 -1
  337. package/dist/cjs/utils/cli/generate.js +0 -333
  338. package/dist/cjs/utils/cli/generate.js.map +0 -1
  339. package/dist/cjs/utils/cli/index.js +0 -259
  340. package/dist/cjs/utils/cli/index.js.map +0 -1
  341. package/dist/cjs/utils/cli/prisma-generate.js +0 -112
  342. package/dist/cjs/utils/cli/prisma-generate.js.map +0 -1
  343. package/dist/cjs/utils/cli/start.js +0 -74
  344. package/dist/cjs/utils/cli/start.js.map +0 -1
  345. package/dist/cjs/utils/cli/utils/cli.helpers.js +0 -24
  346. package/dist/cjs/utils/cli/utils/cli.helpers.js.map +0 -1
  347. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js +0 -118
  348. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js.map +0 -1
  349. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +0 -73
  350. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js.map +0 -1
  351. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +0 -810
  352. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js.map +0 -1
  353. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -64
  354. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
  355. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js +0 -242
  356. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +0 -1
  357. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js +0 -51
  358. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js.map +0 -1
  359. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +0 -23
  360. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +0 -1
  361. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +0 -50
  362. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +0 -1
  363. package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js +0 -545
  364. package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js.map +0 -1
  365. package/dist/cjs/utils/cli/utils/template-generators.js +0 -62
  366. package/dist/cjs/utils/cli/utils/template-generators.js.map +0 -1
  367. package/dist/cjs/utils/cli/utils/watermark-stamper.js +0 -26
  368. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +0 -1
  369. package/dist/cjs/utils/define-config.js +0 -60
  370. package/dist/cjs/utils/define-config.js.map +0 -1
  371. package/dist/cjs/utils/dotenv.helpers.js +0 -46
  372. package/dist/cjs/utils/dotenv.helpers.js.map +0 -1
  373. package/dist/cjs/utils/dynamic-loader.js +0 -22
  374. package/dist/cjs/utils/dynamic-loader.js.map +0 -1
  375. package/dist/cjs/utils/expand-env.js +0 -72
  376. package/dist/cjs/utils/expand-env.js.map +0 -1
  377. package/dist/cjs/utils/features/api.features.js +0 -216
  378. package/dist/cjs/utils/features/api.features.js.map +0 -1
  379. package/dist/cjs/utils/features/port-and-host-allocator.js +0 -129
  380. package/dist/cjs/utils/features/port-and-host-allocator.js.map +0 -1
  381. package/dist/cjs/utils/helpers/api.features.helpers.js +0 -347
  382. package/dist/cjs/utils/helpers/api.features.helpers.js.map +0 -1
  383. package/dist/cjs/utils/helpers/arkos-config.helpers.js +0 -106
  384. package/dist/cjs/utils/helpers/arkos-config.helpers.js.map +0 -1
  385. package/dist/cjs/utils/helpers/change-case.helpers.js +0 -177
  386. package/dist/cjs/utils/helpers/change-case.helpers.js.map +0 -1
  387. package/dist/cjs/utils/helpers/deepmerge.helper.js +0 -115
  388. package/dist/cjs/utils/helpers/deepmerge.helper.js.map +0 -1
  389. package/dist/cjs/utils/helpers/exit-error.js +0 -13
  390. package/dist/cjs/utils/helpers/exit-error.js.map +0 -1
  391. package/dist/cjs/utils/helpers/fs.helpers.js +0 -52
  392. package/dist/cjs/utils/helpers/fs.helpers.js.map +0 -1
  393. package/dist/cjs/utils/helpers/global.helpers.js +0 -106
  394. package/dist/cjs/utils/helpers/global.helpers.js.map +0 -1
  395. package/dist/cjs/utils/helpers/prisma.helpers.js +0 -56
  396. package/dist/cjs/utils/helpers/prisma.helpers.js.map +0 -1
  397. package/dist/cjs/utils/helpers/query-parser.helpers.js +0 -69
  398. package/dist/cjs/utils/helpers/query-parser.helpers.js.map +0 -1
  399. package/dist/cjs/utils/helpers/routers.helpers.js +0 -36
  400. package/dist/cjs/utils/helpers/routers.helpers.js.map +0 -1
  401. package/dist/cjs/utils/helpers/text.helpers.js +0 -28
  402. package/dist/cjs/utils/helpers/text.helpers.js.map +0 -1
  403. package/dist/cjs/utils/helpers/url-helpers.js +0 -14
  404. package/dist/cjs/utils/helpers/url-helpers.js.map +0 -1
  405. package/dist/cjs/utils/initialize-app.js +0 -80
  406. package/dist/cjs/utils/initialize-app.js.map +0 -1
  407. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +0 -366
  408. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +0 -1
  409. package/dist/cjs/utils/prisma/prisma-schema-parser.js +0 -380
  410. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +0 -1
  411. package/dist/cjs/utils/prisma/types.js +0 -3
  412. package/dist/cjs/utils/prisma/types.js.map +0 -1
  413. package/dist/cjs/utils/remove-dir.js +0 -14
  414. package/dist/cjs/utils/remove-dir.js.map +0 -1
  415. package/dist/cjs/utils/setup-app.js +0 -136
  416. package/dist/cjs/utils/setup-app.js.map +0 -1
  417. package/dist/cjs/utils/sheu.js +0 -131
  418. package/dist/cjs/utils/sheu.js.map +0 -1
  419. package/dist/cjs/utils/validate-dto.js +0 -19
  420. package/dist/cjs/utils/validate-dto.js.map +0 -1
  421. package/dist/cjs/utils/validate-schema.js +0 -75
  422. package/dist/cjs/utils/validate-schema.js.map +0 -1
  423. package/dist/esm/components/arkos-service-hook/index.js +0 -32
  424. package/dist/esm/components/arkos-service-hook/index.js.map +0 -1
  425. package/dist/esm/components/arkos-service-hook/reader.js +0 -24
  426. package/dist/esm/components/arkos-service-hook/reader.js.map +0 -1
  427. package/dist/esm/components/arkos-service-hook/types.js +0 -2
  428. package/dist/esm/components/arkos-service-hook/types.js.map +0 -1
  429. package/dist/esm/modules/base/utils/service-hooks-manager.js +0 -17
  430. package/dist/esm/modules/base/utils/service-hooks-manager.js.map +0 -1
  431. package/dist/types/components/arkos-service-hook/index.d.ts +0 -41
  432. package/dist/types/components/arkos-service-hook/reader.d.ts +0 -35
  433. package/dist/types/components/arkos-service-hook/types.d.ts +0 -240
  434. package/dist/types/modules/base/utils/service-hooks-manager.d.ts +0 -10
@@ -1,347 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.parseQueryParamsWithModifiers = parseQueryParamsWithModifiers;
7
- const deepmerge_helper_1 = __importDefault(require("./deepmerge.helper.js"));
8
- const prisma_schema_parser_1 = __importDefault(require("../prisma/prisma-schema-parser.js"));
9
- function parseNestedObject(key, value) {
10
- const results = [];
11
- function traverse(obj, path = []) {
12
- for (const [k, v] of Object.entries(obj)) {
13
- if (k.includes("__")) {
14
- const parsedKey = parseKeyString(k);
15
- const basePath = v && typeof v === "object" && !Array.isArray(v) && parsedKey.operator
16
- ? [...path, ...parsedKey.fields, parsedKey.operator]
17
- : [...path, ...parsedKey.fields];
18
- if (v && typeof v === "object" && !Array.isArray(v))
19
- traverse(v, basePath);
20
- else
21
- results.push({
22
- fields: basePath,
23
- operator: parsedKey.operator,
24
- value: v,
25
- });
26
- }
27
- else {
28
- const currentPath = [...path, k];
29
- if (v && typeof v === "object" && !Array.isArray(v)) {
30
- traverse(v, currentPath);
31
- }
32
- else {
33
- const lastPart = currentPath[currentPath.length - 1];
34
- const possibleOperators = [
35
- "icontains",
36
- "contains",
37
- "in",
38
- "notIn",
39
- "hasSome",
40
- "hasEvery",
41
- "or",
42
- "isNull",
43
- "isEmpty",
44
- "gt",
45
- "gte",
46
- "lt",
47
- "lte",
48
- "equals",
49
- "startsWith",
50
- "endsWith",
51
- "not",
52
- "some",
53
- "none",
54
- "every",
55
- ];
56
- let operator = null;
57
- let fields = [...currentPath];
58
- if (possibleOperators.includes(lastPart)) {
59
- operator = lastPart;
60
- fields = currentPath.slice(0, -1);
61
- }
62
- results.push({ fields, operator, value: v });
63
- }
64
- }
65
- }
66
- }
67
- traverse({ [key]: value });
68
- return results;
69
- }
70
- function parseKey(key, value) {
71
- if ((key === "AND" || key === "OR") && Array.isArray(value)) {
72
- return [
73
- {
74
- fields: [key],
75
- operator: null,
76
- value: value,
77
- },
78
- ];
79
- }
80
- if (value && typeof value === "object" && !Array.isArray(value)) {
81
- if (key.includes("__")) {
82
- const parsedKey = parseKeyString(key);
83
- const basePath = parsedKey.operator
84
- ? [...parsedKey.fields, parsedKey.operator]
85
- : parsedKey.fields;
86
- const results = [];
87
- function traverse(obj, path = []) {
88
- for (const [k, v] of Object.entries(obj)) {
89
- if (k.includes("__")) {
90
- const innerParsedKey = parseKeyString(k);
91
- const basePath = v &&
92
- typeof v === "object" &&
93
- !Array.isArray(v) &&
94
- innerParsedKey.operator
95
- ? [...path, ...innerParsedKey.fields, innerParsedKey.operator]
96
- : [...path, ...innerParsedKey.fields];
97
- if (v && typeof v === "object" && !Array.isArray(v)) {
98
- traverse(v, basePath);
99
- }
100
- else {
101
- results.push({
102
- fields: basePath,
103
- operator: innerParsedKey.operator,
104
- value: v,
105
- });
106
- }
107
- }
108
- else {
109
- const currentPath = [...path, k];
110
- if (v && typeof v === "object" && !Array.isArray(v)) {
111
- traverse(v, currentPath);
112
- }
113
- else {
114
- const possibleOperators = [
115
- "icontains",
116
- "contains",
117
- "in",
118
- "notIn",
119
- "hasSome",
120
- "hasEvery",
121
- "or",
122
- "isNull",
123
- "isEmpty",
124
- "gt",
125
- "gte",
126
- "lt",
127
- "lte",
128
- "equals",
129
- "startsWith",
130
- "endsWith",
131
- "not",
132
- "some",
133
- "none",
134
- "every",
135
- ];
136
- let operator = null;
137
- let fields = [...currentPath];
138
- if (possibleOperators.includes(k)) {
139
- operator = k;
140
- fields = currentPath.slice(0, -1);
141
- }
142
- results.push({ fields, operator, value: v });
143
- }
144
- }
145
- }
146
- }
147
- traverse(value, basePath);
148
- return results;
149
- }
150
- return parseNestedObject(key, value);
151
- }
152
- const parsedKey = parseKeyString(key);
153
- return [{ fields: parsedKey.fields, operator: parsedKey.operator, value }];
154
- }
155
- function parseKeyString(key) {
156
- const fields = [];
157
- let i = 0;
158
- while (i < key.length) {
159
- if (key[i] === "_" && key[i + 1] === "_") {
160
- i += 2;
161
- continue;
162
- }
163
- let nextDelimiter = key.length;
164
- const nextUnderscore = key.indexOf("__", i);
165
- if (nextUnderscore !== -1 && nextUnderscore < nextDelimiter) {
166
- nextDelimiter = nextUnderscore;
167
- }
168
- const fieldName = key.substring(i, nextDelimiter);
169
- if (fieldName) {
170
- fields.push(fieldName);
171
- }
172
- i = nextDelimiter;
173
- }
174
- if (fields.length === 0)
175
- return { fields: [], operator: null };
176
- const possibleOperators = [
177
- "icontains",
178
- "contains",
179
- "in",
180
- "notIn",
181
- "hasSome",
182
- "hasEvery",
183
- "or",
184
- "isNull",
185
- "isEmpty",
186
- "gt",
187
- "gte",
188
- "lt",
189
- "lte",
190
- "equals",
191
- "startsWith",
192
- "endsWith",
193
- "not",
194
- "some",
195
- "none",
196
- "every",
197
- ];
198
- const lastField = fields[fields.length - 1];
199
- let operator = null;
200
- let finalFields = fields;
201
- if (possibleOperators.includes(lastField)) {
202
- operator = lastField;
203
- finalFields = fields.slice(0, -1);
204
- }
205
- return { fields: finalFields, operator };
206
- }
207
- function buildNestedObject(fields, operator, value, fieldConfig) {
208
- if ((fields[0] === "AND" || fields[0] === "OR") &&
209
- Array.isArray(value) &&
210
- fields.length === 1) {
211
- const processedConditions = value.map((condition) => {
212
- const tempResult = parseQueryParamsWithModifiers(condition, fieldConfig);
213
- return tempResult;
214
- });
215
- return {
216
- [fields[0]]: processedConditions,
217
- };
218
- }
219
- if (fields.length === 0)
220
- return {};
221
- const firstField = fields[0];
222
- const lastField = fields[fields.length - 1];
223
- if (firstField === "orderBy" && fields.length === 2 && !operator) {
224
- return {
225
- orderBy: {
226
- [fields[1]]: value,
227
- },
228
- };
229
- }
230
- if (fields.length === 1 && !operator) {
231
- if (typeof value === "object" && value !== null) {
232
- return { [firstField]: value };
233
- }
234
- const convertedValue = typeof value === "string"
235
- ? convertValue(value, firstField, fieldConfig)
236
- : value;
237
- return { [firstField]: convertedValue };
238
- }
239
- if (operator === "or") {
240
- const values = Array.isArray(value) ? value : value.toString().split(",");
241
- return {
242
- OR: values.map((val) => {
243
- const nested = {};
244
- let current = nested;
245
- for (let i = 0; i < fields.length - 1; i++) {
246
- current[fields[i]] = {};
247
- current = current[fields[i]];
248
- }
249
- current[lastField] = convertValue(typeof val === "string" ? val.trim() : val, lastField, fieldConfig);
250
- return nested;
251
- }),
252
- };
253
- }
254
- const result = {};
255
- let current = result;
256
- for (let i = 0; i < fields.length - 1; i++) {
257
- current[fields[i]] = {};
258
- current = current[fields[i]];
259
- }
260
- if (!operator) {
261
- current[lastField] = convertValue(value, lastField, fieldConfig);
262
- return result;
263
- }
264
- const stringValue = typeof value === "string" ? value : value?.toString();
265
- switch (operator) {
266
- case "icontains":
267
- current[lastField] = {
268
- contains: stringValue,
269
- mode: "insensitive",
270
- };
271
- if (!["mongodb", "postgresql"].includes(prisma_schema_parser_1.default.config.datasourceProvider))
272
- delete current[lastField].mode;
273
- break;
274
- case "contains":
275
- current[lastField] = {
276
- contains: stringValue,
277
- mode: "sensitive",
278
- };
279
- if (!["mongodb", "postgresql"].includes(prisma_schema_parser_1.default.config.datasourceProvider))
280
- delete current[lastField].mode;
281
- break;
282
- case "in":
283
- case "notIn":
284
- const inValues = Array.isArray(value) ? value : stringValue.split(",");
285
- current[lastField] = {
286
- [operator]: inValues.map((v) => convertValue(typeof v === "string" ? v.trim() : v, lastField, fieldConfig)),
287
- };
288
- break;
289
- case "hasSome":
290
- case "hasEvery":
291
- const arrayValues = Array.isArray(value) ? value : stringValue.split(",");
292
- current[lastField] = {
293
- [operator]: arrayValues.map((v) => convertValue(typeof v === "string" ? v.trim() : v, lastField, fieldConfig)),
294
- };
295
- break;
296
- case "isNull":
297
- current[lastField] = {
298
- equals: stringValue?.toLowerCase() === "true" ? null : undefined,
299
- };
300
- break;
301
- case "isEmpty":
302
- current[lastField] = {
303
- equals: stringValue?.toLowerCase() === "true" ? "" : undefined,
304
- };
305
- break;
306
- default:
307
- current[lastField] = {
308
- [operator]: value === null ? null : convertValue(value, lastField, fieldConfig),
309
- };
310
- }
311
- return result;
312
- }
313
- const DEFAULT_FIELD_CONFIG = {
314
- dateFields: ["createdAt", "updatedAt", "deletedAt", "date"],
315
- booleanFields: ["isActive", "isDeleted", "isPublished", "isArchived"],
316
- numericFields: ["age", "price", "quantity", "amount", "rating"],
317
- };
318
- function parseQueryParamsWithModifiers(query, fieldConfig = DEFAULT_FIELD_CONFIG) {
319
- const entries = Object.entries(JSON.parse(JSON.stringify(query)));
320
- let result = {};
321
- for (const [key, value] of entries) {
322
- if (value === undefined)
323
- continue;
324
- const parsedItems = parseKey(key, value);
325
- for (const { fields, operator, value: val } of parsedItems) {
326
- if (fields.length === 0)
327
- continue;
328
- const currentResult = buildNestedObject(fields, operator, val, fieldConfig);
329
- result = (0, deepmerge_helper_1.default)(result, currentResult);
330
- }
331
- }
332
- return result;
333
- }
334
- function convertValue(value, fieldName, config) {
335
- if (typeof value !== "string")
336
- return value;
337
- if (config.dateFields?.includes?.(fieldName) && value)
338
- return new Date(value);
339
- if (config.booleanFields?.includes?.(fieldName))
340
- return value.toLowerCase() === "true";
341
- if (config.numericFields?.includes?.(fieldName)) {
342
- const num = Number(value);
343
- return isNaN(num) ? value : num;
344
- }
345
- return value;
346
- }
347
- //# sourceMappingURL=api.features.helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.features.helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers/api.features.helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import deepmerge from \"./deepmerge.helper\";\nimport prismaSchemaParser from \"../prisma/prisma-schema-parser\";\n\nfunction parseNestedObject(\n key: string,\n value: any\n): { fields: string[]; operator: string | null; value: any }[] {\n const results: { fields: string[]; operator: string | null; value: any }[] =\n [];\n\n function traverse(obj: any, path: string[] = []) {\n for (const [k, v] of Object.entries(obj)) {\n if (k.includes(\"__\")) {\n const parsedKey = parseKeyString(k);\n const basePath =\n v && typeof v === \"object\" && !Array.isArray(v) && parsedKey.operator\n ? [...path, ...parsedKey.fields, parsedKey.operator]\n : [...path, ...parsedKey.fields];\n\n if (v && typeof v === \"object\" && !Array.isArray(v))\n traverse(v, basePath);\n else\n results.push({\n fields: basePath,\n operator: parsedKey.operator,\n value: v,\n });\n } else {\n const currentPath = [...path, k];\n\n if (v && typeof v === \"object\" && !Array.isArray(v)) {\n traverse(v, currentPath);\n } else {\n const lastPart = currentPath[currentPath.length - 1];\n const possibleOperators = [\n \"icontains\",\n \"contains\",\n \"in\",\n \"notIn\",\n \"hasSome\",\n \"hasEvery\",\n \"or\",\n \"isNull\",\n \"isEmpty\",\n \"gt\",\n \"gte\",\n \"lt\",\n \"lte\",\n \"equals\",\n \"startsWith\",\n \"endsWith\",\n \"not\",\n \"some\",\n \"none\",\n \"every\",\n ];\n\n let operator: string | null = null;\n let fields = [...currentPath];\n\n if (possibleOperators.includes(lastPart)) {\n operator = lastPart;\n fields = currentPath.slice(0, -1);\n }\n\n results.push({ fields, operator, value: v });\n }\n }\n }\n }\n\n traverse({ [key]: value });\n return results;\n}\n\nfunction parseKey(\n key: string,\n value: any\n): { fields: string[]; operator: string | null; value: any }[] {\n if ((key === \"AND\" || key === \"OR\") && Array.isArray(value)) {\n return [\n {\n fields: [key],\n operator: null,\n value: value,\n },\n ];\n }\n\n if (value && typeof value === \"object\" && !Array.isArray(value)) {\n if (key.includes(\"__\")) {\n const parsedKey = parseKeyString(key);\n\n const basePath = parsedKey.operator\n ? [...parsedKey.fields, parsedKey.operator]\n : parsedKey.fields;\n\n const results: {\n fields: string[];\n operator: string | null;\n value: any;\n }[] = [];\n\n function traverse(obj: any, path: string[] = []) {\n for (const [k, v] of Object.entries(obj)) {\n if (k.includes(\"__\")) {\n const innerParsedKey = parseKeyString(k);\n const basePath =\n v &&\n typeof v === \"object\" &&\n !Array.isArray(v) &&\n innerParsedKey.operator\n ? [...path, ...innerParsedKey.fields, innerParsedKey.operator]\n : [...path, ...innerParsedKey.fields];\n\n if (v && typeof v === \"object\" && !Array.isArray(v)) {\n traverse(v, basePath);\n } else {\n results.push({\n fields: basePath,\n operator: innerParsedKey.operator,\n value: v,\n });\n }\n } else {\n const currentPath = [...path, k];\n\n if (v && typeof v === \"object\" && !Array.isArray(v)) {\n traverse(v, currentPath);\n } else {\n const possibleOperators = [\n \"icontains\",\n \"contains\",\n \"in\",\n \"notIn\",\n \"hasSome\",\n \"hasEvery\",\n \"or\",\n \"isNull\",\n \"isEmpty\",\n \"gt\",\n \"gte\",\n \"lt\",\n \"lte\",\n \"equals\",\n \"startsWith\",\n \"endsWith\",\n \"not\",\n \"some\",\n \"none\",\n \"every\",\n ];\n\n let operator: string | null = null;\n let fields = [...currentPath];\n\n if (possibleOperators.includes(k)) {\n operator = k;\n fields = currentPath.slice(0, -1);\n }\n\n results.push({ fields, operator, value: v });\n }\n }\n }\n }\n\n traverse(value, basePath);\n return results;\n }\n\n return parseNestedObject(key, value);\n }\n\n const parsedKey = parseKeyString(key);\n return [{ fields: parsedKey.fields, operator: parsedKey.operator, value }];\n}\n\nfunction parseKeyString(key: string): {\n fields: string[];\n operator: string | null;\n} {\n const fields: string[] = [];\n let i = 0;\n\n while (i < key.length) {\n if (key[i] === \"_\" && key[i + 1] === \"_\") {\n i += 2;\n continue;\n }\n\n let nextDelimiter = key.length;\n const nextUnderscore = key.indexOf(\"__\", i);\n\n if (nextUnderscore !== -1 && nextUnderscore < nextDelimiter) {\n nextDelimiter = nextUnderscore;\n }\n\n const fieldName = key.substring(i, nextDelimiter);\n if (fieldName) {\n fields.push(fieldName);\n }\n i = nextDelimiter;\n }\n\n if (fields.length === 0) return { fields: [], operator: null };\n\n const possibleOperators = [\n \"icontains\",\n \"contains\",\n \"in\",\n \"notIn\",\n \"hasSome\",\n \"hasEvery\",\n \"or\",\n \"isNull\",\n \"isEmpty\",\n \"gt\",\n \"gte\",\n \"lt\",\n \"lte\",\n \"equals\",\n \"startsWith\",\n \"endsWith\",\n \"not\",\n \"some\",\n \"none\",\n \"every\",\n ];\n\n const lastField = fields[fields.length - 1];\n let operator: string | null = null;\n let finalFields = fields;\n\n if (possibleOperators.includes(lastField)) {\n operator = lastField;\n finalFields = fields.slice(0, -1);\n }\n\n return { fields: finalFields, operator };\n}\n\nfunction buildNestedObject(\n fields: string[],\n operator: string | null,\n value: any,\n fieldConfig: FieldConfig\n): any {\n // Handle top-level AND/OR arrays\n if (\n (fields[0] === \"AND\" || fields[0] === \"OR\") &&\n Array.isArray(value) &&\n fields.length === 1\n ) {\n // Process each condition in the array\n const processedConditions = value.map((condition: any) => {\n const tempResult = parseQueryParamsWithModifiers(condition, fieldConfig);\n return tempResult;\n });\n\n return {\n [fields[0]]: processedConditions,\n };\n }\n\n if (fields.length === 0) return {};\n\n const firstField = fields[0];\n const lastField = fields[fields.length - 1];\n\n if (firstField === \"orderBy\" && fields.length === 2 && !operator) {\n return {\n orderBy: {\n [fields[1]]: value as \"asc\" | \"desc\",\n },\n };\n }\n\n if (fields.length === 1 && !operator) {\n if (typeof value === \"object\" && value !== null) {\n return { [firstField]: value };\n }\n\n const convertedValue =\n typeof value === \"string\"\n ? convertValue(value, firstField, fieldConfig)\n : value;\n return { [firstField]: convertedValue };\n }\n\n if (operator === \"or\") {\n const values = Array.isArray(value) ? value : value.toString().split(\",\");\n\n return {\n OR: values.map((val: any) => {\n const nested: any = {};\n let current = nested;\n\n for (let i = 0; i < fields.length - 1; i++) {\n current[fields[i]] = {};\n current = current[fields[i]];\n }\n\n current[lastField] = convertValue(\n typeof val === \"string\" ? val.trim() : val,\n lastField,\n fieldConfig\n );\n\n return nested;\n }),\n };\n }\n\n const result: any = {};\n let current = result;\n\n for (let i = 0; i < fields.length - 1; i++) {\n current[fields[i]] = {};\n current = current[fields[i]];\n }\n\n if (!operator) {\n current[lastField] = convertValue(value, lastField, fieldConfig);\n return result;\n }\n\n const stringValue = typeof value === \"string\" ? value : value?.toString();\n\n switch (operator) {\n case \"icontains\":\n current[lastField] = {\n contains: stringValue,\n mode: \"insensitive\",\n };\n if (\n ![\"mongodb\", \"postgresql\"].includes(\n prismaSchemaParser.config.datasourceProvider\n )\n )\n delete current[lastField].mode;\n break;\n\n case \"contains\":\n current[lastField] = {\n contains: stringValue,\n mode: \"sensitive\",\n };\n if (\n ![\"mongodb\", \"postgresql\"].includes(\n prismaSchemaParser.config.datasourceProvider\n )\n )\n delete current[lastField].mode;\n break;\n\n case \"in\":\n case \"notIn\":\n const inValues = Array.isArray(value) ? value : stringValue.split(\",\");\n current[lastField] = {\n [operator]: inValues.map((v: any) =>\n convertValue(\n typeof v === \"string\" ? v.trim() : v,\n lastField,\n fieldConfig\n )\n ),\n };\n break;\n\n case \"hasSome\":\n case \"hasEvery\":\n const arrayValues = Array.isArray(value) ? value : stringValue.split(\",\");\n current[lastField] = {\n [operator]: arrayValues.map((v: any) =>\n convertValue(\n typeof v === \"string\" ? v.trim() : v,\n lastField,\n fieldConfig\n )\n ),\n };\n break;\n\n case \"isNull\":\n current[lastField] = {\n equals: stringValue?.toLowerCase() === \"true\" ? null : undefined,\n };\n break;\n\n case \"isEmpty\":\n current[lastField] = {\n equals: stringValue?.toLowerCase() === \"true\" ? \"\" : undefined,\n };\n break;\n\n default:\n current[lastField] = {\n [operator]:\n value === null ? null : convertValue(value, lastField, fieldConfig),\n };\n }\n\n return result;\n}\n\n/**\n * Configuration types for field type mapping\n */\ninterface FieldConfig {\n dateFields: string[];\n booleanFields: string[];\n numericFields: string[];\n}\n\n/**\n * Type for the structured filter object returned by the parser\n */\ntype ParsedFilter = {\n [key: string]: any;\n orderBy?: Record<string, \"asc\" | \"desc\">;\n OR?: Record<string, any>[];\n};\n\n/**\n * Default configuration for field types\n */\nconst DEFAULT_FIELD_CONFIG: FieldConfig = {\n dateFields: [\"createdAt\", \"updatedAt\", \"deletedAt\", \"date\"],\n booleanFields: [\"isActive\", \"isDeleted\", \"isPublished\", \"isArchived\"],\n numericFields: [\"age\", \"price\", \"quantity\", \"amount\", \"rating\"],\n};\n\n/**\n * Parses query parameters into a structured filter object compatible with Prisma queries.\n * Supports various operators and data type conversions with deep merge strategy.\n *\n * @param query - Object containing query parameters\n * @param fieldConfig - Optional configuration for field type mapping\n * @returns Structured filter object for database queries\n */\nexport function parseQueryParamsWithModifiers(\n query: Record<string, any>,\n fieldConfig: FieldConfig = DEFAULT_FIELD_CONFIG\n): ParsedFilter {\n const entries = Object.entries(JSON.parse(JSON.stringify(query)));\n let result: ParsedFilter = {};\n\n for (const [key, value] of entries) {\n if (value === undefined) continue;\n\n const parsedItems = parseKey(key, value);\n\n for (const { fields, operator, value: val } of parsedItems) {\n if (fields.length === 0) continue;\n\n const currentResult = buildNestedObject(\n fields,\n operator,\n val,\n fieldConfig\n );\n result = deepmerge(result, currentResult);\n }\n }\n\n return result;\n}\n\n/**\n * Converts string values to appropriate types based on field configuration\n */\nfunction convertValue(\n value: string,\n fieldName: string,\n config: FieldConfig\n): any {\n if (typeof value !== \"string\") return value;\n\n if (config.dateFields?.includes?.(fieldName) && value) return new Date(value);\n\n if (config.booleanFields?.includes?.(fieldName))\n return value.toLowerCase() === \"true\";\n\n if (config.numericFields?.includes?.(fieldName)) {\n const num = Number(value);\n return isNaN(num) ? value : num;\n }\n\n return value;\n}\n"]}
@@ -1,106 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.isUsingAuthentication = isUsingAuthentication;
40
- exports.isAuthenticationEnabled = isAuthenticationEnabled;
41
- exports.getArkosConfig = getArkosConfig;
42
- exports.isProduction = isProduction;
43
- exports.validateArkosConfig = validateArkosConfig;
44
- const define_config_1 = require("../define-config.js");
45
- const sheu_1 = __importDefault(require("../sheu.js"));
46
- const exit_error_1 = __importDefault(require("./exit-error.js"));
47
- const fsHelpers = __importStar(require("./fs.helpers.js"));
48
- const prisma_helpers_1 = require("./prisma.helpers.js");
49
- const fs_helpers_1 = require("./fs.helpers");
50
- let definedArkosConfig = {};
51
- try {
52
- definedArkosConfig = process.env.NO_CLI === "true" ? __importDefault(require(`${fs_helpers_1.crd()}/arkos.config.${fs_helpers_1.getUserFileExtension()}`)) : () => {};
53
- }
54
- catch (err) {
55
- if (err.message.toLowerCase().includes("cannot find module"))
56
- sheu_1.default.warn(`Using default configs, because arkos.config.${fsHelpers.getUserFileExtension()} was not found`, {
57
- timestamp: true,
58
- });
59
- else
60
- throw err;
61
- }
62
- function isUsingAuthentication() {
63
- const { authentication } = getArkosConfig();
64
- return authentication?.mode;
65
- }
66
- function isAuthenticationEnabled() {
67
- const { authentication } = getArkosConfig();
68
- return authentication?.mode && authentication?.enabled !== false;
69
- }
70
- function getArkosConfig() {
71
- const config = typeof definedArkosConfig === "string"
72
- ? { __loader: "defineConfig" }
73
- : definedArkosConfig?.default || { __loader: "defineConfig" };
74
- const configFile = `arkos.config.${fsHelpers.getUserFileExtension()}`;
75
- if (config.__loader !== "defineConfig" &&
76
- typeof jest == "undefined" &&
77
- typeof definedArkosConfig === "object") {
78
- sheu_1.default.error(`From v1.6 config under ${configFile} must be wrapped in \`defineConfig()\` function from \`arkos/config\`. You can do the following under your ${configFile}:
79
-
80
- import { defineConfig } from "arkos/config"
81
-
82
- const config = defineConfig({ ... })
83
-
84
- export default config
85
- `);
86
- process.exit(1);
87
- }
88
- return (0, define_config_1.defineConfig)(config);
89
- }
90
- function isProduction() {
91
- return process.env.ARKOS_BUILD === "true";
92
- }
93
- function validateArkosConfig() {
94
- const config = getArkosConfig();
95
- const authenticationEnabled = isAuthenticationEnabled();
96
- if (!config?.source?.entryPoint)
97
- throw (0, exit_error_1.default)(`Invalid value for 'arkosConfig.source.entryPoint', please pass a valid path from the current working directory`);
98
- if (authenticationEnabled &&
99
- isProduction() &&
100
- !process.env.JWT_SECRET &&
101
- !config.authentication?.jwt?.secret)
102
- throw (0, exit_error_1.default)(`Missing jwt secret in production, see https://www.arkosjs.com/docs/core-concepts/authentication/setup#configuration`);
103
- if (authenticationEnabled && !(0, prisma_helpers_1.getPrismaInstance)())
104
- throw (0, exit_error_1.default)(`Arkos' authentication system relies on prisma instance, please disabled your authentication or see https://www.arkosjs.com/docs/core-concepts/prisma-orm/setup to setup a prisma instance`);
105
- }
106
- //# sourceMappingURL=arkos-config.helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arkos-config.helpers.js","sourceRoot":"","sources":["../../../../src/utils/helpers/arkos-config.helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,sDAIC;AAED,0DAIC;AAOD,wCA0BC;AAED,oCAEC;AAED,kDAuBC;AA9FD,oDAAiE;AACjE,mDAA2B;AAC3B,8DAAqC;AACrC,wDAA0C;AAC1C,qDAAqD;AACrD,CAAC,wCAAwC,CAAC,CAAC;AAE3C,IAAI,kBAAkB,GAAQ,EAAE,CAAC;AAEjC,IAAI,CAAC;IACH,kBAAkB,GAAG,0BAA0B,CAAC;AAClD,CAAC;AAAC,OAAO,GAAQ,EAAE,CAAC;IAClB,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC1D,cAAI,CAAC,IAAI,CACP,+CAA+C,SAAS,CAAC,oBAAoB,EAAE,gBAAgB,EAC/F;YACE,SAAS,EAAE,IAAI;SAChB,CACF,CAAC;;QACC,MAAM,GAAG,CAAC;AACjB,CAAC;AAED,SAAgB,qBAAqB;IACnC,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAC;IAE5C,OAAO,cAAc,EAAE,IAAI,CAAC;AAC9B,CAAC;AAED,SAAgB,uBAAuB;IACrC,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAC;IAE5C,OAAO,cAAc,EAAE,IAAI,IAAI,cAAc,EAAE,OAAO,KAAK,KAAK,CAAC;AACnE,CAAC;AAOD,SAAgB,cAAc;IAC5B,MAAM,MAAM,GACV,OAAO,kBAAkB,KAAK,QAAQ;QACpC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE;QAC9B,CAAC,CAAE,kBAA0B,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3E,MAAM,UAAU,GAAG,gBAAgB,SAAS,CAAC,oBAAoB,EAAE,EAAE,CAAC;IAEtE,IACG,MAAc,CAAC,QAAQ,KAAK,cAAc;QAC3C,OAAO,IAAI,IAAI,WAAW;QAC1B,OAAO,kBAAkB,KAAK,QAAQ,EACtC,CAAC;QACD,cAAI,CAAC,KAAK,CACR,0BAA0B,UAAU,8GAA8G,UAAU;;;;;;;CAOjK,CACI,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAA,4BAAY,EAAC,MAAM,CAAQ,CAAC;AACrC,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC;AAC5C,CAAC;AAED,SAAgB,mBAAmB;IACjC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,qBAAqB,GAAG,uBAAuB,EAAE,CAAC;IAExD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU;QAC7B,MAAM,IAAA,oBAAS,EACb,gHAAgH,CACjH,CAAC;IAEJ,IACE,qBAAqB;QACrB,YAAY,EAAE;QACd,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU;QACvB,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM;QAEnC,MAAM,IAAA,oBAAS,EACb,qHAAqH,CACtH,CAAC;IAEJ,IAAI,qBAAqB,IAAI,CAAC,IAAA,kCAAiB,GAAE;QAC/C,MAAM,IAAA,oBAAS,EACb,2LAA2L,CAC5L,CAAC;AACN,CAAC","sourcesContent":["import { defineConfig, UserArkosConfig } from \"../define-config\";\nimport sheu from \"../sheu\";\nimport ExitError from \"./exit-error\";\nimport * as fsHelpers from \"./fs.helpers\";\nimport { getPrismaInstance } from \"./prisma.helpers\";\n(\"ReplaceWithNeededImportsForArkosConfig\"); // This will be filled by post build script\n\nlet definedArkosConfig: any = {};\n\ntry {\n definedArkosConfig = \"ReplaceWithDynamicImport\"; // This will be filled by post build script\n} catch (err: any) {\n if (err.message.toLowerCase().includes(\"cannot find module\"))\n sheu.warn(\n `Using default configs, because arkos.config.${fsHelpers.getUserFileExtension()} was not found`,\n {\n timestamp: true,\n }\n );\n else throw err;\n}\n\nexport function isUsingAuthentication() {\n const { authentication } = getArkosConfig();\n\n return authentication?.mode;\n}\n\nexport function isAuthenticationEnabled() {\n const { authentication } = getArkosConfig();\n\n return authentication?.mode && authentication?.enabled !== false;\n}\n\n/**\n * Gives access to the underlying current configurations being used by **Arkos** by default and also loaded through `arkos.config.{ts|js}`\n *\n * @returns {ArkosConfig}\n */\nexport function getArkosConfig(): UserArkosConfig {\n const config =\n typeof definedArkosConfig === \"string\"\n ? { __loader: \"defineConfig\" }\n : (definedArkosConfig as any)?.default || { __loader: \"defineConfig\" };\n const configFile = `arkos.config.${fsHelpers.getUserFileExtension()}`;\n\n if (\n (config as any).__loader !== \"defineConfig\" &&\n typeof jest == \"undefined\" &&\n typeof definedArkosConfig === \"object\"\n ) {\n sheu.error(\n `From v1.6 config under ${configFile} must be wrapped in \\`defineConfig()\\` function from \\`arkos/config\\`. You can do the following under your ${configFile}:\n\nimport { defineConfig } from \"arkos/config\"\n\nconst config = defineConfig({ ... })\n\nexport default config\n`\n );\n process.exit(1);\n }\n\n return defineConfig(config) as any;\n}\n\nexport function isProduction() {\n return process.env.ARKOS_BUILD === \"true\";\n}\n\nexport function validateArkosConfig() {\n const config = getArkosConfig();\n const authenticationEnabled = isAuthenticationEnabled();\n\n if (!config?.source?.entryPoint)\n throw ExitError(\n `Invalid value for 'arkosConfig.source.entryPoint', please pass a valid path from the current working directory`\n );\n\n if (\n authenticationEnabled &&\n isProduction() &&\n !process.env.JWT_SECRET &&\n !config.authentication?.jwt?.secret\n )\n throw ExitError(\n `Missing jwt secret in production, see https://www.arkosjs.com/docs/core-concepts/authentication/setup#configuration`\n );\n\n if (authenticationEnabled && !getPrismaInstance())\n throw ExitError(\n `Arkos' authentication system relies on prisma instance, please disabled your authentication or see https://www.arkosjs.com/docs/core-concepts/prisma-orm/setup to setup a prisma instance`\n );\n}\n"]}