arkos 1.4.0-canary.7 → 1.4.0-canary.71

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 (364) hide show
  1. package/cli.js +2 -5
  2. package/dist/cjs/app.js +104 -72
  3. package/dist/cjs/app.js.map +1 -1
  4. package/dist/cjs/exports/index.js.map +1 -1
  5. package/dist/cjs/exports/services/index.js +6 -1
  6. package/dist/cjs/exports/services/index.js.map +1 -1
  7. package/dist/cjs/modules/auth/auth.controller.js +31 -40
  8. package/dist/cjs/modules/auth/auth.controller.js.map +1 -1
  9. package/dist/cjs/modules/auth/auth.router.js +29 -21
  10. package/dist/cjs/modules/auth/auth.router.js.map +1 -1
  11. package/dist/cjs/modules/auth/auth.service.js +34 -10
  12. package/dist/cjs/modules/auth/auth.service.js.map +1 -1
  13. package/dist/cjs/modules/auth/utils/services/auth-action.service.js +16 -10
  14. package/dist/cjs/modules/auth/utils/services/auth-action.service.js.map +1 -1
  15. package/dist/cjs/modules/base/base.controller.js +6 -4
  16. package/dist/cjs/modules/base/base.controller.js.map +1 -1
  17. package/dist/cjs/modules/base/base.middlewares.js +102 -19
  18. package/dist/cjs/modules/base/base.middlewares.js.map +1 -1
  19. package/dist/cjs/modules/base/base.router.js +4 -3
  20. package/dist/cjs/modules/base/base.router.js.map +1 -1
  21. package/dist/cjs/modules/base/base.service.js +68 -66
  22. package/dist/cjs/modules/base/base.service.js.map +1 -1
  23. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js +17 -40
  24. package/dist/cjs/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  25. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js +22 -6
  26. package/dist/cjs/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  27. package/dist/cjs/modules/debugger/debugger.service.js +11 -4
  28. package/dist/cjs/modules/debugger/debugger.service.js.map +1 -1
  29. package/dist/cjs/modules/debugger/utils/loaded-components-logger.js +1 -1
  30. package/dist/cjs/modules/debugger/utils/loaded-components-logger.js.map +1 -1
  31. package/dist/cjs/modules/email/email.service.js +24 -27
  32. package/dist/cjs/modules/email/email.service.js.map +1 -1
  33. package/dist/cjs/modules/error-handler/error-handler.controller.js +22 -15
  34. package/dist/cjs/modules/error-handler/error-handler.controller.js.map +1 -1
  35. package/dist/cjs/modules/error-handler/utils/app-error.js +14 -3
  36. package/dist/cjs/modules/error-handler/utils/app-error.js.map +1 -1
  37. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js +1 -1
  38. package/dist/cjs/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  39. package/dist/cjs/modules/file-upload/file-upload.controller.js +9 -6
  40. package/dist/cjs/modules/file-upload/file-upload.controller.js.map +1 -1
  41. package/dist/cjs/modules/file-upload/file-upload.router.js +13 -5
  42. package/dist/cjs/modules/file-upload/file-upload.router.js.map +1 -1
  43. package/dist/cjs/modules/file-upload/file-upload.service.js +38 -48
  44. package/dist/cjs/modules/file-upload/file-upload.service.js.map +1 -1
  45. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js +134 -0
  46. package/dist/cjs/modules/file-upload/utils/helpers/file-extensions.js.map +1 -0
  47. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js +10 -5
  48. package/dist/cjs/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -1
  49. package/dist/cjs/modules/swagger/swagger.router.js +11 -5
  50. package/dist/cjs/modules/swagger/swagger.router.js.map +1 -1
  51. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js +53 -0
  52. package/dist/cjs/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +1 -0
  53. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +10 -10
  54. package/dist/cjs/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  55. package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +419 -0
  56. package/dist/cjs/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +1 -0
  57. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js +3 -3
  58. package/dist/cjs/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -1
  59. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +4 -6
  60. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  61. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +4 -4
  62. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  63. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -1
  64. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -1
  65. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +9 -9
  66. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -1
  67. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +9 -9
  68. package/dist/cjs/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -1
  69. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js +6 -8
  70. package/dist/cjs/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
  71. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js +204 -0
  72. package/dist/cjs/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -0
  73. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js +9 -9
  74. package/dist/cjs/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  75. package/dist/cjs/server.js +33 -36
  76. package/dist/cjs/server.js.map +1 -1
  77. package/dist/cjs/types/arkos-config.js.map +1 -1
  78. package/dist/cjs/types/index.js.map +1 -1
  79. package/dist/cjs/types/new-arkos-config.js +3 -0
  80. package/dist/cjs/types/new-arkos-config.js.map +1 -0
  81. package/dist/cjs/types/router-config.js.map +1 -1
  82. package/dist/cjs/utils/arkos-router/index.js +89 -37
  83. package/dist/cjs/utils/arkos-router/index.js.map +1 -1
  84. package/dist/cjs/utils/arkos-router/route-config-validator.js +8 -7
  85. package/dist/cjs/utils/arkos-router/route-config-validator.js.map +1 -1
  86. package/dist/cjs/utils/arkos-router/types/index.js.map +1 -1
  87. package/dist/cjs/utils/arkos-router/types/openapi-config.js +3 -0
  88. package/dist/cjs/utils/arkos-router/types/openapi-config.js.map +1 -0
  89. package/dist/cjs/utils/arkos-router/types/upload-config.js +3 -0
  90. package/dist/cjs/utils/arkos-router/types/upload-config.js.map +1 -0
  91. package/dist/cjs/utils/arkos-router/utils/helpers/index.js +24 -6
  92. package/dist/cjs/utils/arkos-router/utils/helpers/index.js.map +1 -1
  93. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js +232 -0
  94. package/dist/cjs/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -0
  95. package/dist/cjs/utils/cli/build.js +9 -13
  96. package/dist/cjs/utils/cli/build.js.map +1 -1
  97. package/dist/cjs/utils/cli/dev.js +7 -7
  98. package/dist/cjs/utils/cli/dev.js.map +1 -1
  99. package/dist/cjs/utils/cli/export-auth-action.js +78 -0
  100. package/dist/cjs/utils/cli/export-auth-action.js.map +1 -0
  101. package/dist/cjs/utils/cli/generate.js +28 -12
  102. package/dist/cjs/utils/cli/generate.js.map +1 -1
  103. package/dist/cjs/utils/cli/index.js +32 -18
  104. package/dist/cjs/utils/cli/index.js.map +1 -1
  105. package/dist/cjs/utils/cli/prisma-generate.js +2 -2
  106. package/dist/cjs/utils/cli/prisma-generate.js.map +1 -1
  107. package/dist/cjs/utils/cli/start.js +12 -52
  108. package/dist/cjs/utils/cli/start.js.map +1 -1
  109. package/dist/cjs/utils/cli/utils/cli.helpers.js +1 -1
  110. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js +58 -0
  111. package/dist/cjs/utils/cli/utils/runtime-cli-commander.js.map +1 -0
  112. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js +38 -13
  113. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js.map +1 -1
  114. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js +44 -17
  115. package/dist/cjs/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js.map +1 -1
  116. package/dist/cjs/utils/cli/utils/template-generator/templates/{controller-template.js → generate-controller-template.js} +12 -2
  117. package/dist/cjs/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -0
  118. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js +1 -34
  119. package/dist/cjs/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -1
  120. package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js +97 -265
  121. package/dist/cjs/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -1
  122. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js +16 -16
  123. package/dist/cjs/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -1
  124. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js +4 -1
  125. package/dist/cjs/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
  126. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js +8 -32
  127. package/dist/cjs/utils/cli/utils/template-generator/templates/service-template.js.map +1 -1
  128. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/create-schema-template.js +3 -5
  129. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/create-schema-template.js.map +1 -1
  130. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/update-schema-template.js +1 -1
  131. package/dist/cjs/utils/cli/utils/template-generator/templates/zod/update-schema-template.js.map +1 -1
  132. package/dist/cjs/utils/cli/utils/template-generators.js +2 -2
  133. package/dist/cjs/utils/cli/utils/template-generators.js.map +1 -1
  134. package/dist/cjs/utils/cli/utils/watermark-stamper.js +14 -5
  135. package/dist/cjs/utils/cli/utils/watermark-stamper.js.map +1 -1
  136. package/dist/cjs/utils/define-config.js +2 -0
  137. package/dist/cjs/utils/define-config.js.map +1 -0
  138. package/dist/cjs/utils/dotenv.helpers.js +2 -1
  139. package/dist/cjs/utils/dotenv.helpers.js.map +1 -1
  140. package/dist/cjs/utils/dynamic-loader.js +3 -2
  141. package/dist/cjs/utils/dynamic-loader.js.map +1 -1
  142. package/dist/cjs/utils/features/port-and-host-allocator.js +28 -4
  143. package/dist/cjs/utils/features/port-and-host-allocator.js.map +1 -1
  144. package/dist/cjs/utils/helpers/arkos-config.helpers.js +45 -0
  145. package/dist/cjs/utils/helpers/arkos-config.helpers.js.map +1 -0
  146. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js +135 -46
  147. package/dist/cjs/utils/helpers/dynamic-loader.helpers.js.map +1 -1
  148. package/dist/cjs/utils/helpers/fs.helpers.js +1 -4
  149. package/dist/cjs/utils/helpers/fs.helpers.js.map +1 -1
  150. package/dist/cjs/utils/helpers/routers.helpers.js +55 -4
  151. package/dist/cjs/utils/helpers/routers.helpers.js.map +1 -1
  152. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js +20 -31
  153. package/dist/cjs/utils/prisma/prisma-json-schema-generator.js.map +1 -1
  154. package/dist/cjs/utils/prisma/prisma-schema-parser.js +3 -4
  155. package/dist/cjs/utils/prisma/prisma-schema-parser.js.map +1 -1
  156. package/dist/cjs/utils/sheu.js.map +1 -1
  157. package/dist/esm/app.js +104 -72
  158. package/dist/esm/app.js.map +1 -1
  159. package/dist/esm/exports/index.js.map +1 -1
  160. package/dist/esm/exports/services/index.js +2 -1
  161. package/dist/esm/exports/services/index.js.map +1 -1
  162. package/dist/esm/modules/auth/auth.controller.js +32 -41
  163. package/dist/esm/modules/auth/auth.controller.js.map +1 -1
  164. package/dist/esm/modules/auth/auth.router.js +32 -24
  165. package/dist/esm/modules/auth/auth.router.js.map +1 -1
  166. package/dist/esm/modules/auth/auth.service.js +34 -10
  167. package/dist/esm/modules/auth/auth.service.js.map +1 -1
  168. package/dist/esm/modules/auth/utils/services/auth-action.service.js +12 -9
  169. package/dist/esm/modules/auth/utils/services/auth-action.service.js.map +1 -1
  170. package/dist/esm/modules/base/base.controller.js +6 -4
  171. package/dist/esm/modules/base/base.controller.js.map +1 -1
  172. package/dist/esm/modules/base/base.middlewares.js +102 -18
  173. package/dist/esm/modules/base/base.middlewares.js.map +1 -1
  174. package/dist/esm/modules/base/base.router.js +4 -3
  175. package/dist/esm/modules/base/base.router.js.map +1 -1
  176. package/dist/esm/modules/base/base.service.js +68 -66
  177. package/dist/esm/modules/base/base.service.js.map +1 -1
  178. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js +19 -41
  179. package/dist/esm/modules/base/utils/helpers/base.router.helpers.js.map +1 -1
  180. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js +22 -6
  181. package/dist/esm/modules/base/utils/helpers/base.service.helpers.js.map +1 -1
  182. package/dist/esm/modules/debugger/debugger.service.js +11 -4
  183. package/dist/esm/modules/debugger/debugger.service.js.map +1 -1
  184. package/dist/esm/modules/debugger/utils/loaded-components-logger.js +1 -1
  185. package/dist/esm/modules/debugger/utils/loaded-components-logger.js.map +1 -1
  186. package/dist/esm/modules/email/email.service.js +24 -27
  187. package/dist/esm/modules/email/email.service.js.map +1 -1
  188. package/dist/esm/modules/error-handler/error-handler.controller.js +22 -12
  189. package/dist/esm/modules/error-handler/error-handler.controller.js.map +1 -1
  190. package/dist/esm/modules/error-handler/utils/app-error.js +14 -3
  191. package/dist/esm/modules/error-handler/utils/app-error.js.map +1 -1
  192. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js +1 -1
  193. package/dist/esm/modules/error-handler/utils/error-handler.helpers.js.map +1 -1
  194. package/dist/esm/modules/file-upload/file-upload.controller.js +9 -6
  195. package/dist/esm/modules/file-upload/file-upload.controller.js.map +1 -1
  196. package/dist/esm/modules/file-upload/file-upload.router.js +13 -5
  197. package/dist/esm/modules/file-upload/file-upload.router.js.map +1 -1
  198. package/dist/esm/modules/file-upload/file-upload.service.js +37 -47
  199. package/dist/esm/modules/file-upload/file-upload.service.js.map +1 -1
  200. package/dist/esm/modules/file-upload/utils/helpers/file-extensions.js +131 -0
  201. package/dist/esm/modules/file-upload/utils/helpers/file-extensions.js.map +1 -0
  202. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js +9 -5
  203. package/dist/esm/modules/file-upload/utils/helpers/file-upload.helpers.js.map +1 -1
  204. package/dist/esm/modules/swagger/swagger.router.js +11 -5
  205. package/dist/esm/modules/swagger/swagger.router.js.map +1 -1
  206. package/dist/esm/modules/swagger/utils/helpers/class-validator-to-json-schema.js +48 -0
  207. package/dist/esm/modules/swagger/utils/helpers/class-validator-to-json-schema.js.map +1 -0
  208. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js +10 -10
  209. package/dist/esm/modules/swagger/utils/helpers/get-authentication-json-schema-paths.js.map +1 -1
  210. package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js +413 -0
  211. package/dist/esm/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.js.map +1 -0
  212. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js +3 -3
  213. package/dist/esm/modules/swagger/utils/helpers/get-swagger-default-configs.js.map +1 -1
  214. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js +3 -5
  215. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.js.map +1 -1
  216. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js +4 -4
  217. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.js.map +1 -1
  218. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js +1 -1
  219. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.js.map +1 -1
  220. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js +9 -9
  221. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.js.map +1 -1
  222. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js +9 -9
  223. package/dist/esm/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.js.map +1 -1
  224. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js +6 -8
  225. package/dist/esm/modules/swagger/utils/helpers/missing-json-schemas-generator.js.map +1 -1
  226. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js +199 -0
  227. package/dist/esm/modules/swagger/utils/helpers/openapi-schema-converter.js.map +1 -0
  228. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js +9 -9
  229. package/dist/esm/modules/swagger/utils/helpers/swagger.router.helpers.js.map +1 -1
  230. package/dist/esm/server.js +31 -34
  231. package/dist/esm/server.js.map +1 -1
  232. package/dist/esm/types/arkos-config.js.map +1 -1
  233. package/dist/esm/types/index.js.map +1 -1
  234. package/dist/esm/types/new-arkos-config.js +2 -0
  235. package/dist/esm/types/new-arkos-config.js.map +1 -0
  236. package/dist/esm/types/router-config.js.map +1 -1
  237. package/dist/esm/utils/arkos-router/index.js +89 -37
  238. package/dist/esm/utils/arkos-router/index.js.map +1 -1
  239. package/dist/esm/utils/arkos-router/route-config-validator.js +8 -7
  240. package/dist/esm/utils/arkos-router/route-config-validator.js.map +1 -1
  241. package/dist/esm/utils/arkos-router/types/index.js.map +1 -1
  242. package/dist/esm/utils/arkos-router/types/openapi-config.js +2 -0
  243. package/dist/esm/utils/arkos-router/types/openapi-config.js.map +1 -0
  244. package/dist/esm/utils/arkos-router/types/upload-config.js +2 -0
  245. package/dist/esm/utils/arkos-router/types/upload-config.js.map +1 -0
  246. package/dist/esm/utils/arkos-router/utils/helpers/index.js +23 -5
  247. package/dist/esm/utils/arkos-router/utils/helpers/index.js.map +1 -1
  248. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js +227 -0
  249. package/dist/esm/utils/arkos-router/utils/helpers/upload-manager.js.map +1 -0
  250. package/dist/esm/utils/cli/build.js +9 -13
  251. package/dist/esm/utils/cli/build.js.map +1 -1
  252. package/dist/esm/utils/cli/dev.js +7 -7
  253. package/dist/esm/utils/cli/dev.js.map +1 -1
  254. package/dist/esm/utils/cli/export-auth-action.js +72 -0
  255. package/dist/esm/utils/cli/export-auth-action.js.map +1 -0
  256. package/dist/esm/utils/cli/generate.js +28 -12
  257. package/dist/esm/utils/cli/generate.js.map +1 -1
  258. package/dist/esm/utils/cli/index.js +32 -18
  259. package/dist/esm/utils/cli/index.js.map +1 -1
  260. package/dist/esm/utils/cli/prisma-generate.js +2 -2
  261. package/dist/esm/utils/cli/prisma-generate.js.map +1 -1
  262. package/dist/esm/utils/cli/start.js +12 -52
  263. package/dist/esm/utils/cli/start.js.map +1 -1
  264. package/dist/esm/utils/cli/utils/cli.helpers.js +1 -1
  265. package/dist/esm/utils/cli/utils/runtime-cli-commander.js +53 -0
  266. package/dist/esm/utils/cli/utils/runtime-cli-commander.js.map +1 -0
  267. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js +38 -13
  268. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/create-dto-template.js.map +1 -1
  269. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js +44 -17
  270. package/dist/esm/utils/cli/utils/template-generator/templates/class-validator/update-dto-template.js.map +1 -1
  271. package/dist/esm/utils/cli/utils/template-generator/templates/{controller-template.js → generate-controller-template.js} +12 -2
  272. package/dist/esm/utils/cli/utils/template-generator/templates/generate-controller-template.js.map +1 -0
  273. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js +1 -34
  274. package/dist/esm/utils/cli/utils/template-generator/templates/hooks-template.js.map +1 -1
  275. package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js +97 -265
  276. package/dist/esm/utils/cli/utils/template-generator/templates/middlewares-template.js.map +1 -1
  277. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js +16 -16
  278. package/dist/esm/utils/cli/utils/template-generator/templates/query-options-template.js.map +1 -1
  279. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js +4 -1
  280. package/dist/esm/utils/cli/utils/template-generator/templates/router-template.js.map +1 -1
  281. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js +8 -32
  282. package/dist/esm/utils/cli/utils/template-generator/templates/service-template.js.map +1 -1
  283. package/dist/esm/utils/cli/utils/template-generator/templates/zod/create-schema-template.js +3 -5
  284. package/dist/esm/utils/cli/utils/template-generator/templates/zod/create-schema-template.js.map +1 -1
  285. package/dist/esm/utils/cli/utils/template-generator/templates/zod/update-schema-template.js +1 -1
  286. package/dist/esm/utils/cli/utils/template-generator/templates/zod/update-schema-template.js.map +1 -1
  287. package/dist/esm/utils/cli/utils/template-generators.js +1 -1
  288. package/dist/esm/utils/cli/utils/template-generators.js.map +1 -1
  289. package/dist/esm/utils/cli/utils/watermark-stamper.js +11 -5
  290. package/dist/esm/utils/cli/utils/watermark-stamper.js.map +1 -1
  291. package/dist/esm/utils/define-config.js +2 -0
  292. package/dist/esm/utils/define-config.js.map +1 -0
  293. package/dist/esm/utils/dotenv.helpers.js +2 -1
  294. package/dist/esm/utils/dotenv.helpers.js.map +1 -1
  295. package/dist/esm/utils/dynamic-loader.js +4 -3
  296. package/dist/esm/utils/dynamic-loader.js.map +1 -1
  297. package/dist/esm/utils/features/port-and-host-allocator.js +28 -4
  298. package/dist/esm/utils/features/port-and-host-allocator.js.map +1 -1
  299. package/dist/esm/utils/helpers/arkos-config.helpers.js +38 -0
  300. package/dist/esm/utils/helpers/arkos-config.helpers.js.map +1 -0
  301. package/dist/esm/utils/helpers/dynamic-loader.helpers.js +134 -46
  302. package/dist/esm/utils/helpers/dynamic-loader.helpers.js.map +1 -1
  303. package/dist/esm/utils/helpers/fs.helpers.js +1 -4
  304. package/dist/esm/utils/helpers/fs.helpers.js.map +1 -1
  305. package/dist/esm/utils/helpers/routers.helpers.js +53 -4
  306. package/dist/esm/utils/helpers/routers.helpers.js.map +1 -1
  307. package/dist/esm/utils/prisma/prisma-json-schema-generator.js +20 -31
  308. package/dist/esm/utils/prisma/prisma-json-schema-generator.js.map +1 -1
  309. package/dist/esm/utils/prisma/prisma-schema-parser.js +3 -4
  310. package/dist/esm/utils/prisma/prisma-schema-parser.js.map +1 -1
  311. package/dist/esm/utils/sheu.js.map +1 -1
  312. package/dist/types/app.d.ts +2 -2
  313. package/dist/types/exports/index.d.ts +3 -2
  314. package/dist/types/exports/services/index.d.ts +2 -1
  315. package/dist/types/modules/auth/auth.controller.d.ts +2 -2
  316. package/dist/types/modules/auth/auth.router.d.ts +2 -3
  317. package/dist/types/modules/auth/auth.service.d.ts +6 -0
  318. package/dist/types/modules/auth/utils/services/auth-action.service.d.ts +1 -0
  319. package/dist/types/modules/base/base.middlewares.d.ts +1 -2
  320. package/dist/types/modules/base/base.router.d.ts +2 -2
  321. package/dist/types/modules/base/base.service.d.ts +2 -1
  322. package/dist/types/modules/base/utils/helpers/base.router.helpers.d.ts +2 -4
  323. package/dist/types/modules/debugger/debugger.service.d.ts +1 -1
  324. package/dist/types/modules/error-handler/utils/app-error.d.ts +1 -1
  325. package/dist/types/modules/file-upload/file-upload.router.d.ts +2 -2
  326. package/dist/types/modules/file-upload/file-upload.service.d.ts +24 -2
  327. package/dist/types/modules/file-upload/utils/helpers/file-extensions.d.ts +3 -0
  328. package/dist/types/modules/file-upload/utils/helpers/file-upload.helpers.d.ts +2 -1
  329. package/dist/types/modules/swagger/swagger.router.d.ts +1 -1
  330. package/dist/types/modules/swagger/utils/helpers/class-validator-to-json-schema.d.ts +3 -0
  331. package/dist/types/modules/swagger/utils/helpers/get-authentication-json-schema-paths.d.ts +2 -2
  332. package/dist/types/modules/swagger/utils/helpers/get-file-upload-json-schema-paths.d.ts +3 -0
  333. package/dist/types/modules/swagger/utils/helpers/get-swagger-default-configs.d.ts +2 -45
  334. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-class-validator-json-schemas.d.ts +1 -1
  335. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-prisma-json-schemas.d.ts +1 -1
  336. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/generate-zod-json-schemas.d.ts +1 -1
  337. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-main-routes-paths.d.ts +1 -1
  338. package/dist/types/modules/swagger/utils/helpers/json-schema-generators/prisma-models/generate-prisma-model-parent-routes-paths.d.ts +1 -1
  339. package/dist/types/modules/swagger/utils/helpers/missing-json-schemas-generator.d.ts +1 -1
  340. package/dist/types/modules/swagger/utils/helpers/openapi-schema-converter.d.ts +17 -0
  341. package/dist/types/modules/swagger/utils/helpers/swagger.router.helpers.d.ts +3 -3
  342. package/dist/types/server.d.ts +4 -6
  343. package/dist/types/types/arkos-config.d.ts +4 -181
  344. package/dist/types/types/index.d.ts +5 -4
  345. package/dist/types/types/new-arkos-config.d.ts +167 -0
  346. package/dist/types/types/router-config.d.ts +16 -23
  347. package/dist/types/utils/arkos-router/types/index.d.ts +39 -9
  348. package/dist/types/utils/arkos-router/types/openapi-config.d.ts +35 -0
  349. package/dist/types/utils/arkos-router/types/upload-config.d.ts +21 -0
  350. package/dist/types/utils/arkos-router/utils/helpers/upload-manager.d.ts +13 -0
  351. package/dist/types/utils/cli/export-auth-action.d.ts +4 -0
  352. package/dist/types/utils/cli/generate.d.ts +2 -1
  353. package/dist/types/utils/cli/utils/runtime-cli-commander.d.ts +11 -0
  354. package/dist/types/utils/cli/utils/watermark-stamper.d.ts +3 -3
  355. package/dist/types/utils/define-config.d.ts +0 -0
  356. package/dist/types/utils/features/port-and-host-allocator.d.ts +4 -2
  357. package/dist/types/utils/helpers/arkos-config.helpers.d.ts +7 -0
  358. package/dist/types/utils/helpers/dynamic-loader.helpers.d.ts +1 -0
  359. package/dist/types/utils/helpers/routers.helpers.d.ts +8 -0
  360. package/dist/types/utils/prisma/prisma-json-schema-generator.d.ts +1 -1
  361. package/package.json +3 -2
  362. package/dist/cjs/utils/cli/utils/template-generator/templates/controller-template.js.map +0 -1
  363. package/dist/esm/utils/cli/utils/template-generator/templates/controller-template.js.map +0 -1
  364. /package/dist/types/utils/cli/utils/template-generator/templates/{controller-template.d.ts → generate-controller-template.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../src/utils/cli/dev.ts"],"names":[],"mappings":"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","sourcesContent":["import { spawn, ChildProcess } from \"child_process\";\nimport chokidar from \"chokidar\";\nimport { fullCleanCwd, getUserFileExtension } from \"../helpers/fs.helpers\";\nimport { getVersion } from \"./utils/cli.helpers\";\nimport { loadEnvironmentVariables } from \"../dotenv.helpers\";\nimport fs from \"fs\";\nimport path from \"path\";\nimport sheu from \"../sheu\";\nimport portAndHostAllocator from \"../features/port-and-host-allocator\";\n// import smartFsWatcher from \"./utils/smart-fs-watcher\";\n\ninterface DevOptions {\n port?: string;\n host?: string;\n}\n\nlet child: ChildProcess | null = null;\nlet envFiles: string[] | undefined;\n\n/**\n * Dev server command for the arkos CLI\n */\nexport async function devCommand(options: DevOptions = {}) {\n process.env.NODE_ENV = \"development\";\n envFiles = loadEnvironmentVariables();\n child = null;\n let restartTimeout: NodeJS.Timeout | null = null;\n\n try {\n const { port, host } = options;\n let isRestarting = false;\n let restartingFiles = new Set<string>();\n\n const fileExt = getUserFileExtension();\n\n const entryPoint = path.resolve(process.cwd(), `src/app.${fileExt}`);\n\n if (!fs.existsSync(entryPoint)) {\n console.error(`Could not find application entry point at ${entryPoint}`);\n process.exit(1);\n }\n\n const getEnv = () =>\n ({\n NODE_ENV: \"development\",\n ...process.env,\n ...(port && { CLI_PORT: port }),\n ...(host && { CLI_HOST: host }),\n }) as { [x: string]: string };\n\n const startServer = () => {\n if (child) {\n child.kill();\n child = null;\n }\n\n const env = getEnv();\n\n if (fileExt === \"ts\") {\n child = spawn(\"npx\", [\"tsx-strict\", \"--watch\", entryPoint], {\n stdio: \"inherit\",\n env,\n shell: true,\n });\n } else {\n child = spawn(\n \"npx\",\n [\"tsx-strict\", \"--no-type-check\", \"--watch\", entryPoint],\n {\n stdio: \"inherit\",\n env,\n shell: true,\n }\n );\n }\n\n if (child) {\n child.on(\"error\", (error) => {\n console.error(\"Failed to start server:\", error);\n });\n\n child.on(\"exit\", (code, signal) => {\n if (!isRestarting && signal !== \"SIGTERM\" && signal !== \"SIGINT\") {\n console.info(`Server exited with code ${code}, restarting...`);\n startServer();\n }\n });\n }\n };\n\n // Function to handle server restart with debouncing\n const scheduleRestart = (reason: string, filePath?: string) => {\n if (filePath) restartingFiles.add(filePath);\n\n if (restartTimeout) clearTimeout(restartTimeout);\n const now = new Date();\n const time = now.toTimeString().split(\" \")[0];\n\n isRestarting = true;\n if (child) {\n child.kill();\n child = null;\n }\n\n restartTimeout = setTimeout(() => {\n sheu.info(`\\x1b[90m${time}\\x1b[0m Restarting: ${reason.toLowerCase()}`);\n startServer();\n isRestarting = false;\n restartTimeout = null;\n if (filePath) restartingFiles.delete(filePath);\n }, 1000);\n };\n\n // Setup environment file watching\n const setupEnvWatcher = () => {\n const envWatcher = chokidar.watch(\n fullCleanCwd(envFiles?.join(\",\") || \"\")\n .replaceAll(\"/\", \"\")\n .split(\",\") || [],\n {\n ignoreInitial: true,\n persistent: true,\n }\n );\n\n envWatcher.on(\"all\", (_, filePath) => {\n try {\n envFiles = loadEnvironmentVariables();\n scheduleRestart(\"Environment files changed\", \"env-files\");\n } catch (error) {\n console.error(`Error reloading ${filePath}:`, error);\n }\n });\n\n return envWatcher;\n };\n\n // Start the server\n startServer();\n\n // Setup watchers\n const envWatcher = setupEnvWatcher();\n\n const env = getEnv();\n const hostAndPort = await portAndHostAllocator.getHostAndAvailablePort(\n env,\n { logWarning: true }\n );\n\n console.info(`\\n \\x1b[1m\\x1b[36m Arkos.js ${getVersion()}\\x1b[0m`);\n console.info(\n ` - Local: http://${hostAndPort?.host}:${hostAndPort?.port}`\n );\n console.info(\n ` - Environments: ${fullCleanCwd(envFiles?.join(\", \") || \"\")\n .replaceAll(`${process.cwd()}/`, \"\")\n .replaceAll(\"/\", \"\")}\\n`\n );\n\n // Enhanced cleanup function\n const cleanup = () => {\n if (restartTimeout) clearTimeout(restartTimeout);\n\n if (envWatcher) envWatcher.close();\n\n if (child) {\n child.kill(\"SIGTERM\");\n\n // Force kill after 5 seconds if still running\n setTimeout(() => {\n if (child && !child.killed) child.kill(\"SIGKILL\");\n }, 5000);\n }\n\n process.exit(0);\n };\n\n // Handle process exit\n process.on(\"SIGINT\", cleanup);\n process.on(\"SIGTERM\", cleanup);\n\n // Handle uncaught exceptions\n process.on(\"uncaughtException\", (error) => {\n console.error(\"Uncaught Exception:\", error);\n cleanup();\n });\n } catch (error) {\n console.error(\"Development server failed to start:\", error);\n\n if (child) {\n (child as ChildProcess)?.kill?.();\n child = null;\n }\n\n process.exit(1);\n }\n}\n\n/**\n * Help function to help other processes to terminate the development server child process\n */\nexport function killDevelopmentServerChildProcess() {\n (child as ChildProcess)?.kill?.();\n child = null;\n}\n"]}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../src/utils/cli/dev.ts"],"names":[],"mappings":"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","sourcesContent":["import { spawn, ChildProcess } from \"child_process\";\nimport chokidar from \"chokidar\";\nimport { fullCleanCwd, getUserFileExtension } from \"../helpers/fs.helpers\";\nimport { loadEnvironmentVariables } from \"../dotenv.helpers\";\nimport fs from \"fs\";\nimport path from \"path\";\nimport sheu from \"../sheu\";\nimport portAndHostAllocator from \"../features/port-and-host-allocator\";\nimport watermarkStamper from \"./utils/watermark-stamper\";\n\ninterface DevOptions {\n port?: string;\n host?: string;\n}\n\nlet child: ChildProcess | null = null;\nlet envFiles: string[] | undefined;\n\n/**\n * Dev server command for the arkos CLI\n */\nexport async function devCommand(options: DevOptions = {}) {\n if (process.env.NODE_ENV === \"test\" || !process.env.NODE_ENV)\n process.env.NODE_ENV = \"development\";\n envFiles = loadEnvironmentVariables();\n child = null;\n let restartTimeout: NodeJS.Timeout | null = null;\n\n try {\n const { port, host } = options;\n let isRestarting = false;\n let restartingFiles = new Set<string>();\n\n const fileExt = getUserFileExtension();\n const entryPoint = path.resolve(process.cwd(), `src/app.${fileExt}`);\n\n if (!fs.existsSync(entryPoint)) {\n console.error(`Could not find application entry point at ${entryPoint}`);\n process.exit(1);\n }\n\n const getEnv = () =>\n ({\n NODE_ENV: \"development\",\n ...process.env,\n ...(port && { CLI_PORT: port }),\n ...(host && { CLI_HOST: host }),\n }) as { [x: string]: string };\n\n const startServer = () => {\n if (child) {\n child.kill();\n child = null;\n }\n\n const env = getEnv();\n\n if (fileExt === \"ts\") {\n child = spawn(\"npx\", [\"tsx-strict\", \"--watch\", entryPoint], {\n stdio: \"inherit\",\n env,\n shell: true,\n });\n } else {\n child = spawn(\n \"npx\",\n [\"tsx-strict\", \"--no-type-check\", \"--watch\", entryPoint],\n {\n stdio: \"inherit\",\n env,\n shell: true,\n }\n );\n }\n\n if (child) {\n child.on(\"error\", (error) => {\n console.error(\"Failed to start server:\", error);\n });\n\n child.on(\"exit\", (code, signal) => {\n if (!isRestarting && signal !== \"SIGTERM\" && signal !== \"SIGINT\") {\n console.info(`Server exited with code ${code}, restarting...`);\n startServer();\n }\n });\n }\n };\n\n const scheduleRestart = (reason: string, filePath?: string) => {\n if (filePath) restartingFiles.add(filePath);\n\n if (restartTimeout) clearTimeout(restartTimeout);\n const now = new Date();\n const time = now.toTimeString().split(\" \")[0];\n\n isRestarting = true;\n if (child) {\n child.kill();\n child = null;\n }\n\n restartTimeout = setTimeout(() => {\n sheu.info(`\\x1b[90m${time}\\x1b[0m Restarting: ${reason.toLowerCase()}`);\n startServer();\n isRestarting = false;\n restartTimeout = null;\n if (filePath) restartingFiles.delete(filePath);\n }, 1000);\n };\n\n const setupEnvWatcher = () => {\n const envWatcher = chokidar.watch(\n fullCleanCwd(envFiles?.join(\",\") || \"\")\n .replaceAll(\"/\", \"\")\n .split(\",\") || [],\n {\n ignoreInitial: true,\n persistent: true,\n }\n );\n\n envWatcher.on(\"all\", (_, filePath) => {\n try {\n envFiles = loadEnvironmentVariables();\n scheduleRestart(\"Environment files changed\", \"env-files\");\n } catch (error) {\n console.error(`Error reloading ${filePath}:`, error);\n }\n });\n\n return envWatcher;\n };\n\n startServer();\n\n const envWatcher = setupEnvWatcher();\n\n const env = getEnv();\n const hostAndPort = await portAndHostAllocator.getHostAndAvailablePort(\n env,\n { logWarning: true }\n );\n\n watermarkStamper.stamp({\n ...hostAndPort,\n envFiles,\n });\n\n const cleanup = () => {\n if (restartTimeout) clearTimeout(restartTimeout);\n\n if (envWatcher) envWatcher.close();\n\n if (child) {\n child.kill(\"SIGTERM\");\n\n setTimeout(() => {\n if (child && !child.killed) child.kill(\"SIGKILL\");\n }, 5000);\n }\n\n process.exit(0);\n };\n\n process.on(\"SIGINT\", cleanup);\n process.on(\"SIGTERM\", cleanup);\n\n process.on(\"uncaughtException\", (error) => {\n console.error(\"Uncaught Exception:\", error);\n cleanup();\n });\n } catch (error) {\n console.error(\"Development server failed to start:\", error);\n\n if (child) {\n (child as ChildProcess)?.kill?.();\n child = null;\n }\n\n process.exit(1);\n }\n}\n\n/**\n * Help function to help other processes to terminate the development server child process\n */\nexport function killDevelopmentServerChildProcess() {\n (child as ChildProcess)?.kill?.();\n child = null;\n}\n"]}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = exportAuthActionCommand;
7
+ const child_process_1 = require("child_process");
8
+ const dotenv_helpers_1 = require("../dotenv.helpers");
9
+ const fs_helpers_1 = require("../helpers/fs.helpers");
10
+ const path_1 = __importDefault(require("path"));
11
+ const fs_1 = __importDefault(require("fs"));
12
+ const watermark_stamper_1 = __importDefault(require("./utils/watermark-stamper"));
13
+ async function exportAuthActionCommand(options) {
14
+ process.env.CLI_COMMAND = "EXPORT_AUTH_ACTION";
15
+ process.env.CLI_COMMAND_OPTIONS = JSON.stringify(options);
16
+ if (process.env.NODE_ENV === "test" || !process.env.NODE_ENV)
17
+ process.env.NODE_ENV = "development";
18
+ const envFiles = (0, dotenv_helpers_1.loadEnvironmentVariables)() || [];
19
+ let child = null;
20
+ try {
21
+ const fileExt = (0, fs_helpers_1.getUserFileExtension)();
22
+ const entryPoint = path_1.default.resolve(process.cwd(), `src/app.${fileExt}`);
23
+ if (!fs_1.default.existsSync(entryPoint)) {
24
+ console.error(`Could not find application entry point at ${entryPoint}`);
25
+ process.exit(1);
26
+ }
27
+ const getEnv = () => ({
28
+ NODE_ENV: "development",
29
+ ...process.env,
30
+ });
31
+ const startServer = () => {
32
+ if (child) {
33
+ child.kill();
34
+ child = null;
35
+ }
36
+ const env = getEnv();
37
+ if (fileExt === "ts")
38
+ child = (0, child_process_1.spawn)("npx", ["tsx-strict", "--no-type-check", entryPoint], {
39
+ stdio: "inherit",
40
+ env,
41
+ shell: true,
42
+ });
43
+ if (child)
44
+ child.on("error", (error) => {
45
+ console.error("Failed to start server:", error);
46
+ });
47
+ };
48
+ startServer();
49
+ watermark_stamper_1.default.stamp({
50
+ envFiles,
51
+ });
52
+ const cleanup = () => {
53
+ if (child) {
54
+ child.kill("SIGTERM");
55
+ setTimeout(() => {
56
+ if (child && !child.killed)
57
+ child.kill("SIGKILL");
58
+ }, 5000);
59
+ }
60
+ process.exit(0);
61
+ };
62
+ process.on("SIGINT", cleanup);
63
+ process.on("SIGTERM", cleanup);
64
+ process.on("uncaughtException", (error) => {
65
+ console.error("Uncaught Exception:", error);
66
+ cleanup();
67
+ });
68
+ }
69
+ catch (error) {
70
+ console.error("Development server failed to start:", error);
71
+ if (child) {
72
+ child?.kill?.();
73
+ child = null;
74
+ }
75
+ process.exit(1);
76
+ }
77
+ }
78
+ //# sourceMappingURL=export-auth-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-auth-action.js","sourceRoot":"","sources":["../../../../src/utils/cli/export-auth-action.ts"],"names":[],"mappings":"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","sourcesContent":["import { ChildProcess, spawn } from \"child_process\";\nimport { loadEnvironmentVariables } from \"../dotenv.helpers\";\nimport { getUserFileExtension } from \"../helpers/fs.helpers\";\nimport path from \"path\";\nimport fs from \"fs\";\nimport watermarkStamper from \"./utils/watermark-stamper\";\n\nexport default async function exportAuthActionCommand(options: {\n overwrite?: boolean;\n path?: string;\n}) {\n process.env.CLI_COMMAND = \"EXPORT_AUTH_ACTION\";\n process.env.CLI_COMMAND_OPTIONS = JSON.stringify(options);\n\n if (process.env.NODE_ENV === \"test\" || !process.env.NODE_ENV)\n process.env.NODE_ENV = \"development\";\n\n const envFiles = loadEnvironmentVariables() || [];\n let child: ChildProcess | null = null;\n\n try {\n const fileExt = getUserFileExtension();\n const entryPoint = path.resolve(process.cwd(), `src/app.${fileExt}`);\n\n if (!fs.existsSync(entryPoint)) {\n console.error(`Could not find application entry point at ${entryPoint}`);\n process.exit(1);\n }\n\n const getEnv = () =>\n ({\n NODE_ENV: \"development\",\n ...process.env,\n }) as { [x: string]: string };\n\n const startServer = () => {\n if (child) {\n child.kill();\n child = null;\n }\n\n const env = getEnv();\n\n if (fileExt === \"ts\")\n child = spawn(\"npx\", [\"tsx-strict\", \"--no-type-check\", entryPoint], {\n stdio: \"inherit\",\n env,\n shell: true,\n });\n\n if (child)\n child.on(\"error\", (error) => {\n console.error(\"Failed to start server:\", error);\n });\n };\n\n startServer();\n\n watermarkStamper.stamp({\n envFiles,\n });\n\n const cleanup = () => {\n if (child) {\n child.kill(\"SIGTERM\");\n setTimeout(() => {\n if (child && !child.killed) child.kill(\"SIGKILL\");\n }, 5000);\n }\n\n process.exit(0);\n };\n\n process.on(\"SIGINT\", cleanup);\n process.on(\"SIGTERM\", cleanup);\n\n process.on(\"uncaughtException\", (error) => {\n console.error(\"Uncaught Exception:\", error);\n cleanup();\n });\n } catch (error) {\n console.error(\"Development server failed to start:\", error);\n\n if (child) {\n (child as ChildProcess)?.kill?.();\n child = null;\n }\n\n process.exit(1);\n }\n}\n"]}
@@ -12,12 +12,24 @@ const change_case_helpers_1 = require("../helpers/change-case.helpers");
12
12
  const fs_helpers_1 = require("../helpers/fs.helpers");
13
13
  const sheu_1 = __importDefault(require("../sheu"));
14
14
  const text_helpers_1 = require("../helpers/text.helpers");
15
+ const prisma_schema_parser_1 = __importDefault(require("../prisma/prisma-schema-parser"));
16
+ const swagger_router_helpers_1 = require("../../modules/swagger/utils/helpers/swagger.router.helpers");
17
+ const models = prisma_schema_parser_1.default
18
+ .getModelsAsArrayOfStrings()
19
+ .map((val) => (0, change_case_helpers_1.kebabCase)(val));
20
+ const knownModules = [...models, "file-upload", "auth"];
15
21
  const generateFile = async (options, config) => {
16
- const modelName = options.model;
17
- if (!modelName) {
18
- sheu_1.default.error("Module name is required!");
19
- process.exit(1);
20
- }
22
+ const modelName = options.module || options.model;
23
+ if (options.module && options.model)
24
+ throw Error("You must either pass --module or --model, prefer --module to align with future updates.");
25
+ if (!modelName?.trim())
26
+ throw new Error("Module name is required!");
27
+ const isAllowedModule = config.allowedModules.includes((0, change_case_helpers_1.kebabCase)(modelName));
28
+ const isKnowModule = config.allowedModules.includes((0, change_case_helpers_1.kebabCase)(modelName));
29
+ if (!isKnowModule)
30
+ throw new Error(`Generate command are only available for know modules such as all prisma models, file-upload and auth. And you passed ${modelName}.`);
31
+ else if (!isAllowedModule)
32
+ throw Error(`${(0, swagger_router_helpers_1.kebabToHuman)((0, change_case_helpers_1.kebabCase)(config.templateName))} are not available for module ${modelName}`);
21
33
  if (config.customValidation)
22
34
  config.customValidation(modelName);
23
35
  const { path: customPath = "src/modules/{{module-name}}" } = options;
@@ -28,7 +40,6 @@ const generateFile = async (options, config) => {
28
40
  };
29
41
  const ext = (0, fs_helpers_1.getUserFileExtension)();
30
42
  const resolvedPath = (config.customPath || customPath).replaceAll("{{module-name}}", names.kebab);
31
- console.log(resolvedPath);
32
43
  const modulePath = path_1.default.join(process.cwd(), resolvedPath);
33
44
  const fileName = config.prefix
34
45
  ? `${config.prefix}${names.kebab}.${config.fileSuffix}.${ext}`
@@ -63,6 +74,7 @@ exports.generateCommand = {
63
74
  customImports: () => ({
64
75
  baseController: "arkos/controllers",
65
76
  }),
77
+ allowedModules: knownModules,
66
78
  });
67
79
  },
68
80
  service: async (options) => {
@@ -72,6 +84,7 @@ exports.generateCommand = {
72
84
  customImports: () => ({
73
85
  baseService: "arkos/services",
74
86
  }),
87
+ allowedModules: knownModules,
75
88
  });
76
89
  },
77
90
  router: async (options) => {
@@ -82,24 +95,28 @@ exports.generateCommand = {
82
95
  baseRouter: "arkos",
83
96
  controller: `./${names.kebab}.controller`,
84
97
  }),
98
+ allowedModules: knownModules,
85
99
  });
86
100
  },
87
101
  interceptors: async (options) => {
88
102
  await generateFile(options, {
89
103
  templateName: "interceptors",
90
104
  fileSuffix: "interceptors",
105
+ allowedModules: knownModules,
91
106
  });
92
107
  },
93
108
  authConfigs: async (options) => {
94
109
  await generateFile(options, {
95
110
  templateName: "auth-configs",
96
111
  fileSuffix: "auth",
112
+ allowedModules: knownModules,
97
113
  });
98
114
  },
99
115
  hooks: async (options) => {
100
116
  await generateFile(options, {
101
117
  templateName: "hooks",
102
118
  fileSuffix: "hooks",
119
+ allowedModules: knownModules,
103
120
  });
104
121
  },
105
122
  createSchema: async (options) => {
@@ -108,6 +125,7 @@ exports.generateCommand = {
108
125
  fileSuffix: "schema",
109
126
  customPath: "src/modules/{{module-name}}/schemas",
110
127
  prefix: "create-",
128
+ allowedModules: models,
111
129
  });
112
130
  },
113
131
  updateSchema: async (options) => {
@@ -116,6 +134,7 @@ exports.generateCommand = {
116
134
  fileSuffix: "schema",
117
135
  customPath: "src/modules/{{module-name}}/schemas",
118
136
  prefix: "update-",
137
+ allowedModules: models,
119
138
  });
120
139
  },
121
140
  createDto: async (options) => {
@@ -124,6 +143,7 @@ exports.generateCommand = {
124
143
  fileSuffix: "dto",
125
144
  customPath: "src/modules/{{module-name}}/dtos",
126
145
  prefix: "create-",
146
+ allowedModules: models,
127
147
  });
128
148
  },
129
149
  updateDto: async (options) => {
@@ -132,18 +152,14 @@ exports.generateCommand = {
132
152
  fileSuffix: "dto",
133
153
  customPath: "src/modules/{{module-name}}/dtos",
134
154
  prefix: "update-",
155
+ allowedModules: models,
135
156
  });
136
157
  },
137
158
  queryOptions: async (options) => {
138
159
  await generateFile(options, {
139
160
  templateName: "query-options",
140
161
  fileSuffix: "query",
141
- customValidation: (modelName) => {
142
- if (modelName === "file-upload") {
143
- sheu_1.default.error("Prisma query options are not available to file-upload resource");
144
- process.exit(1);
145
- }
146
- },
162
+ allowedModules: knownModules,
147
163
  });
148
164
  },
149
165
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/utils/cli/generate.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport { generateTemplate } from \"./utils/template-generators\";\nimport { ensureDirectoryExists } from \"./utils/cli.helpers\";\nimport {\n camelCase,\n kebabCase,\n pascalCase,\n} from \"../helpers/change-case.helpers\";\nimport { fullCleanCwd, getUserFileExtension } from \"../helpers/fs.helpers\";\nimport sheu from \"../sheu\";\nimport { capitalize } from \"../helpers/text.helpers\";\n\ninterface GenerateOptions {\n path?: string;\n model: string;\n}\n\ninterface GenerateConfig {\n templateName: string;\n fileSuffix: string;\n customValidation?: (modelName: string) => void;\n customImports?: (names: any) => any;\n customPath?: string;\n prefix?: string;\n}\n\nconst generateFile = async (\n options: GenerateOptions,\n config: GenerateConfig\n) => {\n const modelName = options.model;\n\n if (!modelName) {\n sheu.error(\"Module name is required!\");\n process.exit(1);\n }\n\n if (config.customValidation) config.customValidation(modelName);\n\n const { path: customPath = \"src/modules/{{module-name}}\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n\n const resolvedPath = (config.customPath || customPath).replaceAll(\n \"{{module-name}}\",\n names.kebab\n );\n console.log(resolvedPath);\n\n const modulePath = path.join(process.cwd(), resolvedPath);\n\n const fileName = config.prefix\n ? `${config.prefix}${names.kebab}.${config.fileSuffix}.${ext}`\n : `${names.kebab}.${config.fileSuffix}.${ext}`;\n\n const filePath = path.join(modulePath, fileName);\n\n const humamReadableTemplateName =\n config.templateName.charAt(0).toUpperCase() +\n config.templateName.slice(1).replaceAll(\"-\", \" \");\n\n try {\n ensureDirectoryExists(modulePath);\n\n const templateData = {\n modelName: names,\n ...(config.customImports && { imports: config.customImports(names) }),\n };\n\n const content = generateTemplate(config.templateName, templateData);\n if (fs.existsSync(filePath))\n throw new Error(\n `${capitalize(humamReadableTemplateName.toLowerCase())} for ${options.model} already exists.`\n );\n fs.writeFileSync(filePath, content);\n\n console.info(\"\");\n sheu.done(\n `${humamReadableTemplateName} for ${options.model} generated under ${fullCleanCwd(filePath)}`\n );\n } catch (err: any) {\n console.info(\"\");\n sheu.error(\n `Failed because of ${err?.message?.toLowerCase() || \"unknown reason\"}`\n );\n process.exit(1);\n }\n};\n\nexport const generateCommand = {\n controller: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"controller\",\n fileSuffix: \"controller\",\n customImports: () => ({\n baseController: \"arkos/controllers\",\n }),\n });\n },\n\n service: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"service\",\n fileSuffix: \"service\",\n customImports: () => ({\n baseService: \"arkos/services\",\n }),\n });\n },\n\n router: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"router\",\n fileSuffix: \"router\",\n customImports: (names) => ({\n baseRouter: \"arkos\",\n controller: `./${names.kebab}.controller`,\n }),\n });\n },\n\n interceptors: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"interceptors\",\n fileSuffix: \"interceptors\",\n });\n },\n\n authConfigs: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"auth-configs\",\n fileSuffix: \"auth\",\n });\n },\n\n hooks: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"hooks\",\n fileSuffix: \"hooks\",\n });\n },\n\n createSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"create-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"create-\",\n });\n },\n\n updateSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"update-\",\n });\n },\n\n createDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"create-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"create-\",\n });\n },\n\n updateDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"update-\",\n });\n },\n\n queryOptions: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"query-options\",\n fileSuffix: \"query\",\n customValidation: (modelName) => {\n if (modelName === \"file-upload\") {\n sheu.error(\n \"Prisma query options are not available to file-upload resource\"\n );\n process.exit(1);\n }\n },\n });\n },\n};\n"]}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/utils/cli/generate.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport { generateTemplate } from \"./utils/template-generators\";\nimport { ensureDirectoryExists } from \"./utils/cli.helpers\";\nimport {\n camelCase,\n kebabCase,\n pascalCase,\n} from \"../helpers/change-case.helpers\";\nimport { fullCleanCwd, getUserFileExtension } from \"../helpers/fs.helpers\";\nimport sheu from \"../sheu\";\nimport { capitalize } from \"../helpers/text.helpers\";\nimport prismaSchemaParser from \"../prisma/prisma-schema-parser\";\nimport { kebabToHuman } from \"../../modules/swagger/utils/helpers/swagger.router.helpers\";\n\nconst models = prismaSchemaParser\n .getModelsAsArrayOfStrings()\n .map((val) => kebabCase(val));\n\nconst knownModules = [...models, \"file-upload\", \"auth\"];\n\ninterface GenerateOptions {\n path?: string;\n model?: string;\n module?: string;\n}\n\ninterface GenerateConfig {\n templateName: string;\n fileSuffix: string;\n customValidation?: (modelName: string) => void;\n customImports?: (names: any) => any;\n customPath?: string;\n prefix?: string;\n allowedModules: string[];\n}\n\nconst generateFile = async (\n options: GenerateOptions,\n config: GenerateConfig\n) => {\n const modelName = options.module || options.model;\n\n if (options.module && options.model)\n throw Error(\n \"You must either pass --module or --model, prefer --module to align with future updates.\"\n );\n\n if (!modelName?.trim()) throw new Error(\"Module name is required!\");\n\n const isAllowedModule = config.allowedModules.includes(kebabCase(modelName));\n const isKnowModule = config.allowedModules.includes(kebabCase(modelName));\n\n if (!isKnowModule)\n throw new Error(\n `Generate command are only available for know modules such as all prisma models, file-upload and auth. And you passed ${modelName}.`\n );\n else if (!isAllowedModule)\n throw Error(\n `${kebabToHuman(kebabCase(config.templateName))} are not available for module ${modelName}`\n );\n\n if (config.customValidation) config.customValidation(modelName);\n\n const { path: customPath = \"src/modules/{{module-name}}\" } = options;\n\n const names = {\n pascal: pascalCase(modelName),\n camel: camelCase(modelName),\n kebab: kebabCase(modelName),\n };\n\n const ext = getUserFileExtension();\n\n const resolvedPath = (config.customPath || customPath).replaceAll(\n \"{{module-name}}\",\n names.kebab\n );\n\n const modulePath = path.join(process.cwd(), resolvedPath);\n\n const fileName = config.prefix\n ? `${config.prefix}${names.kebab}.${config.fileSuffix}.${ext}`\n : `${names.kebab}.${config.fileSuffix}.${ext}`;\n\n const filePath = path.join(modulePath, fileName);\n\n const humamReadableTemplateName =\n config.templateName.charAt(0).toUpperCase() +\n config.templateName.slice(1).replaceAll(\"-\", \" \");\n\n try {\n ensureDirectoryExists(modulePath);\n\n const templateData = {\n modelName: names,\n ...(config.customImports && { imports: config.customImports(names) }),\n };\n\n const content = generateTemplate(config.templateName, templateData);\n if (fs.existsSync(filePath))\n throw new Error(\n `${capitalize(humamReadableTemplateName.toLowerCase())} for ${options.model} already exists.`\n );\n fs.writeFileSync(filePath, content);\n\n console.info(\"\");\n sheu.done(\n `${humamReadableTemplateName} for ${options.model} generated under ${fullCleanCwd(filePath)}`\n );\n } catch (err: any) {\n console.info(\"\");\n sheu.error(\n `Failed because of ${err?.message?.toLowerCase() || \"unknown reason\"}`\n );\n process.exit(1);\n }\n};\n\nexport const generateCommand = {\n controller: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"controller\",\n fileSuffix: \"controller\",\n customImports: () => ({\n baseController: \"arkos/controllers\",\n }),\n allowedModules: knownModules,\n });\n },\n\n service: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"service\",\n fileSuffix: \"service\",\n customImports: () => ({\n baseService: \"arkos/services\",\n }),\n allowedModules: knownModules,\n });\n },\n\n router: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"router\",\n fileSuffix: \"router\",\n customImports: (names) => ({\n baseRouter: \"arkos\",\n controller: `./${names.kebab}.controller`,\n }),\n allowedModules: knownModules,\n });\n },\n\n interceptors: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"interceptors\",\n fileSuffix: \"interceptors\",\n allowedModules: knownModules,\n });\n },\n\n authConfigs: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"auth-configs\",\n fileSuffix: \"auth\",\n allowedModules: knownModules,\n });\n },\n\n hooks: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"hooks\",\n fileSuffix: \"hooks\",\n allowedModules: knownModules,\n });\n },\n\n createSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"create-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"create-\",\n allowedModules: models,\n });\n },\n\n updateSchema: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-schema\",\n fileSuffix: \"schema\",\n customPath: \"src/modules/{{module-name}}/schemas\",\n prefix: \"update-\",\n allowedModules: models,\n });\n },\n\n createDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"create-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"create-\",\n allowedModules: models,\n });\n },\n\n updateDto: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"update-dto\",\n fileSuffix: \"dto\",\n customPath: \"src/modules/{{module-name}}/dtos\",\n prefix: \"update-\",\n allowedModules: models,\n });\n },\n\n queryOptions: async (options: GenerateOptions) => {\n await generateFile(options, {\n templateName: \"query-options\",\n fileSuffix: \"query\",\n allowedModules: knownModules,\n });\n },\n};\n"]}
@@ -15,6 +15,7 @@ const generate_1 = require("./generate");
15
15
  Object.defineProperty(exports, "generateCommand", { enumerable: true, get: function () { return generate_1.generateCommand; } });
16
16
  const cli_helpers_1 = require("./utils/cli.helpers");
17
17
  const prisma_generate_1 = __importDefault(require("./prisma-generate"));
18
+ const export_auth_action_1 = __importDefault(require("./export-auth-action"));
18
19
  const program = new commander_1.Command();
19
20
  exports.program = program;
20
21
  program.name("arkos").description("Arkos.js CLI").version((0, cli_helpers_1.getVersion)());
@@ -43,84 +44,90 @@ generate
43
44
  .command("controller")
44
45
  .alias("c")
45
46
  .description("Generate a new controller")
46
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
47
+ .option("-m, --module <name>", "Module name")
48
+ .option("--model <name>", "Module name (alias for --module)")
47
49
  .option("-p, --path <path>", "Custom path for the controller", "src/modules/{{module-name}}")
48
50
  .action(generate_1.generateCommand.controller);
49
51
  generate
50
52
  .command("service")
51
53
  .alias("s")
52
54
  .description("Generate a new service")
53
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
55
+ .option("-m, --module <name>", "Module name")
56
+ .option("--model <name>", "Module name (alias for --module)")
54
57
  .option("-p, --path <path>", "Custom path for the service", "src/modules/{{module-name}}")
55
58
  .action(generate_1.generateCommand.service);
56
59
  generate
57
60
  .command("router")
58
61
  .alias("r")
59
62
  .description("Generate a new router")
60
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
63
+ .option("-m, --module <name>", "Module name")
64
+ .option("--model <name>", "Module name (alias for --module)")
61
65
  .option("-p, --path <path>", "Custom path for the router", "src/modules/{{module-name}}")
62
66
  .action(generate_1.generateCommand.router);
63
67
  generate
64
68
  .command("auth-configs")
65
69
  .alias("a")
66
70
  .description("Generate auth configuration")
67
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
71
+ .option("-m, --module <name>", "Module name")
72
+ .option("--model <name>", "Module name (alias for --module)")
68
73
  .option("-p, --path <path>", "Custom path for the router", "src/modules/{{module-name}}")
69
74
  .action(generate_1.generateCommand.authConfigs);
70
75
  generate
71
76
  .command("query-options")
72
77
  .alias("q")
73
78
  .description("Generate prisma query options")
74
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
79
+ .option("-m, --module <name>", "Module name")
80
+ .option("--model <name>", "Module name (alias for --module)")
75
81
  .option("-p, --path <path>", "Custom path for query options", "src/modules/{{module-name}}")
76
82
  .action(generate_1.generateCommand.queryOptions);
77
- generate
78
- .command("middlewares")
79
- .alias("m")
80
- .description("Generate a new interceptors file")
81
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
82
- .option("-p, --path <path>", "Custom path for middleware", "src/modules/{{module-name}}")
83
- .action(generate_1.generateCommand.interceptors);
84
83
  generate
85
84
  .command("interceptors")
86
85
  .alias("i")
86
+ .alias("middlewares")
87
+ .alias("m")
87
88
  .description("Generate a new interceptors file")
88
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
89
+ .option("-m, --module <name>", "Module name")
90
+ .option("--model <name>", "Module name (alias for --module)")
89
91
  .option("-p, --path <path>", "Custom path for interceptors", "src/modules/{{module-name}}")
90
92
  .action(generate_1.generateCommand.interceptors);
91
93
  generate
92
94
  .command("hooks")
93
95
  .alias("h")
94
96
  .description("Generate a new service hooks file")
95
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
97
+ .option("-m, --module <name>", "Module name")
98
+ .option("--model <name>", "Module name (alias for --module)")
96
99
  .option("-p, --path <path>", "Custom path for hooks", "src/modules/{{module-name}}")
97
100
  .action(generate_1.generateCommand.hooks);
98
101
  generate
99
102
  .command("create-schema")
100
103
  .alias("cs")
101
104
  .description("Generate a new zod create schema file for a prisma model")
102
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
105
+ .option("-m, --module <name>", "Module name")
106
+ .option("--model <name>", "Module name (alias for --module)")
103
107
  .option("-p, --path <path>", "Custom path for hooks", "src/modules/{{module-name}}")
104
108
  .action(generate_1.generateCommand.createSchema);
105
109
  generate
106
110
  .command("update-schema")
107
111
  .alias("us")
108
112
  .description("Generate a new zod update schema file for a prisma model")
109
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
113
+ .option("-m, --module <name>", "Module name")
114
+ .option("--model <name>", "Module name (alias for --module)")
110
115
  .option("-p, --path <path>", "Custom path for hooks", "src/modules/{{module-name}}")
111
116
  .action(generate_1.generateCommand.updateSchema);
112
117
  generate
113
118
  .command("create-dto")
114
119
  .alias("cd")
115
120
  .description("Generate a new class-validator create dto file for a prisma model")
116
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
121
+ .option("-m, --module <name>", "Module name")
122
+ .option("--model <name>", "Module name (alias for --module)")
117
123
  .option("-p, --path <path>", "Custom path for hooks", "src/modules/{{module-name}}")
118
124
  .action(generate_1.generateCommand.createDto);
119
125
  generate
120
126
  .command("update-dto")
121
127
  .alias("ud")
122
128
  .description("Generate a new class-validator update dto file for a prisma model")
123
- .requiredOption("-m, --model <name>, --module <name>", "Module name")
129
+ .option("-m, --module <name>", "Module name")
130
+ .option("--model <name>", "Module name (alias for --module)")
124
131
  .option("-p, --path <path>", "Custom path for hooks", "src/modules/{{module-name}}")
125
132
  .action(generate_1.generateCommand.updateDto);
126
133
  program
@@ -128,5 +135,12 @@ program
128
135
  .command("generate")
129
136
  .description("Generate your @prisma/client and BaseService class types")
130
137
  .action(prisma_generate_1.default);
138
+ program
139
+ .command("export")
140
+ .command("auth-action")
141
+ .description("Export file with an array containing all auth-actions")
142
+ .option("-o, --overwrite", "Overwrites all the changes on the object")
143
+ .option("-p, --path <path>", "Custom path for auth-actions", "cache/auth")
144
+ .action(export_auth_action_1.default);
131
145
  program.parse(process.argv);
132
146
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/cli/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command } from \"commander\";\nimport { buildCommand } from \"./build\";\nimport { devCommand } from \"./dev\";\nimport { startCommand } from \"./start\";\nimport { generateCommand } from \"./generate\";\nimport { getVersion } from \"./utils/cli.helpers\";\nimport prismaGenerateCommand from \"./prisma-generate\";\n\nconst program = new Command();\n\nprogram.name(\"arkos\").description(\"Arkos.js CLI\").version(getVersion());\n\nprogram\n .command(\"build\")\n .description(\"Build your Arkos project\")\n .option(\"-m, --module <type>\", \"Module type (cjs or esm)\", \"cjs\")\n .action(buildCommand);\n\nprogram\n .command(\"dev\")\n .description(\"Run development server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(devCommand);\n\nprogram\n .command(\"start\")\n .description(\"Run production server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(startCommand);\n\nconst generate = program\n .command(\"generate\")\n .alias(\"g\")\n .description(\"Generate arkos components\");\n\ngenerate\n .command(\"controller\")\n .alias(\"c\")\n .description(\"Generate a new controller\")\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for the controller\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.controller);\n\ngenerate\n .command(\"service\")\n .alias(\"s\")\n .description(\"Generate a new service\")\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for the service\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.service);\n\ngenerate\n .command(\"router\")\n .alias(\"r\")\n .description(\"Generate a new router\")\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for the router\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.router);\n\ngenerate\n .command(\"auth-configs\")\n .alias(\"a\")\n .description(\"Generate auth configuration\")\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for the router\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.authConfigs);\n\ngenerate\n .command(\"query-options\")\n .alias(\"q\")\n .description(\"Generate prisma query options\")\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for query options\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.queryOptions);\n\ngenerate\n .command(\"middlewares\")\n .alias(\"m\")\n .description(\"Generate a new interceptors file\")\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for middleware\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.interceptors);\n\ngenerate\n .command(\"interceptors\")\n .alias(\"i\")\n .description(\"Generate a new interceptors file\")\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for interceptors\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.interceptors);\n\ngenerate\n .command(\"hooks\")\n .alias(\"h\")\n .description(\"Generate a new service hooks file\")\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for hooks\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.hooks);\n\ngenerate\n .command(\"create-schema\")\n .alias(\"cs\")\n .description(\"Generate a new zod create schema file for a prisma model\")\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for hooks\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.createSchema);\n\ngenerate\n .command(\"update-schema\")\n .alias(\"us\")\n .description(\"Generate a new zod update schema file for a prisma model\")\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for hooks\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.updateSchema);\n\ngenerate\n .command(\"create-dto\")\n .alias(\"cd\")\n .description(\n \"Generate a new class-validator create dto file for a prisma model\"\n )\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for hooks\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.createDto);\n\ngenerate\n .command(\"update-dto\")\n .alias(\"ud\")\n .description(\n \"Generate a new class-validator update dto file for a prisma model\"\n )\n .requiredOption(\"-m, --model <name>, --module <name>\", \"Module name\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for hooks\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.updateDto);\n\nprogram\n .command(\"prisma\")\n .command(\"generate\")\n .description(\"Generate your @prisma/client and BaseService class types\")\n .action(prismaGenerateCommand);\n\nprogram.parse(process.argv);\n\nexport { program, buildCommand, devCommand, startCommand, generateCommand };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/cli/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command } from \"commander\";\nimport { buildCommand } from \"./build\";\nimport { devCommand } from \"./dev\";\nimport { startCommand } from \"./start\";\nimport { generateCommand } from \"./generate\";\nimport { getVersion } from \"./utils/cli.helpers\";\nimport prismaGenerateCommand from \"./prisma-generate\";\nimport exportAuthActionCommand from \"./export-auth-action\";\n\nconst program = new Command();\n\nprogram.name(\"arkos\").description(\"Arkos.js CLI\").version(getVersion());\n\nprogram\n .command(\"build\")\n .description(\"Build your Arkos project\")\n .option(\"-m, --module <type>\", \"Module type (cjs or esm)\", \"cjs\")\n .action(buildCommand);\n\nprogram\n .command(\"dev\")\n .description(\"Run development server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(devCommand);\n\nprogram\n .command(\"start\")\n .description(\"Run production server\")\n .option(\"-p, --port <number>\", \"Port number\")\n .option(\"-h, --host <host>\", \"Host to bind to\")\n .action(startCommand);\n\nconst generate = program\n .command(\"generate\")\n .alias(\"g\")\n .description(\"Generate arkos components\");\n\ngenerate\n .command(\"controller\")\n .alias(\"c\")\n .description(\"Generate a new controller\")\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for the controller\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.controller);\n\ngenerate\n .command(\"service\")\n .alias(\"s\")\n .description(\"Generate a new service\")\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for the service\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.service);\n\ngenerate\n .command(\"router\")\n .alias(\"r\")\n .description(\"Generate a new router\")\n\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for the router\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.router);\n\ngenerate\n .command(\"auth-configs\")\n .alias(\"a\")\n .description(\"Generate auth configuration\")\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for the router\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.authConfigs);\n\ngenerate\n .command(\"query-options\")\n .alias(\"q\")\n .description(\"Generate prisma query options\")\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for query options\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.queryOptions);\n\ngenerate\n .command(\"interceptors\")\n .alias(\"i\")\n .alias(\"middlewares\")\n .alias(\"m\")\n .description(\"Generate a new interceptors file\")\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for interceptors\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.interceptors);\n\ngenerate\n .command(\"hooks\")\n .alias(\"h\")\n .description(\"Generate a new service hooks file\")\n\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for hooks\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.hooks);\n\ngenerate\n .command(\"create-schema\")\n .alias(\"cs\")\n .description(\"Generate a new zod create schema file for a prisma model\")\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for hooks\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.createSchema);\n\ngenerate\n .command(\"update-schema\")\n .alias(\"us\")\n .description(\"Generate a new zod update schema file for a prisma model\")\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for hooks\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.updateSchema);\n\ngenerate\n .command(\"create-dto\")\n .alias(\"cd\")\n .description(\n \"Generate a new class-validator create dto file for a prisma model\"\n )\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for hooks\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.createDto);\n\ngenerate\n .command(\"update-dto\")\n .alias(\"ud\")\n .description(\n \"Generate a new class-validator update dto file for a prisma model\"\n )\n .option(\"-m, --module <name>\", \"Module name\")\n .option(\"--model <name>\", \"Module name (alias for --module)\")\n .option(\n \"-p, --path <path>\",\n \"Custom path for hooks\",\n \"src/modules/{{module-name}}\"\n )\n .action(generateCommand.updateDto);\n\nprogram\n .command(\"prisma\")\n .command(\"generate\")\n .description(\"Generate your @prisma/client and BaseService class types\")\n .action(prismaGenerateCommand);\n\nprogram\n .command(\"export\")\n .command(\"auth-action\")\n .description(\"Export file with an array containing all auth-actions\")\n .option(\"-o, --overwrite\", \"Overwrites all the changes on the object\")\n .option(\"-p, --path <path>\", \"Custom path for auth-actions\", \"cache/auth\")\n .action(exportAuthActionCommand);\n\nprogram.parse(process.argv);\n\nexport { program, buildCommand, devCommand, startCommand, generateCommand };\n"]}
@@ -14,7 +14,7 @@ function prismaGenerateCommand() {
14
14
  const content = `
15
15
  import { ModelGroupRelationFields } from "./utils/helpers/base.service.helpers.js";
16
16
  import { ServiceBaseContext } from "./types/base.service.types.js";
17
- import { Prisma } from "@prisma/client"
17
+ import { Prisma, PrismaClient } from "@prisma/client"
18
18
 
19
19
  export declare type ModelsGetPayload<T extends Record<string, any>> = {
20
20
  ${prisma_schema_parser_1.default.models.map((model) => `
@@ -43,7 +43,7 @@ export declare class BaseService<
43
43
  > {
44
44
  modelName: TModelName;
45
45
  relationFields: ModelGroupRelationFields;
46
- prisma: any;
46
+ prisma: PrismaClient;
47
47
 
48
48
  constructor(modelName: TModelName);
49
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-generate.js","sourceRoot":"","sources":["../../../../src/utils/cli/prisma-generate.ts"],"names":[],"mappings":";;;;;AAOA,wCAoHC;AA3HD,0FAAgE;AAChE,wEAA2D;AAC3D,4CAAoB;AACpB,iDAAyC;AACzC,mDAA2B;AAC3B,gDAAwB;AAExB,SAAwB,qBAAqB;IACzC,MAAM,OAAO,GAAG;;;;;;EAMlB,8BAAkB,CAAC,MAAM,CAAC,GAAG,CAC3B,CAAC,KAAK,EAAE,EAAE,CACN;OACD,IAAA,+BAAS,EAAC,KAAK,CAAC,IAAI,CAAC;2BACD,KAAK,CAAC,IAAI;6BACR,KAAK,CAAC,IAAI;+BACR,KAAK,CAAC,IAAI;gCACT,KAAK,CAAC,IAAI;6BACb,KAAK,CAAC,IAAI;iCACN,KAAK,CAAC,IAAI;6BACd,KAAK,CAAC,IAAI;iCACN,KAAK,CAAC,IAAI;6BACd,KAAK,CAAC,IAAI;iCACN,KAAK,CAAC,IAAI;4BACf,KAAK,CAAC,IAAI;;CAErC,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EA,CAAC;IACE,IAAA,wBAAQ,EAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CACzB,SAAS,EACT,+CAA+C,CAClD,CAAC;IACF,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE;QAChC,QAAQ,EAAE,MAAM;KACnB,CAAC,CAAC;IAEH,cAAI,CAAC,IAAI,CACL,mEAAmE,CACtE,CAAC;AACN,CAAC","sourcesContent":["import prismaSchemaParser from \"../prisma/prisma-schema-parser\";\nimport { kebabCase } from \"../helpers/change-case.helpers\";\nimport fs from \"fs\";\nimport { execSync } from \"child_process\";\nimport sheu from \"../sheu\";\nimport path from \"path\";\n\nexport default function prismaGenerateCommand() {\n const content = `\nimport { ModelGroupRelationFields } from \"./utils/helpers/base.service.helpers\";\nimport { ServiceBaseContext } from \"./types/base.service.types\";\nimport { Prisma } from \"@prisma/client\"\n\nexport declare type ModelsGetPayload<T extends Record<string, any>> = {\n${prismaSchemaParser.models.map(\n (model) =>\n `\n \"${kebabCase(model.name)}\": {\n Delegate: Prisma.${model.name}Delegate,\n GetPayload: Prisma.${model.name}GetPayload<T>,\n FindManyArgs: Prisma.${model.name}FindManyArgs,\n FindFirstArgs: Prisma.${model.name}FindFirstArgs,\n CreateArgs: Prisma.${model.name}CreateArgs,\n CreateManyArgs: Prisma.${model.name}CreateManyArgs,\n UpdateArgs: Prisma.${model.name}UpdateArgs,\n UpdateManyArgs: Prisma.${model.name}UpdateManyArgs,\n DeleteArgs: Prisma.${model.name}DeleteArgs,\n DeleteManyArgs: Prisma.${model.name}DeleteManyArgs,\n CountArgs: Prisma.${model.name}CountArgs\n }\n`\n)}\n}\n\nexport type ExtractFilters<T> = T extends { where?: infer W; [x: string]: any } ? W : any;\nexport type ExtractQueryOptions<T, K extends keyof T = never> = Omit<T, K>;\nexport type ExtractData<T> = T extends { data: infer D; [x: string]: any } ? D : any;\n\nexport declare class BaseService<\n TModelName extends keyof ModelsGetPayload<any>\n> {\n modelName: TModelName;\n relationFields: ModelGroupRelationFields;\n prisma: any;\n \n constructor(modelName: TModelName);\n \n createOne<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['CreateArgs'], 'data'>>(\n data: ExtractData<ModelsGetPayload<any>[TModelName]['CreateArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload']>;\n \n createMany<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['CreateManyArgs'], 'data'>>(\n data: ExtractData<ModelsGetPayload<any>[TModelName]['CreateManyArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload'][]>;\n \n count<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['CountArgs'], 'where'>>(\n filters?: ExtractFilters<ModelsGetPayload<any>[TModelName]['CountArgs']>, \n queryOptions?: TOptions,\n context?: ServiceBaseContext\n ): Promise<number>;\n \n findMany<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['FindManyArgs'], 'where'>>(\n filters?: ExtractFilters<ModelsGetPayload<any>[TModelName]['FindManyArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload'][]>;\n \n findById<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['FindFirstArgs'], 'where'>>(\n id: string | number, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload'] | null>;\n \n findOne<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['FindFirstArgs'], 'where'>>(\n filters: ExtractFilters<ModelsGetPayload<any>[TModelName]['FindManyArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload'] | null>;\n \n updateOne<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['UpdateArgs'], 'where' | 'data'>>(\n filters: ExtractFilters<ModelsGetPayload<any>[TModelName]['UpdateArgs']>, \n data: ExtractData<ModelsGetPayload<any>[TModelName]['UpdateArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload']>;\n \n updateMany<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['UpdateManyArgs'], 'where' | 'data'>>(\n filters: ExtractFilters<ModelsGetPayload<any>[TModelName]['UpdateManyArgs']>, \n data: ExtractData<ModelsGetPayload<any>[TModelName]['UpdateManyArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<{ count: number }>;\n \n deleteOne<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['DeleteArgs'], 'where'>>(\n filters: ExtractFilters<ModelsGetPayload<any>[TModelName]['DeleteArgs']>, \n queryOptions?: TOptions,\n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload']>;\n \n deleteMany<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['DeleteManyArgs'], 'where'>>(\n filters: ExtractFilters<ModelsGetPayload<any>[TModelName]['DeleteManyArgs']>, \n queryOptions?: TOptions,\n context?: ServiceBaseContext\n ): Promise<{ count: number }>;\n}\n`;\n execSync(\"npx prisma generate\", { stdio: \"inherit\" });\n\n const filePath = path.resolve(\n __dirname,\n `../../../types/modules/base/base.service.d.ts`\n );\n fs.writeFileSync(filePath, content, {\n encoding: \"utf8\",\n });\n\n sheu.done(\n \"Types for @prisma/client and base service generated successfully!\"\n );\n}\n"]}
1
+ {"version":3,"file":"prisma-generate.js","sourceRoot":"","sources":["../../../../src/utils/cli/prisma-generate.ts"],"names":[],"mappings":";;;;;AAOA,wCAoHC;AA3HD,0FAAgE;AAChE,wEAA2D;AAC3D,4CAAoB;AACpB,iDAAyC;AACzC,mDAA2B;AAC3B,gDAAwB;AAExB,SAAwB,qBAAqB;IACzC,MAAM,OAAO,GAAG;;;;;;EAMlB,8BAAkB,CAAC,MAAM,CAAC,GAAG,CAC3B,CAAC,KAAK,EAAE,EAAE,CACN;OACD,IAAA,+BAAS,EAAC,KAAK,CAAC,IAAI,CAAC;2BACD,KAAK,CAAC,IAAI;6BACR,KAAK,CAAC,IAAI;+BACR,KAAK,CAAC,IAAI;gCACT,KAAK,CAAC,IAAI;6BACb,KAAK,CAAC,IAAI;iCACN,KAAK,CAAC,IAAI;6BACd,KAAK,CAAC,IAAI;iCACN,KAAK,CAAC,IAAI;6BACd,KAAK,CAAC,IAAI;iCACN,KAAK,CAAC,IAAI;4BACf,KAAK,CAAC,IAAI;;CAErC,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EA,CAAC;IACE,IAAA,wBAAQ,EAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CACzB,SAAS,EACT,+CAA+C,CAClD,CAAC;IACF,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE;QAChC,QAAQ,EAAE,MAAM;KACnB,CAAC,CAAC;IAEH,cAAI,CAAC,IAAI,CACL,mEAAmE,CACtE,CAAC;AACN,CAAC","sourcesContent":["import prismaSchemaParser from \"../prisma/prisma-schema-parser\";\nimport { kebabCase } from \"../helpers/change-case.helpers\";\nimport fs from \"fs\";\nimport { execSync } from \"child_process\";\nimport sheu from \"../sheu\";\nimport path from \"path\";\n\nexport default function prismaGenerateCommand() {\n const content = `\nimport { ModelGroupRelationFields } from \"./utils/helpers/base.service.helpers\";\nimport { ServiceBaseContext } from \"./types/base.service.types\";\nimport { Prisma, PrismaClient } from \"@prisma/client\"\n\nexport declare type ModelsGetPayload<T extends Record<string, any>> = {\n${prismaSchemaParser.models.map(\n (model) =>\n `\n \"${kebabCase(model.name)}\": {\n Delegate: Prisma.${model.name}Delegate,\n GetPayload: Prisma.${model.name}GetPayload<T>,\n FindManyArgs: Prisma.${model.name}FindManyArgs,\n FindFirstArgs: Prisma.${model.name}FindFirstArgs,\n CreateArgs: Prisma.${model.name}CreateArgs,\n CreateManyArgs: Prisma.${model.name}CreateManyArgs,\n UpdateArgs: Prisma.${model.name}UpdateArgs,\n UpdateManyArgs: Prisma.${model.name}UpdateManyArgs,\n DeleteArgs: Prisma.${model.name}DeleteArgs,\n DeleteManyArgs: Prisma.${model.name}DeleteManyArgs,\n CountArgs: Prisma.${model.name}CountArgs\n }\n`\n)}\n}\n\nexport type ExtractFilters<T> = T extends { where?: infer W; [x: string]: any } ? W : any;\nexport type ExtractQueryOptions<T, K extends keyof T = never> = Omit<T, K>;\nexport type ExtractData<T> = T extends { data: infer D; [x: string]: any } ? D : any;\n\nexport declare class BaseService<\n TModelName extends keyof ModelsGetPayload<any>\n> {\n modelName: TModelName;\n relationFields: ModelGroupRelationFields;\n prisma: PrismaClient;\n \n constructor(modelName: TModelName);\n \n createOne<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['CreateArgs'], 'data'>>(\n data: ExtractData<ModelsGetPayload<any>[TModelName]['CreateArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload']>;\n \n createMany<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['CreateManyArgs'], 'data'>>(\n data: ExtractData<ModelsGetPayload<any>[TModelName]['CreateManyArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload'][]>;\n \n count<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['CountArgs'], 'where'>>(\n filters?: ExtractFilters<ModelsGetPayload<any>[TModelName]['CountArgs']>, \n queryOptions?: TOptions,\n context?: ServiceBaseContext\n ): Promise<number>;\n \n findMany<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['FindManyArgs'], 'where'>>(\n filters?: ExtractFilters<ModelsGetPayload<any>[TModelName]['FindManyArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload'][]>;\n \n findById<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['FindFirstArgs'], 'where'>>(\n id: string | number, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload'] | null>;\n \n findOne<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['FindFirstArgs'], 'where'>>(\n filters: ExtractFilters<ModelsGetPayload<any>[TModelName]['FindManyArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload'] | null>;\n \n updateOne<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['UpdateArgs'], 'where' | 'data'>>(\n filters: ExtractFilters<ModelsGetPayload<any>[TModelName]['UpdateArgs']>, \n data: ExtractData<ModelsGetPayload<any>[TModelName]['UpdateArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload']>;\n \n updateMany<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['UpdateManyArgs'], 'where' | 'data'>>(\n filters: ExtractFilters<ModelsGetPayload<any>[TModelName]['UpdateManyArgs']>, \n data: ExtractData<ModelsGetPayload<any>[TModelName]['UpdateManyArgs']>, \n queryOptions?: TOptions, \n context?: ServiceBaseContext\n ): Promise<{ count: number }>;\n \n deleteOne<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['DeleteArgs'], 'where'>>(\n filters: ExtractFilters<ModelsGetPayload<any>[TModelName]['DeleteArgs']>, \n queryOptions?: TOptions,\n context?: ServiceBaseContext\n ): Promise<ModelsGetPayload<TOptions>[TModelName]['GetPayload']>;\n \n deleteMany<TOptions extends ExtractQueryOptions<ModelsGetPayload<any>[TModelName]['DeleteManyArgs'], 'where'>>(\n filters: ExtractFilters<ModelsGetPayload<any>[TModelName]['DeleteManyArgs']>, \n queryOptions?: TOptions,\n context?: ServiceBaseContext\n ): Promise<{ count: number }>;\n}\n`;\n execSync(\"npx prisma generate\", { stdio: \"inherit\" });\n\n const filePath = path.resolve(\n __dirname,\n `../../../types/modules/base/base.service.d.ts`\n );\n fs.writeFileSync(filePath, content, {\n encoding: \"utf8\",\n });\n\n sheu.done(\n \"Types for @prisma/client and base service generated successfully!\"\n );\n}\n"]}