arkos 2.0.0-next.17 → 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 (343) hide show
  1. package/cli.js +1 -8
  2. package/dist/esm/app.js +2 -2
  3. package/dist/esm/app.js.map +1 -1
  4. package/dist/esm/components/arkos-route-hook/index.js +2 -1
  5. package/dist/esm/components/arkos-route-hook/index.js.map +1 -1
  6. package/dist/esm/components/arkos-route-hook/reader.js.map +1 -1
  7. package/dist/esm/components/arkos-route-hook/types.js.map +1 -1
  8. package/dist/esm/exports/index.js +1 -2
  9. package/dist/esm/exports/index.js.map +1 -1
  10. package/dist/esm/exports/services/index.js.map +1 -1
  11. package/dist/esm/modules/base/base.controller.js +4 -4
  12. package/dist/esm/modules/base/base.controller.js.map +1 -1
  13. package/dist/esm/modules/base/base.service.js +0 -47
  14. package/dist/esm/modules/base/base.service.js.map +1 -1
  15. package/dist/esm/modules/base/types/base.service.types.js.map +1 -1
  16. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  17. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  18. package/dist/esm/types/arkos.js.map +1 -1
  19. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +4 -0
  20. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -1
  21. package/dist/esm/utils/cli/generate.js +0 -90
  22. package/dist/esm/utils/cli/generate.js.map +1 -1
  23. package/dist/esm/utils/cli/index.js +9 -73
  24. package/dist/esm/utils/cli/index.js.map +1 -1
  25. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
  26. package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js +0 -51
  27. package/dist/esm/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +1 -1
  28. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +11 -4
  29. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
  30. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +2 -2
  31. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -1
  32. package/dist/esm/utils/cli/utils/template-generators.js +27 -24
  33. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  34. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +19 -18
  35. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -1
  36. package/dist/types/app.d.ts +4 -0
  37. package/dist/types/components/arkos-route-hook/index.d.ts +7 -1
  38. package/dist/types/components/arkos-route-hook/reader.d.ts +1 -1
  39. package/dist/types/components/arkos-route-hook/types.d.ts +4 -6
  40. package/dist/types/exports/index.d.ts +1 -2
  41. package/dist/types/exports/services/index.d.ts +2 -2
  42. package/dist/types/modules/base/base.service.d.ts +1 -8
  43. package/dist/types/modules/base/types/base.service.types.d.ts +11 -0
  44. package/dist/types/types/arkos.d.ts +1 -2
  45. package/dist/types/utils/cli/generate.d.ts +11 -10
  46. package/package.json +16 -18
  47. package/dist/cjs/app.js +0 -114
  48. package/dist/cjs/app.js.map +0 -1
  49. package/dist/cjs/components/arkos-gateway/arkos-gateway.js +0 -344
  50. package/dist/cjs/components/arkos-gateway/arkos-gateway.js.map +0 -1
  51. package/dist/cjs/components/arkos-gateway/socket-extensions.js +0 -166
  52. package/dist/cjs/components/arkos-gateway/socket-extensions.js.map +0 -1
  53. package/dist/cjs/components/arkos-gateway/types.js +0 -7
  54. package/dist/cjs/components/arkos-gateway/types.js.map +0 -1
  55. package/dist/cjs/components/arkos-gateway/utils/helpers.js +0 -111
  56. package/dist/cjs/components/arkos-gateway/utils/helpers.js.map +0 -1
  57. package/dist/cjs/components/arkos-gateway/utils/memory-gateway-store.js +0 -51
  58. package/dist/cjs/components/arkos-gateway/utils/memory-gateway-store.js.map +0 -1
  59. package/dist/cjs/components/arkos-gateway/utils/multi-tier-arkos-gateway-store.js +0 -43
  60. package/dist/cjs/components/arkos-gateway/utils/multi-tier-arkos-gateway-store.js.map +0 -1
  61. package/dist/cjs/components/arkos-gateway/utils/rate-limiter.js +0 -17
  62. package/dist/cjs/components/arkos-gateway/utils/rate-limiter.js.map +0 -1
  63. package/dist/cjs/components/arkos-loadable-registry/index.js +0 -28
  64. package/dist/cjs/components/arkos-loadable-registry/index.js.map +0 -1
  65. package/dist/cjs/components/arkos-loadable-translator/index.js +0 -144
  66. package/dist/cjs/components/arkos-loadable-translator/index.js.map +0 -1
  67. package/dist/cjs/components/arkos-policy/index.js +0 -38
  68. package/dist/cjs/components/arkos-policy/index.js.map +0 -1
  69. package/dist/cjs/components/arkos-policy/types.js +0 -3
  70. package/dist/cjs/components/arkos-policy/types.js.map +0 -1
  71. package/dist/cjs/components/arkos-route-hook/index.js +0 -50
  72. package/dist/cjs/components/arkos-route-hook/index.js.map +0 -1
  73. package/dist/cjs/components/arkos-route-hook/reader.js +0 -47
  74. package/dist/cjs/components/arkos-route-hook/reader.js.map +0 -1
  75. package/dist/cjs/components/arkos-route-hook/types.js +0 -3
  76. package/dist/cjs/components/arkos-route-hook/types.js.map +0 -1
  77. package/dist/cjs/components/arkos-service-hook/index.js +0 -35
  78. package/dist/cjs/components/arkos-service-hook/index.js.map +0 -1
  79. package/dist/cjs/components/arkos-service-hook/reader.js +0 -30
  80. package/dist/cjs/components/arkos-service-hook/reader.js.map +0 -1
  81. package/dist/cjs/components/arkos-service-hook/types.js +0 -3
  82. package/dist/cjs/components/arkos-service-hook/types.js.map +0 -1
  83. package/dist/cjs/exports/auth/index.js +0 -6
  84. package/dist/cjs/exports/auth/index.js.map +0 -1
  85. package/dist/cjs/exports/config.js +0 -6
  86. package/dist/cjs/exports/config.js.map +0 -1
  87. package/dist/cjs/exports/controllers/index.js +0 -42
  88. package/dist/cjs/exports/controllers/index.js.map +0 -1
  89. package/dist/cjs/exports/error-handler/index.js +0 -26
  90. package/dist/cjs/exports/error-handler/index.js.map +0 -1
  91. package/dist/cjs/exports/index.js +0 -25
  92. package/dist/cjs/exports/index.js.map +0 -1
  93. package/dist/cjs/exports/middlewares/index.js +0 -7
  94. package/dist/cjs/exports/middlewares/index.js.map +0 -1
  95. package/dist/cjs/exports/prisma/index.js +0 -13
  96. package/dist/cjs/exports/prisma/index.js.map +0 -1
  97. package/dist/cjs/exports/services/index.js +0 -53
  98. package/dist/cjs/exports/services/index.js.map +0 -1
  99. package/dist/cjs/exports/utils/index.js +0 -26
  100. package/dist/cjs/exports/utils/index.js.map +0 -1
  101. package/dist/cjs/exports/validation/index.js +0 -11
  102. package/dist/cjs/exports/validation/index.js.map +0 -1
  103. package/dist/cjs/exports/websockets.js +0 -13
  104. package/dist/cjs/exports/websockets.js.map +0 -1
  105. package/dist/cjs/generated.js +0 -7
  106. package/dist/cjs/generated.js.map +0 -1
  107. package/dist/cjs/modules/auth/auth.controller.js +0 -254
  108. package/dist/cjs/modules/auth/auth.controller.js.map +0 -1
  109. package/dist/cjs/modules/auth/auth.router.js +0 -130
  110. package/dist/cjs/modules/auth/auth.router.js.map +0 -1
  111. package/dist/cjs/modules/auth/auth.service.js +0 -312
  112. package/dist/cjs/modules/auth/auth.service.js.map +0 -1
  113. package/dist/cjs/modules/auth/utils/auth-error-objects.js +0 -10
  114. package/dist/cjs/modules/auth/utils/auth-error-objects.js.map +0 -1
  115. package/dist/cjs/modules/auth/utils/auth-hooks-manager.js +0 -153
  116. package/dist/cjs/modules/auth/utils/auth-hooks-manager.js.map +0 -1
  117. package/dist/cjs/modules/auth/utils/auth-openapi-generator.js +0 -372
  118. package/dist/cjs/modules/auth/utils/auth-openapi-generator.js.map +0 -1
  119. package/dist/cjs/modules/auth/utils/auth-prisma-json-schema-generator.js +0 -101
  120. package/dist/cjs/modules/auth/utils/auth-prisma-json-schema-generator.js.map +0 -1
  121. package/dist/cjs/modules/auth/utils/docs-links.js +0 -9
  122. package/dist/cjs/modules/auth/utils/docs-links.js.map +0 -1
  123. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +0 -83
  124. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js.map +0 -1
  125. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +0 -156
  126. package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +0 -1
  127. package/dist/cjs/modules/base/base.controller.js +0 -293
  128. package/dist/cjs/modules/base/base.controller.js.map +0 -1
  129. package/dist/cjs/modules/base/base.middlewares.js +0 -229
  130. package/dist/cjs/modules/base/base.middlewares.js.map +0 -1
  131. package/dist/cjs/modules/base/base.router.js +0 -126
  132. package/dist/cjs/modules/base/base.router.js.map +0 -1
  133. package/dist/cjs/modules/base/base.service.js +0 -371
  134. package/dist/cjs/modules/base/base.service.js.map +0 -1
  135. package/dist/cjs/modules/base/types/base.service.types.js +0 -3
  136. package/dist/cjs/modules/base/types/base.service.types.js.map +0 -1
  137. package/dist/cjs/modules/base/utils/error-prettifier.js +0 -188
  138. package/dist/cjs/modules/base/utils/error-prettifier.js.map +0 -1
  139. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +0 -49
  140. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js.map +0 -1
  141. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +0 -243
  142. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +0 -1
  143. package/dist/cjs/modules/base/utils/model-openapi-generator.js +0 -443
  144. package/dist/cjs/modules/base/utils/model-openapi-generator.js.map +0 -1
  145. package/dist/cjs/modules/base/utils/router-validator.js +0 -13
  146. package/dist/cjs/modules/base/utils/router-validator.js.map +0 -1
  147. package/dist/cjs/modules/base/utils/service-hooks-manager.js +0 -19
  148. package/dist/cjs/modules/base/utils/service-hooks-manager.js.map +0 -1
  149. package/dist/cjs/modules/debugger/debugger.service.js +0 -59
  150. package/dist/cjs/modules/debugger/debugger.service.js.map +0 -1
  151. package/dist/cjs/modules/email/email.service.js +0 -113
  152. package/dist/cjs/modules/email/email.service.js.map +0 -1
  153. package/dist/cjs/modules/error-handler/error-handler.controller.js +0 -70
  154. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +0 -1
  155. package/dist/cjs/modules/error-handler/utils/app-error.js +0 -27
  156. package/dist/cjs/modules/error-handler/utils/app-error.js.map +0 -1
  157. package/dist/cjs/modules/error-handler/utils/catch-async.js +0 -21
  158. package/dist/cjs/modules/error-handler/utils/catch-async.js.map +0 -1
  159. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +0 -104
  160. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +0 -1
  161. package/dist/cjs/modules/error-handler/utils/errors.js +0 -158
  162. package/dist/cjs/modules/error-handler/utils/errors.js.map +0 -1
  163. package/dist/cjs/modules/error-handler/utils/get-handled-error.js +0 -107
  164. package/dist/cjs/modules/error-handler/utils/get-handled-error.js.map +0 -1
  165. package/dist/cjs/modules/error-handler/utils/multer-error-handler.js +0 -39
  166. package/dist/cjs/modules/error-handler/utils/multer-error-handler.js.map +0 -1
  167. package/dist/cjs/modules/file-upload/file-upload.controller.js +0 -252
  168. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +0 -1
  169. package/dist/cjs/modules/file-upload/file-upload.router.js +0 -103
  170. package/dist/cjs/modules/file-upload/file-upload.router.js.map +0 -1
  171. package/dist/cjs/modules/file-upload/file-upload.service.js +0 -343
  172. package/dist/cjs/modules/file-upload/file-upload.service.js.map +0 -1
  173. package/dist/cjs/modules/file-upload/utils/file-upload-json-schema-generator.js +0 -351
  174. package/dist/cjs/modules/file-upload/utils/file-upload-json-schema-generator.js.map +0 -1
  175. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js +0 -134
  176. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js.map +0 -1
  177. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +0 -100
  178. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js.map +0 -1
  179. package/dist/cjs/modules/swagger/swagger.router.js +0 -115
  180. package/dist/cjs/modules/swagger/swagger.router.js.map +0 -1
  181. package/dist/cjs/modules/swagger/utils/get-open-api-login-html.js +0 -308
  182. package/dist/cjs/modules/swagger/utils/get-open-api-login-html.js.map +0 -1
  183. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js +0 -53
  184. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +0 -1
  185. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +0 -72
  186. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +0 -1
  187. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js +0 -333
  188. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js.map +0 -1
  189. package/dist/cjs/package.json +0 -3
  190. package/dist/cjs/server.js +0 -60
  191. package/dist/cjs/server.js.map +0 -1
  192. package/dist/cjs/types/arkos-config/utils.js +0 -3
  193. package/dist/cjs/types/arkos-config/utils.js.map +0 -1
  194. package/dist/cjs/types/arkos-prisma-input.js +0 -3
  195. package/dist/cjs/types/arkos-prisma-input.js.map +0 -1
  196. package/dist/cjs/types/arkos.js +0 -3
  197. package/dist/cjs/types/arkos.js.map +0 -1
  198. package/dist/cjs/types/auth.js +0 -3
  199. package/dist/cjs/types/auth.js.map +0 -1
  200. package/dist/cjs/types/index.js +0 -3
  201. package/dist/cjs/types/index.js.map +0 -1
  202. package/dist/cjs/types/new-arkos-config.js +0 -3
  203. package/dist/cjs/types/new-arkos-config.js.map +0 -1
  204. package/dist/cjs/types/router-config.js +0 -3
  205. package/dist/cjs/types/router-config.js.map +0 -1
  206. package/dist/cjs/types/upload.js +0 -3
  207. package/dist/cjs/types/upload.js.map +0 -1
  208. package/dist/cjs/types/validation/validation-manager.js +0 -55
  209. package/dist/cjs/types/validation/validation-manager.js.map +0 -1
  210. package/dist/cjs/types/validation/validator.js +0 -3
  211. package/dist/cjs/types/validation/validator.js.map +0 -1
  212. package/dist/cjs/utils/arkos-env.js +0 -9
  213. package/dist/cjs/utils/arkos-env.js.map +0 -1
  214. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js +0 -160
  215. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js.map +0 -1
  216. package/dist/cjs/utils/arkos-router/index.js +0 -165
  217. package/dist/cjs/utils/arkos-router/index.js.map +0 -1
  218. package/dist/cjs/utils/arkos-router/route-config-registry.js +0 -16
  219. package/dist/cjs/utils/arkos-router/route-config-registry.js.map +0 -1
  220. package/dist/cjs/utils/arkos-router/route-config-validator.js +0 -56
  221. package/dist/cjs/utils/arkos-router/route-config-validator.js.map +0 -1
  222. package/dist/cjs/utils/arkos-router/types/body-parser-config.js +0 -3
  223. package/dist/cjs/utils/arkos-router/types/body-parser-config.js.map +0 -1
  224. package/dist/cjs/utils/arkos-router/types/index.js +0 -3
  225. package/dist/cjs/utils/arkos-router/types/index.js.map +0 -1
  226. package/dist/cjs/utils/arkos-router/types/openapi-config.js +0 -3
  227. package/dist/cjs/utils/arkos-router/types/openapi-config.js.map +0 -1
  228. package/dist/cjs/utils/arkos-router/types/upload-config.js +0 -3
  229. package/dist/cjs/utils/arkos-router/types/upload-config.js.map +0 -1
  230. package/dist/cjs/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +0 -190
  231. package/dist/cjs/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +0 -1
  232. package/dist/cjs/utils/arkos-router/utils/helpers/index.js +0 -179
  233. package/dist/cjs/utils/arkos-router/utils/helpers/index.js.map +0 -1
  234. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js +0 -560
  235. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js.map +0 -1
  236. package/dist/cjs/utils/bundler.js +0 -163
  237. package/dist/cjs/utils/bundler.js.map +0 -1
  238. package/dist/cjs/utils/cli/build.js +0 -208
  239. package/dist/cjs/utils/cli/build.js.map +0 -1
  240. package/dist/cjs/utils/cli/dev.js +0 -131
  241. package/dist/cjs/utils/cli/dev.js.map +0 -1
  242. package/dist/cjs/utils/cli/export-auth-action.js +0 -80
  243. package/dist/cjs/utils/cli/export-auth-action.js.map +0 -1
  244. package/dist/cjs/utils/cli/generate.js +0 -333
  245. package/dist/cjs/utils/cli/generate.js.map +0 -1
  246. package/dist/cjs/utils/cli/index.js +0 -259
  247. package/dist/cjs/utils/cli/index.js.map +0 -1
  248. package/dist/cjs/utils/cli/prisma-generate.js +0 -112
  249. package/dist/cjs/utils/cli/prisma-generate.js.map +0 -1
  250. package/dist/cjs/utils/cli/start.js +0 -83
  251. package/dist/cjs/utils/cli/start.js.map +0 -1
  252. package/dist/cjs/utils/cli/utils/cli.helpers.js +0 -24
  253. package/dist/cjs/utils/cli/utils/cli.helpers.js.map +0 -1
  254. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js +0 -118
  255. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js.map +0 -1
  256. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +0 -73
  257. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js.map +0 -1
  258. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +0 -846
  259. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js.map +0 -1
  260. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +0 -64
  261. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +0 -1
  262. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js +0 -242
  263. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js.map +0 -1
  264. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js +0 -51
  265. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js.map +0 -1
  266. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +0 -23
  267. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +0 -1
  268. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +0 -50
  269. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +0 -1
  270. package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js +0 -545
  271. package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js.map +0 -1
  272. package/dist/cjs/utils/cli/utils/template-generators.js +0 -62
  273. package/dist/cjs/utils/cli/utils/template-generators.js.map +0 -1
  274. package/dist/cjs/utils/cli/utils/watermark-stamper.js +0 -26
  275. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +0 -1
  276. package/dist/cjs/utils/define-config.js +0 -60
  277. package/dist/cjs/utils/define-config.js.map +0 -1
  278. package/dist/cjs/utils/docs-links.js +0 -5
  279. package/dist/cjs/utils/docs-links.js.map +0 -1
  280. package/dist/cjs/utils/dotenv.helpers.js +0 -46
  281. package/dist/cjs/utils/dotenv.helpers.js.map +0 -1
  282. package/dist/cjs/utils/dynamic-loader.js +0 -22
  283. package/dist/cjs/utils/dynamic-loader.js.map +0 -1
  284. package/dist/cjs/utils/expand-env.js +0 -72
  285. package/dist/cjs/utils/expand-env.js.map +0 -1
  286. package/dist/cjs/utils/features/api.features.js +0 -216
  287. package/dist/cjs/utils/features/api.features.js.map +0 -1
  288. package/dist/cjs/utils/features/port-and-host-allocator.js +0 -129
  289. package/dist/cjs/utils/features/port-and-host-allocator.js.map +0 -1
  290. package/dist/cjs/utils/helpers/api.features.helpers.js +0 -347
  291. package/dist/cjs/utils/helpers/api.features.helpers.js.map +0 -1
  292. package/dist/cjs/utils/helpers/arkos-config.helpers.js +0 -106
  293. package/dist/cjs/utils/helpers/arkos-config.helpers.js.map +0 -1
  294. package/dist/cjs/utils/helpers/change-case.helpers.js +0 -177
  295. package/dist/cjs/utils/helpers/change-case.helpers.js.map +0 -1
  296. package/dist/cjs/utils/helpers/deepmerge.helper.js +0 -115
  297. package/dist/cjs/utils/helpers/deepmerge.helper.js.map +0 -1
  298. package/dist/cjs/utils/helpers/exit-error.js +0 -13
  299. package/dist/cjs/utils/helpers/exit-error.js.map +0 -1
  300. package/dist/cjs/utils/helpers/fs.helpers.js +0 -52
  301. package/dist/cjs/utils/helpers/fs.helpers.js.map +0 -1
  302. package/dist/cjs/utils/helpers/global.helpers.js +0 -106
  303. package/dist/cjs/utils/helpers/global.helpers.js.map +0 -1
  304. package/dist/cjs/utils/helpers/prisma.helpers.js +0 -56
  305. package/dist/cjs/utils/helpers/prisma.helpers.js.map +0 -1
  306. package/dist/cjs/utils/helpers/query-parser.helpers.js +0 -69
  307. package/dist/cjs/utils/helpers/query-parser.helpers.js.map +0 -1
  308. package/dist/cjs/utils/helpers/routers.helpers.js +0 -36
  309. package/dist/cjs/utils/helpers/routers.helpers.js.map +0 -1
  310. package/dist/cjs/utils/helpers/text.helpers.js +0 -28
  311. package/dist/cjs/utils/helpers/text.helpers.js.map +0 -1
  312. package/dist/cjs/utils/helpers/url-helpers.js +0 -14
  313. package/dist/cjs/utils/helpers/url-helpers.js.map +0 -1
  314. package/dist/cjs/utils/initialize-app.js +0 -80
  315. package/dist/cjs/utils/initialize-app.js.map +0 -1
  316. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +0 -366
  317. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +0 -1
  318. package/dist/cjs/utils/prisma/prisma-schema-parser.js +0 -380
  319. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +0 -1
  320. package/dist/cjs/utils/prisma/types.js +0 -3
  321. package/dist/cjs/utils/prisma/types.js.map +0 -1
  322. package/dist/cjs/utils/remove-dir.js +0 -14
  323. package/dist/cjs/utils/remove-dir.js.map +0 -1
  324. package/dist/cjs/utils/setup-app.js +0 -136
  325. package/dist/cjs/utils/setup-app.js.map +0 -1
  326. package/dist/cjs/utils/sheu.js +0 -131
  327. package/dist/cjs/utils/sheu.js.map +0 -1
  328. package/dist/cjs/utils/validate-dto.js +0 -19
  329. package/dist/cjs/utils/validate-dto.js.map +0 -1
  330. package/dist/cjs/utils/validate-schema.js +0 -75
  331. package/dist/cjs/utils/validate-schema.js.map +0 -1
  332. package/dist/esm/components/arkos-service-hook/index.js +0 -32
  333. package/dist/esm/components/arkos-service-hook/index.js.map +0 -1
  334. package/dist/esm/components/arkos-service-hook/reader.js +0 -24
  335. package/dist/esm/components/arkos-service-hook/reader.js.map +0 -1
  336. package/dist/esm/components/arkos-service-hook/types.js +0 -2
  337. package/dist/esm/components/arkos-service-hook/types.js.map +0 -1
  338. package/dist/esm/modules/base/utils/service-hooks-manager.js +0 -17
  339. package/dist/esm/modules/base/utils/service-hooks-manager.js.map +0 -1
  340. package/dist/types/components/arkos-service-hook/index.d.ts +0 -41
  341. package/dist/types/components/arkos-service-hook/reader.d.ts +0 -35
  342. package/dist/types/components/arkos-service-hook/types.d.ts +0 -219
  343. package/dist/types/modules/base/utils/service-hooks-manager.d.ts +0 -10
@@ -1,25 +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.isProduction = exports.ArkosPolicy = exports.ArkosRouter = exports.ArkosServiceHook = exports.ArkosRouteHook = exports.getArkosConfig = exports.loadEnvironmentVariables = exports.BaseController = void 0;
7
- const base_controller_1 = require("./../modules/base/base.controller.js");
8
- Object.defineProperty(exports, "BaseController", { enumerable: true, get: function () { return base_controller_1.BaseController; } });
9
- const server_1 = require("../server.js");
10
- Object.defineProperty(exports, "getArkosConfig", { enumerable: true, get: function () { return server_1.getArkosConfig; } });
11
- const arkos_router_1 = __importDefault(require("../utils/arkos-router/index.js"));
12
- exports.ArkosRouter = arkos_router_1.default;
13
- const dotenv_helpers_1 = require("../utils/dotenv.helpers.js");
14
- Object.defineProperty(exports, "loadEnvironmentVariables", { enumerable: true, get: function () { return dotenv_helpers_1.loadEnvironmentVariables; } });
15
- const app_1 = require("../app.js");
16
- const arkos_route_hook_1 = require("../components/arkos-route-hook/index.js");
17
- Object.defineProperty(exports, "ArkosRouteHook", { enumerable: true, get: function () { return arkos_route_hook_1.ArkosRouteHook; } });
18
- const arkos_service_hook_1 = require("../components/arkos-service-hook/index.js");
19
- Object.defineProperty(exports, "ArkosServiceHook", { enumerable: true, get: function () { return arkos_service_hook_1.ArkosServiceHook; } });
20
- const arkos_policy_1 = require("../components/arkos-policy/index.js");
21
- Object.defineProperty(exports, "ArkosPolicy", { enumerable: true, get: function () { return arkos_policy_1.ArkosPolicy; } });
22
- const arkos_config_helpers_1 = require("../utils/helpers/arkos-config.helpers.js");
23
- Object.defineProperty(exports, "isProduction", { enumerable: true, get: function () { return arkos_config_helpers_1.isProduction; } });
24
- exports.default = app_1.arkos;
25
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":";;;;;;AACA,uEAAmE;AA8BjE,+FA9BO,gCAAc,OA8BP;AA7BhB,sCAA2C;AAkCzC,+FAlCO,uBAAc,OAkCP;AAjChB,yEAAgD;AAoC9C,sBApCK,sBAAW,CAoCL;AA1Bb,4DAAmE;AAsBjE,yGAtBO,yCAAwB,OAsBP;AArB1B,gCAA+B;AAC/B,qEAAgE;AAsB9D,+FAtBO,iCAAc,OAsBP;AArBhB,yEAAoE;AAsBlE,iGAtBO,qCAAgB,OAsBP;AApBlB,6DAAyD;AAwBvD,4FAxBO,0BAAW,OAwBP;AApBb,gFAAqE;AAuBnE,6FAvBO,mCAAY,OAuBP;AAGd,kBAAe,WAAK,CAAC","sourcesContent":["import { RouterConfig, RouteHook } from \"../types/router-config\";\nimport { BaseController } from \"./../modules/base/base.controller\";\nimport { getArkosConfig } from \"../server\";\nimport ArkosRouter from \"../utils/arkos-router\";\nimport { IArkosRouter } from \"../utils/arkos-router/types\";\nimport { ArkosRouteConfig } from \"../utils/arkos-router/types\";\nimport {\n ArkosRequest,\n ArkosResponse,\n ArkosNextFunction,\n ArkosRequestHandler,\n} from \"../types\";\nimport { ArkosConfig } from \"../types/new-arkos-config\";\nimport { loadEnvironmentVariables } from \"../utils/dotenv.helpers\";\nimport { arkos } from \"../app\";\nimport { ArkosRouteHook } from \"../components/arkos-route-hook\";\nimport { ArkosServiceHook } from \"../components/arkos-service-hook\";\nimport { ArkosRouteHookInstance } from \"../components/arkos-route-hook/types\";\nimport { ArkosPolicy } from \"../components/arkos-policy\";\nimport { IArkosPolicy } from \"../components/arkos-policy/types\";\nimport type { ArkosLoadable } from \"../types/arkos\";\nimport { ArkosFile } from \"../types/upload\";\nimport { isProduction } from \"../utils/helpers/arkos-config.helpers\";\n\nexport {\n ArkosLoadable,\n ArkosRequest,\n ArkosResponse,\n ArkosNextFunction,\n ArkosRequestHandler,\n IArkosRouter,\n BaseController,\n ArkosConfig,\n RouterConfig,\n RouteHook,\n loadEnvironmentVariables,\n getArkosConfig,\n ArkosRouteHook,\n ArkosServiceHook,\n ArkosRouter,\n ArkosRouteConfig,\n ArkosRouteHookInstance,\n ArkosPolicy,\n IArkosPolicy,\n ArkosFile,\n isProduction,\n};\n\nexport default arkos;\n"]}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleRequestBodyValidationAndTransformation = exports.addPrismaQueryOptionsToRequest = void 0;
4
- var base_middlewares_1 = require("../../modules/base/base.middlewares.js");
5
- Object.defineProperty(exports, "addPrismaQueryOptionsToRequest", { enumerable: true, get: function () { return base_middlewares_1.addPrismaQueryOptionsToRequest; } });
6
- Object.defineProperty(exports, "handleRequestBodyValidationAndTransformation", { enumerable: true, get: function () { return base_middlewares_1.handleRequestBodyValidationAndTransformation; } });
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/middlewares/index.ts"],"names":[],"mappings":";;;AAAA,wEAG6C;AAF3C,kIAAA,8BAA8B,OAAA;AAC9B,gJAAA,4CAA4C,OAAA","sourcesContent":["export {\n addPrismaQueryOptionsToRequest,\n handleRequestBodyValidationAndTransformation,\n} from \"../../modules/base/base.middlewares\";\n"]}
@@ -1,13 +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.prismaSchemaParser = void 0;
7
- exports.getPrismaModels = getPrismaModels;
8
- const prisma_schema_parser_1 = __importDefault(require("../../utils/prisma/prisma-schema-parser.js"));
9
- exports.prismaSchemaParser = prisma_schema_parser_1.default;
10
- function getPrismaModels() {
11
- return prisma_schema_parser_1.default.models.map(({ name }) => name);
12
- }
13
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/prisma/index.ts"],"names":[],"mappings":";;;;;;AAIA,0CAEC;AALD,mGAAyE;AAQvE,6BARK,8BAAkB,CAQL;AALpB,SAAgB,eAAe;IAC7B,OAAO,8BAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC","sourcesContent":["import { PrismaQueryOptions, AuthPrismaQueryOptions } from \"../../types\";\nimport prismaSchemaParser from \"../../utils/prisma/prisma-schema-parser\";\nimport { ArkosPrismaInput } from \"../../types/arkos-prisma-input\";\n\nexport function getPrismaModels() {\n return prismaSchemaParser.models.map(({ name }) => name);\n}\nexport {\n PrismaQueryOptions,\n prismaSchemaParser,\n AuthPrismaQueryOptions,\n ArkosPrismaInput,\n};\n"]}
@@ -1,53 +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.FileUploadService = exports.getFileUploadServices = exports.EmailService = exports.emailService = exports.ArkosPrismaService = exports.authActionService = exports.AuthService = exports.authService = void 0;
40
- const file_upload_service_1 = require("../../modules/file-upload/file-upload.service.js");
41
- Object.defineProperty(exports, "getFileUploadServices", { enumerable: true, get: function () { return file_upload_service_1.getFileUploadServices; } });
42
- Object.defineProperty(exports, "FileUploadService", { enumerable: true, get: function () { return file_upload_service_1.FileUploadService; } });
43
- const auth_service_1 = __importStar(require("../../modules/auth/auth.service.js"));
44
- exports.authService = auth_service_1.default;
45
- Object.defineProperty(exports, "AuthService", { enumerable: true, get: function () { return auth_service_1.AuthService; } });
46
- const email_service_1 = __importStar(require("../../modules/email/email.service.js"));
47
- exports.emailService = email_service_1.default;
48
- Object.defineProperty(exports, "EmailService", { enumerable: true, get: function () { return email_service_1.EmailService; } });
49
- const base_service_1 = require("../../modules/base/base.service.js");
50
- Object.defineProperty(exports, "ArkosPrismaService", { enumerable: true, get: function () { return base_service_1.ArkosPrismaService; } });
51
- const auth_action_service_1 = __importDefault(require("../../modules/auth/utils/services/auth-action.service.js"));
52
- exports.authActionService = auth_action_service_1.default;
53
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uFAGuD;AAuF9C,sGAzFP,2CAAqB,OAyFO;AAAE,kGAxF9B,uCAAiB,OAwF8B;AArFjD,gFAA2E;AAuClE,sBAvCF,sBAAW,CAuCE;AAAE,4FAvCA,0BAAW,OAuCA;AAtCjC,mFAA+E;AA+EtE,uBA/EF,uBAAY,CA+EE;AAAE,6FA/EA,4BAAY,OA+EA;AA9EnC,kEAAqE;AA2CnE,mGA3CO,iCAAkB,OA2CP;AA1CpB,gHAAsF;AAoCnD,4BApC5B,6BAAiB,CAoC4B","sourcesContent":["import {\n getFileUploadServices,\n FileUploadService,\n} from \"../../modules/file-upload/file-upload.service\";\nimport { EmailOptions } from \"../../modules/email/email.service\";\nimport authService, { AuthService } from \"../../modules/auth/auth.service\";\nimport emailService, { EmailService } from \"../../modules/email/email.service\";\nimport { ArkosPrismaService } from \"../../modules/base/base.service\";\nimport authActionService from \"../../modules/auth/utils/services/auth-action.service\";\nimport {\n ServiceHookContext,\n BeforeCreateOneHookArgs,\n AfterCreateOneHookArgs,\n BeforeCreateManyHookArgs,\n AfterCreateManyHookArgs,\n BeforeCountHookArgs,\n AfterCountHookArgs,\n BeforeFindManyHookArgs,\n AfterFindManyHookArgs,\n BeforeFindOneHookArgs,\n AfterFindOneHookArgs,\n BeforeUpdateOneHookArgs,\n AfterUpdateOneHookArgs,\n BeforeUpdateManyHookArgs,\n AfterUpdateManyHookArgs,\n BeforeDeleteOneHookArgs,\n AfterDeleteOneHookArgs,\n BeforeDeleteManyHookArgs,\n AfterDeleteManyHookArgs,\n OnCreateOneErrorHookArgs,\n OnCreateManyErrorHookArgs,\n OnCountErrorHookArgs,\n OnFindManyErrorHookArgs,\n OnFindByIdErrorHookArgs,\n OnFindOneErrorHookArgs,\n OnUpdateOneErrorHookArgs,\n OnUpdateManyErrorHookArgs,\n OnDeleteOneErrorHookArgs,\n OnDeleteManyErrorHookArgs,\n} from \"../../components/arkos-service-hook/types\";\n\n/**\n * Authentication service.\n */\nexport { authService, AuthService, authActionService };\n\n/**\n * Base service.\n */\nexport {\n ArkosPrismaService,\n ServiceHookContext,\n BeforeCreateOneHookArgs,\n AfterCreateOneHookArgs,\n BeforeCreateManyHookArgs,\n AfterCreateManyHookArgs,\n BeforeCountHookArgs,\n AfterCountHookArgs,\n BeforeFindManyHookArgs,\n AfterFindManyHookArgs,\n BeforeFindOneHookArgs,\n AfterFindOneHookArgs,\n BeforeUpdateOneHookArgs,\n AfterUpdateOneHookArgs,\n BeforeUpdateManyHookArgs,\n AfterUpdateManyHookArgs,\n BeforeDeleteOneHookArgs,\n AfterDeleteOneHookArgs,\n BeforeDeleteManyHookArgs,\n AfterDeleteManyHookArgs,\n OnCreateOneErrorHookArgs,\n OnCreateManyErrorHookArgs,\n OnCountErrorHookArgs,\n OnFindManyErrorHookArgs,\n OnFindByIdErrorHookArgs,\n OnFindOneErrorHookArgs,\n OnUpdateOneErrorHookArgs,\n OnUpdateManyErrorHookArgs,\n OnDeleteOneErrorHookArgs,\n OnDeleteManyErrorHookArgs,\n};\n\n/**\n * Email service.\n */\nexport { emailService, EmailService, EmailOptions };\n\n/**\n * File upload services.\n */\nexport { getFileUploadServices, FileUploadService };\n"]}
@@ -1,26 +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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.loadEnvironmentVariables = exports.APIFeatures = void 0;
21
- __exportStar(require("../../utils/helpers/change-case.helpers.js"), exports);
22
- const api_features_1 = __importDefault(require("../../utils/features/api.features.js"));
23
- exports.APIFeatures = api_features_1.default;
24
- const dotenv_helpers_1 = require("../../utils/dotenv.helpers.js");
25
- Object.defineProperty(exports, "loadEnvironmentVariables", { enumerable: true, get: function () { return dotenv_helpers_1.loadEnvironmentVariables; } });
26
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,0EAAwD;AAExD,qFAA4D;AAGnD,sBAHF,sBAAW,CAGE;AAFpB,+DAAsE;AAEhD,yGAFb,yCAAwB,OAEa","sourcesContent":["export * from \"../../utils/helpers/change-case.helpers\";\nexport { MsDuration } from \"../../modules/auth/utils/helpers/auth.controller.helpers\";\nimport APIFeatures from \"../../utils/features/api.features\";\nimport { loadEnvironmentVariables } from \"../../utils/dotenv.helpers\";\n\nexport { APIFeatures, loadEnvironmentVariables };\n"]}
@@ -1,11 +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.validateSchema = exports.validateDto = void 0;
7
- const validate_dto_1 = __importDefault(require("../../utils/validate-dto.js"));
8
- exports.validateDto = validate_dto_1.default;
9
- const validate_schema_1 = __importDefault(require("../../utils/validate-schema.js"));
10
- exports.validateSchema = validate_schema_1.default;
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/validation/index.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAmD;AAG1C,sBAHF,sBAAW,CAGE;AAFpB,kFAAyD;AAEnC,yBAFf,yBAAc,CAEe","sourcesContent":["import validateDto from \"../../utils/validate-dto\";\nimport validateSchema from \"../../utils/validate-schema\";\n\nexport { validateDto, validateSchema };\n"]}
@@ -1,13 +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.ArkosGateway = exports.ArkosGatewayController = exports.IArkosGateway = void 0;
7
- const arkos_gateway_1 = __importDefault(require("../components/arkos-gateway/arkos-gateway.js"));
8
- exports.ArkosGateway = arkos_gateway_1.default;
9
- var arkos_gateway_2 = require("../components/arkos-gateway/arkos-gateway.js");
10
- Object.defineProperty(exports, "IArkosGateway", { enumerable: true, get: function () { return arkos_gateway_2.IArkosGateway; } });
11
- var types_1 = require("../components/arkos-gateway/types.js");
12
- Object.defineProperty(exports, "ArkosGatewayController", { enumerable: true, get: function () { return types_1.ArkosGatewayController; } });
13
- //# sourceMappingURL=websockets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"websockets.js","sourceRoot":"","sources":["../../../src/exports/websockets.ts"],"names":[],"mappings":";;;;;;AAAA,8FAAqE;AAgB5D,uBAhBF,uBAAY,CAgBE;AAdrB,2EAA0E;AAAjE,8GAAA,aAAa,OAAA;AACtB,2DAA2E;AAAlE,+GAAA,sBAAsB,OAAA","sourcesContent":["import ArkosGateway from \"../components/arkos-gateway/arkos-gateway\";\n\nexport { IArkosGateway } from \"../components/arkos-gateway/arkos-gateway\";\nexport { ArkosGatewayController } from \"../components/arkos-gateway/types\";\nexport type {\n ArkosSocket,\n ArkosGatewayConfig,\n ArkosGatewayEventConfig,\n ArkosGatewayHandler,\n ArkosGatewayPipe,\n ArkosGatewayConnectionHandler,\n ArkosGatewayErrorHandler,\n ArkosGatewayAckFn,\n ArkosBroadcastOperator,\n} from \"../components/arkos-gateway/types\";\n\nexport { ArkosGateway };\n"]}
@@ -1,7 +0,0 @@
1
- // Auto-generated: re-exports from @arkosjs/generated
2
- // This file is overwritten by scripts/generate-post-build-types.ts at build time.
3
- "use strict";
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.PrismaClient = void 0;
6
- const generated_1 = require("@arkosjs/generated");
7
- exports.PrismaClient = generated_1.PrismaClient;
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated.js","sourceRoot":"","sources":["../../src/generated.ts"],"names":[],"mappings":";;;AAyIA,MAAa,YAAY;CAExB;AAFD,oCAEC","sourcesContent":["/**\n * @maintainers THIS FILE IS A STUB — DO NOT PUT REAL LOGIC HERE.\n *\n * This file exists only so the Arkos source compiles during development.\n * It is completely overwritten at build time by `scripts/generate-post-build-types.ts`,\n * which replaces it with re-exports from `@arkosjs/types` — a folder generated\n * in the user's `node_modules` by `npx arkos prisma generate`.\n *\n * This is the single gateway for all Prisma-dependent types and values.\n * DO NOT import from `@prisma/client` or any user-project-specific module\n * anywhere else in the codebase — add it here instead.\n *\n * To add a new generated type or value:\n * 1. Add a stub export here\n * 2. Add the real export to the `npx arkos prisma generate` output in\n * `src/utils/cli/commands/prisma-generate.command.ts`\n * 3. Add it to the overwrite in `scripts/generate-post-build-types.ts`\n */\n\n/**\n * A map of all Prisma models in the user's project.\n * Each key is a kebab-case model name, each value contains the full\n * Prisma delegate, payload, and args types for that model.\n *\n * Stub during Arkos development — replaced with real generated types\n * after `npx arkos prisma generate`.\n *\n * @example\n * ```ts\n * class ArkosPrismaService<TModelName extends keyof PrismaModels<any>> {}\n * ```\n */\n\ninterface StubWhereArgs {\n where?: { id?: any; [key: string]: any };\n [key: string]: any;\n}\n\ninterface StubWhereUniqueArgs {\n where: { id?: any; [key: string]: any };\n [key: string]: any;\n}\n\ninterface StubDataArgs {\n data: Record<string, any>;\n [key: string]: any;\n}\n\ninterface StubWhereDataArgs {\n where: { id?: any; [key: string]: any };\n data: Record<string, any>;\n [key: string]: any;\n}\n\ninterface StubPaginationArgs extends StubWhereArgs {\n orderBy?: Record<string, any>;\n select?: Record<string, any>;\n include?: Record<string, any>;\n skip?: number;\n take?: number;\n cursor?: Record<string, any>;\n}\n\ninterface StubCountArgs extends StubWhereArgs {\n select?: Record<string, any>;\n orderBy?: Record<string, any>;\n skip?: number;\n take?: number;\n cursor?: Record<string, any>;\n}\n\n/**\n * Extracts the `where` filter type from a Prisma args type.\n * @example ExtractPrismaFilters<PrismaModels<any>['user']['FindManyArgs']>\n */\nexport type ExtractPrismaFilters<T> = T extends {\n where?: infer W;\n [key: string]: any;\n}\n ? W\n : any;\n\n/**\n * Extracts the `data` type from a Prisma args type.\n * @example ExtractPrismaData<PrismaModels<any>['user']['CreateArgs']>\n */\nexport type ExtractPrismaData<T> = T extends {\n data: infer D;\n [key: string]: any;\n}\n ? D\n : any;\n\n/**\n * Extracts query options from a Prisma args type by omitting the specified keys.\n * @example ExtractPrismaQueryOptions<PrismaModels<any>['user']['CreateArgs'], 'data'>\n */\nexport type ExtractPrismaQueryOptions<T, K extends keyof T = never> = Omit<\n T,\n K\n>;\n\n/**\n * A map of all Prisma models in the user's project.\n * Each key is a kebab-case model name, each value contains the full\n * Prisma delegate, payload, and args types for that model.\n *\n * Stub during Arkos development — replaced with real generated types\n * after `npx arkos prisma generate`.\n *\n * @example\n * ```ts\n * class ArkosPrismaService<TModelName extends keyof PrismaModels<any>> {}\n * ```\n */\nexport type PrismaModels<T extends Record<string, any>> = Record<\n string,\n {\n Delegate: Record<string, (...args: any[]) => any>;\n GetPayload: Record<string, any>;\n FindManyArgs: StubPaginationArgs;\n FindFirstArgs: StubPaginationArgs;\n CreateArgs: StubDataArgs;\n CreateManyArgs: StubDataArgs;\n UpdateArgs: StubWhereDataArgs;\n UpdateManyArgs: StubWhereDataArgs;\n DeleteArgs: StubWhereUniqueArgs;\n DeleteManyArgs: StubWhereArgs;\n CountArgs: StubCountArgs;\n }\n>;\n\n/**\n * Stub PrismaClient for Arkos development.\n * Replaced with the real `PrismaClient` from `@prisma/client` after\n * `npx arkos prisma generate`.\n */\nexport class PrismaClient {\n [key: string]: any;\n}\n"]}
@@ -1,254 +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.authController = exports.AuthController = exports.defaultExcludedUserFields = void 0;
7
- const catch_async_1 = __importDefault(require("../error-handler/utils/catch-async.js"));
8
- const app_error_1 = __importDefault(require("../error-handler/utils/app-error.js"));
9
- const auth_service_1 = __importDefault(require("./auth.service.js"));
10
- const base_service_1 = require("../base/base.service.js");
11
- const server_1 = require("../../server.js");
12
- const auth_controller_helpers_1 = require("./utils/helpers/auth.controller.helpers.js");
13
- const auth_action_service_1 = __importDefault(require("./utils/services/auth-action.service.js"));
14
- const reader_1 = require("../../components/arkos-route-hook/reader.js");
15
- exports.defaultExcludedUserFields = {
16
- password: false,
17
- };
18
- class AuthController {
19
- constructor() {
20
- this.getMe = (0, catch_async_1.default)(async (req, res, next) => {
21
- const user = (await this.getUserService().findOne({ id: req.user.id }, req.prismaQueryOptions || {}));
22
- Object.keys(exports.defaultExcludedUserFields).forEach((key) => {
23
- if (user)
24
- delete user[key];
25
- });
26
- if (reader_1.routeHookReader.getHooks("auth", "getMe")?.after) {
27
- res.originalData = { data: user };
28
- req.responseData = { data: user };
29
- res.locals.data = { data: user };
30
- res.originalStatus = 200;
31
- req.responseStatus = 200;
32
- res.locals.status = 200;
33
- return next();
34
- }
35
- res.status(200).json({ data: user });
36
- });
37
- this.updateMe = (0, catch_async_1.default)(async (req, res, next) => {
38
- if ("password" in req.body)
39
- throw new app_error_1.default("In order to update password use the update-password endpoint.", 400, "InvalidFieldPassword");
40
- const user = (await this.getUserService().updateOne({ id: req.user.id }, req.body, req.prismaQueryOptions || {}));
41
- Object.keys(exports.defaultExcludedUserFields).forEach((key) => {
42
- if (user)
43
- delete user[key];
44
- });
45
- if (reader_1.routeHookReader.getHooks("auth", "updateMe")?.after) {
46
- res.originalData = { data: user };
47
- req.responseData = { data: user };
48
- res.locals.data = { data: user };
49
- res.originalStatus = 200;
50
- req.responseStatus = 200;
51
- res.locals.status = 200;
52
- return next();
53
- }
54
- res.status(200).json({ data: user });
55
- });
56
- this.logout = (0, catch_async_1.default)(async (req, res, next) => {
57
- res.cookie("arkos_access_token", "no-token", {
58
- expires: new Date(Date.now() + 10 * 1000),
59
- httpOnly: true,
60
- });
61
- if (reader_1.routeHookReader.getHooks("auth", "logout")?.after) {
62
- res.originalData = null;
63
- req.responseData = null;
64
- res.locals.data = null;
65
- res.originalStatus = 204;
66
- req.responseStatus = 204;
67
- res.locals.status = 204;
68
- return next();
69
- }
70
- res.status(204).json();
71
- });
72
- this.login = (0, catch_async_1.default)(async (req, res, next) => {
73
- const authConfigs = (0, server_1.getArkosConfig)()?.authentication;
74
- const usernameField = (0, auth_controller_helpers_1.determineUsernameField)(req);
75
- const lastField = usernameField.split(".")[usernameField.split(".").length - 1];
76
- const usernameValue = req.body[lastField];
77
- const { password } = req.body;
78
- if (!usernameValue || !password)
79
- return next(new app_error_1.default(`Please provide both ${lastField} and password`, 400, `MissingCredentialFields`));
80
- let whereClause;
81
- if (usernameField?.includes?.(".")) {
82
- const valueToFind = (0, auth_controller_helpers_1.getNestedValue)(req.body, usernameField);
83
- if (valueToFind === undefined) {
84
- return next(new app_error_1.default(`Invalid ${usernameField} provided`, 400));
85
- }
86
- whereClause = (0, auth_controller_helpers_1.createPrismaWhereClause)(usernameField, valueToFind);
87
- }
88
- else {
89
- whereClause = { [usernameField]: usernameValue };
90
- }
91
- const user = (await this.getUserService().findOne(whereClause, req.prismaQueryOptions || {}));
92
- if (!user ||
93
- !(await auth_service_1.default.isCorrectPassword(password, user.password))) {
94
- return next(new app_error_1.default(`Incorrect ${lastField} or password`, 401, `IncorrectCredentials`));
95
- }
96
- const token = auth_service_1.default.signJwtToken(user.id);
97
- const cookieOptions = auth_service_1.default.getJwtCookieOptions(req);
98
- if (authConfigs?.login?.sendAccessTokenThrough === "response-only" ||
99
- authConfigs?.login?.sendAccessTokenThrough === "both" ||
100
- !authConfigs?.login?.sendAccessTokenThrough) {
101
- req.responseData = { accessToken: token };
102
- res.locals.data = { accessToken: token };
103
- }
104
- if (authConfigs?.login?.sendAccessTokenThrough === "cookie-only" ||
105
- authConfigs?.login?.sendAccessTokenThrough === "both" ||
106
- !authConfigs?.login?.sendAccessTokenThrough)
107
- res.cookie("arkos_access_token", token, cookieOptions);
108
- req.accessToken = token;
109
- if (reader_1.routeHookReader.getHooks("auth", "login")?.after) {
110
- res.originalData = req.responseData;
111
- req.additionalData = { user };
112
- res.locals.additional = { user };
113
- res.originalStatus = 200;
114
- req.responseStatus = 200;
115
- res.locals.status = 200;
116
- return next();
117
- }
118
- if (authConfigs?.login?.sendAccessTokenThrough === "response-only" ||
119
- authConfigs?.login?.sendAccessTokenThrough === "both" ||
120
- !authConfigs?.login?.sendAccessTokenThrough) {
121
- res.status(200).json(req.responseData);
122
- }
123
- else if (authConfigs?.login?.sendAccessTokenThrough === "cookie-only" ||
124
- authConfigs?.login?.sendAccessTokenThrough === "both" ||
125
- !authConfigs?.login?.sendAccessTokenThrough)
126
- res.status(200).send();
127
- });
128
- this.signup = (0, catch_async_1.default)(async (req, res, next) => {
129
- const user = (await this.getUserService().createOne(req.body, req.prismaQueryOptions || {}));
130
- if (reader_1.routeHookReader.getHooks("auth", "signup")?.after) {
131
- res.originalData = { data: user };
132
- req.responseData = { data: user };
133
- res.locals.data = { data: user };
134
- res.originalStatus = 201;
135
- req.responseStatus = 201;
136
- res.locals.status = 201;
137
- return next();
138
- }
139
- Object.keys(exports.defaultExcludedUserFields).forEach((key) => {
140
- delete user[key];
141
- });
142
- res.status(201).json({ data: user });
143
- });
144
- this.deleteMe = (0, catch_async_1.default)(async (req, res, next) => {
145
- const userId = req.user.id;
146
- const updatedUser = (await this.getUserService().updateOne({ id: userId }, { deletedSelfAccountAt: new Date().toISOString() }, req.prismaQueryOptions || {}));
147
- if (reader_1.routeHookReader.getHooks("auth", "deleteMe")?.after) {
148
- res.originalData = { data: updatedUser };
149
- req.responseData = { data: updatedUser };
150
- res.locals.data = { data: updatedUser };
151
- res.originalStatus = 200;
152
- req.responseStatus = 200;
153
- res.locals.status = 200;
154
- return next();
155
- }
156
- Object.keys(exports.defaultExcludedUserFields).forEach((key) => {
157
- delete updatedUser[key];
158
- });
159
- res.status(200).json({ message: "Account deleted successfully" });
160
- });
161
- this.updatePassword = (0, catch_async_1.default)(async (req, res, next) => {
162
- const { currentPassword, newPassword } = req.body;
163
- if (!currentPassword || !newPassword)
164
- return next(new app_error_1.default("currentPassword and newPassword are required", 400, "SameCurrentAndNewPassword"));
165
- const user = req.user;
166
- if (!user || user?.isActive === false || user?.deletedSelfAccountAt)
167
- return next(new app_error_1.default("User not found!", 404));
168
- const isPasswordCorrect = await auth_service_1.default.isCorrectPassword(String(currentPassword), String(user.password));
169
- const configs = (0, server_1.getArkosConfig)();
170
- const initAuthConfigs = configs?.authentication;
171
- if (!isPasswordCorrect)
172
- return next(new app_error_1.default("Current password is incorrect", 400, "IncorrentCurrentPassword"));
173
- if (!auth_service_1.default.isPasswordStrong(String(newPassword)) &&
174
- !configs?.validation) {
175
- return next(new app_error_1.default(initAuthConfigs?.passwordValidation?.message ||
176
- "The new password must contain at least one uppercase letter, one lowercase letter, and one number", 400, "PasswordDoesNotMeetRequirements"));
177
- }
178
- await this.getUserService().updateOne({ id: user.id }, {
179
- password: await auth_service_1.default.hashPassword(newPassword),
180
- passwordChangedAt: new Date(Date.now()).toISOString(),
181
- });
182
- const token = auth_service_1.default.signJwtToken(user.id);
183
- const cookieOptions = auth_service_1.default.getJwtCookieOptions(req);
184
- const authConfigs = (0, server_1.getArkosConfig)()?.authentication;
185
- const responseData = {
186
- status: "success",
187
- message: "Password updated successfully!",
188
- };
189
- if (authConfigs?.login?.sendAccessTokenThrough === "response-only" ||
190
- authConfigs?.login?.sendAccessTokenThrough === "both" ||
191
- !authConfigs?.login?.sendAccessTokenThrough) {
192
- responseData.accessToken = token;
193
- }
194
- if (authConfigs?.login?.sendAccessTokenThrough === "cookie-only" ||
195
- authConfigs?.login?.sendAccessTokenThrough === "both" ||
196
- !authConfigs?.login?.sendAccessTokenThrough)
197
- res.cookie("arkos_access_token", token, cookieOptions);
198
- req.accessToken = token;
199
- if (reader_1.routeHookReader.getHooks("auth", "updatePassword")?.after) {
200
- res.originalData = responseData;
201
- req.additionalData = { user };
202
- req.responseData = responseData;
203
- res.locals.data = responseData;
204
- res.originalStatus = 200;
205
- req.responseStatus = 200;
206
- res.locals.status = 200;
207
- return next();
208
- }
209
- res.status(200).json(responseData);
210
- });
211
- this.findManyAuthAction = (0, catch_async_1.default)(async (_, res) => {
212
- const arkosConfig = (0, server_1.getArkosConfig)();
213
- const authActions = auth_action_service_1.default.getAll()?.map((authAction) => {
214
- if (arkosConfig?.authentication?.mode === "dynamic")
215
- delete authAction?.roles;
216
- return authAction;
217
- });
218
- res.json({
219
- total: authActions.length,
220
- results: authActions.length,
221
- data: authActions,
222
- });
223
- });
224
- this.findOneAuthAction = (0, catch_async_1.default)(async (req, res) => {
225
- const arkosConfig = (0, server_1.getArkosConfig)();
226
- const resourceName = req.params?.resourceName;
227
- if (!resourceName)
228
- throw new app_error_1.default(`Please provide a resoureName`, 400, "MissiongResourseName");
229
- const authActions = auth_action_service_1.default
230
- .getByResource(req.params?.resourceName)
231
- ?.map((authAction) => {
232
- if (arkosConfig?.authentication?.mode === "dynamic")
233
- delete authAction?.roles;
234
- return authAction;
235
- });
236
- if (!authActions)
237
- throw new app_error_1.default(`No auth action with resource name ${resourceName}`, 404, "AuthActionNotFound");
238
- res.json({
239
- total: authActions.length,
240
- results: authActions.length,
241
- data: authActions,
242
- });
243
- });
244
- }
245
- getUserService() {
246
- if (!this.userService)
247
- this.userService = new base_service_1.ArkosPrismaService("user");
248
- return this.userService;
249
- }
250
- }
251
- exports.AuthController = AuthController;
252
- exports.authController = new AuthController();
253
- exports.default = exports.authController;
254
- //# sourceMappingURL=auth.controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../../src/modules/auth/auth.controller.ts"],"names":[],"mappings":"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","sourcesContent":["import catchAsync from \"../error-handler/utils/catch-async\";\nimport AppError from \"../error-handler/utils/app-error\";\nimport { ArkosRequest, ArkosResponse, ArkosNextFunction } from \"../../types\";\nimport authService from \"./auth.service\";\nimport { ArkosPrismaService } from \"../base/base.service\";\nimport { User } from \"../../types\";\nimport { getArkosConfig } from \"../../server\";\nimport {\n createPrismaWhereClause,\n determineUsernameField,\n getNestedValue,\n} from \"./utils/helpers/auth.controller.helpers\";\nimport authActionService from \"./utils/services/auth-action.service\";\nimport { routeHookReader } from \"../../components/arkos-route-hook/reader\";\n\n/**\n * Default fields to exclude from user object when returning to client\n */\nexport const defaultExcludedUserFields = {\n password: false,\n};\n\n/**\n * Authentication controller class handling all auth-related operations\n */\nexport class AuthController {\n private userService?: ArkosPrismaService<\"user\">;\n\n private getUserService() {\n if (!this.userService) this.userService = new ArkosPrismaService(\"user\");\n return this.userService;\n }\n\n /**\n * Retrieves the current authenticated user's information\n */\n getMe = catchAsync(\n async (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => {\n const user = (await this.getUserService().findOne(\n { id: req.user!.id },\n req.prismaQueryOptions || {}\n )) as Record<string, any>;\n\n Object.keys(defaultExcludedUserFields).forEach((key) => {\n if (user) delete user[key as keyof User];\n });\n\n if (routeHookReader.getHooks(\"auth\", \"getMe\")?.after) {\n (res as any).originalData = { data: user };\n req.responseData = { data: user };\n res.locals.data = { data: user };\n (res as any).originalStatus = 200;\n req.responseStatus = 200;\n res.locals.status = 200;\n return next();\n }\n\n res.status(200).json({ data: user });\n }\n );\n\n /**\n * Updates the current authenticated user's information\n */\n updateMe = catchAsync(\n async (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => {\n if (\"password\" in req.body)\n throw new AppError(\n \"In order to update password use the update-password endpoint.\",\n 400,\n \"InvalidFieldPassword\"\n );\n\n const user = (await this.getUserService().updateOne(\n { id: req.user!.id },\n req.body,\n req.prismaQueryOptions || {}\n )) as Record<string, any>;\n\n Object.keys(defaultExcludedUserFields).forEach((key) => {\n if (user) delete user[key as keyof User];\n });\n\n if (routeHookReader.getHooks(\"auth\", \"updateMe\")?.after) {\n (res as any).originalData = { data: user };\n req.responseData = { data: user };\n res.locals.data = { data: user };\n (res as any).originalStatus = 200;\n req.responseStatus = 200;\n res.locals.status = 200;\n return next();\n }\n\n res.status(200).json({ data: user });\n }\n );\n\n /**\n * Logs out the current user by invalidating their access token cookie\n */\n logout = catchAsync(\n async (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => {\n res.cookie(\"arkos_access_token\", \"no-token\", {\n expires: new Date(Date.now() + 10 * 1000),\n httpOnly: true,\n });\n\n if (routeHookReader.getHooks(\"auth\", \"logout\")?.after) {\n (res as any).originalData = null;\n req.responseData = null;\n res.locals.data = null;\n (res as any).originalStatus = 204;\n req.responseStatus = 204;\n res.locals.status = 204;\n return next();\n }\n\n res.status(204).json();\n }\n );\n\n /**\n * Authenticates a user using configurable username field and password\n */\n login = catchAsync(\n async (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => {\n const authConfigs = getArkosConfig()?.authentication;\n\n const usernameField = determineUsernameField(req);\n\n const lastField =\n usernameField.split(\".\")[usernameField.split(\".\").length - 1];\n\n const usernameValue = req.body[lastField];\n const { password } = req.body;\n\n if (!usernameValue || !password)\n return next(\n new AppError(\n `Please provide both ${lastField} and password`,\n 400,\n `MissingCredentialFields`\n )\n );\n\n let whereClause: Record<string, any>;\n\n if (usernameField?.includes?.(\".\")) {\n const valueToFind = getNestedValue(req.body, usernameField);\n if (valueToFind === undefined) {\n return next(new AppError(`Invalid ${usernameField} provided`, 400));\n }\n whereClause = createPrismaWhereClause(usernameField, valueToFind);\n } else {\n whereClause = { [usernameField]: usernameValue };\n }\n\n const user = (await this.getUserService().findOne(\n whereClause,\n req.prismaQueryOptions || {}\n )) as Record<string, any>;\n\n if (\n !user ||\n !(await authService.isCorrectPassword(password, user.password))\n ) {\n return next(\n new AppError(\n `Incorrect ${lastField} or password`,\n 401,\n `IncorrectCredentials`\n )\n );\n }\n\n const token = authService.signJwtToken(user.id!);\n const cookieOptions = authService.getJwtCookieOptions(req);\n\n if (\n authConfigs?.login?.sendAccessTokenThrough === \"response-only\" ||\n authConfigs?.login?.sendAccessTokenThrough === \"both\" ||\n !authConfigs?.login?.sendAccessTokenThrough\n ) {\n req.responseData = { accessToken: token };\n res.locals.data = { accessToken: token };\n }\n\n if (\n authConfigs?.login?.sendAccessTokenThrough === \"cookie-only\" ||\n authConfigs?.login?.sendAccessTokenThrough === \"both\" ||\n !authConfigs?.login?.sendAccessTokenThrough\n )\n res.cookie(\"arkos_access_token\", token, cookieOptions);\n\n req.accessToken = token;\n\n if (routeHookReader.getHooks(\"auth\", \"login\")?.after) {\n (res as any).originalData = req.responseData;\n req.additionalData = { user };\n res.locals.additional = { user };\n (res as any).originalStatus = 200;\n req.responseStatus = 200;\n res.locals.status = 200;\n return next();\n }\n\n if (\n authConfigs?.login?.sendAccessTokenThrough === \"response-only\" ||\n authConfigs?.login?.sendAccessTokenThrough === \"both\" ||\n !authConfigs?.login?.sendAccessTokenThrough\n ) {\n res.status(200).json(req.responseData);\n } else if (\n authConfigs?.login?.sendAccessTokenThrough === \"cookie-only\" ||\n authConfigs?.login?.sendAccessTokenThrough === \"both\" ||\n !authConfigs?.login?.sendAccessTokenThrough\n )\n res.status(200).send();\n }\n );\n\n /**\n * Creates a new user account\n */\n signup = catchAsync(\n async (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => {\n const user = (await this.getUserService().createOne(\n req.body,\n req.prismaQueryOptions || {}\n )) as Record<string, any>;\n\n if (routeHookReader.getHooks(\"auth\", \"signup\")?.after) {\n (res as any).originalData = { data: user };\n req.responseData = { data: user };\n res.locals.data = { data: user };\n (res as any).originalStatus = 201;\n req.responseStatus = 201;\n res.locals.status = 201;\n return next();\n }\n\n Object.keys(defaultExcludedUserFields).forEach((key) => {\n delete user[key as keyof User];\n });\n\n res.status(201).json({ data: user });\n }\n );\n\n /**\n * Marks user account as self-deleted\n */\n deleteMe = catchAsync(\n async (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => {\n const userId = req.user!.id;\n\n const updatedUser = (await this.getUserService().updateOne(\n { id: userId },\n { deletedSelfAccountAt: new Date().toISOString() },\n req.prismaQueryOptions || {}\n )) as Record<string, any>;\n\n if (routeHookReader.getHooks(\"auth\", \"deleteMe\")?.after) {\n (res as any).originalData = { data: updatedUser };\n req.responseData = { data: updatedUser };\n res.locals.data = { data: updatedUser };\n (res as any).originalStatus = 200;\n req.responseStatus = 200;\n res.locals.status = 200;\n return next();\n }\n\n Object.keys(defaultExcludedUserFields).forEach((key) => {\n delete updatedUser[key as keyof User];\n });\n\n res.status(200).json({ message: \"Account deleted successfully\" });\n }\n );\n\n /**\n * Updates the password of the authenticated user\n */\n updatePassword = catchAsync(\n async (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => {\n const { currentPassword, newPassword } = req.body;\n\n if (!currentPassword || !newPassword)\n return next(\n new AppError(\n \"currentPassword and newPassword are required\",\n 400,\n \"SameCurrentAndNewPassword\"\n )\n );\n\n const user = req.user;\n\n if (!user || user?.isActive === false || user?.deletedSelfAccountAt)\n return next(new AppError(\"User not found!\", 404));\n\n const isPasswordCorrect = await authService.isCorrectPassword(\n String(currentPassword),\n String(user.password)\n );\n\n const configs = getArkosConfig();\n const initAuthConfigs = configs?.authentication;\n\n if (!isPasswordCorrect)\n return next(\n new AppError(\n \"Current password is incorrect\",\n 400,\n \"IncorrentCurrentPassword\"\n )\n );\n\n if (\n !authService.isPasswordStrong(String(newPassword)) &&\n !configs?.validation\n ) {\n return next(\n new AppError(\n initAuthConfigs?.passwordValidation?.message ||\n \"The new password must contain at least one uppercase letter, one lowercase letter, and one number\",\n 400,\n \"PasswordDoesNotMeetRequirements\"\n )\n );\n }\n\n await this.getUserService().updateOne(\n { id: user.id },\n {\n password: await authService.hashPassword(newPassword),\n passwordChangedAt: new Date(Date.now()).toISOString(),\n }\n );\n\n const token = authService.signJwtToken(user.id!);\n const cookieOptions = authService.getJwtCookieOptions(req);\n const authConfigs = getArkosConfig()?.authentication;\n\n const responseData: Record<string, string> = {\n status: \"success\",\n message: \"Password updated successfully!\",\n };\n\n if (\n authConfigs?.login?.sendAccessTokenThrough === \"response-only\" ||\n authConfigs?.login?.sendAccessTokenThrough === \"both\" ||\n !authConfigs?.login?.sendAccessTokenThrough\n ) {\n responseData.accessToken = token;\n }\n\n if (\n authConfigs?.login?.sendAccessTokenThrough === \"cookie-only\" ||\n authConfigs?.login?.sendAccessTokenThrough === \"both\" ||\n !authConfigs?.login?.sendAccessTokenThrough\n )\n res.cookie(\"arkos_access_token\", token, cookieOptions);\n\n req.accessToken = token;\n\n if (routeHookReader.getHooks(\"auth\", \"updatePassword\")?.after) {\n (res as any).originalData = responseData;\n req.additionalData = { user };\n req.responseData = responseData;\n res.locals.data = responseData;\n (res as any).originalStatus = 200;\n req.responseStatus = 200;\n res.locals.status = 200;\n return next();\n }\n\n res.status(200).json(responseData);\n }\n );\n\n findManyAuthAction = catchAsync(\n async (_: ArkosRequest, res: ArkosResponse) => {\n const arkosConfig = getArkosConfig();\n const authActions = authActionService.getAll()?.map((authAction) => {\n if (arkosConfig?.authentication?.mode === \"dynamic\")\n delete (authAction as any)?.roles;\n return authAction;\n });\n\n res.json({\n total: authActions.length,\n results: authActions.length,\n data: authActions,\n });\n }\n );\n\n findOneAuthAction = catchAsync(\n async (req: ArkosRequest, res: ArkosResponse) => {\n const arkosConfig = getArkosConfig();\n const resourceName = req.params?.resourceName;\n\n if (!resourceName)\n throw new AppError(\n `Please provide a resoureName`,\n 400,\n \"MissiongResourseName\"\n );\n\n const authActions = authActionService\n .getByResource(req.params?.resourceName)\n ?.map((authAction) => {\n if (arkosConfig?.authentication?.mode === \"dynamic\")\n delete (authAction as any)?.roles;\n return authAction;\n });\n\n if (!authActions)\n throw new AppError(\n `No auth action with resource name ${resourceName}`,\n 404,\n \"AuthActionNotFound\"\n );\n\n res.json({\n total: authActions.length,\n results: authActions.length,\n data: authActions,\n });\n }\n );\n}\n\nexport const authController = new AuthController();\n\nexport default authController;\n"]}