arkos 1.4.8-canary.1 → 1.4.10-beta

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 (329) hide show
  1. package/README.md +16 -220
  2. package/dist/cjs/app.js +14 -14
  3. package/dist/cjs/components/arkos-policy/index.js +38 -0
  4. package/dist/cjs/components/arkos-policy/index.js.map +1 -0
  5. package/dist/cjs/{types/arkos-prisma-input.bak.js → components/arkos-policy/types.js} +1 -1
  6. package/dist/cjs/components/arkos-policy/types.js.map +1 -0
  7. package/dist/cjs/exports/auth/index.js +1 -1
  8. package/dist/cjs/exports/config.js +6 -0
  9. package/dist/cjs/exports/config.js.map +1 -0
  10. package/dist/cjs/exports/controllers/index.js +2 -2
  11. package/dist/cjs/exports/error-handler/index.js +2 -2
  12. package/dist/cjs/exports/index.js +4 -4
  13. package/dist/cjs/exports/middlewares/index.js +1 -1
  14. package/dist/cjs/exports/prisma/index.js +1 -1
  15. package/dist/cjs/exports/prisma/index.js.map +1 -1
  16. package/dist/cjs/exports/services/index.js +5 -5
  17. package/dist/cjs/exports/utils/index.js +3 -5
  18. package/dist/cjs/exports/utils/index.js.map +1 -1
  19. package/dist/cjs/exports/validation/index.js +2 -2
  20. package/dist/cjs/modules/auth/auth.controller.js +7 -20
  21. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  22. package/dist/cjs/modules/auth/auth.router.js +10 -10
  23. package/dist/cjs/modules/auth/auth.service.js +26 -52
  24. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  25. package/dist/cjs/modules/auth/utils/auth-error-objects.js +1 -1
  26. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +2 -2
  27. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +4 -4
  28. package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +1 -1
  29. package/dist/cjs/modules/base/base.controller.js +9 -9
  30. package/dist/cjs/modules/base/base.middlewares.js +12 -15
  31. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  32. package/dist/cjs/modules/base/base.router.js +4 -4
  33. package/dist/cjs/modules/base/base.service.js +11 -25
  34. package/dist/cjs/modules/base/base.service.js.map +1 -1
  35. package/dist/cjs/modules/base/utils/error-prettifier.js +1 -1
  36. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +1 -1
  37. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +1 -1
  38. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +9 -9
  39. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +2 -2
  40. package/dist/cjs/modules/debugger/debugger.service.js +4 -4
  41. package/dist/cjs/modules/debugger/utils/loaded-components-logger.js +2 -2
  42. package/dist/cjs/modules/email/email.service.js +3 -6
  43. package/dist/cjs/modules/email/email.service.js.map +1 -1
  44. package/dist/cjs/modules/error-handler/error-handler.controller.js +44 -77
  45. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  46. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +5 -18
  47. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  48. package/dist/cjs/modules/file-upload/file-upload.controller.js +9 -9
  49. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
  50. package/dist/cjs/modules/file-upload/file-upload.router.js +22 -22
  51. package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
  52. package/dist/cjs/modules/file-upload/file-upload.service.js +6 -6
  53. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +3 -3
  54. package/dist/cjs/modules/swagger/swagger.router.js +8 -8
  55. package/dist/cjs/modules/swagger/utils/get-open-api-login-html.js +276 -0
  56. package/dist/cjs/modules/swagger/utils/get-open-api-login-html.js.map +1 -0
  57. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +3 -3
  58. package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +4 -4
  59. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -1
  60. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +4 -4
  61. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +2 -2
  62. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +3 -3
  63. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +37 -36
  64. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -1
  65. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +11 -3
  66. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -1
  67. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +2 -2
  68. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js +34 -71
  69. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -1
  70. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +12 -12
  71. package/dist/cjs/paths.js +9 -0
  72. package/dist/cjs/paths.js.map +1 -0
  73. package/dist/cjs/server.js +5 -5
  74. package/dist/cjs/types/arkos-config/utils.js +3 -0
  75. package/dist/cjs/types/arkos-config/utils.js.map +1 -0
  76. package/dist/cjs/types/arkos.js +3 -0
  77. package/dist/cjs/types/arkos.js.map +1 -0
  78. package/dist/cjs/types/auth.js.map +1 -1
  79. package/dist/cjs/types/index.js.map +1 -1
  80. package/dist/cjs/types/new-arkos-config.js.map +1 -1
  81. package/dist/cjs/utils/arkos-router/arkos-router-openapi-manager.js +1 -1
  82. package/dist/cjs/utils/arkos-router/index.js +15 -45
  83. package/dist/cjs/utils/arkos-router/index.js.map +1 -1
  84. package/dist/cjs/utils/arkos-router/route-config-validator.js +2 -2
  85. package/dist/cjs/utils/arkos-router/types/index.js.map +1 -1
  86. package/dist/cjs/utils/arkos-router/types/upload-config.js.map +1 -1
  87. package/dist/cjs/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +152 -0
  88. package/dist/cjs/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -0
  89. package/dist/cjs/utils/arkos-router/utils/helpers/index.js +7 -60
  90. package/dist/cjs/utils/arkos-router/utils/helpers/index.js.map +1 -1
  91. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js +9 -54
  92. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -1
  93. package/dist/cjs/utils/bundler.js +163 -0
  94. package/dist/cjs/utils/bundler.js.map +1 -0
  95. package/dist/cjs/utils/cli/build.js +25 -36
  96. package/dist/cjs/utils/cli/build.js.map +1 -1
  97. package/dist/cjs/utils/cli/dev.js +8 -7
  98. package/dist/cjs/utils/cli/dev.js.map +1 -1
  99. package/dist/cjs/utils/cli/export-auth-action.js +4 -3
  100. package/dist/cjs/utils/cli/export-auth-action.js.map +1 -1
  101. package/dist/cjs/utils/cli/generate.js +25 -99
  102. package/dist/cjs/utils/cli/generate.js.map +1 -1
  103. package/dist/cjs/utils/cli/index.js +54 -108
  104. package/dist/cjs/utils/cli/index.js.map +1 -1
  105. package/dist/cjs/utils/cli/prisma-generate.js +114 -76
  106. package/dist/cjs/utils/cli/prisma-generate.js.map +1 -1
  107. package/dist/cjs/utils/cli/remove-dir-cli.js +1 -1
  108. package/dist/cjs/utils/cli/start.js +5 -5
  109. package/dist/cjs/utils/cli/start.js.map +1 -1
  110. package/dist/cjs/utils/cli/utils/cli.helpers.js +3 -3
  111. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js +5 -5
  112. package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js +39 -70
  113. package/dist/cjs/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -1
  114. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js +187 -0
  115. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js.map +1 -0
  116. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js +181 -0
  117. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js.map +1 -0
  118. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator-dto-generator.js +2 -2
  119. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-multiple-components.js +3 -3
  120. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js +1 -1
  121. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js +53 -0
  122. package/dist/cjs/utils/cli/utils/template-generator/templates/policy-template.js.map +1 -0
  123. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js +1 -1
  124. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +1 -1
  125. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +1 -1
  126. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/create-schema-template.js +106 -0
  127. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/create-schema-template.js.map +1 -0
  128. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/update-schema-template.js +104 -0
  129. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/update-schema-template.js.map +1 -0
  130. package/dist/cjs/utils/cli/utils/template-generator/templates/zod-schema-generator.js +2 -2
  131. package/dist/cjs/utils/cli/utils/template-generators.js +15 -24
  132. package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
  133. package/dist/cjs/utils/cli/utils/watermark-stamper.js +4 -4
  134. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +1 -1
  135. package/dist/cjs/utils/dotenv.helpers.js +2 -2
  136. package/dist/cjs/utils/dynamic-loader.js +10 -10
  137. package/dist/cjs/utils/dynamic-loader.js.map +1 -1
  138. package/dist/cjs/utils/features/api.features.js +5 -5
  139. package/dist/cjs/utils/features/change-case.features.js +67 -0
  140. package/dist/cjs/utils/features/change-case.features.js.map +1 -0
  141. package/dist/cjs/utils/features/port-and-host-allocator.js +1 -1
  142. package/dist/cjs/utils/helpers/api.features.helpers.js +2 -2
  143. package/dist/cjs/utils/helpers/arkos-config.helpers.js +3 -3
  144. package/dist/cjs/utils/helpers/exit-error.js +12 -0
  145. package/dist/cjs/utils/helpers/exit-error.js.map +1 -0
  146. package/dist/cjs/utils/helpers/fs.helpers.js +1 -1
  147. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  148. package/dist/cjs/utils/helpers/global.helpers.js +5 -2
  149. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  150. package/dist/cjs/utils/helpers/prisma.helpers.js +6 -6
  151. package/dist/cjs/utils/helpers/query-parser.helpers.js +1 -1
  152. package/dist/cjs/utils/helpers/routers.helpers.js +7 -6
  153. package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -1
  154. package/dist/cjs/utils/initialize-app.js +56 -0
  155. package/dist/cjs/utils/initialize-app.js.map +1 -0
  156. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +4 -4
  157. package/dist/cjs/utils/prisma/prisma-schema-parser.js +2 -66
  158. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -1
  159. package/dist/cjs/utils/prisma/types.js.map +1 -1
  160. package/dist/cjs/utils/setup-app.js +119 -0
  161. package/dist/cjs/utils/setup-app.js.map +1 -0
  162. package/dist/cjs/utils/validate-dto.js +1 -7
  163. package/dist/cjs/utils/validate-dto.js.map +1 -1
  164. package/dist/cjs/utils/validate-schema.js +1 -66
  165. package/dist/cjs/utils/validate-schema.js.map +1 -1
  166. package/dist/esm/components/arkos-policy/index.js +32 -0
  167. package/dist/esm/components/arkos-policy/index.js.map +1 -0
  168. package/dist/esm/components/arkos-policy/types.js +2 -0
  169. package/dist/esm/components/arkos-policy/types.js.map +1 -0
  170. package/dist/esm/exports/config.js +3 -0
  171. package/dist/esm/exports/config.js.map +1 -0
  172. package/dist/esm/exports/prisma/index.js +1 -1
  173. package/dist/esm/exports/prisma/index.js.map +1 -1
  174. package/dist/esm/exports/utils/index.js +1 -2
  175. package/dist/esm/exports/utils/index.js.map +1 -1
  176. package/dist/esm/modules/auth/auth.controller.js +0 -13
  177. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  178. package/dist/esm/modules/auth/auth.service.js +14 -40
  179. package/dist/esm/modules/auth/auth.service.js.map +1 -1
  180. package/dist/esm/modules/auth/utils/services/auth-action.service.js +1 -1
  181. package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
  182. package/dist/esm/modules/base/base.middlewares.js +4 -7
  183. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  184. package/dist/esm/modules/base/base.service.js +3 -17
  185. package/dist/esm/modules/base/base.service.js.map +1 -1
  186. package/dist/esm/modules/email/email.service.js +1 -4
  187. package/dist/esm/modules/email/email.service.js.map +1 -1
  188. package/dist/esm/modules/error-handler/error-handler.controller.js +42 -75
  189. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
  190. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +4 -16
  191. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  192. package/dist/esm/modules/file-upload/file-upload.controller.js +2 -2
  193. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  194. package/dist/esm/modules/file-upload/file-upload.router.js +12 -12
  195. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  196. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js +273 -0
  197. package/dist/esm/modules/swagger/utils/get-open-api-login-html.js.map +1 -0
  198. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +32 -31
  199. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -1
  200. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +8 -0
  201. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -1
  202. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js +31 -68
  203. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -1
  204. package/dist/esm/paths.js +3 -0
  205. package/dist/esm/paths.js.map +1 -0
  206. package/dist/esm/types/arkos-config/utils.js +2 -0
  207. package/dist/esm/types/arkos-config/utils.js.map +1 -0
  208. package/dist/esm/types/arkos.js +2 -0
  209. package/dist/esm/types/arkos.js.map +1 -0
  210. package/dist/esm/types/auth.js.map +1 -1
  211. package/dist/esm/types/index.js.map +1 -1
  212. package/dist/esm/types/new-arkos-config.js.map +1 -1
  213. package/dist/esm/utils/arkos-router/index.js +7 -37
  214. package/dist/esm/utils/arkos-router/index.js.map +1 -1
  215. package/dist/esm/utils/arkos-router/types/index.js.map +1 -1
  216. package/dist/esm/utils/arkos-router/types/upload-config.js.map +1 -1
  217. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js +146 -0
  218. package/dist/esm/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.js.map +1 -0
  219. package/dist/esm/utils/arkos-router/utils/helpers/index.js +1 -53
  220. package/dist/esm/utils/arkos-router/utils/helpers/index.js.map +1 -1
  221. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js +1 -46
  222. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -1
  223. package/dist/esm/utils/bundler.js +156 -0
  224. package/dist/esm/utils/bundler.js.map +1 -0
  225. package/dist/esm/utils/cli/build.js +21 -32
  226. package/dist/esm/utils/cli/build.js.map +1 -1
  227. package/dist/esm/utils/cli/dev.js +3 -2
  228. package/dist/esm/utils/cli/dev.js.map +1 -1
  229. package/dist/esm/utils/cli/export-auth-action.js +1 -0
  230. package/dist/esm/utils/cli/export-auth-action.js.map +1 -1
  231. package/dist/esm/utils/cli/generate.js +17 -91
  232. package/dist/esm/utils/cli/generate.js.map +1 -1
  233. package/dist/esm/utils/cli/index.js +47 -101
  234. package/dist/esm/utils/cli/index.js.map +1 -1
  235. package/dist/esm/utils/cli/prisma-generate.js +111 -73
  236. package/dist/esm/utils/cli/prisma-generate.js.map +1 -1
  237. package/dist/esm/utils/cli/start.js +1 -1
  238. package/dist/esm/utils/cli/start.js.map +1 -1
  239. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
  240. package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js +37 -68
  241. package/dist/esm/utils/cli/utils/template-generator/templates/auth-configs-template.js.map +1 -1
  242. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js +181 -0
  243. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js.map +1 -0
  244. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js +175 -0
  245. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js.map +1 -0
  246. package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js +47 -0
  247. package/dist/esm/utils/cli/utils/template-generator/templates/policy-template.js.map +1 -0
  248. package/dist/esm/utils/cli/utils/template-generator/templates/zod/create-schema-template.js +100 -0
  249. package/dist/esm/utils/cli/utils/template-generator/templates/zod/create-schema-template.js.map +1 -0
  250. package/dist/esm/utils/cli/utils/template-generator/templates/zod/update-schema-template.js +98 -0
  251. package/dist/esm/utils/cli/utils/template-generator/templates/zod/update-schema-template.js.map +1 -0
  252. package/dist/esm/utils/cli/utils/template-generators.js +8 -17
  253. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  254. package/dist/esm/utils/cli/utils/watermark-stamper.js +1 -1
  255. package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -1
  256. package/dist/esm/utils/dynamic-loader.js +2 -2
  257. package/dist/esm/utils/dynamic-loader.js.map +1 -1
  258. package/dist/esm/utils/features/change-case.features.js +31 -0
  259. package/dist/esm/utils/features/change-case.features.js.map +1 -0
  260. package/dist/esm/utils/helpers/exit-error.js +6 -0
  261. package/dist/esm/utils/helpers/exit-error.js.map +1 -0
  262. package/dist/esm/utils/helpers/fs.helpers.js +1 -1
  263. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
  264. package/dist/esm/utils/helpers/global.helpers.js +5 -2
  265. package/dist/esm/utils/helpers/global.helpers.js.map +1 -1
  266. package/dist/esm/utils/helpers/routers.helpers.js +3 -2
  267. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
  268. package/dist/esm/utils/initialize-app.js +50 -0
  269. package/dist/esm/utils/initialize-app.js.map +1 -0
  270. package/dist/esm/utils/prisma/prisma-schema-parser.js +0 -64
  271. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -1
  272. package/dist/esm/utils/prisma/types.js.map +1 -1
  273. package/dist/esm/utils/setup-app.js +113 -0
  274. package/dist/esm/utils/setup-app.js.map +1 -0
  275. package/dist/esm/utils/validate-dto.js +1 -4
  276. package/dist/esm/utils/validate-dto.js.map +1 -1
  277. package/dist/esm/utils/validate-schema.js +1 -62
  278. package/dist/esm/utils/validate-schema.js.map +1 -1
  279. package/dist/types/components/arkos-policy/index.d.ts +31 -0
  280. package/dist/types/components/arkos-policy/types.d.ts +21 -0
  281. package/dist/types/exports/config.d.ts +2 -0
  282. package/dist/types/exports/prisma/index.d.ts +1 -2
  283. package/dist/types/exports/utils/index.d.ts +1 -2
  284. package/dist/types/modules/auth/auth.service.d.ts +1 -6
  285. package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +1 -1
  286. package/dist/types/modules/base/base.service.d.ts +5 -271
  287. package/dist/types/modules/email/email.service.d.ts +8 -4
  288. package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +0 -1
  289. package/dist/types/modules/file-upload/file-upload.router.d.ts +1 -2
  290. package/dist/types/modules/swagger/utils/get-open-api-login-html.d.ts +1 -0
  291. package/dist/types/modules/swagger/utils/helpers/openapi-schema-converter.d.ts +3 -27
  292. package/dist/types/paths.d.ts +1 -0
  293. package/dist/types/types/arkos-config/utils.d.ts +35 -0
  294. package/dist/types/types/arkos.d.ts +31 -0
  295. package/dist/types/types/auth.d.ts +3 -3
  296. package/dist/types/types/index.d.ts +6 -15
  297. package/dist/types/types/new-arkos-config.d.ts +3 -11
  298. package/dist/types/utils/arkos-router/index.d.ts +1 -3
  299. package/dist/types/utils/arkos-router/types/index.d.ts +21 -12
  300. package/dist/types/utils/arkos-router/types/upload-config.d.ts +0 -10
  301. package/dist/types/utils/arkos-router/utils/helpers/apply-arkos-router-proxy.d.ts +7 -0
  302. package/dist/types/utils/arkos-router/utils/helpers/index.d.ts +0 -4
  303. package/dist/types/utils/arkos-router/utils/helpers/upload-manager.d.ts +0 -32
  304. package/dist/types/utils/bundler.d.ts +152 -0
  305. package/dist/types/utils/cli/generate.d.ts +3 -13
  306. package/dist/types/utils/cli/utils/template-generator/templates/auth-configs-template.d.ts +1 -3
  307. package/dist/types/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.d.ts +2 -0
  308. package/dist/types/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.d.ts +2 -0
  309. package/dist/types/utils/cli/utils/template-generator/templates/policy-template.d.ts +2 -0
  310. package/dist/types/utils/cli/utils/template-generator/templates/zod/create-schema-template.d.ts +2 -0
  311. package/dist/types/utils/cli/utils/template-generator/templates/zod/update-schema-template.d.ts +2 -0
  312. package/dist/types/utils/features/change-case.features.d.ts +12 -0
  313. package/dist/types/utils/helpers/exit-error.d.ts +1 -0
  314. package/dist/types/utils/helpers/routers.helpers.d.ts +4 -4
  315. package/dist/types/utils/initialize-app.d.ts +2 -0
  316. package/dist/types/utils/prisma/prisma-schema-parser.d.ts +0 -7
  317. package/dist/types/utils/prisma/types.d.ts +0 -1
  318. package/dist/types/utils/setup-app.d.ts +2 -0
  319. package/dist/types/utils/validate-schema.d.ts +2 -12
  320. package/package.json +1 -1
  321. package/dist/cjs/types/arkos-prisma-input.bak.js.map +0 -1
  322. package/dist/cjs/utils/cli/utils/static-types-generator.js +0 -558
  323. package/dist/cjs/utils/cli/utils/static-types-generator.js.map +0 -1
  324. package/dist/esm/types/arkos-prisma-input.bak.js +0 -2
  325. package/dist/esm/types/arkos-prisma-input.bak.js.map +0 -1
  326. package/dist/esm/utils/cli/utils/static-types-generator.js +0 -553
  327. package/dist/esm/utils/cli/utils/static-types-generator.js.map +0 -1
  328. package/dist/types/types/arkos-prisma-input.bak.d.ts +0 -237
  329. package/dist/types/utils/cli/utils/static-types-generator.d.ts +0 -36
package/README.md CHANGED
@@ -8,173 +8,11 @@
8
8
  ![GitHub](https://img.shields.io/github/license/uanela/arkos)
9
9
  ![GitHub Repo stars](https://img.shields.io/github/stars/uanela/arkos)
10
10
 
11
+ </div><div align="center">
12
+ <h2>The Express And Prisma RESTful Framework</h2>
11
13
  </div>
12
14
 
13
- <div align="center">
14
- <h2>The Express & Prisma RESTful Framework</h2>
15
- <p>A tool for backend developers and teams who ship software with complex business logic under tight deadlines</p>
16
- </div>
17
-
18
- ---
19
-
20
- <div align="center">
21
-
22
- **[Installation](https://www.arkosjs.com/docs/getting-started/installation)** •
23
- **[Documentation](https://arkosjs.com/docs/intro)** •
24
- **[Website](https://arkosjs.com)** •
25
- **[GitHub](https://github.com/uanela/arkos)** •
26
- **[Blog](https://www.arkosjs.com/blog)** •
27
- **[Npm](https://www.npmjs.com/package/arkos)**
28
-
29
- </div>
30
-
31
- ---
32
-
33
- ## Why Arkos?
34
-
35
- Every line of boilerplate code is a missed opportunity for innovation. Arkos.js gives developers back their time so they can focus on building what truly matters—**the core business logic**.
36
-
37
- **Perfect for:**
38
-
39
- - Backend developers shipping complex features under tight deadlines
40
- - Teams who want to scale fast without reinventing standard patterns
41
- - Projects that need production-ready auth, validation, and docs from day one
42
-
43
- ## Quick Start
44
-
45
- Get started with Arkos.js in seconds:
46
-
47
- ```bash
48
- pnpm create arkos@latest my-project
49
- ```
50
-
51
- **That's it!** You now have:
52
-
53
- - Production-ready REST API
54
- - JWT authentication
55
- - Auto-generated Swagger docs at `/api/docs`
56
- - File upload handling
57
- - Input validation
58
-
59
- ## See It In Action
60
-
61
- **1. Define your Prisma model:**
62
-
63
- ```prisma
64
- model Post {
65
- id String @id @default(uuid())
66
- title String
67
- content String
68
- authorId String
69
- author User @relation(fields: [authorId], references: [id])
70
- createdAt DateTime @default(now())
71
- updatedAt DateTime @updatedAt
72
- }
73
- ```
74
-
75
- **2. Get instant REST endpoints:**
76
-
77
- ```
78
- POST /api/posts Create a new post
79
- GET /api/posts List all posts
80
- GET /api/posts/:id Get a specific post
81
- PATCH /api/posts/:id Update a post
82
- DELETE /api/posts/:id Delete a post
83
- ```
84
-
85
- All with built-in **authentication**, **validation**, and **documentation**. **Zero boilerplate.**
86
-
87
- **3. Add custom business logic with interceptors:**
88
-
89
- ```typescript
90
- import { ArkosRequest, ArkosResponse, ArkosNextFunction } from "arkos";
91
- import { AppError } from "arkos/error-handler";
92
-
93
- export const beforeCreateOne = [
94
- async (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => {
95
- // Add custom validation
96
- if (req.body.title.length < 5) {
97
- throw new AppErr("Title is too short", 400, "TitleTooShort");
98
- }
99
-
100
- // Enrich data
101
- req.body.slug = req.body.title.toLowerCase().replace(/\s/g, "-");
102
- req.body.authorId = req.user.id;
103
-
104
- next();
105
- },
106
- ];
107
- ```
108
-
109
- ## What You Get Out of the Box
110
-
111
- ### **Enterprise-Ready Authentication**
112
-
113
- - JWT token management with secure refresh tokens
114
- - Password hashing with bcrypt
115
- - Role-based access control (RBAC)
116
- - Production-ready from day one
117
-
118
- ### **Smart Data Validation**
119
-
120
- - Automatic validation from Prisma models
121
- - Zod schema integration
122
- - Class-validator support
123
- - Zero configuration required
124
-
125
- ### **Bulletproof Security Stack**
126
-
127
- - Rate limiting to prevent abuse
128
- - CORS configuration
129
- - Input sanitization with helmet.js
130
- - Comprehensive error handling
131
-
132
- ### **Self-Documenting APIs**
133
-
134
- - Auto-generated OpenAPI/Swagger specifications
135
- - Beautiful interactive Scalar UI
136
- - Auto-sync with your routes
137
- - JSON schemas from Zod or Prisma models
138
-
139
- ### **Intelligent File Processing**
140
-
141
- - Multer-powered file uploads
142
- - Automatic image and video optimization
143
- - Smart type validation
144
- - Easy local storage configuration
145
-
146
- ### **Effortless Email Integration**
147
-
148
- - Built-in Nodemailer service
149
- - Template support
150
- - Clean, simple API
151
- - Just focus on your content
152
-
153
- ### **Powerful Interceptors**
154
-
155
- - Before/after request hooks
156
- - Custom validation logic
157
- - Data transformation
158
- - Flexible middleware system
159
-
160
- ### **Unmatched Prisma Integration**
161
-
162
- - Seamless ORM integration
163
- - Automatic relation handling
164
- - Write less Prisma, build more data
165
- - Built on Prisma's rock-solid foundation
166
-
167
- ## Arkos vs Traditional Setup
168
-
169
- | Task | Traditional Approach | With Arkos |
170
- | ------------------------ | --------------------------- | ---------------------- |
171
- | Setup JWT authentication | 2-3 hours of config | ✅ Built-in & ready |
172
- | Create CRUD routes | 30 min per model | ✅ Auto-generated |
173
- | Add input validation | Manual for each endpoint | ✅ Zod/Class-validator |
174
- | Setup API documentation | Install + configure Swagger | ✅ Auto-generated |
175
- | Configure file uploads | Multer setup + validation | ✅ Ready to use |
176
- | Add security middleware | Research + implement | ✅ Pre-configured |
177
- | **Total setup time** | **~8-12 hours** | **~5 minutes** |
15
+ Arkos.js simplifies the development of secure and scalable RESTful APIs with minimal configuration, allowing developers to focus on what really matters for their business logic.
178
16
 
179
17
  ## Features
180
18
 
@@ -190,76 +28,34 @@ export const beforeCreateOne = [
190
28
 
191
29
  **BETA VERSION**
192
30
 
193
- ## Trusted By Developers Building Daily
194
-
195
- > "Arkos.js changed how I work on the backend: with a Prisma model I already get CRUD routes, auth, and validation out-of-the-box — I saved a lot of time and could focus on business logic."
196
- > **— Gelson Matavela, Founder / Grupo Vergui**
197
-
198
- > "It removes boilerplate and provides a clean structure to build products. Built-in auth is powerful and ready. Automatic CRUD and docs save time, while interceptors allow flexible business logic."
199
- > **— Augusto Domingos, Tech Lead / DSAI For Moz**
200
-
201
- > "With Arkos.js, I can build backends in just a few minutes. It removes the boilerplate and lets me focus entirely on the core logic. Fast, simple, and incredibly productive."
202
- > **— Niuro Langa, Software Developer / SparkTech**
203
-
204
- [See more testimonials →](https://arkosjs.com)
205
-
206
- ## Documentation
207
-
208
- For comprehensive guides, API reference, and examples, visit our [official documentation](https://arkosjs.com/docs/intro).
209
-
210
- **Quick Links:**
211
-
212
- - [Getting Started Guide](https://arkosjs.com/docs/intro)
213
- - [Authentication Setup](https://arkosjs.com/docs/core-concepts/authentication-system)
214
- - [Using Interceptors](https://arkosjs.com/docs/core-concepts/interceptors)
215
- - [File Uploads](https://arkosjs.com/docs/core-concepts/file-uploads)
216
- - [Validation](https://arkosjs.com/docs/core-concepts/request-data-validation)
217
- - [Email Service](https://arkosjs.com/docs/core-concepts/sending-emails)
218
-
219
- ## Getting Nightly Updates
31
+ ## Quick Start
220
32
 
221
- You can get the latest features we're testing before releasing them:
33
+ Get started with Arkos.js in seconds:
222
34
 
223
35
  ```bash
224
- pnpm create arkos@canary my-project
36
+ npm create arkos@latest my-project
225
37
  ```
226
38
 
227
- ## Built With
228
-
229
- Arkos.js is built on top of industry-leading tools:
230
-
231
- - **[Express](https://expressjs.com/)** - Fast, unopinionated, minimalist web framework for Node.js
232
- - **[Prisma](https://www.prisma.io/)** - Next-generation ORM for Node.js and TypeScript
233
- - **[Node.js](https://nodejs.org/)** - JavaScript runtime built on Chrome's V8 engine
234
-
235
- ## Support & Contributing
236
-
237
- - **Documentation:** [arkosjs.com/docs](https://arkosjs.com/docs/intro)
238
- - **Bug Reports:** [GitHub Issues](https://github.com/uanela/arkos/issues)
239
- - **Feature Requests:** Open a GitHub issue
240
- - **Contact:** [uanelaluiswayne@gmail.com](mailto:uanelaluiswayne@gmail.com)
39
+ ## Documentation
241
40
 
242
- Contributions are welcome! We appreciate all contributions, from bug fixes to new features.
41
+ For comprehensive guides, API reference, and examples, visit our [official documentation](https://arkosjs.com/docs/intro).
243
42
 
244
43
  ## License
245
44
 
246
45
  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
247
46
 
248
- ---
47
+ ## Support
249
48
 
250
- <div align="center">
49
+ For questions, bug reports, or feature requests, please open a GitHub issue or contact [Uanela Como](mailto:uanelaluiswayne@gmail.com).
251
50
 
252
- **[Installation](https://www.arkosjs.com/docs/getting-started/installation)**
253
- **[Documentation](https://arkosjs.com/docs/intro)** •
254
- **[Website](https://arkosjs.com)** •
255
- **[GitHub](https://github.com/uanela/arkos)** •
256
- **[Blog](https://www.arkosjs.com/blog)** •
257
- **[Npm](https://www.npmjs.com/package/arkos)**
51
+ ## Getting Night Updates
258
52
 
259
- Built with ❤️ by [Uanela Como](https://github.com/uanela) and contributors
53
+ You can get the latest feature we are testing before realeasing them:
54
+
55
+ ```bash
56
+ npm create arkos@canary my-project
57
+ ```
260
58
 
261
59
  ---
262
60
 
263
61
  _The name "Arkos" comes from the Greek word "ἀρχή" (Arkhē), meaning "beginning" or "foundation", reflecting our goal of providing a solid foundation for backend development._
264
-
265
- </div>
package/dist/cjs/app.js CHANGED
@@ -41,22 +41,22 @@ exports.bootstrap = bootstrap;
41
41
  const express_1 = __importStar(require("express"));
42
42
  const cors_1 = __importDefault(require("cors"));
43
43
  const cookie_parser_1 = __importDefault(require("cookie-parser"));
44
- const auth_router_1 = require("./modules/auth/auth.router");
45
- const base_router_1 = require("./modules/base/base.router");
46
- const error_handler_controller_1 = __importDefault(require("./modules/error-handler/error-handler.controller"));
44
+ const auth_router_1 = require("./modules/auth/auth.router.js");
45
+ const base_router_1 = require("./modules/base/base.router.js");
46
+ const error_handler_controller_1 = __importDefault(require("./modules/error-handler/error-handler.controller.js"));
47
47
  const express_rate_limit_1 = require("express-rate-limit");
48
48
  const compression_1 = __importDefault(require("compression"));
49
- const base_middlewares_1 = require("./modules/base/base.middlewares");
50
- const prisma_helpers_1 = require("./utils/helpers/prisma.helpers");
51
- const file_upload_router_1 = require("./modules/file-upload/file-upload.router");
52
- const query_parser_helpers_1 = require("./utils/helpers/query-parser.helpers");
53
- const deepmerge_helper_1 = __importDefault(require("./utils/helpers/deepmerge.helper"));
54
- const swagger_router_1 = require("./modules/swagger/swagger.router");
55
- const dynamic_loader_1 = require("./utils/dynamic-loader");
56
- const error_handler_1 = require("./exports/error-handler");
57
- const debugger_service_1 = __importDefault(require("./modules/debugger/debugger.service"));
58
- const exports_1 = require("./exports");
59
- const arkos_config_helpers_1 = require("./utils/helpers/arkos-config.helpers");
49
+ const base_middlewares_1 = require("./modules/base/base.middlewares.js");
50
+ const prisma_helpers_1 = require("./utils/helpers/prisma.helpers.js");
51
+ const file_upload_router_1 = require("./modules/file-upload/file-upload.router.js");
52
+ const query_parser_helpers_1 = require("./utils/helpers/query-parser.helpers.js");
53
+ const deepmerge_helper_1 = __importDefault(require("./utils/helpers/deepmerge.helper.js"));
54
+ const swagger_router_1 = require("./modules/swagger/swagger.router.js");
55
+ const dynamic_loader_1 = require("./utils/dynamic-loader.js");
56
+ const error_handler_1 = require("./exports/error-handler/index.js");
57
+ const debugger_service_1 = __importDefault(require("./modules/debugger/debugger.service.js"));
58
+ const exports_1 = require("./exports/index.js");
59
+ const arkos_config_helpers_1 = require("./utils/helpers/arkos-config.helpers.js");
60
60
  exports.app = (0, express_1.default)();
61
61
  const knowModulesRouter = (0, express_1.Router)();
62
62
  async function bootstrap(initConfig) {
@@ -0,0 +1,38 @@
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.ArkosPolicy = ArkosPolicy;
7
+ const auth_service_1 = __importDefault(require("../../modules/auth/auth.service.js"));
8
+ function ArkosPolicy(resource) {
9
+ return buildPolicy(resource, {});
10
+ }
11
+ function buildPolicy(resource, store) {
12
+ const rule = (action, config) => {
13
+ const newStore = { ...store, [action]: config };
14
+ return buildPolicy(resource, newStore);
15
+ };
16
+ const actionEntries = Object.fromEntries(Object.entries(store).flatMap(([action, config]) => {
17
+ const authEntry = {
18
+ resource,
19
+ action,
20
+ rule: config,
21
+ };
22
+ const checker = auth_service_1.default.permission(action, resource, {
23
+ [action]: config || {},
24
+ });
25
+ const canKey = `can${action.charAt(0).toUpperCase()}${action.slice(1)}`;
26
+ return [
27
+ [action, authEntry],
28
+ [canKey, checker],
29
+ ];
30
+ }));
31
+ return {
32
+ __type: "ArkosPolicy",
33
+ resource,
34
+ rule,
35
+ ...actionEntries,
36
+ };
37
+ }
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/arkos-policy/index.ts"],"names":[],"mappings":";;;;;AAuCA,kCAIC;AAnCD,mFAA0D;AA+B1D,SAAgB,WAAW,CACzB,QAAmB;IAEnB,OAAO,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,WAAW,CAClB,QAAmB,EACnB,KAAsC;IAEtC,MAAM,IAAI,GAAG,CACX,MAAe,EACf,MAAuB,EAC2B,EAAE;QACpD,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAChD,OAAO,WAAW,CAAgC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;QACjD,MAAM,SAAS,GAA8C;YAC3D,QAAQ;YACR,MAAM;YACN,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,MAAM,OAAO,GAAkB,sBAAW,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE;YACtE,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,EAAE;SACvB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAExE,OAAO;YACL,CAAC,MAAM,EAAE,SAAS,CAAC;YACnB,CAAC,MAAM,EAAE,OAAO,CAAC;SAClB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,aAAsB;QAC9B,QAAQ;QACR,IAAI;QACJ,GAAG,aAAa;KACoC,CAAC;AACzD,CAAC","sourcesContent":["import { User } from \"../../types\";\nimport {\n ArkosPolicyRule,\n IArkosPolicy,\n PolicyAuthEntry,\n PolicyChecker,\n PolicyWithActions,\n} from \"./types\";\nimport authService from \"../../modules/auth/auth.service\";\n\n/**\n * Creates a typed policy for a Prisma model resource.\n *\n * Each `.rule()` call registers an action and returns the policy\n * with a typed `can{Action}` permission checker and a typed `{Action}`\n * entry — both passable to the `authentication` field on `ArkosRouteHook`\n * and `ArkosRouter`, and callable for fine-grained permission checks.\n *\n * @param resource - The resource name in kebab-case (e.g. `\"user\"`, `\"blog-post\"`)\n *\n * @example\n * ```ts\n * const userPolicy = ArkosPolicy(\"user\")\n * .rule(\"Create\", [\"Admin\", \"Editor\"])\n * .rule(\"View\", \"*\")\n * .rule(\"Delete\", [\"Admin\"]);\n *\n * // Pass to authentication field\n * userRouter.post({ path: \"/users\", authentication: userPolicy.Create });\n * userRouteHook.deleteOne({ authentication: userPolicy.Delete });\n *\n * // Fine-grained check\n * if (userPolicy.canCreate(req.user)) { ... }\n *\n * export default userPolicy;\n * ```\n *\n * @see {@link https://www.arkosjs.com/docs/api-referency/arkos-policy}\n */\nexport function ArkosPolicy<TResource extends string>(\n resource: TResource\n): IArkosPolicy<TResource, never> {\n return buildPolicy(resource, {});\n}\n\nfunction buildPolicy<TResource extends string, TActions extends string>(\n resource: TResource,\n store: Record<string, ArkosPolicyRule>\n): PolicyWithActions<TResource, TActions> {\n const rule = <TAction extends string>(\n action: TAction,\n config: ArkosPolicyRule\n ): PolicyWithActions<TResource, TActions | TAction> => {\n const newStore = { ...store, [action]: config };\n return buildPolicy<TResource, TActions | TAction>(resource, newStore);\n };\n\n const actionEntries = Object.fromEntries(\n Object.entries(store).flatMap(([action, config]) => {\n const authEntry: PolicyAuthEntry<TResource, typeof action> = {\n resource,\n action,\n rule: config,\n };\n\n const checker: PolicyChecker = authService.permission(action, resource, {\n [action]: config || {},\n });\n\n const canKey = `can${action.charAt(0).toUpperCase()}${action.slice(1)}`;\n\n return [\n [action, authEntry],\n [canKey, checker],\n ];\n })\n );\n\n return {\n __type: \"ArkosPolicy\" as const,\n resource,\n rule,\n ...actionEntries,\n } as unknown as PolicyWithActions<TResource, TActions>;\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=arkos-prisma-input.bak.js.map
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/arkos-policy/types.ts"],"names":[],"mappings":"","sourcesContent":["import { User } from \"../../types\";\nimport { DetailedAccessControlRule } from \"../../types/auth\";\n\nexport type ArkosPolicyRule = string[] | DetailedAccessControlRule | \"*\";\n\nexport type PolicyAuthEntry<\n TResource extends string,\n TAction extends string,\n> = {\n readonly resource: TResource;\n readonly action: TAction;\n readonly rule: ArkosPolicyRule;\n};\n\nexport type PolicyChecker = (user?: User) => Promise<boolean>;\n\ntype CanKey<TAction extends string> = `can${Capitalize<TAction>}`;\n\nexport type PolicyWithActions<\n TResource extends string,\n TActions extends string,\n> = IArkosPolicy<TResource, TActions> & {\n [K in TActions]: PolicyAuthEntry<TResource, K>;\n} & {\n [K in CanKey<TActions>]: PolicyChecker;\n};\n\nexport interface IArkosPolicy<\n TResource extends string,\n TActions extends string = never,\n> {\n readonly __type: \"ArkosPolicy\";\n readonly resource: TResource;\n\n rule<TAction extends string>(\n action: TAction,\n config?: ArkosPolicyRule\n ): PolicyWithActions<TResource, TActions | TAction>;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defaultExcludedUserFields = void 0;
4
- var auth_controller_1 = require("./../../modules/auth/auth.controller");
4
+ var auth_controller_1 = require("./../../modules/auth/auth.controller.js");
5
5
  Object.defineProperty(exports, "defaultExcludedUserFields", { enumerable: true, get: function () { return auth_controller_1.defaultExcludedUserFields; } });
6
6
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineConfig = void 0;
4
+ const define_config_1 = require("../utils/define-config.js");
5
+ Object.defineProperty(exports, "defineConfig", { enumerable: true, get: function () { return define_config_1.defineConfig; } });
6
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/exports/config.ts"],"names":[],"mappings":";;;AAAA,0DAAsD;AAE7C,6FAFA,4BAAY,OAEA","sourcesContent":["import { defineConfig } from \"../utils/define-config\";\n\nexport { defineConfig };\n"]}
@@ -34,9 +34,9 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.BaseController = exports.FileUploadController = exports.fileUploadController = void 0;
37
- const base_controller_1 = require("./../../modules/base/base.controller");
37
+ const base_controller_1 = require("./../../modules/base/base.controller.js");
38
38
  Object.defineProperty(exports, "BaseController", { enumerable: true, get: function () { return base_controller_1.BaseController; } });
39
- const file_upload_controller_1 = __importStar(require("../../modules/file-upload/file-upload.controller"));
39
+ const file_upload_controller_1 = __importStar(require("../../modules/file-upload/file-upload.controller.js"));
40
40
  exports.fileUploadController = file_upload_controller_1.default;
41
41
  Object.defineProperty(exports, "FileUploadController", { enumerable: true, get: function () { return file_upload_controller_1.FileUploadController; } });
42
42
  //# sourceMappingURL=index.js.map
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AppError = exports.catchAsync = void 0;
7
- const catch_async_1 = __importDefault(require("../../modules/error-handler/utils/catch-async"));
7
+ const catch_async_1 = __importDefault(require("../../modules/error-handler/utils/catch-async.js"));
8
8
  exports.catchAsync = catch_async_1.default;
9
- const app_error_1 = __importDefault(require("../../modules/error-handler/utils/app-error"));
9
+ const app_error_1 = __importDefault(require("../../modules/error-handler/utils/app-error.js"));
10
10
  exports.AppError = app_error_1.default;
11
11
  //# sourceMappingURL=index.js.map
@@ -4,13 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ArkosRouter = exports.getArkosConfig = exports.loadEnvironmentVariables = exports.BaseController = void 0;
7
- const base_controller_1 = require("./../modules/base/base.controller");
7
+ const base_controller_1 = require("./../modules/base/base.controller.js");
8
8
  Object.defineProperty(exports, "BaseController", { enumerable: true, get: function () { return base_controller_1.BaseController; } });
9
- const server_1 = require("../server");
9
+ const server_1 = require("../server.js");
10
10
  Object.defineProperty(exports, "getArkosConfig", { enumerable: true, get: function () { return server_1.getArkosConfig; } });
11
- const arkos_router_1 = __importDefault(require("../utils/arkos-router"));
11
+ const arkos_router_1 = __importDefault(require("../utils/arkos-router/index.js"));
12
12
  exports.ArkosRouter = arkos_router_1.default;
13
- const dotenv_helpers_1 = require("../utils/dotenv.helpers");
13
+ const dotenv_helpers_1 = require("../utils/dotenv.helpers.js");
14
14
  Object.defineProperty(exports, "loadEnvironmentVariables", { enumerable: true, get: function () { return dotenv_helpers_1.loadEnvironmentVariables; } });
15
15
  const arkos = {
16
16
  init: server_1.initApp,
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleRequestBodyValidationAndTransformation = exports.addPrismaQueryOptionsToRequest = void 0;
4
- var base_middlewares_1 = require("../../modules/base/base.middlewares");
4
+ var base_middlewares_1 = require("../../modules/base/base.middlewares.js");
5
5
  Object.defineProperty(exports, "addPrismaQueryOptionsToRequest", { enumerable: true, get: function () { return base_middlewares_1.addPrismaQueryOptionsToRequest; } });
6
6
  Object.defineProperty(exports, "handleRequestBodyValidationAndTransformation", { enumerable: true, get: function () { return base_middlewares_1.handleRequestBodyValidationAndTransformation; } });
7
7
  //# sourceMappingURL=index.js.map
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.prismaSchemaParser = void 0;
7
7
  exports.getPrismaModels = getPrismaModels;
8
- const prisma_schema_parser_1 = __importDefault(require("../../utils/prisma/prisma-schema-parser"));
8
+ const prisma_schema_parser_1 = __importDefault(require("../../utils/prisma/prisma-schema-parser.js"));
9
9
  exports.prismaSchemaParser = prisma_schema_parser_1.default;
10
10
  function getPrismaModels() {
11
11
  return prisma_schema_parser_1.default.models.map(({ name }) => name);
@@ -1 +1 @@
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
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/prisma/index.ts"],"names":[],"mappings":";;;;;;AAGA,0CAEC;AAJD,mGAAyE;AAK5C,6BALtB,8BAAkB,CAKsB;AAH/C,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\";\n\nexport function getPrismaModels() {\n return prismaSchemaParser.models.map(({ name }) => name);\n}\nexport { PrismaQueryOptions, prismaSchemaParser, AuthPrismaQueryOptions };\n"]}
@@ -37,17 +37,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.FileUploadService = exports.getFileUploadServices = exports.EmailService = exports.emailService = exports.BaseService = exports.authActionService = exports.AuthService = exports.authService = void 0;
40
- const file_upload_service_1 = require("../../modules/file-upload/file-upload.service");
40
+ const file_upload_service_1 = require("../../modules/file-upload/file-upload.service.js");
41
41
  Object.defineProperty(exports, "getFileUploadServices", { enumerable: true, get: function () { return file_upload_service_1.getFileUploadServices; } });
42
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"));
43
+ const auth_service_1 = __importStar(require("../../modules/auth/auth.service.js"));
44
44
  exports.authService = auth_service_1.default;
45
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"));
46
+ const email_service_1 = __importStar(require("../../modules/email/email.service.js"));
47
47
  exports.emailService = email_service_1.default;
48
48
  Object.defineProperty(exports, "EmailService", { enumerable: true, get: function () { return email_service_1.EmailService; } });
49
- const base_service_1 = require("../../modules/base/base.service");
49
+ const base_service_1 = require("../../modules/base/base.service.js");
50
50
  Object.defineProperty(exports, "BaseService", { enumerable: true, get: function () { return base_service_1.BaseService; } });
51
- const auth_action_service_1 = __importDefault(require("../../modules/auth/utils/services/auth-action.service"));
51
+ const auth_action_service_1 = __importDefault(require("../../modules/auth/utils/services/auth-action.service.js"));
52
52
  exports.authActionService = auth_action_service_1.default;
53
53
  //# sourceMappingURL=index.js.map
@@ -17,10 +17,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.loadEnvironmentVariables = exports.APIFeatures = void 0;
21
- __exportStar(require("../../utils/helpers/change-case.helpers"), exports);
22
- const api_features_1 = __importDefault(require("../../utils/features/api.features"));
20
+ 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
23
  exports.APIFeatures = api_features_1.default;
24
- const dotenv_helpers_1 = require("../../utils/dotenv.helpers");
25
- Object.defineProperty(exports, "loadEnvironmentVariables", { enumerable: true, get: function () { return dotenv_helpers_1.loadEnvironmentVariables; } });
26
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/exports/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,0EAAwD;AAExD,qFAA4D;AAEnD,sBAFF,sBAAW,CAEE","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\";\n\nexport { APIFeatures };\n"]}
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.validateSchema = exports.validateDto = void 0;
7
- const validate_dto_1 = __importDefault(require("../../utils/validate-dto"));
7
+ const validate_dto_1 = __importDefault(require("../../utils/validate-dto.js"));
8
8
  exports.validateDto = validate_dto_1.default;
9
- const validate_schema_1 = __importDefault(require("../../utils/validate-schema"));
9
+ const validate_schema_1 = __importDefault(require("../../utils/validate-schema.js"));
10
10
  exports.validateSchema = validate_schema_1.default;
11
11
  //# sourceMappingURL=index.js.map
@@ -4,13 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.authControllerFactory = exports.defaultExcludedUserFields = void 0;
7
- const catch_async_1 = __importDefault(require("../error-handler/utils/catch-async"));
8
- const app_error_1 = __importDefault(require("../error-handler/utils/app-error"));
9
- const auth_service_1 = __importDefault(require("./auth.service"));
10
- const base_service_1 = require("../base/base.service");
11
- const server_1 = require("../../server");
12
- const auth_controller_helpers_1 = require("./utils/helpers/auth.controller.helpers");
13
- const auth_action_service_1 = __importDefault(require("./utils/services/auth-action.service"));
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
14
  exports.defaultExcludedUserFields = {
15
15
  password: false,
16
16
  };
@@ -183,23 +183,10 @@ const authControllerFactory = (interceptors = {}) => {
183
183
  password: await auth_service_1.default.hashPassword(newPassword),
184
184
  passwordChangedAt: new Date(Date.now()).toISOString(),
185
185
  });
186
- const token = auth_service_1.default.signJwtToken(user.id);
187
- const cookieOptions = auth_service_1.default.getJwtCookieOptions(req);
188
- const authConfigs = (0, server_1.getArkosConfig)()?.authentication;
189
186
  const responseData = {
190
187
  status: "success",
191
188
  message: "Password updated successfully!",
192
189
  };
193
- if (authConfigs?.login?.sendAccessTokenThrough === "response-only" ||
194
- authConfigs?.login?.sendAccessTokenThrough === "both" ||
195
- !authConfigs?.login?.sendAccessTokenThrough) {
196
- responseData.accessToken = token;
197
- }
198
- if (authConfigs?.login?.sendAccessTokenThrough === "cookie-only" ||
199
- authConfigs?.login?.sendAccessTokenThrough === "both" ||
200
- !authConfigs?.login?.sendAccessTokenThrough)
201
- res.cookie("arkos_access_token", token, cookieOptions);
202
- req.accessToken = token;
203
190
  if (interceptors?.afterUpdatePassword) {
204
191
  res.originalData = responseData;
205
192
  req.additionalData = { user };