jcc-express-mvc 1.8.8 → 1.8.21

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 (215) hide show
  1. package/__tests__/MySqlSchemaBlueprint.test.d.ts +2 -0
  2. package/__tests__/MySqlSchemaBlueprint.test.d.ts.map +1 -0
  3. package/__tests__/MySqlSchemaBlueprint.test.js +55 -0
  4. package/__tests__/PostgresTranslator.test.d.ts +2 -0
  5. package/__tests__/PostgresTranslator.test.d.ts.map +1 -0
  6. package/__tests__/PostgresTranslator.test.js +82 -0
  7. package/__tests__/SQLiteTranslator.test.d.ts +2 -0
  8. package/__tests__/SQLiteTranslator.test.d.ts.map +1 -0
  9. package/__tests__/SQLiteTranslator.test.js +125 -0
  10. package/__tests__/SchemaAlterBlueprint.test.d.ts +2 -0
  11. package/__tests__/SchemaAlterBlueprint.test.d.ts.map +1 -0
  12. package/__tests__/SchemaAlterBlueprint.test.js +35 -0
  13. package/global.d.ts +3 -1
  14. package/index.d.ts +28 -3
  15. package/index.d.ts.map +1 -1
  16. package/index.js +33 -75
  17. package/lib/Application/Application.d.ts +1 -1
  18. package/lib/Application/Application.d.ts.map +1 -1
  19. package/lib/Application/Application.js +2 -2
  20. package/lib/Application/ApplicationBuilder.d.ts.map +1 -1
  21. package/lib/Application/ApplicationBuilder.js +9 -2
  22. package/lib/Auth/AuthMiddleware.d.ts.map +1 -1
  23. package/lib/Auth/AuthMiddleware.js +29 -12
  24. package/lib/Auth/index.d.ts +17 -3
  25. package/lib/Auth/index.d.ts.map +1 -1
  26. package/lib/Auth/index.js +128 -26
  27. package/lib/Auth/loginRateLimit.d.ts +6 -0
  28. package/lib/Auth/loginRateLimit.d.ts.map +1 -0
  29. package/lib/Auth/loginRateLimit.js +25 -0
  30. package/lib/Auth/refreshTokenStore.d.ts +24 -0
  31. package/lib/Auth/refreshTokenStore.d.ts.map +1 -0
  32. package/lib/Auth/refreshTokenStore.js +46 -0
  33. package/lib/Command-Line/DBCommand.d.ts.map +1 -1
  34. package/lib/Command-Line/DBCommand.js +9 -3
  35. package/lib/Command-Line/KeyGenerateCommand.d.ts +6 -0
  36. package/lib/Command-Line/KeyGenerateCommand.d.ts.map +1 -0
  37. package/lib/Command-Line/KeyGenerateCommand.js +47 -0
  38. package/lib/Command-Line/NodeArtisanCommand.d.ts +2 -0
  39. package/lib/Command-Line/NodeArtisanCommand.d.ts.map +1 -1
  40. package/lib/Command-Line/NodeArtisanCommand.js +20 -3
  41. package/lib/Command-Line/NodeTinker/Tinker.d.ts +5 -2
  42. package/lib/Command-Line/NodeTinker/Tinker.d.ts.map +1 -1
  43. package/lib/Command-Line/NodeTinker/Tinker.js +13 -3
  44. package/lib/Command-Line/WatchCommand.d.ts +29 -0
  45. package/lib/Command-Line/WatchCommand.d.ts.map +1 -0
  46. package/lib/Command-Line/WatchCommand.js +234 -0
  47. package/lib/Command-Line/files/Models.d.ts.map +1 -1
  48. package/lib/Command-Line/files/Models.js +41 -16
  49. package/lib/Console/Command.d.ts +18 -0
  50. package/lib/Console/Command.d.ts.map +1 -1
  51. package/lib/Console/Command.js +29 -0
  52. package/lib/Container/index.d.ts.map +1 -1
  53. package/lib/Container/index.js +21 -7
  54. package/lib/Database/Database.d.ts +2 -1
  55. package/lib/Database/Database.d.ts.map +1 -1
  56. package/lib/Database/Database.js +6 -5
  57. package/lib/Database/DatabaseServiceProvider.d.ts +0 -4
  58. package/lib/Database/DatabaseServiceProvider.d.ts.map +1 -1
  59. package/lib/Database/DatabaseServiceProvider.js +9 -56
  60. package/lib/Database/Drivers/MongooseDriver.d.ts +2 -0
  61. package/lib/Database/Drivers/MongooseDriver.d.ts.map +1 -1
  62. package/lib/Database/Drivers/MongooseDriver.js +11 -13
  63. package/lib/Database/Drivers/SequelizeDriver.d.ts +9 -1
  64. package/lib/Database/Drivers/SequelizeDriver.d.ts.map +1 -1
  65. package/lib/Database/Drivers/SequelizeDriver.js +43 -18
  66. package/lib/Error/SocialiteAuthError/SocialiteAuthError.d.ts +9 -0
  67. package/lib/Error/SocialiteAuthError/SocialiteAuthError.d.ts.map +1 -0
  68. package/lib/Error/SocialiteAuthError/SocialiteAuthError.js +17 -0
  69. package/lib/Global/helpers.d.ts.map +1 -1
  70. package/lib/Global/helpers.js +6 -4
  71. package/lib/Http/index.d.ts +3 -1
  72. package/lib/Http/index.d.ts.map +1 -1
  73. package/lib/Http/index.js +26 -5
  74. package/lib/Interface/index.d.ts +12 -3
  75. package/lib/Interface/index.d.ts.map +1 -1
  76. package/lib/Jcc-eloquent/lib/Builder.d.ts +12 -1
  77. package/lib/Jcc-eloquent/lib/Builder.d.ts.map +1 -1
  78. package/lib/Jcc-eloquent/lib/Builder.js +116 -4
  79. package/lib/Jcc-eloquent/lib/Interfaces/index.d.ts +37 -2
  80. package/lib/Jcc-eloquent/lib/Interfaces/index.d.ts.map +1 -1
  81. package/lib/Jcc-eloquent/lib/Migration.d.ts +6 -0
  82. package/lib/Jcc-eloquent/lib/Migration.d.ts.map +1 -1
  83. package/lib/Jcc-eloquent/lib/Migration.js +24 -2
  84. package/lib/Jcc-eloquent/lib/Model.d.ts +24 -7
  85. package/lib/Jcc-eloquent/lib/Model.d.ts.map +1 -1
  86. package/lib/Jcc-eloquent/lib/Model.js +35 -2
  87. package/lib/Jcc-eloquent/lib/QueryBuilder.d.ts +2 -1
  88. package/lib/Jcc-eloquent/lib/QueryBuilder.d.ts.map +1 -1
  89. package/lib/Jcc-eloquent/lib/QueryBuilder.js +10 -1
  90. package/lib/Jcc-eloquent/lib/Rollback.d.ts.map +1 -1
  91. package/lib/Jcc-eloquent/lib/Rollback.js +9 -2
  92. package/lib/Jcc-eloquent/lib/Schema/BaseSchemaEntity/index.d.ts.map +1 -1
  93. package/lib/Jcc-eloquent/lib/Schema/BaseSchemaEntity/index.js +3 -3
  94. package/lib/Jcc-eloquent/lib/Schema/BluePrint/index.d.ts +6 -2
  95. package/lib/Jcc-eloquent/lib/Schema/BluePrint/index.d.ts.map +1 -1
  96. package/lib/Jcc-eloquent/lib/Schema/BluePrint/index.js +41 -12
  97. package/lib/Jcc-eloquent/lib/Schema/Translator/Sqlite.d.ts.map +1 -1
  98. package/lib/Jcc-eloquent/lib/Schema/Translator/Sqlite.js +21 -3
  99. package/lib/Jcc-eloquent/lib/Schema/Translator/postgres.d.ts +1 -0
  100. package/lib/Jcc-eloquent/lib/Schema/Translator/postgres.d.ts.map +1 -1
  101. package/lib/Jcc-eloquent/lib/Schema/Translator/postgres.js +70 -14
  102. package/lib/Jcc-eloquent/lib/Schema/index.d.ts +12 -0
  103. package/lib/Jcc-eloquent/lib/Schema/index.d.ts.map +1 -1
  104. package/lib/Jcc-eloquent/lib/Schema/index.js +27 -6
  105. package/lib/Jcc-eloquent/lib/utils/index.d.ts +13 -0
  106. package/lib/Jcc-eloquent/lib/utils/index.d.ts.map +1 -1
  107. package/lib/Jcc-eloquent/lib/utils/index.js +62 -0
  108. package/lib/Middleware/index.d.ts.map +1 -1
  109. package/lib/Middleware/index.js +4 -7
  110. package/lib/Model/Sequelize.d.ts +3 -0
  111. package/lib/Model/Sequelize.d.ts.map +1 -0
  112. package/lib/Model/Sequelize.js +6 -0
  113. package/lib/Providers/SessionServiceProvider.d.ts +12 -0
  114. package/lib/Providers/SessionServiceProvider.d.ts.map +1 -0
  115. package/lib/Providers/SessionServiceProvider.js +47 -0
  116. package/lib/Queue/Controllers/QueueControllers.d.ts +4 -13
  117. package/lib/Queue/Controllers/QueueControllers.d.ts.map +1 -1
  118. package/lib/Queue/Controllers/QueueControllers.js +1 -16
  119. package/lib/Queue/Route/web.js +4 -1
  120. package/lib/Queue/index.d.ts +1 -0
  121. package/lib/Queue/index.d.ts.map +1 -1
  122. package/lib/Queue/index.js +3 -0
  123. package/lib/Queue/middleware/queueDashboardGuard.d.ts +7 -0
  124. package/lib/Queue/middleware/queueDashboardGuard.d.ts.map +1 -0
  125. package/lib/Queue/middleware/queueDashboardGuard.js +43 -0
  126. package/lib/Response/index.d.ts.map +1 -1
  127. package/lib/Response/index.js +6 -1
  128. package/lib/Routes/Route.d.ts +2 -2
  129. package/lib/Routes/Route.d.ts.map +1 -1
  130. package/lib/Routes/RouteBuilder.d.ts +2 -2
  131. package/lib/Routes/RouteBuilder.d.ts.map +1 -1
  132. package/lib/Security/CsrfMiddleware.d.ts.map +1 -1
  133. package/lib/Security/CsrfMiddleware.js +6 -4
  134. package/lib/Session/DatabaseSession.d.ts +9 -3
  135. package/lib/Session/DatabaseSession.d.ts.map +1 -1
  136. package/lib/Session/DatabaseSession.js +38 -36
  137. package/lib/Session/ExpressJccSession.d.ts +23 -0
  138. package/lib/Session/ExpressJccSession.d.ts.map +1 -0
  139. package/lib/Session/ExpressJccSession.js +110 -0
  140. package/lib/Session/RedisSession.d.ts +2 -2
  141. package/lib/Session/RedisSession.d.ts.map +1 -1
  142. package/lib/Session/RedisSession.js +19 -5
  143. package/lib/Session/SessionManager.d.ts +18 -4
  144. package/lib/Session/SessionManager.d.ts.map +1 -1
  145. package/lib/Session/SessionManager.js +53 -17
  146. package/lib/Socialite/AbstractProvider.d.ts +60 -0
  147. package/lib/Socialite/AbstractProvider.d.ts.map +1 -0
  148. package/lib/Socialite/AbstractProvider.js +136 -0
  149. package/lib/Socialite/Drivers/facebook/FacebookDriver.d.ts +9 -0
  150. package/lib/Socialite/Drivers/facebook/FacebookDriver.d.ts.map +1 -0
  151. package/lib/Socialite/Drivers/facebook/FacebookDriver.js +40 -0
  152. package/lib/Socialite/Drivers/facebook/FacebookProvider.d.ts +15 -0
  153. package/lib/Socialite/Drivers/facebook/FacebookProvider.d.ts.map +1 -0
  154. package/lib/Socialite/Drivers/facebook/FacebookProvider.js +28 -0
  155. package/lib/Socialite/Drivers/github/GitHubDriver.d.ts +9 -0
  156. package/lib/Socialite/Drivers/github/GitHubDriver.d.ts.map +1 -0
  157. package/lib/Socialite/Drivers/github/GitHubDriver.js +54 -0
  158. package/lib/Socialite/Drivers/github/GitHubProvider.d.ts +15 -0
  159. package/lib/Socialite/Drivers/github/GitHubProvider.d.ts.map +1 -0
  160. package/lib/Socialite/Drivers/github/GitHubProvider.js +28 -0
  161. package/lib/Socialite/Drivers/gitlab/GitLabDriver.d.ts +10 -0
  162. package/lib/Socialite/Drivers/gitlab/GitLabDriver.d.ts.map +1 -0
  163. package/lib/Socialite/Drivers/gitlab/GitLabDriver.js +37 -0
  164. package/lib/Socialite/Drivers/gitlab/GitLabProvider.d.ts +15 -0
  165. package/lib/Socialite/Drivers/gitlab/GitLabProvider.d.ts.map +1 -0
  166. package/lib/Socialite/Drivers/gitlab/GitLabProvider.js +28 -0
  167. package/lib/Socialite/Drivers/google/GoogleDriver.d.ts +9 -0
  168. package/lib/Socialite/Drivers/google/GoogleDriver.d.ts.map +1 -0
  169. package/lib/Socialite/Drivers/google/GoogleDriver.js +39 -0
  170. package/lib/Socialite/Drivers/google/GoogleProvider.d.ts +15 -0
  171. package/lib/Socialite/Drivers/google/GoogleProvider.d.ts.map +1 -0
  172. package/lib/Socialite/Drivers/google/GoogleProvider.js +28 -0
  173. package/lib/Socialite/Drivers/slack/SlackDriver.d.ts +9 -0
  174. package/lib/Socialite/Drivers/slack/SlackDriver.d.ts.map +1 -0
  175. package/lib/Socialite/Drivers/slack/SlackDriver.js +41 -0
  176. package/lib/Socialite/Drivers/slack/SlackProvider.d.ts +16 -0
  177. package/lib/Socialite/Drivers/slack/SlackProvider.d.ts.map +1 -0
  178. package/lib/Socialite/Drivers/slack/SlackProvider.js +37 -0
  179. package/lib/Socialite/Drivers/twitter/TwitterDriver.d.ts +9 -0
  180. package/lib/Socialite/Drivers/twitter/TwitterDriver.d.ts.map +1 -0
  181. package/lib/Socialite/Drivers/twitter/TwitterDriver.js +57 -0
  182. package/lib/Socialite/Drivers/twitter/TwitterProvider.d.ts +16 -0
  183. package/lib/Socialite/Drivers/twitter/TwitterProvider.d.ts.map +1 -0
  184. package/lib/Socialite/Drivers/twitter/TwitterProvider.js +38 -0
  185. package/lib/Socialite/SocialUser.d.ts +42 -0
  186. package/lib/Socialite/SocialUser.d.ts.map +1 -0
  187. package/lib/Socialite/SocialUser.js +116 -0
  188. package/lib/Socialite/Socialite.d.ts +13 -0
  189. package/lib/Socialite/Socialite.d.ts.map +1 -0
  190. package/lib/Socialite/Socialite.js +41 -0
  191. package/lib/Socialite/SocialiteProvider.d.ts +9 -0
  192. package/lib/Socialite/SocialiteProvider.d.ts.map +1 -0
  193. package/lib/Socialite/SocialiteProvider.js +15 -0
  194. package/lib/Socialite/config.d.ts +7 -0
  195. package/lib/Socialite/config.d.ts.map +1 -0
  196. package/lib/Socialite/config.js +44 -0
  197. package/lib/Socialite/constant.d.ts +18 -0
  198. package/lib/Socialite/constant.d.ts.map +1 -0
  199. package/lib/Socialite/constant.js +20 -0
  200. package/lib/Socialite/index.d.ts +13 -0
  201. package/lib/Socialite/index.d.ts.map +1 -0
  202. package/lib/Socialite/index.js +25 -0
  203. package/lib/Socialite/types.d.ts +13 -0
  204. package/lib/Socialite/types.d.ts.map +1 -0
  205. package/lib/Socialite/types.js +2 -0
  206. package/lib/Type/index.d.ts +1 -0
  207. package/lib/Type/index.d.ts.map +1 -1
  208. package/lib/Validation/Validator/CustomValidation.d.ts.map +1 -1
  209. package/lib/Validation/Validator/CustomValidation.js +2 -2
  210. package/lib/Validation/Validator/helper.d.ts.map +1 -1
  211. package/lib/Validation/Validator/helper.js +8 -1
  212. package/lib/util/index.d.ts +36 -1
  213. package/lib/util/index.d.ts.map +1 -1
  214. package/lib/util/index.js +123 -26
  215. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Tinker.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Command-Line/NodeTinker/Tinker.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,GAAE,YAAiB;IAsBrC;;OAEG;IACH,OAAO,CAAC,YAAY;IAiEpB;;OAEG;YACW,oBAAoB;IAyFlC;;OAEG;YACW,UAAU;IAgIxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAmCrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAsBrB;;OAEG;YACW,WAAW;IA+CzB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4ErB;;OAEG;IACH,OAAO,CAAC,6BAA6B;IASrC;;OAEG;YACW,WAAW;IAiDzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2CxB;;OAEG;IACH,OAAO,CAAC,eAAe;IA2BvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAqGpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmFpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,WAAW;IAYnB;;OAEG;IACH,OAAO,CAAC,WAAW;IAiCnB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAkBhB;;OAEG;IACH,OAAO,CAAC,UAAU;IAmBlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAsCrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmCpB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAsBhB;;OAEG;IACU,KAAK;IAQlB;;OAEG;IACH,OAAO,CAAC,IAAI;CAKb;AAED,QAAA,MAAM,MAAM,QAEV,CAAC;AAEH,OAAO,EAAC,MAAM,EAAC,CAAA"}
1
+ {"version":3,"file":"Tinker.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Command-Line/NodeTinker/Tinker.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,GAAE,YAAiB;IAsBrC;;OAEG;IACH,OAAO,CAAC,YAAY;IAiEpB;;OAEG;YACW,oBAAoB;IAyFlC;;OAEG;YACW,UAAU;IAgIxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAmCrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAsBrB;;OAEG;YACW,WAAW;IA+CzB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4ErB;;OAEG;IACH,OAAO,CAAC,6BAA6B;IASrC;;OAEG;YACW,WAAW;IAiDzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2CxB;;OAEG;IACH,OAAO,CAAC,eAAe;IA2BvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAqGpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmFpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,WAAW;IAYnB;;OAEG;IACH,OAAO,CAAC,WAAW;IAiCnB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAkBhB;;OAEG;IACH,OAAO,CAAC,UAAU;IAmBlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAsCrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmCpB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAsBhB;;OAEG;IACU,KAAK;IAQlB;;OAEG;IACH,OAAO,CAAC,IAAI;CAKb;AAID;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,GAAE,YAAiB,GAAG,MAAM,CAK3D"}
@@ -36,7 +36,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.tinker = exports.Tinker = void 0;
39
+ exports.Tinker = void 0;
40
+ exports.getTinker = getTinker;
40
41
  const readline_1 = require("readline");
41
42
  const util_1 = require("util");
42
43
  const vm = __importStar(require("vm"));
@@ -1097,5 +1098,14 @@ class Tinker {
1097
1098
  }
1098
1099
  }
1099
1100
  exports.Tinker = Tinker;
1100
- const tinker = new Tinker({});
1101
- exports.tinker = tinker;
1101
+ let tinkerInstance = null;
1102
+ /**
1103
+ * Lazily construct Tinker so importing the artisan kernel does not attach
1104
+ * readline to stdin/stdout (which felt like Tinker “running” for every command).
1105
+ */
1106
+ function getTinker(config = {}) {
1107
+ if (!tinkerInstance) {
1108
+ tinkerInstance = new Tinker(config);
1109
+ }
1110
+ return tinkerInstance;
1111
+ }
@@ -0,0 +1,29 @@
1
+ export declare class WatchCommand {
2
+ private readonly rootPath;
3
+ private readonly ignoredDirs;
4
+ private readonly defaultWatchTargets;
5
+ private readonly rootFilesToWatch;
6
+ private watchers;
7
+ private child;
8
+ private restartTimer;
9
+ private isRestarting;
10
+ private suppressNextExitLog;
11
+ private pendingChanges;
12
+ private lastRestartAt;
13
+ private readonly minRestartGapMs;
14
+ private entryFile;
15
+ run(entryFile?: string): Promise<void>;
16
+ private refreshWatchers;
17
+ private collectWatchDirectories;
18
+ private walkDirectories;
19
+ private onFileChanged;
20
+ private shouldIgnore;
21
+ private startServer;
22
+ private restartServer;
23
+ private stopServer;
24
+ private closeWatchers;
25
+ private installSignalHandlers;
26
+ private renderServeHeader;
27
+ private clearTerminal;
28
+ }
29
+ //# sourceMappingURL=WatchCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WatchCommand.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Command-Line/WatchCommand.ts"],"names":[],"mappings":"AAOA,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAQzB;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CASlC;IACF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAEtD,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAO;IACvC,OAAO,CAAC,SAAS,CAAe;IAE1B,GAAG,CAAC,SAAS,SAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjD,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,aAAa;CAQtB"}
@@ -0,0 +1,234 @@
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.WatchCommand = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const child_process_1 = require("child_process");
10
+ const readline_1 = __importDefault(require("readline"));
11
+ const colors_1 = __importDefault(require("colors"));
12
+ const app_root_path_1 = __importDefault(require("app-root-path"));
13
+ class WatchCommand {
14
+ constructor() {
15
+ this.rootPath = app_root_path_1.default.path;
16
+ this.ignoredDirs = new Set([
17
+ "node_modules",
18
+ "build",
19
+ "dist",
20
+ ".git",
21
+ ".idea",
22
+ ".vscode",
23
+ "storage",
24
+ ]);
25
+ this.defaultWatchTargets = [
26
+ "app",
27
+ "bootstrap",
28
+ "config",
29
+ "database",
30
+ "jcc-express-mvc",
31
+ "resources",
32
+ "routes",
33
+ "server.ts",
34
+ ];
35
+ this.rootFilesToWatch = new Set([".env"]);
36
+ this.watchers = [];
37
+ this.child = null;
38
+ this.restartTimer = null;
39
+ this.isRestarting = false;
40
+ this.suppressNextExitLog = false;
41
+ this.pendingChanges = new Set();
42
+ this.lastRestartAt = 0;
43
+ this.minRestartGapMs = 800;
44
+ this.entryFile = "server.ts";
45
+ }
46
+ async run(entryFile = "server.ts") {
47
+ const resolvedEntry = path_1.default.resolve(this.rootPath, entryFile);
48
+ if (!fs_1.default.existsSync(resolvedEntry)) {
49
+ throw new Error(`Entry file not found: ${entryFile}`);
50
+ }
51
+ this.entryFile = entryFile;
52
+ this.installSignalHandlers();
53
+ this.refreshWatchers();
54
+ this.renderServeHeader(path_1.default.relative(this.rootPath, resolvedEntry));
55
+ this.startServer(resolvedEntry);
56
+ }
57
+ refreshWatchers() {
58
+ this.closeWatchers();
59
+ const directories = this.collectWatchDirectories();
60
+ for (const dir of directories) {
61
+ try {
62
+ const watcher = fs_1.default.watch(dir, (_eventType, filename) => {
63
+ const changed = filename ? path_1.default.join(dir, filename.toString()) : dir;
64
+ this.onFileChanged(changed);
65
+ });
66
+ this.watchers.push(watcher);
67
+ }
68
+ catch {
69
+ // Ignore inaccessible directories
70
+ }
71
+ }
72
+ // Watch specific root-level files (like .env) without broadly reacting to all root changes.
73
+ try {
74
+ const rootWatcher = fs_1.default.watch(this.rootPath, (_eventType, filename) => {
75
+ const name = filename?.toString();
76
+ if (!name)
77
+ return;
78
+ const comparableName = process.platform === "win32" ? name.toLowerCase() : name;
79
+ if (!this.rootFilesToWatch.has(comparableName))
80
+ return;
81
+ this.onFileChanged(path_1.default.join(this.rootPath, name));
82
+ });
83
+ this.watchers.push(rootWatcher);
84
+ }
85
+ catch {
86
+ // Ignore root watcher failures
87
+ }
88
+ }
89
+ collectWatchDirectories() {
90
+ const dirs = [];
91
+ for (const target of this.defaultWatchTargets) {
92
+ const absolutePath = path_1.default.join(this.rootPath, target);
93
+ if (!fs_1.default.existsSync(absolutePath))
94
+ continue;
95
+ const stat = fs_1.default.statSync(absolutePath);
96
+ if (stat.isDirectory()) {
97
+ this.walkDirectories(absolutePath, dirs);
98
+ }
99
+ else {
100
+ dirs.push(path_1.default.dirname(absolutePath));
101
+ }
102
+ }
103
+ return Array.from(new Set(dirs));
104
+ }
105
+ walkDirectories(startDir, result) {
106
+ const baseName = path_1.default.basename(startDir);
107
+ if (this.ignoredDirs.has(baseName))
108
+ return;
109
+ result.push(startDir);
110
+ let entries = [];
111
+ try {
112
+ entries = fs_1.default.readdirSync(startDir, { withFileTypes: true });
113
+ }
114
+ catch {
115
+ return;
116
+ }
117
+ for (const entry of entries) {
118
+ if (!entry.isDirectory())
119
+ continue;
120
+ if (this.ignoredDirs.has(entry.name))
121
+ continue;
122
+ this.walkDirectories(path_1.default.join(startDir, entry.name), result);
123
+ }
124
+ }
125
+ onFileChanged(filePath) {
126
+ if (this.shouldIgnore(filePath))
127
+ return;
128
+ const relative = path_1.default.relative(this.rootPath, filePath) || filePath;
129
+ this.pendingChanges.add(relative);
130
+ if (this.restartTimer)
131
+ clearTimeout(this.restartTimer);
132
+ this.restartTimer = setTimeout(() => {
133
+ this.restartTimer = null;
134
+ this.restartServer();
135
+ }, 250);
136
+ }
137
+ shouldIgnore(filePath) {
138
+ const relativePath = path_1.default.relative(this.rootPath, filePath);
139
+ const normalizedPath = relativePath.split(path_1.default.sep).join("/").toLowerCase();
140
+ if (normalizedPath.startsWith("storage/session") ||
141
+ normalizedPath.startsWith("storage/sessions") ||
142
+ normalizedPath.startsWith("storage/framework/sessions")) {
143
+ return true;
144
+ }
145
+ const normalized = filePath.split(path_1.default.sep);
146
+ return normalized.some((part) => this.ignoredDirs.has(part));
147
+ }
148
+ startServer(entryFile) {
149
+ this.child = (0, child_process_1.spawn)("bun", [entryFile], {
150
+ cwd: this.rootPath,
151
+ stdio: "inherit",
152
+ env: process.env,
153
+ });
154
+ this.child.on("exit", (code, signal) => {
155
+ if (this.suppressNextExitLog) {
156
+ this.suppressNextExitLog = false;
157
+ return;
158
+ }
159
+ if (!this.isRestarting) {
160
+ const reason = signal ? `signal ${signal}` : `code ${code ?? 0}`;
161
+ console.log(colors_1.default.yellow(`\nServer exited (${reason}).`));
162
+ }
163
+ });
164
+ }
165
+ restartServer() {
166
+ const now = Date.now();
167
+ const elapsed = now - this.lastRestartAt;
168
+ if (elapsed < this.minRestartGapMs) {
169
+ this.restartTimer = setTimeout(() => {
170
+ this.restartTimer = null;
171
+ this.restartServer();
172
+ }, this.minRestartGapMs - elapsed);
173
+ return;
174
+ }
175
+ const changedPreview = Array.from(this.pendingChanges).slice(0, 3);
176
+ const extraCount = this.pendingChanges.size - changedPreview.length;
177
+ this.pendingChanges.clear();
178
+ const changedText = changedPreview.length === 0
179
+ ? "unknown"
180
+ : `${changedPreview.join(", ")}${extraCount > 0 ? ` (+${extraCount} more)` : ""}`;
181
+ this.isRestarting = true;
182
+ this.lastRestartAt = Date.now();
183
+ this.refreshWatchers();
184
+ this.stopServer();
185
+ this.renderServeHeader(this.entryFile, changedText);
186
+ this.startServer(path_1.default.resolve(this.rootPath, this.entryFile));
187
+ this.isRestarting = false;
188
+ }
189
+ stopServer() {
190
+ if (!this.child)
191
+ return;
192
+ this.suppressNextExitLog = true;
193
+ if (process.platform === "win32") {
194
+ this.child.kill();
195
+ }
196
+ else {
197
+ this.child.kill("SIGTERM");
198
+ }
199
+ this.child = null;
200
+ }
201
+ closeWatchers() {
202
+ for (const watcher of this.watchers)
203
+ watcher.close();
204
+ this.watchers = [];
205
+ }
206
+ installSignalHandlers() {
207
+ const shutdown = () => {
208
+ this.closeWatchers();
209
+ this.stopServer();
210
+ process.exit(0);
211
+ };
212
+ process.once("SIGINT", shutdown);
213
+ process.once("SIGTERM", shutdown);
214
+ }
215
+ renderServeHeader(entryLabel, changedText) {
216
+ this.clearTerminal();
217
+ if (changedText) {
218
+ console.log(colors_1.default.gray(`↻ Change detected: ${changedText}`));
219
+ console.log();
220
+ }
221
+ console.log(colors_1.default.green("👀 Watching project for changes..."));
222
+ console.log(colors_1.default.cyan(`→ Entry: ${entryLabel}`));
223
+ console.log();
224
+ }
225
+ clearTerminal() {
226
+ if (process.stdout.isTTY) {
227
+ readline_1.default.cursorTo(process.stdout, 0, 0);
228
+ readline_1.default.clearScreenDown(process.stdout);
229
+ return;
230
+ }
231
+ console.clear();
232
+ }
233
+ }
234
+ exports.WatchCommand = WatchCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Command-Line/files/Models.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,QAAA,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MASnC,CAAC;AAiDF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../../../jcc-express-mvc/lib/Command-Line/files/Models.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,QAAA,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MASnC,CAAC;AA0EF,eAAe,WAAW,CAAC"}
@@ -31,33 +31,58 @@ const createJccModel = (name) => {
31
31
  };
32
32
  const createMongooseModel = (name) => {
33
33
  return `
34
- import mongoose, { HydratedDocument, InferSchemaType,Schema } from "mongoose";
34
+ import mongoose, { HydratedDocument, InferSchemaType, Model, Schema } from "mongoose";
35
35
 
36
+ const ${name}Schema = new Schema(
37
+ {
38
+ //
39
+ },
40
+ { timestamps: true }
41
+ );
36
42
 
37
- const ${name}Schema = new mongoose.Schema({
38
- //
39
- },{
40
- timestamps:true
41
- });
43
+ type ${name}Attrs = InferSchemaType<typeof ${name}Schema>;
44
+
45
+ export const ${name}: Model<${name}Attrs> =
46
+ (mongoose.models.${name} as Model<${name}Attrs>) ||
47
+ mongoose.model<${name}Attrs>("${name}", ${name}Schema);
42
48
 
43
- export const ${name} = mongoose.model("${name}", ${name}Schema);
44
- export type ${name} = HydratedDocument<InferSchemaType<typeof ${name}Schema>>;
49
+ export type ${name}Document = HydratedDocument<${name}Attrs>;
45
50
  `;
46
51
  };
47
52
  const createSequelizeModel = (name) => {
48
53
  return `
49
- import { Sequelize, DataTypes as SequelizeDataTypes } from "sequelize";
50
- export default (sequelize: Sequelize, DataTypes: typeof SequelizeDataTypes) => {
51
- const ${name} = sequelize.define("${name}", {
54
+ import { Model, DataTypes, Sequelize } from "sequelize";
55
+ const sequelize = app.resolve<Sequelize>("sequelize");
56
+ //
57
+ export class ${name} extends Model {
58
+ declare id: number;
59
+
60
+ /**
61
+ * Define relationships between models
62
+ * @param models - Record<string, any>
63
+ */
64
+ static associate(models: any) {
52
65
  //
53
- },{
54
- tableName: "${name}",
55
- timestamps: true,
56
- });
66
+ }
57
67
 
58
- return ${name};
68
+ }
59
69
 
70
+ ${name}.init(
71
+ {
72
+ id: {
73
+ type: DataTypes.INTEGER,
74
+ primaryKey: true,
75
+ autoIncrement: true,
76
+ },
77
+
78
+ },
79
+ {
80
+ sequelize,
81
+ tableName: "${name}",
82
+ timestamps: true,
83
+ modelName: "${name}",
60
84
  }
85
+ );
61
86
  `;
62
87
  };
63
88
  exports.default = createModel;
@@ -14,9 +14,27 @@ export declare abstract class Command {
14
14
  /**
15
15
  * Execute the console command.
16
16
  */
17
+ /**
18
+ * Log an info message.
19
+ * @param message - The message to log.
20
+ */
17
21
  protected info(message: string): void;
22
+ /**
23
+ * Log an error message.
24
+ * @param message - The message to log.
25
+ */
18
26
  protected error(message: string): void;
27
+ /**
28
+ * Log a success message.
29
+ * @param message - The message to log.
30
+ */
19
31
  protected success(message: string): void;
32
+ /**
33
+ *
34
+ * @param file - The file path to create.
35
+ * @param content - The content to write to the file.
36
+ */
37
+ protected createFile(file: string, content: string): void;
20
38
  abstract handle(...args: any[]): void | Promise<void>;
21
39
  }
22
40
  //# sourceMappingURL=Command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Console/Command.ts"],"names":[],"mappings":"AAEA,8BAAsB,OAAO;IAC3B;;;;OAIG;IACH,SAAS,SAAM;IAEf;;;;OAIG;IACH,WAAW,SAAM;IAEjB;;OAEG;IAEH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAItC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIxC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CACtD"}
1
+ {"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Console/Command.ts"],"names":[],"mappings":"AAMA,8BAAsB,OAAO;IAC3B;;;;OAIG;IACH,SAAS,SAAM;IAEf;;;;OAIG;IACH,WAAW,SAAM;IAEjB;;OAEG;IAEH;;;OAGG;IACH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC;;;OAGG;IACH,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAItC;;;OAGG;IACH,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIxC;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAWlD,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CACtD"}
@@ -5,6 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Command = void 0;
7
7
  const colors_1 = __importDefault(require("colors"));
8
+ const app_root_path_1 = __importDefault(require("app-root-path"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const fs_1 = __importDefault(require("fs"));
11
+ const rootPath = app_root_path_1.default.path;
8
12
  class Command {
9
13
  constructor() {
10
14
  /**
@@ -23,14 +27,39 @@ class Command {
23
27
  /**
24
28
  * Execute the console command.
25
29
  */
30
+ /**
31
+ * Log an info message.
32
+ * @param message - The message to log.
33
+ */
26
34
  info(message) {
27
35
  console.log(colors_1.default.blue(message));
28
36
  }
37
+ /**
38
+ * Log an error message.
39
+ * @param message - The message to log.
40
+ */
29
41
  error(message) {
30
42
  console.log(colors_1.default.red(message));
31
43
  }
44
+ /**
45
+ * Log a success message.
46
+ * @param message - The message to log.
47
+ */
32
48
  success(message) {
33
49
  console.log(colors_1.default.green(message));
34
50
  }
51
+ /**
52
+ *
53
+ * @param file - The file path to create.
54
+ * @param content - The content to write to the file.
55
+ */
56
+ createFile(file, content) {
57
+ const filePath = path_1.default.resolve(rootPath, file);
58
+ const dir = path_1.default.dirname(filePath);
59
+ if (!fs_1.default.existsSync(dir)) {
60
+ fs_1.default.mkdirSync(dir, { recursive: true });
61
+ }
62
+ fs_1.default.writeFileSync(filePath, content);
63
+ }
35
64
  }
36
65
  exports.Command = Command;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Container/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMhE,8BAAsB,SAAS;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAAkC;IAEjD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAE,OAAe,GAAG,IAAI;IAI7D,IAAI,CAAC,CAAC,EACX,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACjC,MAAM,GAAE,GAAG,EAAO,GACjB,CAAC,GAAG,SAAS;IAMhB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,UAAO,GAAG,IAAI;IAM/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAQ/C,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5C,OAAO,CAAC,CAAC,EACP,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,GAAG,EAAO,EACtB,WAAW,GAAE,OAAc,GAC1B,CAAC;IAsCJ,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,iBAAiB;IAazB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,GAAE,GAAG,EAAO,GAAG,CAAC;IA2ClD;;;;;OAKG;IACG,oBAAoB,CAAC,CAAC,EAC1B,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,CAAC,CAAC;IAgDb,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAgC5D;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQ9B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAW9B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;CAKjC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Container/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKhE,8BAAsB,SAAS;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAAkC;IAEjD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAE,OAAe,GAAG,IAAI;IAI7D,IAAI,CAAC,CAAC,EACX,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACjC,MAAM,GAAE,GAAG,EAAO,GACjB,CAAC,GAAG,SAAS;IAMhB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,UAAO,GAAG,IAAI;IAM/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAQ/C,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5C,OAAO,CAAC,CAAC,EACP,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,GAAG,EAAO,EACtB,WAAW,GAAE,OAAc,GAC1B,CAAC;IAsCJ,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,iBAAiB;IAazB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,GAAE,GAAG,EAAO,GAAG,CAAC;IA2ClD;;;;;OAKG;IACG,oBAAoB,CAAC,CAAC,EAC1B,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,CAAC,CAAC;IA+Cb,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAkD5D;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQ9B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAW9B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;CAKjC"}
@@ -141,7 +141,6 @@ class Container {
141
141
  await requestInstance.rules();
142
142
  return requestInstance;
143
143
  }
144
- // console.log("model", dep.type);
145
144
  const resolved = this.resolve(dep.type);
146
145
  if ((0, util_1.isModelInstance)(resolved)) {
147
146
  return await (0, util_1.resolveModelBinding)(req, dep.type, resolved);
@@ -161,13 +160,28 @@ class Container {
161
160
  const methodDeps = Reflect.getMetadata("inject:method:deps", instance, methodName);
162
161
  if (methodDeps && Array.isArray(methodDeps) && methodDeps.length > 0) {
163
162
  const resolvedDeps = [];
164
- for (const method of methodDeps) {
165
- if (!method.type ||
166
- !method.type.name ||
167
- method.type.name === "Object") {
168
- continue;
163
+ // for (const method of methodDeps) {
164
+ // if (
165
+ // !method.type ||
166
+ // !method.type.name ||
167
+ // method.type.name === "Object"
168
+ // ) {
169
+ // continue;
170
+ // }
171
+ // if(){
172
+ // }
173
+ // resolvedDeps.push(this.resolve(method.type));
174
+ // }
175
+ for (let index = 0; index < methodDeps.length; index++) {
176
+ const method = methodDeps[index];
177
+ if (method.type &&
178
+ method.type.name &&
179
+ (0, util_1.JSInBuilTClass)(method.type.name)) {
180
+ resolvedDeps.push(args[index] || null);
181
+ }
182
+ else {
183
+ resolvedDeps.push(this.resolve(method.type));
169
184
  }
170
- resolvedDeps.push(this.resolve(method.type));
171
185
  }
172
186
  return instance[methodName].apply(instance, resolvedDeps);
173
187
  }
@@ -9,8 +9,9 @@ import { DatabaseConfig } from "./type";
9
9
  * const client = db.getConnection(); // Knex | Sequelize | Mongoose
10
10
  */
11
11
  export declare class Database {
12
+ private readonly app?;
12
13
  private driver;
13
- constructor(dbConfig?: Partial<DatabaseConfig>);
14
+ constructor(dbConfig?: Partial<DatabaseConfig>, app?: any | undefined);
14
15
  private resolveDriverName;
15
16
  private resolveDriver;
16
17
  connect(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Database/Database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAMxC;;;;;;;;GAQG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;gBAEnB,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAK9C,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,aAAa;IAcf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,aAAa,IAAI,OAAO;IAIlB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
1
+ {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Database/Database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAMxC;;;;;;;;GAQG;AACH,qBAAa,QAAQ;IAKjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IAJvB,OAAO,CAAC,MAAM,CAAiB;gBAG7B,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EACjB,GAAG,CAAC,EAAE,GAAG,YAAA;IAM5B,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,aAAa;IAef,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,aAAa,IAAI,OAAO;IAIlB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
@@ -15,9 +15,10 @@ const Config_1 = require("../Config/Config");
15
15
  * const client = db.getConnection(); // Knex | Sequelize | Mongoose
16
16
  */
17
17
  class Database {
18
- constructor(dbConfig) {
18
+ constructor(dbConfig, app) {
19
+ this.app = app;
19
20
  const driverName = this.resolveDriverName(dbConfig);
20
- this.driver = this.resolveDriver(driverName);
21
+ this.driver = this.resolveDriver(driverName, app);
21
22
  }
22
23
  resolveDriverName(dbConfig) {
23
24
  if (dbConfig?.driver)
@@ -30,12 +31,12 @@ class Database {
30
31
  return "sequelize";
31
32
  return "knex"; // Default: Knex / Jcc-eloquent
32
33
  }
33
- resolveDriver(driverName) {
34
+ resolveDriver(driverName, app) {
34
35
  switch (driverName) {
35
36
  case "sequelize":
36
- return new SequelizeDriver_1.SequelizeDriver();
37
+ return new SequelizeDriver_1.SequelizeDriver(app?.config?.database?.sequelize);
37
38
  case "mongoose":
38
- return new MongooseDriver_1.MongooseDriver();
39
+ return new MongooseDriver_1.MongooseDriver(app?.config?.database?.mongoose);
39
40
  case "knex":
40
41
  default:
41
42
  return new KnexDriver_1.KnexDriver();
@@ -18,9 +18,5 @@ export declare class DatabaseServiceProvider extends ServiceProvider {
18
18
  * True when using Sequelize or Mongoose instead of Jcc-eloquent (Knex)
19
19
  */
20
20
  externalSupportedORM(): boolean;
21
- /**
22
- * Load Sequelize models from app/Models and sync tables
23
- */
24
- private loadModelsIfSequelize;
25
21
  }
26
22
  //# sourceMappingURL=DatabaseServiceProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseServiceProvider.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Database/DatabaseServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAM/D;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;gBAC9C,GAAG,EAAE,WAAW;IAI5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAa/B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAY/B;;OAEG;YACW,qBAAqB;CA0CpC"}
1
+ {"version":3,"file":"DatabaseServiceProvider.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Database/DatabaseServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;gBAC9C,GAAG,EAAE,WAAW;IAI5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAc/B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAE3B;;OAEG;IACH,oBAAoB,IAAI,OAAO;CAWhC"}