arkos 1.2.32-test → 1.3.0-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 (396) 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/auth-error-objects.js +1 -0
  22. package/dist/cjs/modules/auth/utils/auth-error-objects.js.map +1 -0
  23. package/dist/cjs/modules/auth/utils/helpers/auth.controller.helpers.js +1 -83
  24. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +1 -0
  25. package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +1 -0
  26. package/dist/cjs/modules/base/base.controller.js +1 -158
  27. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  28. package/dist/cjs/modules/base/base.middlewares.js +1 -92
  29. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  30. package/dist/cjs/modules/base/base.router.js +1 -24
  31. package/dist/cjs/modules/base/base.router.js.map +1 -1
  32. package/dist/cjs/modules/base/base.service.js +1 -128
  33. package/dist/cjs/modules/base/base.service.js.map +1 -1
  34. package/dist/cjs/modules/base/types/base.service.types.js +1 -0
  35. package/dist/cjs/modules/base/types/base.service.types.js.map +1 -0
  36. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js +1 -82
  37. package/dist/cjs/modules/base/utils/helpers/base.controller.helpers.js.map +1 -1
  38. package/dist/cjs/modules/base/utils/helpers/base.middlewares.helpers.js +1 -50
  39. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +1 -97
  40. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  41. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +1 -171
  42. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  43. package/dist/cjs/modules/base/utils/router-validator.js +1 -0
  44. package/dist/cjs/modules/base/utils/router-validator.js.map +1 -0
  45. package/dist/cjs/modules/base/utils/service-hooks-manager.js +1 -0
  46. package/dist/cjs/modules/base/utils/service-hooks-manager.js.map +1 -0
  47. package/dist/cjs/modules/email/email.service.js +1 -104
  48. package/dist/cjs/modules/error-handler/error-handler.controller.js +4 -146
  49. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  50. package/dist/cjs/modules/error-handler/utils/app-error.js +1 -17
  51. package/dist/cjs/modules/error-handler/utils/app-error.js.map +1 -1
  52. package/dist/cjs/modules/error-handler/utils/catch-async.js +1 -12
  53. package/dist/cjs/modules/error-handler/utils/catch-async.js.map +1 -1
  54. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +3 -201
  55. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  56. package/dist/cjs/modules/file-upload/file-upload.controller.js +1 -271
  57. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
  58. package/dist/cjs/modules/file-upload/file-upload.router.js +1 -44
  59. package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
  60. package/dist/cjs/modules/file-upload/file-upload.service.js +1 -322
  61. package/dist/cjs/modules/file-upload/file-upload.service.js.map +1 -1
  62. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -97
  63. package/dist/cjs/modules/swagger/swagger.router.js +1 -99
  64. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  65. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -250
  66. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  67. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -0
  68. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
  69. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -66
  70. package/dist/cjs/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -1
  71. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -41
  72. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  73. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -22
  74. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  75. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +1 -0
  76. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +1 -0
  77. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -0
  78. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
  79. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
  80. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
  81. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
  82. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
  83. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  84. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  85. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -94
  86. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  87. package/dist/cjs/package.json +3 -0
  88. package/dist/cjs/server.js +4 -2
  89. package/dist/cjs/server.js.map +1 -1
  90. package/dist/cjs/types/arkos-config.js +1 -3
  91. package/dist/cjs/types/arkos-config.js.map +1 -1
  92. package/dist/cjs/types/auth.js +1 -3
  93. package/dist/cjs/types/auth.js.map +1 -1
  94. package/dist/cjs/types/index.js +1 -11
  95. package/dist/cjs/types/index.js.map +1 -1
  96. package/dist/cjs/types/router-config.js +1 -3
  97. package/dist/cjs/types/router-config.js.map +1 -1
  98. package/dist/cjs/utils/arkos-env.js +1 -9
  99. package/dist/cjs/utils/cli/build.js +5 -212
  100. package/dist/cjs/utils/cli/build.js.map +1 -1
  101. package/dist/cjs/utils/cli/dev.js +3 -256
  102. package/dist/cjs/utils/cli/dev.js.map +1 -1
  103. package/dist/cjs/utils/cli/generate.js +1 -189
  104. package/dist/cjs/utils/cli/generate.js.map +1 -1
  105. package/dist/cjs/utils/cli/index.js +1 -81
  106. package/dist/cjs/utils/cli/index.js.map +1 -1
  107. package/dist/cjs/utils/cli/start.js +1 -93
  108. package/dist/cjs/utils/cli/start.js.map +1 -1
  109. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -24
  110. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js +1 -0
  111. package/dist/cjs/utils/cli/utils/smart-fs-watcher.js.map +1 -0
  112. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -20
  113. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js +9 -18
  114. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  115. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js +144 -0
  116. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +1 -0
  117. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js +156 -135
  118. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  119. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +9 -37
  120. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  121. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -36
  122. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  123. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js +6 -32
  124. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  125. package/dist/cjs/utils/cli/utils/template-generators.js +2 -28
  126. package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
  127. package/dist/cjs/utils/cli/utils/watermark-stamper.js +3 -0
  128. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +1 -0
  129. package/dist/cjs/utils/dotenv.helpers.js +1 -43
  130. package/dist/cjs/utils/dynamic-loader.js +9 -0
  131. package/dist/cjs/utils/dynamic-loader.js.map +1 -0
  132. package/dist/cjs/utils/features/api.features.js +1 -167
  133. package/dist/cjs/utils/features/api.features.js.map +1 -1
  134. package/dist/cjs/utils/features/change-case.features.js +1 -67
  135. package/dist/cjs/utils/features/port-and-host-allocator.js +1 -0
  136. package/dist/cjs/utils/features/port-and-host-allocator.js.map +1 -0
  137. package/dist/cjs/utils/helpers/api.features.helpers.js +1 -106
  138. package/dist/cjs/utils/helpers/api.features.helpers.js.map +1 -1
  139. package/dist/cjs/utils/helpers/change-case.helpers.js +1 -177
  140. package/dist/cjs/utils/helpers/deepmerge.helper.js +1 -115
  141. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +1 -0
  142. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js.map +1 -0
  143. package/dist/cjs/utils/helpers/fs.helpers.js +1 -61
  144. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  145. package/dist/cjs/utils/helpers/global.helpers.js +1 -89
  146. package/dist/cjs/utils/helpers/global.helpers.js.map +1 -1
  147. package/dist/cjs/utils/helpers/prisma.helpers.js +1 -52
  148. package/dist/cjs/utils/helpers/prisma.helpers.js.map +1 -1
  149. package/dist/cjs/utils/helpers/query-parser.helpers.js +1 -45
  150. package/dist/cjs/utils/helpers/routers.helpers.js +1 -21
  151. package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -1
  152. package/dist/cjs/utils/helpers/text.helpers.js +1 -28
  153. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +1 -0
  154. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +1 -0
  155. package/dist/cjs/utils/prisma/prisma-schema-parser.js +4 -0
  156. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -0
  157. package/dist/cjs/utils/prisma/types.js +1 -0
  158. package/dist/cjs/utils/prisma/types.js.map +1 -0
  159. package/dist/cjs/utils/sheu.js +1 -119
  160. package/dist/cjs/utils/sheu.js.map +1 -1
  161. package/dist/cjs/utils/validate-dto.js +1 -17
  162. package/dist/cjs/utils/validate-dto.js.map +1 -1
  163. package/dist/cjs/utils/validate-schema.js +1 -15
  164. package/dist/cjs/utils/validate-schema.js.map +1 -1
  165. package/dist/esm/app.js +1 -1
  166. package/dist/esm/app.js.map +1 -1
  167. package/dist/esm/exports/auth/index.js +1 -2
  168. package/dist/esm/exports/controllers/index.js +1 -4
  169. package/dist/esm/exports/error-handler/index.js +1 -4
  170. package/dist/esm/exports/index.js +1 -8
  171. package/dist/esm/exports/middlewares/index.js +1 -2
  172. package/dist/esm/exports/prisma/index.js +1 -3
  173. package/dist/esm/exports/prisma/index.js.map +1 -1
  174. package/dist/esm/exports/services/index.js +1 -9
  175. package/dist/esm/exports/services/index.js.map +1 -1
  176. package/dist/esm/exports/utils/index.js +1 -4
  177. package/dist/esm/exports/validation/index.js +1 -4
  178. package/dist/esm/modules/auth/auth.controller.js +1 -187
  179. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  180. package/dist/esm/modules/auth/auth.router.js +1 -44
  181. package/dist/esm/modules/auth/auth.router.js.map +1 -1
  182. package/dist/esm/modules/auth/auth.service.js +1 -178
  183. package/dist/esm/modules/auth/auth.service.js.map +1 -1
  184. package/dist/esm/modules/auth/utils/auth-error-objects.js +1 -0
  185. package/dist/esm/modules/auth/utils/auth-error-objects.js.map +1 -0
  186. package/dist/esm/modules/auth/utils/helpers/auth.controller.helpers.js +1 -73
  187. package/dist/esm/modules/auth/utils/services/auth-action.service.js +1 -0
  188. package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -0
  189. package/dist/esm/modules/base/base.controller.js +1 -150
  190. package/dist/esm/modules/base/base.controller.js.map +1 -1
  191. package/dist/esm/modules/base/base.middlewares.js +1 -81
  192. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  193. package/dist/esm/modules/base/base.router.js +1 -17
  194. package/dist/esm/modules/base/base.router.js.map +1 -1
  195. package/dist/esm/modules/base/base.service.js +1 -120
  196. package/dist/esm/modules/base/base.service.js.map +1 -1
  197. package/dist/esm/modules/base/types/base.service.types.js +1 -0
  198. package/dist/esm/modules/base/types/base.service.types.js.map +1 -0
  199. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js +1 -77
  200. package/dist/esm/modules/base/utils/helpers/base.controller.helpers.js.map +1 -1
  201. package/dist/esm/modules/base/utils/helpers/base.middlewares.helpers.js +1 -44
  202. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +1 -89
  203. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  204. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +1 -165
  205. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  206. package/dist/esm/modules/base/utils/router-validator.js +1 -0
  207. package/dist/esm/modules/base/utils/router-validator.js.map +1 -0
  208. package/dist/esm/modules/base/utils/service-hooks-manager.js +1 -0
  209. package/dist/esm/modules/base/utils/service-hooks-manager.js.map +1 -0
  210. package/dist/esm/modules/email/email.service.js +1 -97
  211. package/dist/esm/modules/error-handler/error-handler.controller.js +4 -107
  212. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
  213. package/dist/esm/modules/error-handler/utils/app-error.js +1 -15
  214. package/dist/esm/modules/error-handler/utils/app-error.js.map +1 -1
  215. package/dist/esm/modules/error-handler/utils/catch-async.js +1 -10
  216. package/dist/esm/modules/error-handler/utils/catch-async.js.map +1 -1
  217. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +3 -160
  218. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  219. package/dist/esm/modules/file-upload/file-upload.controller.js +1 -266
  220. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  221. package/dist/esm/modules/file-upload/file-upload.router.js +1 -38
  222. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  223. package/dist/esm/modules/file-upload/file-upload.service.js +1 -314
  224. package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -1
  225. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +1 -87
  226. package/dist/esm/modules/swagger/swagger.router.js +1 -93
  227. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  228. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +1 -247
  229. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  230. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +1 -0
  231. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -0
  232. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js +1 -63
  233. package/dist/esm/modules/swagger/utils/helpers/get-system-json-schema-paths.js.map +1 -1
  234. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +1 -38
  235. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  236. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +1 -19
  237. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  238. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js +1 -0
  239. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.js.map +1 -0
  240. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -0
  241. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -0
  242. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +1 -0
  243. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -0
  244. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +1 -0
  245. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -0
  246. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +1 -0
  247. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -0
  248. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +1 -84
  249. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  250. package/dist/esm/package.json +3 -0
  251. package/dist/esm/server.js +4 -2
  252. package/dist/esm/server.js.map +1 -1
  253. package/dist/esm/types/arkos-config.js +1 -2
  254. package/dist/esm/types/arkos-config.js.map +1 -1
  255. package/dist/esm/types/auth.js +1 -2
  256. package/dist/esm/types/auth.js.map +1 -1
  257. package/dist/esm/types/index.js +1 -8
  258. package/dist/esm/types/index.js.map +1 -1
  259. package/dist/esm/types/router-config.js +1 -2
  260. package/dist/esm/types/router-config.js.map +1 -1
  261. package/dist/esm/utils/arkos-env.js +1 -7
  262. package/dist/esm/utils/cli/build.js +5 -206
  263. package/dist/esm/utils/cli/build.js.map +1 -1
  264. package/dist/esm/utils/cli/dev.js +3 -249
  265. package/dist/esm/utils/cli/dev.js.map +1 -1
  266. package/dist/esm/utils/cli/generate.js +1 -183
  267. package/dist/esm/utils/cli/generate.js.map +1 -1
  268. package/dist/esm/utils/cli/index.js +1 -74
  269. package/dist/esm/utils/cli/index.js.map +1 -1
  270. package/dist/esm/utils/cli/start.js +1 -86
  271. package/dist/esm/utils/cli/start.js.map +1 -1
  272. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -16
  273. package/dist/esm/utils/cli/utils/smart-fs-watcher.js +1 -0
  274. package/dist/esm/utils/cli/utils/smart-fs-watcher.js.map +1 -0
  275. package/dist/esm/utils/cli/utils/template-generator/templates/generate-auth-configs-template.js +5 -17
  276. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js +9 -15
  277. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -1
  278. package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js +144 -0
  279. package/dist/esm/utils/cli/utils/template-generator/templates/generate-hooks-template.js.map +1 -0
  280. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js +156 -132
  281. package/dist/esm/utils/cli/utils/template-generator/templates/generate-middlewares.js.map +1 -1
  282. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js +9 -34
  283. package/dist/esm/utils/cli/utils/template-generator/templates/generate-prisma-query-options.js.map +1 -1
  284. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js +11 -30
  285. package/dist/esm/utils/cli/utils/template-generator/templates/generate-router-template.js.map +1 -1
  286. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js +6 -29
  287. package/dist/esm/utils/cli/utils/template-generator/templates/generate-service-template.js.map +1 -1
  288. package/dist/esm/utils/cli/utils/template-generators.js +2 -25
  289. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  290. package/dist/esm/utils/cli/utils/watermark-stamper.js +3 -0
  291. package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -0
  292. package/dist/esm/utils/dotenv.helpers.js +1 -37
  293. package/dist/esm/utils/dynamic-loader.js +9 -0
  294. package/dist/esm/utils/dynamic-loader.js.map +1 -0
  295. package/dist/esm/utils/features/api.features.js +1 -160
  296. package/dist/esm/utils/features/api.features.js.map +1 -1
  297. package/dist/esm/utils/features/change-case.features.js +1 -31
  298. package/dist/esm/utils/features/port-and-host-allocator.js +1 -0
  299. package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -0
  300. package/dist/esm/utils/helpers/api.features.helpers.js +1 -103
  301. package/dist/esm/utils/helpers/api.features.helpers.js.map +1 -1
  302. package/dist/esm/utils/helpers/change-case.helpers.js +1 -161
  303. package/dist/esm/utils/helpers/deepmerge.helper.js +1 -113
  304. package/dist/esm/utils/helpers/dynamic-loader.helpers.js +1 -0
  305. package/dist/esm/utils/helpers/dynamic-loader.helpers.js.map +1 -0
  306. package/dist/esm/utils/helpers/fs.helpers.js +1 -52
  307. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
  308. package/dist/esm/utils/helpers/global.helpers.js +1 -47
  309. package/dist/esm/utils/helpers/global.helpers.js.map +1 -1
  310. package/dist/esm/utils/helpers/prisma.helpers.js +1 -44
  311. package/dist/esm/utils/helpers/prisma.helpers.js.map +1 -1
  312. package/dist/esm/utils/helpers/query-parser.helpers.js +1 -40
  313. package/dist/esm/utils/helpers/routers.helpers.js +1 -16
  314. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
  315. package/dist/esm/utils/helpers/text.helpers.js +1 -22
  316. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +1 -0
  317. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -0
  318. package/dist/esm/utils/prisma/prisma-schema-parser.js +4 -0
  319. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -0
  320. package/dist/esm/utils/prisma/types.js +1 -0
  321. package/dist/esm/utils/prisma/types.js.map +1 -0
  322. package/dist/esm/utils/sheu.js +1 -117
  323. package/dist/esm/utils/sheu.js.map +1 -1
  324. package/dist/esm/utils/validate-dto.js +1 -11
  325. package/dist/esm/utils/validate-dto.js.map +1 -1
  326. package/dist/esm/utils/validate-schema.js +1 -9
  327. package/dist/esm/utils/validate-schema.js.map +1 -1
  328. package/dist/types/exports/prisma/index.d.ts +3 -2
  329. package/dist/types/exports/services/index.d.ts +3 -2
  330. package/dist/types/modules/auth/auth.controller.d.ts +10 -9
  331. package/dist/types/modules/auth/auth.service.d.ts +7 -3
  332. package/dist/types/modules/auth/utils/auth-error-objects.d.ts +3 -0
  333. package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +23 -0
  334. package/dist/types/modules/base/base.controller.d.ts +10 -12
  335. package/dist/types/modules/base/base.middlewares.d.ts +4 -4
  336. package/dist/types/modules/base/base.service.d.ts +14 -68
  337. package/dist/types/modules/base/types/base.service.types.d.ts +215 -0
  338. package/dist/types/modules/base/utils/helpers/base.controller.helpers.d.ts +0 -2
  339. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +3 -3
  340. package/dist/types/modules/base/utils/helpers/base.service.helpers.d.ts +9 -2
  341. package/dist/types/modules/base/utils/router-validator.d.ts +5 -0
  342. package/dist/types/modules/base/utils/service-hooks-manager.d.ts +7 -0
  343. package/dist/types/modules/error-handler/error-handler.controller.d.ts +1 -1
  344. package/dist/types/modules/error-handler/utils/catch-async.d.ts +4 -2
  345. package/dist/types/modules/error-handler/utils/error-handler.helpers.d.ts +18 -17
  346. package/dist/types/modules/file-upload/file-upload.controller.d.ts +4 -6
  347. package/dist/types/modules/file-upload/file-upload.service.d.ts +4 -5
  348. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +3 -1
  349. package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +46 -0
  350. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +2 -1
  351. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-system-json-schemas.d.ts +4 -0
  352. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +1 -0
  353. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +3 -0
  354. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.d.ts +3 -0
  355. package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +34 -0
  356. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +4 -2
  357. package/dist/types/server.d.ts +1 -1
  358. package/dist/types/types/arkos-config.d.ts +5 -3
  359. package/dist/types/types/auth.d.ts +7 -1
  360. package/dist/types/types/index.d.ts +4 -1
  361. package/dist/types/types/router-config.d.ts +24 -1
  362. package/dist/types/utils/cli/generate.d.ts +2 -1
  363. package/dist/types/utils/cli/utils/smart-fs-watcher.d.ts +11 -0
  364. package/dist/types/utils/cli/utils/template-generator/templates/generate-hooks-template.d.ts +2 -0
  365. package/dist/types/utils/cli/utils/watermark-stamper.d.ts +9 -0
  366. package/dist/types/utils/{helpers/models.helpers.d.ts → dynamic-loader.d.ts} +37 -40
  367. package/dist/types/utils/features/port-and-host-allocator.d.ts +21 -0
  368. package/dist/types/utils/helpers/dynamic-loader.helpers.d.ts +3 -0
  369. package/dist/types/utils/helpers/fs.helpers.d.ts +0 -4
  370. package/dist/types/utils/helpers/global.helpers.d.ts +1 -0
  371. package/dist/types/utils/helpers/prisma.helpers.d.ts +0 -1
  372. package/dist/types/utils/helpers/routers.helpers.d.ts +6 -2
  373. package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +34 -0
  374. package/dist/types/utils/prisma/prisma-schema-parser.d.ts +28 -0
  375. package/dist/types/utils/prisma/types.d.ts +49 -0
  376. package/dist/types/utils/sheu.d.ts +15 -15
  377. package/package.json +32 -18
  378. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +0 -30
  379. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +0 -1
  380. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +0 -442
  381. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +0 -1
  382. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +0 -165
  383. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +0 -1
  384. package/dist/cjs/utils/helpers/models.helpers.js +0 -314
  385. package/dist/cjs/utils/helpers/models.helpers.js.map +0 -1
  386. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js +0 -24
  387. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.js.map +0 -1
  388. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js +0 -436
  389. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.js.map +0 -1
  390. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js +0 -159
  391. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.js.map +0 -1
  392. package/dist/esm/utils/helpers/models.helpers.js +0 -297
  393. package/dist/esm/utils/helpers/models.helpers.js.map +0 -1
  394. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schema.d.ts +0 -1
  395. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes.d.ts +0 -2
  396. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes.d.ts +0 -2
@@ -1,6 +1,5 @@
1
1
  import multer from "multer";
2
- import { NextFunction } from "express";
3
- import { ArkosRequest, ArkosResponse } from "../../types";
2
+ import { ArkosRequest, ArkosRequestHandler, ArkosResponse } from "../../types";
4
3
  export declare class FileUploadService {
5
4
  readonly uploadDir: string;
6
5
  private fileSizeLimit;
@@ -10,9 +9,9 @@ export declare class FileUploadService {
10
9
  constructor(uploadDir: string, fileSizeLimit?: number, allowedFileTypes?: RegExp, maxCount?: number);
11
10
  private fileFilter;
12
11
  getUpload(): multer.Multer;
13
- handleSingleUpload(oldFilePath?: string): (req: ArkosRequest, res: ArkosResponse, next: NextFunction) => void;
14
- handleMultipleUpload(): (req: ArkosRequest, res: ArkosResponse, next: NextFunction) => void;
15
- handleDeleteSingleFile(oldFilePath: string): (req: ArkosRequest, res: ArkosResponse, next: NextFunction) => Promise<void>;
12
+ handleSingleUpload(oldFilePath?: string): ArkosRequestHandler;
13
+ handleMultipleUpload(): ArkosRequestHandler;
14
+ handleDeleteSingleFile(oldFilePath: string): ArkosRequestHandler;
16
15
  deleteFileByUrl(fileUrl: string): Promise<boolean>;
17
16
  private getFieldName;
18
17
  upload(req: ArkosRequest, res: ArkosResponse, options?: {
@@ -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,4 @@
1
+ import { ArkosConfig } from "../../../../../exports";
2
+ export default function generateSystemJsonSchemas(arkosConfig: ArkosConfig): {
3
+ FindManyAuthActionSystemSchema: any;
4
+ };
@@ -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,9 @@
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
+ import { ValidationFileMappingKey } from "../../../../utils/dynamic-loader";
4
+ export declare function getOpenAPIJsonSchemasByConfigMode(arkosConfig: ArkosConfig): Promise<Record<string, any>>;
4
5
  export declare function getCorrectJsonSchemaName(type: string, modelName: string, suffix: "Dto" | "Schema"): string;
5
6
  export declare function kebabToHuman(kebabStr: string): string;
6
- export declare function getSchemaRef(schemaName: string, mode: string): string;
7
+ export declare function getSchemaRef(schemaName: string, mode: "prisma" | "zod" | "class-validator"): string;
7
8
  export declare function generatePathsForModels(arkosConfig: ArkosConfig): Promise<OpenAPIV3.PathsObject>;
9
+ export declare function localValidatorFileExists(action: ValidationFileMappingKey, modelName: string, arkosConfig: ArkosConfig): Promise<boolean>;
@@ -5,7 +5,7 @@ declare let server: Server<typeof IncomingMessage, typeof ServerResponse>;
5
5
  export declare let _arkosConfig: ArkosConfig & {
6
6
  available?: boolean;
7
7
  };
8
- declare function initApp(arkosConfig?: ArkosConfig): Promise<Express>;
8
+ declare function initApp(arkosConfig?: ArkosConfig): Promise<Express | undefined>;
9
9
  export declare function terminateApplicationRunningProcessAndServer(): void;
10
10
  export declare function getArkosConfig(): ArkosConfig;
11
11
  export declare function getExpressApp(): Express;
@@ -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
  };
@@ -1,7 +1,13 @@
1
1
  import { JwtPayload } from "jsonwebtoken";
2
2
  export type AccessAction = "Create" | "Update" | "Delete" | "View" | string;
3
+ export type DetailedAccessControlRule = {
4
+ roles: string[];
5
+ name?: string;
6
+ description?: string;
7
+ errorMessage?: string;
8
+ };
3
9
  export type AccessControlRules = {
4
- [key in AccessAction]: string[];
10
+ [key in AccessAction]: string[] | DetailedAccessControlRule;
5
11
  };
6
12
  export type AuthenticationControlRules = {
7
13
  [key in AccessAction]: boolean;
@@ -1,4 +1,4 @@
1
- import { NextFunction, Request, RequestHandler, Response } from "express";
1
+ import { ErrorRequestHandler, NextFunction, Request, RequestHandler, Response } from "express";
2
2
  export type PrismaOperations = "findMany";
3
3
  export type PrismaQueryOptions<T extends Record<string, any>> = {
4
4
  queryOptions?: Partial<Parameters<T["findMany"]>[0]>;
@@ -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
  }
@@ -129,3 +130,5 @@ export interface ArkosNextFunction extends NextFunction {
129
130
  }
130
131
  export interface ArkosRequestHandler extends RequestHandler {
131
132
  }
133
+ export interface ArkosErrorRequestHandler extends ErrorRequestHandler {
134
+ }
@@ -1,10 +1,32 @@
1
1
  export type RouterEndpoint = "createOne" | "findOne" | "updateOne" | "deleteOne" | "findMany" | "createMany" | "updateMany" | "deleteMany";
2
- export type RouterConfig = {
2
+ export type AuthRouterEndpoint = "getMe" | "updateMe" | "deleteMe" | "login" | "logout" | "signup" | "updatePassword" | "findManyAuthAction" | "findOneAuthAction";
3
+ export type FileUploadRouterEndpoint = "findFile" | "uploadFile" | "updateFile" | "deleteFile";
4
+ interface PrismaBaseRouterConfig {
3
5
  parent?: {
4
6
  model?: string;
5
7
  foreignKeyField?: string;
6
8
  endpoints?: "*" | RouterEndpoint[];
7
9
  };
10
+ }
11
+ export type RouterConfig<T extends string = string> = T extends "auth" ? {
12
+ disable?: boolean | {
13
+ getMe?: boolean;
14
+ updateMe?: boolean;
15
+ deleteMe?: boolean;
16
+ login?: boolean;
17
+ logout?: boolean;
18
+ signup?: boolean;
19
+ updatePassword?: boolean;
20
+ findManyAuthAction?: boolean;
21
+ };
22
+ } : T extends "file-upload" ? {
23
+ disable?: boolean | {
24
+ findFile?: boolean;
25
+ uploadFile?: boolean;
26
+ updateFile?: boolean;
27
+ deleteFile?: boolean;
28
+ };
29
+ } : PrismaBaseRouterConfig & {
8
30
  disable?: boolean | {
9
31
  createOne?: boolean;
10
32
  findOne?: boolean;
@@ -16,3 +38,4 @@ export type RouterConfig = {
16
38
  deleteMany?: boolean;
17
39
  };
18
40
  };
41
+ export {};
@@ -6,8 +6,9 @@ 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
+ hooks: (options: GenerateOptions) => Promise<void>;
11
12
  queryOptions: (options: GenerateOptions) => Promise<void>;
12
13
  };
13
14
  export {};
@@ -0,0 +1,11 @@
1
+ declare class SmartFSWather {
2
+ private watchedFiles;
3
+ private watcher;
4
+ private onNewFile;
5
+ start(onNewFile: (filePath: string) => void): void;
6
+ private setupListeners;
7
+ reset(): void;
8
+ close(): void;
9
+ }
10
+ declare const smartFsWatcher: SmartFSWather;
11
+ export default smartFsWatcher;
@@ -0,0 +1,2 @@
1
+ import { TemplateOptions } from "../../template-generators";
2
+ export default function generateHooksTemplate(options: TemplateOptions): string;
@@ -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,14 @@
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 { ZodTypeAny } from "zod";
2
+ import { AuthConfigs } from "../types/auth";
3
+ import { ArkosConfig } from "../exports";
4
+ type AppModuleComponent = Awaited<ReturnType<typeof importModuleComponents>>;
5
+ export declare function setModuleComponents(modelName: string, modules: AppModuleComponent): any;
6
+ export declare function getModuleComponents(modelName: string): importModuleComponentsReturnType;
7
+ export type ValidationFileMappingKey = keyof ReturnType<typeof getFileModuleComponentsFileStructure>["dtos"];
8
+ export declare function getFileModuleComponentsFileStructure(modelName: string): {
7
9
  core: {
8
- service: string;
9
- controller: string;
10
- middlewares: string;
10
+ hooks: string;
11
+ interceptors: string;
11
12
  authConfigs: string;
12
13
  authConfigsNew: string;
13
14
  prismaQueryOptions: string;
@@ -17,63 +18,76 @@ export declare function getFileModelModulesFileStructure(modelName: string): {
17
18
  dtos: {
18
19
  login: string;
19
20
  signup: string;
21
+ getMe: string;
20
22
  updateMe: string;
21
23
  updatePassword: string;
22
24
  model?: undefined;
23
25
  create?: undefined;
26
+ createOne?: undefined;
24
27
  createMany?: undefined;
25
28
  update?: undefined;
29
+ updateOne?: undefined;
26
30
  updateMany?: undefined;
31
+ query?: undefined;
27
32
  findOne?: undefined;
28
33
  findMany?: undefined;
29
- query?: undefined;
30
34
  } | {
31
35
  model: string;
32
36
  create: string;
37
+ createOne: string;
33
38
  createMany: string;
34
39
  update: string;
40
+ updateOne: string;
35
41
  updateMany: string;
42
+ query: string;
36
43
  findOne: string;
37
44
  findMany: string;
38
- query: string;
39
45
  login?: undefined;
40
46
  signup?: undefined;
47
+ getMe?: undefined;
41
48
  updateMe?: undefined;
42
49
  updatePassword?: undefined;
43
50
  };
44
51
  schemas: {
45
52
  login: string;
46
53
  signup: string;
54
+ getMe: string;
47
55
  updateMe: string;
48
56
  updatePassword: string;
49
57
  model?: undefined;
50
58
  create?: undefined;
59
+ createOne?: undefined;
51
60
  createMany?: undefined;
52
61
  update?: undefined;
62
+ updateOne?: undefined;
53
63
  updateMany?: undefined;
64
+ query?: undefined;
54
65
  findOne?: undefined;
55
66
  findMany?: undefined;
56
- query?: undefined;
57
67
  } | {
58
68
  model: string;
59
69
  create: string;
70
+ createOne: string;
60
71
  createMany: string;
61
72
  update: string;
73
+ updateOne: string;
62
74
  updateMany: string;
75
+ query: string;
63
76
  findOne: string;
64
77
  findMany: string;
65
- query: string;
66
78
  login?: undefined;
67
79
  signup?: undefined;
80
+ getMe?: undefined;
68
81
  updateMe?: undefined;
69
82
  updatePassword?: undefined;
70
83
  };
71
84
  };
85
+ export declare function isClass(value: any): boolean;
86
+ export declare function isZodSchema(value: any): value is ZodTypeAny;
72
87
  export declare function processSubdir(modelName: string, type: "dtos" | "schemas"): Promise<Record<string, any>>;
73
- type importPrismaModelModulesReturnType = {
74
- service?: any;
75
- controller?: any;
76
- middlewares?: any;
88
+ type importModuleComponentsReturnType = {
89
+ hooks?: any;
90
+ interceptors?: any;
77
91
  authConfigs?: AuthConfigs;
78
92
  authConfigsNew?: AuthConfigs;
79
93
  prismaQueryOptions?: any;
@@ -82,26 +96,9 @@ type importPrismaModelModulesReturnType = {
82
96
  dtos?: Record<string, any>;
83
97
  schemas?: Record<string, any>;
84
98
  };
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>;
88
- export type ModelFieldDefition = {
89
- name: string;
90
- type: string;
91
- isUnique: boolean;
92
- };
93
- export type RelationFields = {
94
- singular: Omit<ModelFieldDefition, "isUnique">[];
95
- list: Omit<ModelFieldDefition, "isUnique">[];
96
- };
97
- export declare const prismaModelRelationFields: Record<string, RelationFields>;
98
- export declare function getAllPrismaFiles(dirPath: string, fileList?: string[]): string[];
99
- export declare const models: string[];
100
- export declare let prismaSchemasContent: string;
101
- export declare const prismaModelsUniqueFields: Record<string, ModelFieldDefition[]>;
102
- export declare function initializePrismaModels(): void;
103
- export declare function getPrismaModelRelations(modelName: string): RelationFields | undefined;
104
- declare function getModels(): string[];
105
- export declare function getPrismaSchemasContent(): string;
106
- declare function getModelUniqueFields(modelName: string): ModelFieldDefition[];
107
- export { getModels, getModelUniqueFields };
99
+ export declare function validateNamingConventions(key: string, fileName: string, result: importModuleComponentsReturnType): void;
100
+ export declare function assignModuleToResult(appModule: string, key: string, module: any, result: importModuleComponentsReturnType, arkosConfig: ArkosConfig): void;
101
+ export declare function importModuleComponents(modelName: string, arkosConfig: ArkosConfig, moduleDirExists?: boolean): Promise<importModuleComponentsReturnType>;
102
+ export declare const appModules: string[];
103
+ export declare function loadAllModuleComponents(arkosConfig: ArkosConfig): Promise<void>;
104
+ export {};
@@ -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,3 @@
1
+ import { ArkosConfig, RouterConfig } from "../../exports";
2
+ export declare function applyStrictRoutingRules<T extends string>(appModule: T, arkosConfig: ArkosConfig, moduleConfig?: RouterConfig<T>): RouterConfig<T>;
3
+ export declare function pathExists(path: string): Promise<boolean>;
@@ -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>;
@@ -1,2 +1,6 @@
1
- export declare const safeCatchAsync: (middleware: any) => ((req: import("../../types").ArkosRequest, res: import("../../types").ArkosResponse, next: import("../../types").ArkosNextFunction) => Promise<void>) | undefined;
2
- export declare const processMiddleware: (middleware: any) => ((req: import("../../types").ArkosRequest, res: import("../../types").ArkosResponse, next: import("../../types").ArkosNextFunction) => Promise<void>)[];
1
+ export declare const safeCatchAsync: (middleware: any, options?: {
2
+ type: "error" | "normal";
3
+ }) => any;
4
+ export declare const processMiddleware: (middleware: any, options?: {
5
+ type: "error" | "normal";
6
+ }) => any[];
@@ -0,0 +1,34 @@
1
+ import { ArkosConfig } from "../../exports";
2
+ import { ValidationFileMappingKey } from "../dynamic-loader";
3
+ import { JsonSchema } from "./types";
4
+ export interface SchemaGenerationConfig {
5
+ modelName: string;
6
+ arkosConfig: ArkosConfig;
7
+ schemasToGenerate?: ValidationFileMappingKey[];
8
+ }
9
+ export interface GeneratedSchemas {
10
+ [key: string]: JsonSchema;
11
+ }
12
+ export declare class PrismaJsonSchemaGenerator {
13
+ schema: import("./types").PrismaSchema;
14
+ generateModelSchemas(config: SchemaGenerationConfig): Promise<GeneratedSchemas>;
15
+ private generateAuthSchemas;
16
+ private generateCrudSchemas;
17
+ private generateCreateSchema;
18
+ private generateUpdateSchema;
19
+ private generateResponseSchema;
20
+ private generateNestedRelationSchema;
21
+ private generateLoginSchema;
22
+ private generateSignupSchema;
23
+ private generateUpdateMeSchema;
24
+ private generateUpdatePasswordSchema;
25
+ private resolvePrismaQueryOptions;
26
+ private getGeneralOptionsForAction;
27
+ private isEndpointDisabled;
28
+ private isModelRelation;
29
+ private convertFieldToJsonSchema;
30
+ private mapPrismaTypeToJsonSchema;
31
+ private isEnum;
32
+ }
33
+ declare const prismaJsonSchemaGenerator: PrismaJsonSchemaGenerator;
34
+ export default prismaJsonSchemaGenerator;
@@ -0,0 +1,28 @@
1
+ import { PrismaSchema, PrismaModel, PrismaEnum, PrismaField } from "./types";
2
+ export declare class PrismaSchemaParser {
3
+ enums: PrismaEnum[];
4
+ models: PrismaModel[];
5
+ prismaSchemasContent: string;
6
+ parsed: boolean;
7
+ constructor();
8
+ parse({ override }?: {
9
+ override: boolean;
10
+ }): PrismaSchema;
11
+ private extractEnums;
12
+ private parseEnumBlock;
13
+ private extractModels;
14
+ private extractModelBlocks;
15
+ private parseModelBlock;
16
+ private parseFields;
17
+ private parseFieldLine;
18
+ private parseDefaultValue;
19
+ getPrismaSchemasContent(): string;
20
+ private getAllPrismaFiles;
21
+ isEnum(typeName: string): boolean;
22
+ isModel(typeName: string): boolean;
23
+ getModelUniqueFields(modelName: string): PrismaField[] | undefined;
24
+ getModelRelations(modelName: string): PrismaField[] | undefined;
25
+ getModelsAsArrayOfStrings(): string[];
26
+ }
27
+ declare const prismaSchemaParser: PrismaSchemaParser;
28
+ export default prismaSchemaParser;
@@ -0,0 +1,49 @@
1
+ export interface PrismaField {
2
+ name: string;
3
+ type: string;
4
+ isOptional: boolean;
5
+ isArray: boolean;
6
+ connectionField?: string;
7
+ isRelation: boolean;
8
+ defaultValue?: any;
9
+ isId?: boolean;
10
+ isUnique?: boolean;
11
+ attributes: string[];
12
+ }
13
+ export interface PrismaModel {
14
+ name: string;
15
+ fields: PrismaField[];
16
+ mapName?: string;
17
+ }
18
+ export interface PrismaEnum {
19
+ name: string;
20
+ values: string[];
21
+ }
22
+ export interface PrismaSchema {
23
+ models: PrismaModel[];
24
+ enums: PrismaEnum[];
25
+ }
26
+ export type JsonSchemaProperty = {
27
+ type: string;
28
+ default?: any;
29
+ items?: {
30
+ type: string;
31
+ };
32
+ format?: string;
33
+ enum?: string[];
34
+ $ref?: string;
35
+ [key: string]: any;
36
+ } & Partial<JsonSchema>;
37
+ export interface JsonSchema {
38
+ type: string;
39
+ properties?: {
40
+ [key: string]: JsonSchemaProperty;
41
+ };
42
+ items?: {
43
+ $ref?: string;
44
+ } | JsonSchema;
45
+ required?: string[];
46
+ anyOf?: {
47
+ required: string[];
48
+ }[];
49
+ }