arkos 1.2.31-test → 1.3.0-canary

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 (346) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/app.js +1 -1
  3. package/dist/cjs/app.js.map +1 -1
  4. package/dist/cjs/exports/auth/index.js +1 -6
  5. package/dist/cjs/exports/controllers/index.js +1 -11
  6. package/dist/cjs/exports/error-handler/index.js +1 -11
  7. package/dist/cjs/exports/index.js +1 -12
  8. package/dist/cjs/exports/middlewares/index.js +1 -7
  9. package/dist/cjs/exports/prisma/index.js +1 -6
  10. package/dist/cjs/exports/prisma/index.js.map +1 -1
  11. package/dist/cjs/exports/services/index.js +1 -49
  12. package/dist/cjs/exports/services/index.js.map +1 -1
  13. package/dist/cjs/exports/utils/index.js +1 -44
  14. package/dist/cjs/exports/validation/index.js +1 -11
  15. package/dist/cjs/modules/auth/auth.controller.js +1 -194
  16. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  17. package/dist/cjs/modules/auth/auth.router.js +1 -50
  18. package/dist/cjs/modules/auth/auth.router.js.map +1 -1
  19. package/dist/cjs/modules/auth/auth.service.js +1 -185
  20. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  21. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +1 -83
  22. package/dist/cjs/modules/base/base.controller.js +1 -158
  23. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  24. package/dist/cjs/modules/base/base.middlewares.js +1 -92
  25. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  26. package/dist/cjs/modules/base/base.router.js +1 -24
  27. package/dist/cjs/modules/base/base.router.js.map +1 -1
  28. package/dist/cjs/modules/base/base.service.js +1 -128
  29. package/dist/cjs/modules/base/base.service.js.map +1 -1
  30. package/dist/cjs/modules/base/types/base.service.types.js +1 -0
  31. package/dist/cjs/modules/base/types/base.service.types.js.map +1 -0
  32. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +1 -82
  33. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js.map +1 -1
  34. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +1 -50
  35. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +1 -97
  36. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  37. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +1 -171
  38. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  39. package/dist/cjs/modules/base/utils/service-hooks-manager.js +1 -0
  40. package/dist/cjs/modules/base/utils/service-hooks-manager.js.map +1 -0
  41. package/dist/cjs/modules/email/email.service.js +1 -104
  42. package/dist/cjs/modules/error-handler/error-handler.controller.js +4 -146
  43. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  44. package/dist/cjs/modules/error-handler/utils/app-error.js +1 -17
  45. package/dist/cjs/modules/error-handler/utils/catch-async.js +1 -12
  46. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +3 -201
  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 +1 -271
  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 +1 -44
  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 +1 -322
  53. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -97
  54. package/dist/cjs/modules/swagger/swagger.router.js +1 -99
  55. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  56. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -250
  57. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  58. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -0
  59. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
  60. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -66
  61. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -1
  62. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -41
  63. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  64. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -22
  65. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  66. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -0
  67. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
  68. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
  69. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
  70. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
  71. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
  72. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  73. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  74. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -94
  75. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  76. package/dist/cjs/package.json +3 -0
  77. package/dist/cjs/server.js +4 -2
  78. package/dist/cjs/server.js.map +1 -1
  79. package/dist/cjs/types/arkos-config.js +1 -3
  80. package/dist/cjs/types/arkos-config.js.map +1 -1
  81. package/dist/cjs/types/auth.js +1 -3
  82. package/dist/cjs/types/index.js +1 -11
  83. package/dist/cjs/types/index.js.map +1 -1
  84. package/dist/cjs/types/router-config.js +1 -3
  85. package/dist/cjs/utils/arkos-env.js +1 -9
  86. package/dist/cjs/utils/cli/build.js +5 -212
  87. package/dist/cjs/utils/cli/build.js.map +1 -1
  88. package/dist/cjs/utils/cli/dev.js +5 -256
  89. package/dist/cjs/utils/cli/dev.js.map +1 -1
  90. package/dist/cjs/utils/cli/generate.js +12 -189
  91. package/dist/cjs/utils/cli/generate.js.map +1 -1
  92. package/dist/cjs/utils/cli/index.js +1 -81
  93. package/dist/cjs/utils/cli/index.js.map +1 -1
  94. package/dist/cjs/utils/cli/start.js +1 -93
  95. package/dist/cjs/utils/cli/start.js.map +1 -1
  96. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -24
  97. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -20
  98. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +9 -18
  99. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  100. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +174 -101
  101. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  102. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +9 -37
  103. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  104. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -36
  105. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  106. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +7 -28
  107. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  108. package/dist/cjs/utils/cli/utils/template-generators.js +2 -28
  109. package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
  110. package/dist/cjs/utils/cli/utils/watermark-stamper.js +3 -0
  111. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +1 -0
  112. package/dist/cjs/utils/dotenv.helpers.js +1 -43
  113. package/dist/cjs/utils/dynamic-loader.js +11 -0
  114. package/dist/cjs/utils/dynamic-loader.js.map +1 -0
  115. package/dist/cjs/utils/features/api.features.js +1 -167
  116. package/dist/cjs/utils/features/api.features.js.map +1 -1
  117. package/dist/cjs/utils/features/change-case.features.js +1 -67
  118. package/dist/cjs/utils/features/port-and-host-allocator.js +1 -0
  119. package/dist/cjs/utils/features/port-and-host-allocator.js.map +1 -0
  120. package/dist/cjs/utils/helpers/api.features.helpers.js +1 -106
  121. package/dist/cjs/utils/helpers/api.features.helpers.js.map +1 -1
  122. package/dist/cjs/utils/helpers/change-case.helpers.js +1 -177
  123. package/dist/cjs/utils/helpers/deepmerge.helper.js +1 -115
  124. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +1 -0
  125. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js.map +1 -0
  126. package/dist/cjs/utils/helpers/fs.helpers.js +1 -61
  127. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  128. package/dist/cjs/utils/helpers/global.helpers.js +1 -92
  129. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  130. package/dist/cjs/utils/helpers/prisma.helpers.js +1 -52
  131. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  132. package/dist/cjs/utils/helpers/query-parser.helpers.js +1 -45
  133. package/dist/cjs/utils/helpers/routers.helpers.js +1 -21
  134. package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -1
  135. package/dist/cjs/utils/helpers/text.helpers.js +1 -28
  136. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +1 -0
  137. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +1 -0
  138. package/dist/cjs/utils/prisma/prisma-schema-parser.js +3 -0
  139. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -0
  140. package/dist/cjs/utils/prisma/types.js +1 -0
  141. package/dist/cjs/utils/prisma/types.js.map +1 -0
  142. package/dist/cjs/utils/sheu.js +1 -119
  143. package/dist/cjs/utils/sheu.js.map +1 -1
  144. package/dist/cjs/utils/validate-dto.js +1 -17
  145. package/dist/cjs/utils/validate-schema.js +1 -15
  146. package/dist/esm/app.js +1 -1
  147. package/dist/esm/app.js.map +1 -1
  148. package/dist/esm/exports/auth/index.js +1 -2
  149. package/dist/esm/exports/controllers/index.js +1 -4
  150. package/dist/esm/exports/error-handler/index.js +1 -4
  151. package/dist/esm/exports/index.js +1 -8
  152. package/dist/esm/exports/middlewares/index.js +1 -2
  153. package/dist/esm/exports/prisma/index.js +1 -3
  154. package/dist/esm/exports/prisma/index.js.map +1 -1
  155. package/dist/esm/exports/services/index.js +1 -9
  156. package/dist/esm/exports/services/index.js.map +1 -1
  157. package/dist/esm/exports/utils/index.js +1 -4
  158. package/dist/esm/exports/validation/index.js +1 -4
  159. package/dist/esm/modules/auth/auth.controller.js +1 -187
  160. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  161. package/dist/esm/modules/auth/auth.router.js +1 -44
  162. package/dist/esm/modules/auth/auth.router.js.map +1 -1
  163. package/dist/esm/modules/auth/auth.service.js +1 -178
  164. package/dist/esm/modules/auth/auth.service.js.map +1 -1
  165. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -73
  166. package/dist/esm/modules/base/base.controller.js +1 -150
  167. package/dist/esm/modules/base/base.controller.js.map +1 -1
  168. package/dist/esm/modules/base/base.middlewares.js +1 -81
  169. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  170. package/dist/esm/modules/base/base.router.js +1 -17
  171. package/dist/esm/modules/base/base.router.js.map +1 -1
  172. package/dist/esm/modules/base/base.service.js +1 -120
  173. package/dist/esm/modules/base/base.service.js.map +1 -1
  174. package/dist/esm/modules/base/types/base.service.types.js +1 -0
  175. package/dist/esm/modules/base/types/base.service.types.js.map +1 -0
  176. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +1 -77
  177. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js.map +1 -1
  178. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +1 -44
  179. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +1 -89
  180. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  181. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +1 -165
  182. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  183. package/dist/esm/modules/base/utils/service-hooks-manager.js +1 -0
  184. package/dist/esm/modules/base/utils/service-hooks-manager.js.map +1 -0
  185. package/dist/esm/modules/email/email.service.js +1 -97
  186. package/dist/esm/modules/error-handler/error-handler.controller.js +4 -107
  187. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
  188. package/dist/esm/modules/error-handler/utils/app-error.js +1 -15
  189. package/dist/esm/modules/error-handler/utils/catch-async.js +1 -10
  190. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +3 -160
  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 +1 -266
  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 +1 -38
  195. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  196. package/dist/esm/modules/file-upload/file-upload.service.js +1 -314
  197. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -87
  198. package/dist/esm/modules/swagger/swagger.router.js +1 -93
  199. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  200. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -247
  201. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  202. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -0
  203. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
  204. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -63
  205. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -1
  206. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -38
  207. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  208. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -19
  209. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  210. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -0
  211. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
  212. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
  213. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
  214. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
  215. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
  216. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  217. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  218. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -84
  219. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  220. package/dist/esm/package.json +3 -0
  221. package/dist/esm/server.js +4 -2
  222. package/dist/esm/server.js.map +1 -1
  223. package/dist/esm/types/arkos-config.js +1 -2
  224. package/dist/esm/types/arkos-config.js.map +1 -1
  225. package/dist/esm/types/auth.js +1 -2
  226. package/dist/esm/types/index.js +1 -8
  227. package/dist/esm/types/index.js.map +1 -1
  228. package/dist/esm/types/router-config.js +1 -2
  229. package/dist/esm/utils/arkos-env.js +1 -7
  230. package/dist/esm/utils/cli/build.js +5 -206
  231. package/dist/esm/utils/cli/build.js.map +1 -1
  232. package/dist/esm/utils/cli/dev.js +5 -249
  233. package/dist/esm/utils/cli/dev.js.map +1 -1
  234. package/dist/esm/utils/cli/generate.js +12 -183
  235. package/dist/esm/utils/cli/generate.js.map +1 -1
  236. package/dist/esm/utils/cli/index.js +1 -74
  237. package/dist/esm/utils/cli/index.js.map +1 -1
  238. package/dist/esm/utils/cli/start.js +1 -86
  239. package/dist/esm/utils/cli/start.js.map +1 -1
  240. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -16
  241. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -17
  242. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +9 -15
  243. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  244. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +174 -98
  245. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  246. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +9 -34
  247. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  248. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -30
  249. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  250. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +7 -25
  251. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  252. package/dist/esm/utils/cli/utils/template-generators.js +2 -25
  253. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  254. package/dist/esm/utils/cli/utils/watermark-stamper.js +3 -0
  255. package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -0
  256. package/dist/esm/utils/dotenv.helpers.js +1 -37
  257. package/dist/esm/utils/dynamic-loader.js +11 -0
  258. package/dist/esm/utils/dynamic-loader.js.map +1 -0
  259. package/dist/esm/utils/features/api.features.js +1 -160
  260. package/dist/esm/utils/features/api.features.js.map +1 -1
  261. package/dist/esm/utils/features/change-case.features.js +1 -31
  262. package/dist/esm/utils/features/port-and-host-allocator.js +1 -0
  263. package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -0
  264. package/dist/esm/utils/helpers/api.features.helpers.js +1 -103
  265. package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -1
  266. package/dist/esm/utils/helpers/change-case.helpers.js +1 -161
  267. package/dist/esm/utils/helpers/deepmerge.helper.js +1 -113
  268. package/dist/esm/utils/helpers/dynamic-loader.helpers.js +1 -0
  269. package/dist/esm/utils/helpers/dynamic-loader.helpers.js.map +1 -0
  270. package/dist/esm/utils/helpers/fs.helpers.js +1 -52
  271. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
  272. package/dist/esm/utils/helpers/global.helpers.js +1 -50
  273. package/dist/esm/utils/helpers/global.helpers.js.map +1 -1
  274. package/dist/esm/utils/helpers/prisma.helpers.js +1 -44
  275. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
  276. package/dist/esm/utils/helpers/query-parser.helpers.js +1 -40
  277. package/dist/esm/utils/helpers/routers.helpers.js +1 -16
  278. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
  279. package/dist/esm/utils/helpers/text.helpers.js +1 -22
  280. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +1 -0
  281. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -0
  282. package/dist/esm/utils/prisma/prisma-schema-parser.js +3 -0
  283. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -0
  284. package/dist/esm/utils/prisma/types.js +1 -0
  285. package/dist/esm/utils/prisma/types.js.map +1 -0
  286. package/dist/esm/utils/sheu.js +1 -117
  287. package/dist/esm/utils/sheu.js.map +1 -1
  288. package/dist/esm/utils/validate-dto.js +1 -11
  289. package/dist/esm/utils/validate-schema.js +1 -9
  290. package/dist/types/exports/prisma/index.d.ts +1 -1
  291. package/dist/types/exports/services/index.d.ts +3 -2
  292. package/dist/types/modules/auth/auth.controller.d.ts +1 -1
  293. package/dist/types/modules/auth/auth.service.d.ts +1 -0
  294. package/dist/types/modules/base/base.controller.d.ts +1 -2
  295. package/dist/types/modules/base/base.middlewares.d.ts +4 -4
  296. package/dist/types/modules/base/base.service.d.ts +13 -67
  297. package/dist/types/modules/base/types/base.service.types.d.ts +183 -0
  298. package/dist/types/modules/base/utils/helpers/base.controller.helpers.d.ts +0 -2
  299. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +1 -1
  300. package/dist/types/modules/base/utils/helpers/base.service.helpers.d.ts +2 -1
  301. package/dist/types/modules/base/utils/service-hooks-manager.d.ts +7 -0
  302. package/dist/types/modules/error-handler/error-handler.controller.d.ts +1 -1
  303. package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +1 -0
  304. package/dist/types/modules/file-upload/file-upload.controller.d.ts +1 -1
  305. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +3 -1
  306. package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +46 -0
  307. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +2 -1
  308. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +1 -0
  309. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +3 -0
  310. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.d.ts +3 -0
  311. package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +34 -0
  312. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +2 -2
  313. package/dist/types/server.d.ts +3 -0
  314. package/dist/types/types/arkos-config.d.ts +5 -3
  315. package/dist/types/types/index.d.ts +1 -0
  316. package/dist/types/utils/cli/generate.d.ts +1 -1
  317. package/dist/types/utils/cli/utils/watermark-stamper.d.ts +9 -0
  318. package/dist/types/utils/{helpers/models.helpers.d.ts → dynamic-loader.d.ts} +34 -21
  319. package/dist/types/utils/features/port-and-host-allocator.d.ts +21 -0
  320. package/dist/types/utils/helpers/dynamic-loader.helpers.d.ts +2 -0
  321. package/dist/types/utils/helpers/fs.helpers.d.ts +0 -4
  322. package/dist/types/utils/helpers/global.helpers.d.ts +1 -0
  323. package/dist/types/utils/helpers/prisma.helpers.d.ts +0 -1
  324. package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +34 -0
  325. package/dist/types/utils/prisma/prisma-schema-parser.d.ts +18 -0
  326. package/dist/types/utils/prisma/types.d.ts +48 -0
  327. package/package.json +24 -17
  328. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +0 -30
  329. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +0 -1
  330. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +0 -442
  331. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +0 -1
  332. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +0 -165
  333. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +0 -1
  334. package/dist/cjs/utils/helpers/models.helpers.js +0 -313
  335. package/dist/cjs/utils/helpers/models.helpers.js.map +0 -1
  336. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +0 -24
  337. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +0 -1
  338. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +0 -436
  339. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +0 -1
  340. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +0 -159
  341. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +0 -1
  342. package/dist/esm/utils/helpers/models.helpers.js +0 -296
  343. package/dist/esm/utils/helpers/models.helpers.js.map +0 -1
  344. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.d.ts +0 -1
  345. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.d.ts +0 -2
  346. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.d.ts +0 -2
@@ -0,0 +1,183 @@
1
+ import { User } from "../../../types";
2
+ export type ModelDelegate = Record<string, any>;
3
+ export type CreateOneData<T extends ModelDelegate> = Parameters<T["create"]>[0] extends {
4
+ data: infer D;
5
+ [x: string]: any;
6
+ } ? D : any;
7
+ export type CreateOneOptions<T extends ModelDelegate> = Omit<Parameters<T["create"]>[0], "data">;
8
+ export type CreateOneResult<T extends ModelDelegate> = T["create"] extends (args: {
9
+ data: any;
10
+ }) => infer R ? R : any;
11
+ export type CreateManyData<T extends ModelDelegate> = Parameters<T["createMany"]>[0] extends {
12
+ data: infer D;
13
+ [x: string]: any;
14
+ } ? D : any;
15
+ export type CreateManyOptions<T extends ModelDelegate> = Omit<Parameters<T["createMany"]>[0], "data">;
16
+ export type CreateManyResult<T extends ModelDelegate> = T["createMany"] extends (args: {
17
+ data: any;
18
+ }) => infer R ? R : any;
19
+ export type CountFilters<T extends ModelDelegate> = Parameters<T["count"]>[0] extends {
20
+ where?: infer W;
21
+ [x: string]: any;
22
+ } ? W : any;
23
+ export type FindManyFilters<T extends ModelDelegate> = Parameters<T["findMany"]>[0] extends {
24
+ where?: infer W;
25
+ [x: string]: any;
26
+ } ? W : any;
27
+ export type FindManyOptions<T extends ModelDelegate> = Omit<Parameters<T["findMany"]>[0], "where">;
28
+ export type FindManyResult<T extends ModelDelegate, TOptions = any> = T["findMany"] extends (args: {
29
+ where: any;
30
+ } & TOptions) => infer R ? R : any;
31
+ export type FindByIdOptions<T extends ModelDelegate> = Omit<Parameters<T["findUnique"]>[0], "where">;
32
+ export type FindByIdResult<T extends ModelDelegate> = T["findUnique"] extends (args: {
33
+ where: any;
34
+ }) => infer R ? R : any;
35
+ export type FindOneFilters<T extends ModelDelegate> = Parameters<T["findFirst"]>[0] extends {
36
+ where?: infer W;
37
+ [x: string]: any;
38
+ } ? W : any | Parameters<T["findUnique"]>[0] extends {
39
+ where?: infer W;
40
+ [x: string]: any;
41
+ } ? W : any;
42
+ export type FindOneOptions<T extends ModelDelegate> = Omit<Parameters<T["findFirst"]>[0], "where"> | Omit<Parameters<T["findUnique"]>[0], "where">;
43
+ export type FindOneResult<T extends ModelDelegate> = T["findFirst"] extends (args: {
44
+ where: any;
45
+ }) => infer R ? R : T["findUnique"] extends (args: {
46
+ where: any;
47
+ }) => infer R2 ? R2 : any;
48
+ export type UpdateOneFilters<T extends ModelDelegate> = Parameters<T["update"]>[0] extends {
49
+ where?: infer W;
50
+ [x: string]: any;
51
+ } ? W : any;
52
+ export type UpdateOneData<T extends ModelDelegate> = Parameters<T["update"]>[0] extends {
53
+ data: infer D;
54
+ [x: string]: any;
55
+ } ? D : any;
56
+ export type UpdateOneOptions<T extends ModelDelegate> = Omit<Parameters<T["update"]>[0], "where" | "data">;
57
+ export type UpdateOneResult<T extends ModelDelegate> = T["update"] extends (args: {
58
+ where: any;
59
+ data: any;
60
+ }) => infer R ? R : any;
61
+ export type UpdateManyFilters<T extends ModelDelegate> = Parameters<T["updateMany"]>[0] extends {
62
+ where?: infer W;
63
+ [x: string]: any;
64
+ } ? W : any;
65
+ export type UpdateManyData<T extends ModelDelegate> = Parameters<T["updateMany"]>[0] extends {
66
+ data: infer D;
67
+ [x: string]: any;
68
+ } ? D : any;
69
+ export type UpdateManyOptions<T extends ModelDelegate> = Omit<Parameters<T["updateMany"]>[0], "where" | "data">;
70
+ export type UpdateManyResult<T extends ModelDelegate> = T["updateMany"] extends (args: {
71
+ where: any;
72
+ data: any;
73
+ }) => infer R ? R : any;
74
+ export type DeleteOneFilters<T extends ModelDelegate> = Parameters<T["delete"]>[0] extends {
75
+ where?: infer W;
76
+ [x: string]: any;
77
+ } ? W : any;
78
+ export type DeleteOneResult<T extends ModelDelegate> = ReturnType<T["delete"]>;
79
+ export type DeleteManyFilters<T extends ModelDelegate> = Parameters<T["deleteMany"]>[0] extends {
80
+ where?: infer W;
81
+ [x: string]: any;
82
+ } ? W : Record<string, any>;
83
+ export type DeleteManyResult<T extends ModelDelegate> = ReturnType<T["deleteMany"]>;
84
+ export interface ServiceBaseContext {
85
+ user?: User;
86
+ accessToken?: string;
87
+ }
88
+ export interface BeforeCreateOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
89
+ data: CreateOneData<T>;
90
+ queryOptions?: CreateOneOptions<T>;
91
+ context?: Context;
92
+ }
93
+ export interface AfterCreateOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
94
+ result: CreateOneResult<T>;
95
+ data: CreateOneData<T>;
96
+ queryOptions?: CreateOneOptions<T>;
97
+ context?: Context;
98
+ }
99
+ export interface BeforeCreateManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
100
+ data: CreateManyData<T>;
101
+ queryOptions?: CreateManyOptions<T>;
102
+ context?: Context;
103
+ }
104
+ export interface AfterCreateManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
105
+ result: CreateManyResult<T>;
106
+ queryOptions?: CreateManyOptions<T>;
107
+ context?: Context;
108
+ }
109
+ export interface BeforeCountHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
110
+ filters?: CountFilters<T>;
111
+ context?: Context;
112
+ }
113
+ export interface AfterCountHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
114
+ result: number;
115
+ filters?: CountFilters<T>;
116
+ context?: Context;
117
+ }
118
+ export interface BeforeFindManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
119
+ filters?: FindManyFilters<T>;
120
+ queryOptions?: FindManyOptions<T>;
121
+ context?: Context;
122
+ }
123
+ export interface AfterFindManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
124
+ result: FindManyResult<T>;
125
+ filters?: FindManyFilters<T>;
126
+ queryOptions?: FindManyOptions<T>;
127
+ context?: Context;
128
+ }
129
+ export interface BeforeFindOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
130
+ filters: FindOneFilters<T>;
131
+ queryOptions?: FindOneOptions<T>;
132
+ context?: Context;
133
+ }
134
+ export interface AfterFindOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
135
+ result: FindOneResult<T>;
136
+ filters: FindOneFilters<T>;
137
+ queryOptions?: FindOneOptions<T>;
138
+ context?: Context;
139
+ }
140
+ export interface BeforeUpdateOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
141
+ filters: UpdateOneFilters<T>;
142
+ data: UpdateOneData<T>;
143
+ queryOptions?: UpdateOneOptions<T>;
144
+ context?: Context;
145
+ }
146
+ export interface AfterUpdateOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
147
+ result: UpdateOneResult<T>;
148
+ filters: UpdateOneFilters<T>;
149
+ data: UpdateOneData<T>;
150
+ queryOptions?: UpdateOneOptions<T>;
151
+ context?: Context;
152
+ }
153
+ export interface BeforeUpdateManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
154
+ filters: UpdateManyFilters<T>;
155
+ data: UpdateManyData<T>;
156
+ queryOptions?: UpdateManyOptions<T>;
157
+ context?: Context;
158
+ }
159
+ export interface AfterUpdateManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
160
+ result: UpdateManyResult<T>;
161
+ filters: UpdateManyFilters<T>;
162
+ data: UpdateManyData<T>;
163
+ queryOptions?: UpdateManyOptions<T>;
164
+ context?: Context;
165
+ }
166
+ export interface BeforeDeleteOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
167
+ filters: DeleteOneFilters<T>;
168
+ context?: Context;
169
+ }
170
+ export interface AfterDeleteOneHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
171
+ result: DeleteOneResult<T>;
172
+ filters: DeleteOneFilters<T>;
173
+ context?: Context;
174
+ }
175
+ export interface BeforeDeleteManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
176
+ filters: DeleteManyFilters<T>;
177
+ context?: Context;
178
+ }
179
+ export interface AfterDeleteManyHookArgs<T extends ModelDelegate, Context = ServiceBaseContext> {
180
+ result: DeleteManyResult<T>;
181
+ filters: DeleteManyFilters<T>;
182
+ context?: Context;
183
+ }
@@ -1,6 +1,4 @@
1
- import { ArkosRequest } from "../../../../types";
2
1
  export declare const getAppRoutes: () => {
3
2
  method: string;
4
3
  path: string;
5
4
  }[];
6
- export declare function parseAndGetPrismaQueryOptions(req: ArkosRequest): void;
@@ -1,6 +1,6 @@
1
1
  import { Router } from "express";
2
2
  import { ArkosConfig, RouterConfig } from "../../../../exports";
3
3
  import { RouterEndpoint } from "../../../../types/router-config";
4
- export declare function setupRouters(models: string[], router: Router, arkosConfigs: ArkosConfig): Promise<void>[];
4
+ export declare function setupRouters(models: string[], router: Router, arkosConfigs: ArkosConfig): Promise<Promise<void>[]>;
5
5
  export declare function isEndpointDisabled(routerConfig: RouterConfig, endpoint: RouterEndpoint): boolean;
6
6
  export declare function isParentEndpointAllowed(routerConfig: any, endpoint: string): boolean;
@@ -1,5 +1,6 @@
1
- import { RelationFields } from "../../../../utils/helpers/models.helpers";
1
+ import { RelationFields } from "../../../../utils/dynamic-loader";
2
2
  export declare function removeApiAction(obj: Record<string, any>): Record<string, any>;
3
3
  export declare function isPrismaRelationFormat(obj: Record<string, any>): boolean;
4
+ export declare function throwErrorIfApiActionIsInvalid(apiAction: string): void;
4
5
  export declare function handleRelationFieldsInBody(body: Record<string, any>, relationFields: RelationFields, ignoreActions?: string[]): Record<string, any>;
5
6
  export declare function canBeUsedToConnect(modelName: string, bodyField: Record<string, any> | undefined | null): boolean;
@@ -0,0 +1,7 @@
1
+ type ServiceHook = (args: Record<string, any>) => Promise<void>;
2
+ declare class ServiceHooksManager {
3
+ handleHook(hooksReceived: ServiceHook | ServiceHook[], hooksArgs: Record<string, any>): Promise<void>;
4
+ validateServiceHook(hook: ServiceHook): void;
5
+ }
6
+ declare const serviceHooksManager: ServiceHooksManager;
7
+ export default serviceHooksManager;
@@ -1,3 +1,3 @@
1
1
  import { NextFunction, Request, Response } from "express";
2
2
  import AppError from "./utils/app-error";
3
- export default function errorHandler(err: AppError, req: Request, res: Response, next: NextFunction): void;
3
+ export default function errorHandler(err: AppError, req: Request, res: Response, _: NextFunction): void;
@@ -44,3 +44,4 @@ export declare function handleNonExistingRecord(err: {
44
44
  meta?: Record<string, any>;
45
45
  [x: string]: any;
46
46
  }): AppError;
47
+ export declare function handlePrismaClientInitializationError(_: any): AppError;
@@ -1,6 +1,6 @@
1
1
  import { ArkosNextFunction, ArkosRequest, ArkosResponse } from "../../types";
2
2
  declare class FileUploadController {
3
- private middlewares;
3
+ private interceptors;
4
4
  uploadFile: (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => Promise<void>;
5
5
  deleteFile: (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => Promise<void>;
6
6
  updateFile: (req: ArkosRequest, res: ArkosResponse, next: ArkosNextFunction) => Promise<void>;
@@ -1,2 +1,4 @@
1
1
  import { OpenAPIV3 } from "openapi-types";
2
- export declare function getAuthenticationJsonSchemaPaths(): OpenAPIV3.PathsObject<{}, {}>;
2
+ import { ArkosConfig } from "../../../../exports";
3
+ export declare const getSchemaMode: (action: string, arkosConfig: ArkosConfig) => Promise<"prisma" | "zod" | "class-validator">;
4
+ export default function getAuthenticationJsonSchemaPaths(arkosConfig: ArkosConfig): Promise<OpenAPIV3.PathsObject<{}, {}>>;
@@ -0,0 +1,46 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ export default function getSwaggerDefaultConfig(defaultModelsPaths: Record<string, any>, defaultJsonSchemas: OpenAPIV3.PathsObject<{}, {}>): Promise<{
3
+ enableAfterBuild?: boolean;
4
+ endpoint?: string;
5
+ mode: "prisma" | "class-validator" | "zod";
6
+ strict?: boolean;
7
+ options?: {
8
+ definition?: {
9
+ openapi?: string;
10
+ info?: {
11
+ title?: string;
12
+ version?: string;
13
+ description?: string;
14
+ };
15
+ servers?: {
16
+ url: string;
17
+ description?: string;
18
+ }[];
19
+ paths?: OpenAPIV3.PathsObject;
20
+ termsOfService?: string;
21
+ contact?: {
22
+ name?: string;
23
+ url?: string;
24
+ email?: string;
25
+ };
26
+ license?: {
27
+ name: string;
28
+ url?: string;
29
+ };
30
+ tags?: {
31
+ name: string;
32
+ description?: string;
33
+ }[];
34
+ components?: {
35
+ securitySchemes?: Record<string, any>;
36
+ schemas?: Record<string, any>;
37
+ };
38
+ security?: Array<Record<string, string[]>>;
39
+ };
40
+ apis?: string[];
41
+ deepLinking?: boolean;
42
+ tryItOutEnabled?: boolean;
43
+ persistAuthorization?: boolean;
44
+ };
45
+ scalarApiReferenceConfiguration?: Partial<import("@scalar/express-api-reference").ApiReferenceConfiguration>;
46
+ } | undefined>;
@@ -1 +1,2 @@
1
- export declare function generatePrismaJsonSchemas(): Promise<void>;
1
+ import { ArkosConfig } from "../../../../../exports";
2
+ export declare function generatePrismaJsonSchemas(arkosConfig: ArkosConfig): Promise<import("../../../../../utils/prisma/prisma-json-schema-generator").GeneratedSchemas>;
@@ -0,0 +1 @@
1
+ export default function generateZodJsonSchemas(): Promise<Record<string, any>>;
@@ -0,0 +1,3 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { ArkosConfig } from "../../../../../../exports";
3
+ export declare function generatePrismaModelMainRoutesPaths(model: string, paths: OpenAPIV3.PathsObject | undefined, arkosConfig: ArkosConfig): Promise<OpenAPIV3.PathsObject<{}, {}> | undefined>;
@@ -0,0 +1,3 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { ArkosConfig } from "../../../../../../exports";
3
+ export default function generatePrismaModelParentRoutesPaths(model: string, paths: OpenAPIV3.PathsObject, arkosConfig: ArkosConfig): Promise<void>;
@@ -0,0 +1,34 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { ArkosConfig } from "../../../../exports";
3
+ declare class MissingJsonSchemasGenerator {
4
+ private extractModelNameFromSchemaRef;
5
+ private extractActionFromOperationId;
6
+ private extractModelNameFromOperationId;
7
+ private extractSchemaRefsWithContext;
8
+ private extractPathSchemaRefs;
9
+ private getSchemaNameFromRef;
10
+ generateMissingJsonSchemas(currentPaths: OpenAPIV3.PathsObject, currentJsonSchemas: Record<string, any>, arkosConfig: ArkosConfig): Promise<Record<string, any>>;
11
+ private extractActionFromSchemaRef;
12
+ analyzeMissingSchemas(currentPaths: OpenAPIV3.PathsObject, currentJsonSchemas: Record<string, any>): {
13
+ allRefs: Array<{
14
+ ref: string;
15
+ context: any;
16
+ }>;
17
+ missingRefs: Array<{
18
+ ref: string;
19
+ context: any;
20
+ }>;
21
+ existingRefs: Array<{
22
+ ref: string;
23
+ context: any;
24
+ }>;
25
+ modelActions: {
26
+ model: string;
27
+ action: string;
28
+ ref: string;
29
+ operationId?: string;
30
+ }[];
31
+ };
32
+ }
33
+ declare const missingJsonSchemaGenerator: MissingJsonSchemasGenerator;
34
+ export default missingJsonSchemaGenerator;
@@ -1,7 +1,7 @@
1
1
  import { ArkosConfig } from "../../../../exports";
2
2
  import { OpenAPIV3 } from "openapi-types";
3
- export declare function getOpenAPIJsonSchemasByConfigMode(swaggerConfig: ArkosConfig["swagger"]): Promise<void | Record<string, any>>;
3
+ export declare function getOpenAPIJsonSchemasByConfigMode(arkosConfig: ArkosConfig): Promise<Record<string, any>>;
4
4
  export declare function getCorrectJsonSchemaName(type: string, modelName: string, suffix: "Dto" | "Schema"): string;
5
5
  export declare function kebabToHuman(kebabStr: string): string;
6
- export declare function getSchemaRef(schemaName: string, mode: string): string;
6
+ export declare function getSchemaRef(schemaName: string, mode: "prisma" | "zod" | "class-validator"): string;
7
7
  export declare function generatePathsForModels(arkosConfig: ArkosConfig): Promise<OpenAPIV3.PathsObject>;
@@ -2,6 +2,9 @@ import { IncomingMessage, Server, ServerResponse } from "http";
2
2
  import { Express } from "express";
3
3
  import { ArkosConfig } from "./types/arkos-config";
4
4
  declare let server: Server<typeof IncomingMessage, typeof ServerResponse>;
5
+ export declare let _arkosConfig: ArkosConfig & {
6
+ available?: boolean;
7
+ };
5
8
  declare function initApp(arkosConfig?: ArkosConfig): Promise<Express>;
6
9
  export declare function terminateApplicationRunningProcessAndServer(): void;
7
10
  export declare function getArkosConfig(): ArkosConfig;
@@ -8,6 +8,7 @@ import { Options as QueryParserOptions } from "../utils/helpers/query-parser.hel
8
8
  import { ValidatorOptions } from "class-validator";
9
9
  import { MsDuration } from "../modules/auth/utils/helpers/auth.controller.helpers";
10
10
  import { OpenAPIV3 } from "openapi-types";
11
+ import type { ApiReferenceConfiguration } from "@scalar/express-api-reference" with { "resolution-mode": "import" };
11
12
  export type ArkosConfig = {
12
13
  request?: {
13
14
  parameters?: {
@@ -84,7 +85,7 @@ export type ArkosConfig = {
84
85
  };
85
86
  middlewares?: {
86
87
  additional?: express.RequestHandler[];
87
- disable?: ("compression" | "global-rate-limit" | "auth-rate-limit" | "cors" | "express-json" | "cookie-parser" | "query-parser" | "database-connection" | "request-logger" | "global-error-handler")[];
88
+ disable?: ("compression" | "global-rate-limit" | "auth-rate-limit" | "cors" | "express-json" | "cookie-parser" | "query-parser" | "request-logger" | "global-error-handler")[];
88
89
  replace?: {
89
90
  compression?: express.RequestHandler;
90
91
  globalRateLimit?: express.RequestHandler;
@@ -93,12 +94,12 @@ export type ArkosConfig = {
93
94
  expressJson?: express.RequestHandler;
94
95
  cookieParser?: express.RequestHandler;
95
96
  queryParser?: express.RequestHandler;
96
- databaseConnection?: express.RequestHandler;
97
97
  requestLogger?: express.RequestHandler;
98
98
  globalErrorHandler?: express.ErrorRequestHandler;
99
99
  };
100
100
  };
101
101
  routers?: {
102
+ strict?: boolean | "no-bulk";
102
103
  additional?: express.Router[];
103
104
  disable?: ("auth-router" | "prisma-models-router" | "file-upload" | "welcome-endpoint")[];
104
105
  replace?: {
@@ -124,6 +125,7 @@ export type ArkosConfig = {
124
125
  enableAfterBuild?: boolean;
125
126
  endpoint?: string;
126
127
  mode: "prisma" | "class-validator" | "zod";
128
+ strict?: boolean;
127
129
  options?: {
128
130
  definition?: {
129
131
  openapi?: string;
@@ -158,10 +160,10 @@ export type ArkosConfig = {
158
160
  security?: Array<Record<string, string[]>>;
159
161
  };
160
162
  apis?: string[];
161
- swaggerUiOptions?: Record<string, any>;
162
163
  deepLinking?: boolean;
163
164
  tryItOutEnabled?: boolean;
164
165
  persistAuthorization?: boolean;
165
166
  };
167
+ scalarApiReferenceConfiguration?: Partial<ApiReferenceConfiguration>;
166
168
  };
167
169
  };
@@ -122,6 +122,7 @@ export interface ArkosRequest<Body = any, Query = any> extends Request {
122
122
  responseStatus?: number | string | null | undefined;
123
123
  body: Body;
124
124
  prismaQueryOptions?: Record<string, any>;
125
+ accessToken?: string;
125
126
  }
126
127
  export interface ArkosResponse extends Response {
127
128
  }
@@ -6,7 +6,7 @@ export declare const generateCommand: {
6
6
  controller: (options: GenerateOptions) => Promise<void>;
7
7
  service: (options: GenerateOptions) => Promise<void>;
8
8
  router: (options: GenerateOptions) => Promise<void>;
9
- middlewares: (options: GenerateOptions) => Promise<void>;
9
+ interceptors: (options: GenerateOptions) => Promise<void>;
10
10
  authConfigs: (options: GenerateOptions) => Promise<void>;
11
11
  queryOptions: (options: GenerateOptions) => Promise<void>;
12
12
  };
@@ -0,0 +1,9 @@
1
+ declare class WatermarkStamper {
2
+ stamp({ envFiles, host, port, }: {
3
+ envFiles: string[] | undefined;
4
+ host: string | undefined;
5
+ port: string | undefined;
6
+ }): void;
7
+ }
8
+ declare const watermarkStamper: WatermarkStamper;
9
+ export default watermarkStamper;
@@ -1,13 +1,13 @@
1
- import { AuthConfigs } from "../../types/auth";
2
- import { ArkosConfig } from "../../exports";
3
- type ModeModules = Awaited<ReturnType<typeof importPrismaModelModules>>;
4
- export declare function setModelModules(modelName: string, modules: ModeModules): void;
5
- export declare function getModelModules(modelName: string): importPrismaModelModulesReturnType;
6
- export declare function getFileModelModulesFileStructure(modelName: string): {
1
+ import { AuthConfigs } from "../types/auth";
2
+ import { ArkosConfig } from "../exports";
3
+ type ModeModules = Awaited<ReturnType<typeof importModuleComponents>>;
4
+ export declare function setModuleComponents(modelName: string, modules: ModeModules): any;
5
+ export declare function getModuleComponents(modelName: string): importModuleComponentsReturnType;
6
+ export type ValidationFileMappingKey = keyof ReturnType<typeof getFileModuleComponentsFileStructure>["dtos"];
7
+ export declare function getFileModuleComponentsFileStructure(modelName: string): {
7
8
  core: {
8
- service: string;
9
- controller: string;
10
- middlewares: string;
9
+ hooks: string;
10
+ interceptors: string;
11
11
  authConfigs: string;
12
12
  authConfigsNew: string;
13
13
  prismaQueryOptions: string;
@@ -17,63 +17,74 @@ export declare function getFileModelModulesFileStructure(modelName: string): {
17
17
  dtos: {
18
18
  login: string;
19
19
  signup: string;
20
+ getMe: string;
20
21
  updateMe: string;
21
22
  updatePassword: string;
22
23
  model?: undefined;
23
24
  create?: undefined;
25
+ createOne?: undefined;
24
26
  createMany?: undefined;
25
27
  update?: undefined;
28
+ updateOne?: undefined;
26
29
  updateMany?: undefined;
30
+ query?: undefined;
27
31
  findOne?: undefined;
28
32
  findMany?: undefined;
29
- query?: undefined;
30
33
  } | {
31
34
  model: string;
32
35
  create: string;
36
+ createOne: string;
33
37
  createMany: string;
34
38
  update: string;
39
+ updateOne: string;
35
40
  updateMany: string;
41
+ query: string;
36
42
  findOne: string;
37
43
  findMany: string;
38
- query: string;
39
44
  login?: undefined;
40
45
  signup?: undefined;
46
+ getMe?: undefined;
41
47
  updateMe?: undefined;
42
48
  updatePassword?: undefined;
43
49
  };
44
50
  schemas: {
45
51
  login: string;
46
52
  signup: string;
53
+ getMe: string;
47
54
  updateMe: string;
48
55
  updatePassword: string;
49
56
  model?: undefined;
50
57
  create?: undefined;
58
+ createOne?: undefined;
51
59
  createMany?: undefined;
52
60
  update?: undefined;
61
+ updateOne?: undefined;
53
62
  updateMany?: undefined;
63
+ query?: undefined;
54
64
  findOne?: undefined;
55
65
  findMany?: undefined;
56
- query?: undefined;
57
66
  } | {
58
67
  model: string;
59
68
  create: string;
69
+ createOne: string;
60
70
  createMany: string;
61
71
  update: string;
72
+ updateOne: string;
62
73
  updateMany: string;
74
+ query: string;
63
75
  findOne: string;
64
76
  findMany: string;
65
- query: string;
66
77
  login?: undefined;
67
78
  signup?: undefined;
79
+ getMe?: undefined;
68
80
  updateMe?: undefined;
69
81
  updatePassword?: undefined;
70
82
  };
71
83
  };
72
- export declare function processSubdir(modelName: string, type: "dtos" | "schemas", result?: Record<string, any>): Promise<Record<string, any>>;
73
- type importPrismaModelModulesReturnType = {
74
- service?: any;
75
- controller?: any;
76
- middlewares?: any;
84
+ export declare function processSubdir(modelName: string, type: "dtos" | "schemas"): Promise<Record<string, any>>;
85
+ type importModuleComponentsReturnType = {
86
+ hooks?: any;
87
+ interceptors?: any;
77
88
  authConfigs?: AuthConfigs;
78
89
  authConfigsNew?: AuthConfigs;
79
90
  prismaQueryOptions?: any;
@@ -82,9 +93,9 @@ type importPrismaModelModulesReturnType = {
82
93
  dtos?: Record<string, any>;
83
94
  schemas?: Record<string, any>;
84
95
  };
85
- export declare function validateNamingConventions(key: string, fileName: string, result: importPrismaModelModulesReturnType): void;
86
- export declare function assignModuleToResult(key: string, module: any, result: importPrismaModelModulesReturnType): void;
87
- export declare function importPrismaModelModules(modelName: string, arkosConfig: ArkosConfig): Promise<importPrismaModelModulesReturnType>;
96
+ export declare function validateNamingConventions(key: string, fileName: string, result: importModuleComponentsReturnType): void;
97
+ export declare function assignModuleToResult(key: string, module: any, result: importModuleComponentsReturnType, arkosConfig: ArkosConfig): void;
98
+ export declare function importModuleComponents(modelName: string, arkosConfig: ArkosConfig, moduleDirExists?: boolean): Promise<importModuleComponentsReturnType>;
88
99
  export type ModelFieldDefition = {
89
100
  name: string;
90
101
  type: string;
@@ -104,4 +115,6 @@ export declare function getPrismaModelRelations(modelName: string): RelationFiel
104
115
  declare function getModels(): string[];
105
116
  export declare function getPrismaSchemasContent(): string;
106
117
  declare function getModelUniqueFields(modelName: string): ModelFieldDefition[];
118
+ export declare function localValidatorFileExists(action: ValidationFileMappingKey, modelName: string, arkosConfig: ArkosConfig): Promise<boolean>;
119
+ export declare function loadAllModuleComponents(arkosConfig: ArkosConfig): Promise<void>;
107
120
  export { getModels, getModelUniqueFields };
@@ -0,0 +1,21 @@
1
+ import { ArkosConfig } from "../../exports";
2
+ declare class PortAndHostAllocator {
3
+ private host;
4
+ private port;
5
+ private prevWarnings;
6
+ getCorrectHostAndPortToUse(env: Record<string, any>, config?: ArkosConfig): {
7
+ port: string;
8
+ host: string;
9
+ };
10
+ getHostAndAvailablePort(env: Record<string, any>, config?: ArkosConfig & {
11
+ logWarning?: boolean;
12
+ caller?: string;
13
+ }): Promise<{
14
+ port: string;
15
+ host: string;
16
+ }>;
17
+ private isPortAvailable;
18
+ logWarnings(): void;
19
+ }
20
+ declare const portAndHostAllocator: PortAndHostAllocator;
21
+ export default portAndHostAllocator;
@@ -0,0 +1,2 @@
1
+ import { ArkosConfig, RouterConfig } from "../../exports";
2
+ export declare function applyStrictRoutingRules(arkosConfig: ArkosConfig, moduleConfig?: RouterConfig): RouterConfig;
@@ -1,7 +1,3 @@
1
- import fs from "fs";
2
- export declare const statAsync: typeof fs.stat.__promisify__;
3
- export declare const accessAsync: typeof fs.access.__promisify__;
4
- export declare const mkdirAsync: typeof fs.mkdir.__promisify__;
5
1
  export declare const crd: () => string;
6
2
  export declare function fullCleanCwd(path: string): string;
7
3
  export declare let userFileExtension: "ts" | "js" | undefined;
@@ -3,4 +3,5 @@ export declare function isEsm(): boolean;
3
3
  export declare function importModule(modulePath: string, options?: {
4
4
  fixExtension: boolean;
5
5
  }): Promise<any>;
6
+ export declare function importEsmPreventingTsTransformation(path: string): Promise<any>;
6
7
  export declare function detectPackageManagerFromUserAgent(): string;
@@ -1,4 +1,3 @@
1
1
  export declare let prismaInstance: any;
2
2
  export declare function loadPrismaModule(): Promise<any>;
3
3
  export declare function getPrismaInstance(): any;
4
- export declare const checkDatabaseConnection: (req: import("../../types").ArkosRequest, res: import("../../types").ArkosResponse, next: import("../../types").ArkosNextFunction) => Promise<void>;