@gaias/basenode 1.0.12 → 1.0.39

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 (466) hide show
  1. package/CLAUDE.md +760 -0
  2. package/README.md +574 -39
  3. package/cfg/apisix.yml +1 -0
  4. package/cfg/application.development.yml +1 -0
  5. package/cfg/application.yml +5 -0
  6. package/cfg/database.yml +7 -0
  7. package/cfg/logger.yml +5 -0
  8. package/cfg/openapiCfg.yml +1 -0
  9. package/cfg/rabbitmq.yml +1 -0
  10. package/cfg/redis.yml +6 -0
  11. package/dist/example/app.d.ts +2 -0
  12. package/dist/example/app.d.ts.map +1 -0
  13. package/dist/example/app.js +57 -0
  14. package/dist/example/app.js.map +1 -0
  15. package/dist/example/controllers/UserController.d.ts +42 -0
  16. package/dist/example/controllers/UserController.d.ts.map +1 -0
  17. package/dist/example/controllers/UserController.js +243 -0
  18. package/dist/example/controllers/UserController.js.map +1 -0
  19. package/dist/example/controllers/index.d.ts +2 -0
  20. package/dist/example/controllers/index.d.ts.map +1 -0
  21. package/dist/example/controllers/index.js +18 -0
  22. package/dist/example/controllers/index.js.map +1 -0
  23. package/dist/example/entities/CasbinRule.d.ts +12 -0
  24. package/dist/example/entities/CasbinRule.d.ts.map +1 -0
  25. package/dist/example/entities/CasbinRule.js +56 -0
  26. package/dist/example/entities/CasbinRule.js.map +1 -0
  27. package/dist/example/entities/Role.d.ts +11 -0
  28. package/dist/example/entities/Role.d.ts.map +1 -0
  29. package/dist/example/entities/Role.js +56 -0
  30. package/dist/example/entities/Role.js.map +1 -0
  31. package/dist/example/entities/User.d.ts +18 -0
  32. package/dist/example/entities/User.d.ts.map +1 -0
  33. package/dist/example/entities/User.js +91 -0
  34. package/dist/example/entities/User.js.map +1 -0
  35. package/dist/example/entities/UserRole.d.ts +7 -0
  36. package/dist/example/entities/UserRole.d.ts.map +1 -0
  37. package/dist/example/entities/UserRole.js +36 -0
  38. package/dist/example/entities/UserRole.js.map +1 -0
  39. package/dist/example/entities/index.d.ts +5 -0
  40. package/dist/example/entities/index.d.ts.map +1 -0
  41. package/dist/example/entities/index.js +21 -0
  42. package/dist/example/entities/index.js.map +1 -0
  43. package/dist/example/events/TestEventHandler.d.ts +6 -0
  44. package/dist/example/events/TestEventHandler.d.ts.map +1 -0
  45. package/dist/example/events/TestEventHandler.js +36 -0
  46. package/dist/example/events/TestEventHandler.js.map +1 -0
  47. package/dist/example/events/index.d.ts +2 -0
  48. package/dist/example/events/index.d.ts.map +1 -0
  49. package/dist/example/events/index.js +18 -0
  50. package/dist/example/events/index.js.map +1 -0
  51. package/dist/example/repositories/CasbinRuleRepo.d.ts +6 -0
  52. package/dist/example/repositories/CasbinRuleRepo.d.ts.map +1 -0
  53. package/dist/example/repositories/CasbinRuleRepo.js +30 -0
  54. package/dist/example/repositories/CasbinRuleRepo.js.map +1 -0
  55. package/dist/example/repositories/RoleRepo.d.ts +11 -0
  56. package/dist/example/repositories/RoleRepo.d.ts.map +1 -0
  57. package/dist/example/repositories/RoleRepo.js +52 -0
  58. package/dist/example/repositories/RoleRepo.js.map +1 -0
  59. package/dist/example/repositories/UserRepo.d.ts +6 -0
  60. package/dist/example/repositories/UserRepo.d.ts.map +1 -0
  61. package/dist/example/repositories/UserRepo.js +30 -0
  62. package/dist/example/repositories/UserRepo.js.map +1 -0
  63. package/dist/example/repositories/UserRoleRepo.d.ts +6 -0
  64. package/dist/example/repositories/UserRoleRepo.d.ts.map +1 -0
  65. package/dist/example/repositories/UserRoleRepo.js +30 -0
  66. package/dist/example/repositories/UserRoleRepo.js.map +1 -0
  67. package/dist/example/repositories/index.d.ts +5 -0
  68. package/dist/example/repositories/index.d.ts.map +1 -0
  69. package/dist/example/repositories/index.js +21 -0
  70. package/dist/example/repositories/index.js.map +1 -0
  71. package/dist/example/services/UserService.d.ts +24 -0
  72. package/dist/example/services/UserService.d.ts.map +1 -0
  73. package/dist/example/services/UserService.js +114 -0
  74. package/dist/example/services/UserService.js.map +1 -0
  75. package/dist/example/utils/MyUtils.d.ts +17 -0
  76. package/dist/example/utils/MyUtils.d.ts.map +1 -0
  77. package/dist/example/utils/MyUtils.js +142 -0
  78. package/dist/example/utils/MyUtils.js.map +1 -0
  79. package/dist/example/utils/index.d.ts +2 -0
  80. package/dist/example/utils/index.d.ts.map +1 -0
  81. package/dist/example/utils/index.js +18 -0
  82. package/dist/example/utils/index.js.map +1 -0
  83. package/dist/example/vo/Roles.d.ts +37 -0
  84. package/dist/example/vo/Roles.d.ts.map +1 -0
  85. package/dist/example/vo/Roles.js +167 -0
  86. package/dist/example/vo/Roles.js.map +1 -0
  87. package/dist/example/vo/UserVo.d.ts +16 -0
  88. package/dist/example/vo/UserVo.d.ts.map +1 -0
  89. package/dist/example/vo/UserVo.js +68 -0
  90. package/dist/example/vo/UserVo.js.map +1 -0
  91. package/dist/example/vo/index.d.ts +3 -0
  92. package/dist/example/vo/index.d.ts.map +1 -0
  93. package/dist/example/vo/index.js +19 -0
  94. package/dist/example/vo/index.js.map +1 -0
  95. package/dist/example/wsControllers/EmployeesWSController.d.ts +8 -0
  96. package/dist/example/wsControllers/EmployeesWSController.d.ts.map +1 -0
  97. package/dist/example/wsControllers/EmployeesWSController.js +56 -0
  98. package/dist/example/wsControllers/EmployeesWSController.js.map +1 -0
  99. package/dist/example/wsControllers/index.d.ts +2 -0
  100. package/dist/example/wsControllers/index.d.ts.map +1 -0
  101. package/dist/example/wsControllers/index.js +18 -0
  102. package/dist/example/wsControllers/index.js.map +1 -0
  103. package/{gen_db.json → dist/gen_db.json} +1 -1
  104. package/dist/{index.d.ts → src/index.d.ts} +1 -0
  105. package/dist/src/index.d.ts.map +1 -0
  106. package/dist/{libs → src/libs}/apisix/ApisixTemplate.d.ts +1 -0
  107. package/dist/src/libs/apisix/ApisixTemplate.d.ts.map +1 -0
  108. package/dist/src/libs/apisix/ApisixTemplate.js +134 -0
  109. package/dist/src/libs/apisix/ApisixTemplate.js.map +1 -0
  110. package/dist/src/libs/apisix/HttpPutter.d.ts +11 -0
  111. package/dist/src/libs/apisix/HttpPutter.d.ts.map +1 -0
  112. package/dist/src/libs/apisix/HttpPutter.js +64 -0
  113. package/dist/src/libs/apisix/HttpPutter.js.map +1 -0
  114. package/dist/{libs → src/libs}/apisix/index.d.ts +1 -0
  115. package/dist/src/libs/apisix/index.d.ts.map +1 -0
  116. package/dist/{libs → src/libs}/cache/CacheService.d.ts +1 -0
  117. package/dist/src/libs/cache/CacheService.d.ts.map +1 -0
  118. package/dist/{libs → src/libs}/cache/CacheService.js +79 -109
  119. package/dist/src/libs/cache/CacheService.js.map +1 -0
  120. package/dist/{libs → src/libs}/cache/Timer.d.ts +1 -0
  121. package/dist/src/libs/cache/Timer.d.ts.map +1 -0
  122. package/dist/{libs → src/libs}/cache/Timer.js +1 -1
  123. package/dist/src/libs/cache/Timer.js.map +1 -0
  124. package/dist/{libs → src/libs}/cache/index.d.ts +1 -0
  125. package/dist/src/libs/cache/index.d.ts.map +1 -0
  126. package/dist/{libs → src/libs}/configure/ApplicationConfig.d.ts +4 -1
  127. package/dist/src/libs/configure/ApplicationConfig.d.ts.map +1 -0
  128. package/dist/{libs → src/libs}/configure/ConfigManager.d.ts +1 -0
  129. package/dist/src/libs/configure/ConfigManager.d.ts.map +1 -0
  130. package/dist/src/libs/configure/ConfigManager.js.map +1 -0
  131. package/dist/{libs → src/libs}/configure/index.d.ts +1 -0
  132. package/dist/src/libs/configure/index.d.ts.map +1 -0
  133. package/dist/{libs → src/libs}/deps/Libs.d.ts +5 -5
  134. package/dist/src/libs/deps/Libs.d.ts.map +1 -0
  135. package/dist/{libs → src/libs}/deps/Libs.js +5 -6
  136. package/dist/src/libs/deps/Libs.js.map +1 -0
  137. package/dist/src/libs/deps/index.d.ts +2 -0
  138. package/dist/src/libs/deps/index.d.ts.map +1 -0
  139. package/dist/{libs → src/libs}/error/BizError.d.ts +1 -0
  140. package/dist/src/libs/error/BizError.d.ts.map +1 -0
  141. package/dist/src/libs/error/BizError.js.map +1 -0
  142. package/dist/src/libs/error/index.d.ts +2 -0
  143. package/dist/src/libs/error/index.d.ts.map +1 -0
  144. package/dist/src/libs/gateway/ApiGatewayLoader.d.ts +5 -0
  145. package/dist/src/libs/gateway/ApiGatewayLoader.d.ts.map +1 -0
  146. package/dist/src/libs/gateway/ApiGatewayLoader.js +130 -0
  147. package/dist/src/libs/gateway/ApiGatewayLoader.js.map +1 -0
  148. package/dist/{libs → src/libs}/gateway/index.d.ts +1 -0
  149. package/dist/src/libs/gateway/index.d.ts.map +1 -0
  150. package/dist/{libs → src/libs}/generator/IdGenerator.d.ts +1 -0
  151. package/dist/src/libs/generator/IdGenerator.d.ts.map +1 -0
  152. package/dist/src/libs/generator/IdGenerator.js +12 -0
  153. package/dist/src/libs/generator/IdGenerator.js.map +1 -0
  154. package/dist/{libs → src/libs}/generator/IndexCreator.d.ts +2 -0
  155. package/dist/src/libs/generator/IndexCreator.d.ts.map +1 -0
  156. package/dist/src/libs/generator/IndexCreator.js +101 -0
  157. package/dist/src/libs/generator/IndexCreator.js.map +1 -0
  158. package/dist/{libs → src/libs}/generator/index.d.ts +1 -0
  159. package/dist/src/libs/generator/index.d.ts.map +1 -0
  160. package/dist/{libs → src/libs}/healthcheck/HealthCheckController.d.ts +1 -0
  161. package/dist/src/libs/healthcheck/HealthCheckController.d.ts.map +1 -0
  162. package/dist/{libs → src/libs}/healthcheck/HealthCheckController.js +30 -41
  163. package/dist/src/libs/healthcheck/HealthCheckController.js.map +1 -0
  164. package/dist/{libs → src/libs}/healthcheck/index.d.ts +1 -0
  165. package/dist/src/libs/healthcheck/index.d.ts.map +1 -0
  166. package/dist/{libs → src/libs}/index.d.ts +1 -0
  167. package/dist/src/libs/index.d.ts.map +1 -0
  168. package/dist/{libs → src/libs}/koa/KoaControllerReturnHandler.d.ts +1 -0
  169. package/dist/src/libs/koa/KoaControllerReturnHandler.d.ts.map +1 -0
  170. package/dist/{libs → src/libs}/koa/KoaControllerReturnHandler.js +35 -23
  171. package/dist/src/libs/koa/KoaControllerReturnHandler.js.map +1 -0
  172. package/dist/{libs → src/libs}/koa/KoaLoader.d.ts +1 -0
  173. package/dist/src/libs/koa/KoaLoader.d.ts.map +1 -0
  174. package/dist/{libs → src/libs}/koa/KoaLoader.js +21 -27
  175. package/dist/src/libs/koa/KoaLoader.js.map +1 -0
  176. package/dist/{libs → src/libs}/koa/KoaLoaderOption.d.ts +1 -0
  177. package/dist/src/libs/koa/KoaLoaderOption.d.ts.map +1 -0
  178. package/dist/{libs → src/libs}/koa/KoaLoaderOption.js.map +1 -1
  179. package/dist/{libs → src/libs}/koa/index.d.ts +1 -0
  180. package/dist/src/libs/koa/index.d.ts.map +1 -0
  181. package/dist/{libs → src/libs}/koa/setupRestfulControllers.d.ts +1 -0
  182. package/dist/src/libs/koa/setupRestfulControllers.d.ts.map +1 -0
  183. package/dist/src/libs/koa/setupRestfulControllers.js +82 -0
  184. package/dist/src/libs/koa/setupRestfulControllers.js.map +1 -0
  185. package/dist/{libs → src/libs}/koa/setupSocketControllers.d.ts +1 -0
  186. package/dist/src/libs/koa/setupSocketControllers.d.ts.map +1 -0
  187. package/dist/src/libs/koa/setupSocketControllers.js +71 -0
  188. package/dist/src/libs/koa/setupSocketControllers.js.map +1 -0
  189. package/dist/{libs → src/libs}/leader/Leader.d.ts +1 -0
  190. package/dist/src/libs/leader/Leader.d.ts.map +1 -0
  191. package/dist/{libs → src/libs}/leader/Leader.js +46 -63
  192. package/dist/src/libs/leader/Leader.js.map +1 -0
  193. package/dist/{libs → src/libs}/leader/LeaderOptions.d.ts +1 -0
  194. package/dist/src/libs/leader/LeaderOptions.d.ts.map +1 -0
  195. package/dist/{libs → src/libs}/leader/index.d.ts +1 -0
  196. package/dist/src/libs/leader/index.d.ts.map +1 -0
  197. package/dist/{libs → src/libs}/logger/Logger.d.ts +2 -1
  198. package/dist/src/libs/logger/Logger.d.ts.map +1 -0
  199. package/dist/{libs → src/libs}/logger/Logger.js +9 -3
  200. package/dist/src/libs/logger/Logger.js.map +1 -0
  201. package/dist/src/libs/logger/index.d.ts +2 -0
  202. package/dist/src/libs/logger/index.d.ts.map +1 -0
  203. package/dist/{libs → src/libs}/network/getLocalIpAddress.d.ts +1 -0
  204. package/dist/src/libs/network/getLocalIpAddress.d.ts.map +1 -0
  205. package/dist/{libs → src/libs}/network/getLocalIpAddress.js +18 -19
  206. package/dist/src/libs/network/getLocalIpAddress.js.map +1 -0
  207. package/dist/{libs → src/libs}/network/index.d.ts +1 -0
  208. package/dist/src/libs/network/index.d.ts.map +1 -0
  209. package/dist/{libs → src/libs}/orm/BaseRepository.d.ts +1 -0
  210. package/dist/src/libs/orm/BaseRepository.d.ts.map +1 -0
  211. package/dist/src/libs/orm/BaseRepository.js +30 -0
  212. package/dist/src/libs/orm/BaseRepository.js.map +1 -0
  213. package/dist/{libs → src/libs}/orm/TypeormLoader.d.ts +1 -0
  214. package/dist/src/libs/orm/TypeormLoader.d.ts.map +1 -0
  215. package/dist/{libs → src/libs}/orm/TypeormLoader.js +6 -15
  216. package/dist/src/libs/orm/TypeormLoader.js.map +1 -0
  217. package/dist/{libs → src/libs}/orm/index.d.ts +1 -0
  218. package/dist/src/libs/orm/index.d.ts.map +1 -0
  219. package/dist/{libs → src/libs}/pagination/Pagination.d.ts +1 -0
  220. package/dist/src/libs/pagination/Pagination.d.ts.map +1 -0
  221. package/dist/{libs → src/libs}/pagination/Pagination.js +1 -2
  222. package/dist/src/libs/pagination/Pagination.js.map +1 -0
  223. package/dist/src/libs/pagination/index.d.ts +2 -0
  224. package/dist/src/libs/pagination/index.d.ts.map +1 -0
  225. package/dist/{libs → src/libs}/rabbitmq/DistributedEvents.d.ts +1 -0
  226. package/dist/src/libs/rabbitmq/DistributedEvents.d.ts.map +1 -0
  227. package/dist/src/libs/rabbitmq/DistributedEvents.js +89 -0
  228. package/dist/src/libs/rabbitmq/DistributedEvents.js.map +1 -0
  229. package/dist/{libs → src/libs}/rabbitmq/DistributedEventsLoader.d.ts +1 -0
  230. package/dist/src/libs/rabbitmq/DistributedEventsLoader.d.ts.map +1 -0
  231. package/dist/src/libs/rabbitmq/DistributedEventsLoader.js +21 -0
  232. package/dist/src/libs/rabbitmq/DistributedEventsLoader.js.map +1 -0
  233. package/dist/{libs → src/libs}/rabbitmq/EventsManager.d.ts +5 -4
  234. package/dist/src/libs/rabbitmq/EventsManager.d.ts.map +1 -0
  235. package/dist/src/libs/rabbitmq/EventsManager.js +47 -0
  236. package/dist/src/libs/rabbitmq/EventsManager.js.map +1 -0
  237. package/dist/{libs → src/libs}/rabbitmq/index.d.ts +1 -0
  238. package/dist/src/libs/rabbitmq/index.d.ts.map +1 -0
  239. package/dist/{libs → src/libs}/redis/RedisClient.d.ts +1 -0
  240. package/dist/src/libs/redis/RedisClient.d.ts.map +1 -0
  241. package/dist/src/libs/redis/RedisClient.js +63 -0
  242. package/dist/src/libs/redis/RedisClient.js.map +1 -0
  243. package/dist/{libs → src/libs}/redis/RedisLoader.d.ts +1 -0
  244. package/dist/src/libs/redis/RedisLoader.d.ts.map +1 -0
  245. package/dist/src/libs/redis/RedisLoader.js +22 -0
  246. package/dist/src/libs/redis/RedisLoader.js.map +1 -0
  247. package/dist/{libs → src/libs}/redis/index.d.ts +1 -0
  248. package/dist/src/libs/redis/index.d.ts.map +1 -0
  249. package/dist/{libs → src/libs}/register/ApiRegisterController.d.ts +1 -0
  250. package/dist/src/libs/register/ApiRegisterController.d.ts.map +1 -0
  251. package/dist/{libs → src/libs}/register/ApiRegisterController.js +73 -98
  252. package/dist/src/libs/register/ApiRegisterController.js.map +1 -0
  253. package/dist/{libs → src/libs}/register/Converter.d.ts +1 -0
  254. package/dist/src/libs/register/Converter.d.ts.map +1 -0
  255. package/dist/src/libs/register/Converter.js.map +1 -0
  256. package/dist/{libs → src/libs}/register/HttpMethods.d.ts +1 -0
  257. package/dist/src/libs/register/HttpMethods.d.ts.map +1 -0
  258. package/dist/{libs → src/libs}/register/HttpMethods.js +8 -3
  259. package/dist/src/libs/register/HttpMethods.js.map +1 -0
  260. package/dist/{libs → src/libs}/register/ResRegTypes.d.ts +1 -0
  261. package/dist/src/libs/register/ResRegTypes.d.ts.map +1 -0
  262. package/dist/{libs → src/libs}/register/index.d.ts +1 -0
  263. package/dist/src/libs/register/index.d.ts.map +1 -0
  264. package/dist/{libs → src/libs}/type/builder.d.ts +1 -0
  265. package/dist/src/libs/type/builder.d.ts.map +1 -0
  266. package/dist/src/libs/type/builder.js.map +1 -0
  267. package/dist/{libs → src/libs}/type/index.d.ts +1 -0
  268. package/dist/src/libs/type/index.d.ts.map +1 -0
  269. package/dist/{libs → src/libs}/type/types.d.ts +1 -0
  270. package/dist/src/libs/type/types.d.ts.map +1 -0
  271. package/dist/{libs → src/libs}/universal/UniversalController.d.ts +1 -0
  272. package/dist/src/libs/universal/UniversalController.d.ts.map +1 -0
  273. package/dist/src/libs/universal/UniversalController.js.map +1 -0
  274. package/dist/{libs → src/libs}/universal/UniversalService.d.ts +1 -0
  275. package/dist/src/libs/universal/UniversalService.d.ts.map +1 -0
  276. package/dist/src/libs/universal/UniversalService.js +182 -0
  277. package/dist/src/libs/universal/UniversalService.js.map +1 -0
  278. package/dist/{libs → src/libs}/universal/index.d.ts +1 -0
  279. package/dist/src/libs/universal/index.d.ts.map +1 -0
  280. package/dist/src/libs/validator/SafeUrlValidator.d.ts +17 -0
  281. package/dist/src/libs/validator/SafeUrlValidator.d.ts.map +1 -0
  282. package/dist/src/libs/validator/SafeUrlValidator.js +88 -0
  283. package/dist/src/libs/validator/SafeUrlValidator.js.map +1 -0
  284. package/dist/{libs → src/libs}/validator/ValidationHelper.d.ts +1 -0
  285. package/dist/src/libs/validator/ValidationHelper.d.ts.map +1 -0
  286. package/dist/src/libs/validator/ValidationHelper.js +56 -0
  287. package/dist/src/libs/validator/ValidationHelper.js.map +1 -0
  288. package/dist/{libs → src/libs}/validator/i18nValidator.d.ts +1 -0
  289. package/dist/src/libs/validator/i18nValidator.d.ts.map +1 -0
  290. package/dist/{libs → src/libs}/validator/i18nValidator.js +1 -1
  291. package/dist/src/libs/validator/i18nValidator.js.map +1 -0
  292. package/dist/src/libs/validator/index.d.ts +4 -0
  293. package/dist/src/libs/validator/index.d.ts.map +1 -0
  294. package/dist/{libs → src/libs}/validator/index.js +1 -0
  295. package/dist/{libs → src/libs}/validator/index.js.map +1 -1
  296. package/dist/{server → src/server}/BootstrapLoader.d.ts +1 -0
  297. package/dist/src/server/BootstrapLoader.d.ts.map +1 -0
  298. package/dist/{server → src/server}/BootstrapOption.d.ts +1 -0
  299. package/dist/src/server/BootstrapOption.d.ts.map +1 -0
  300. package/dist/{server → src/server}/bootstrap.d.ts +1 -0
  301. package/dist/src/server/bootstrap.d.ts.map +1 -0
  302. package/dist/{server → src/server}/bootstrap.js +5 -14
  303. package/dist/src/server/bootstrap.js.map +1 -0
  304. package/dist/{server → src/server}/index.d.ts +1 -0
  305. package/dist/src/server/index.d.ts.map +1 -0
  306. package/dist/{utils → src/utils}/YamlUtil.d.ts +1 -0
  307. package/dist/src/utils/YamlUtil.d.ts.map +1 -0
  308. package/dist/{utils → src/utils}/YamlUtil.js +12 -3
  309. package/dist/src/utils/YamlUtil.js.map +1 -0
  310. package/dist/{utils → src/utils}/crypto.d.ts +1 -0
  311. package/dist/src/utils/crypto.d.ts.map +1 -0
  312. package/dist/src/utils/crypto.js.map +1 -0
  313. package/dist/{utils → src/utils}/index.d.ts +1 -0
  314. package/dist/src/utils/index.d.ts.map +1 -0
  315. package/dist/{utils → src/utils}/jwtUtil.d.ts +1 -0
  316. package/dist/src/utils/jwtUtil.d.ts.map +1 -0
  317. package/dist/src/utils/jwtUtil.js.map +1 -0
  318. package/dist/{utils → src/utils}/transformer.d.ts +1 -0
  319. package/dist/src/utils/transformer.d.ts.map +1 -0
  320. package/dist/src/utils/transformer.js.map +1 -0
  321. package/dist/tools/DBSchemaGenerator.d.ts +2 -0
  322. package/dist/tools/DBSchemaGenerator.d.ts.map +1 -0
  323. package/dist/tools/DBSchemaGenerator.js +104 -0
  324. package/dist/tools/DBSchemaGenerator.js.map +1 -0
  325. package/dist/tools/RepositoryGenerator.d.ts +2 -0
  326. package/dist/tools/RepositoryGenerator.d.ts.map +1 -0
  327. package/dist/tools/RepositoryGenerator.js +121 -0
  328. package/dist/tools/RepositoryGenerator.js.map +1 -0
  329. package/package.json +82 -35
  330. package/tools/repository.mst +13 -0
  331. package/.dockerignore +0 -12
  332. package/.drone.yml +0 -54
  333. package/.eslintignore +0 -4
  334. package/.github/workflows/docker-image.yml +0 -69
  335. package/.ncurc.json +0 -8
  336. package/Dockerfile +0 -47
  337. package/README.adoc +0 -44
  338. package/dist/libs/apisix/ApisixTemplate.js +0 -88
  339. package/dist/libs/apisix/ApisixTemplate.js.map +0 -1
  340. package/dist/libs/apisix/HttpPutter.d.ts +0 -1
  341. package/dist/libs/apisix/HttpPutter.js +0 -51
  342. package/dist/libs/apisix/HttpPutter.js.map +0 -1
  343. package/dist/libs/cache/CacheService.js.map +0 -1
  344. package/dist/libs/cache/Timer.js.map +0 -1
  345. package/dist/libs/configure/ConfigManager.js.map +0 -1
  346. package/dist/libs/deps/Libs.js.map +0 -1
  347. package/dist/libs/deps/index.d.ts +0 -1
  348. package/dist/libs/error/BizError.js.map +0 -1
  349. package/dist/libs/error/index.d.ts +0 -1
  350. package/dist/libs/gateway/ApiGatewayLoader.d.ts +0 -3
  351. package/dist/libs/gateway/ApiGatewayLoader.js +0 -58
  352. package/dist/libs/gateway/ApiGatewayLoader.js.map +0 -1
  353. package/dist/libs/generator/IdGenerator.js +0 -7
  354. package/dist/libs/generator/IdGenerator.js.map +0 -1
  355. package/dist/libs/generator/IndexCreator.js +0 -69
  356. package/dist/libs/generator/IndexCreator.js.map +0 -1
  357. package/dist/libs/healthcheck/HealthCheckController.js.map +0 -1
  358. package/dist/libs/koa/KoaControllerReturnHandler.js.map +0 -1
  359. package/dist/libs/koa/KoaLoader.js.map +0 -1
  360. package/dist/libs/koa/setupRestfulControllers.js +0 -81
  361. package/dist/libs/koa/setupRestfulControllers.js.map +0 -1
  362. package/dist/libs/koa/setupSocketControllers.js +0 -48
  363. package/dist/libs/koa/setupSocketControllers.js.map +0 -1
  364. package/dist/libs/leader/Leader.js.map +0 -1
  365. package/dist/libs/logger/Logger.js.map +0 -1
  366. package/dist/libs/logger/index.d.ts +0 -1
  367. package/dist/libs/network/getLocalIpAddress.js.map +0 -1
  368. package/dist/libs/orm/BaseRepository.js +0 -51
  369. package/dist/libs/orm/BaseRepository.js.map +0 -1
  370. package/dist/libs/orm/TypeormLoader.js.map +0 -1
  371. package/dist/libs/pagination/Pagination.js.map +0 -1
  372. package/dist/libs/pagination/index.d.ts +0 -1
  373. package/dist/libs/rabbitmq/DistributedEvents.js +0 -103
  374. package/dist/libs/rabbitmq/DistributedEvents.js.map +0 -1
  375. package/dist/libs/rabbitmq/DistributedEventsLoader.js +0 -30
  376. package/dist/libs/rabbitmq/DistributedEventsLoader.js.map +0 -1
  377. package/dist/libs/rabbitmq/EventsManager.js +0 -56
  378. package/dist/libs/rabbitmq/EventsManager.js.map +0 -1
  379. package/dist/libs/redis/RedisClient.js +0 -84
  380. package/dist/libs/redis/RedisClient.js.map +0 -1
  381. package/dist/libs/redis/RedisLoader.js +0 -31
  382. package/dist/libs/redis/RedisLoader.js.map +0 -1
  383. package/dist/libs/register/ApiRegisterController.js.map +0 -1
  384. package/dist/libs/register/Converter.js.map +0 -1
  385. package/dist/libs/register/HttpMethods.js.map +0 -1
  386. package/dist/libs/type/builder.js.map +0 -1
  387. package/dist/libs/universal/UniversalController.js.map +0 -1
  388. package/dist/libs/universal/UniversalService.js +0 -194
  389. package/dist/libs/universal/UniversalService.js.map +0 -1
  390. package/dist/libs/validator/ValidationHelper.js +0 -73
  391. package/dist/libs/validator/ValidationHelper.js.map +0 -1
  392. package/dist/libs/validator/i18nValidator.js.map +0 -1
  393. package/dist/libs/validator/index.d.ts +0 -2
  394. package/dist/server/bootstrap.js.map +0 -1
  395. package/dist/utils/YamlUtil.js.map +0 -1
  396. package/dist/utils/crypto.js.map +0 -1
  397. package/dist/utils/jwtUtil.js.map +0 -1
  398. package/dist/utils/transformer.js.map +0 -1
  399. package/open.json +0 -104
  400. /package/dist/{index.js → src/index.js} +0 -0
  401. /package/dist/{index.js.map → src/index.js.map} +0 -0
  402. /package/dist/{libs → src/libs}/apisix/index.js +0 -0
  403. /package/dist/{libs → src/libs}/apisix/index.js.map +0 -0
  404. /package/dist/{libs → src/libs}/cache/index.js +0 -0
  405. /package/dist/{libs → src/libs}/cache/index.js.map +0 -0
  406. /package/dist/{libs → src/libs}/configure/ApplicationConfig.js +0 -0
  407. /package/dist/{libs → src/libs}/configure/ApplicationConfig.js.map +0 -0
  408. /package/dist/{libs → src/libs}/configure/ConfigManager.js +0 -0
  409. /package/dist/{libs → src/libs}/configure/index.js +0 -0
  410. /package/dist/{libs → src/libs}/configure/index.js.map +0 -0
  411. /package/dist/{libs → src/libs}/deps/index.js +0 -0
  412. /package/dist/{libs → src/libs}/deps/index.js.map +0 -0
  413. /package/dist/{libs → src/libs}/error/BizError.js +0 -0
  414. /package/dist/{libs → src/libs}/error/index.js +0 -0
  415. /package/dist/{libs → src/libs}/error/index.js.map +0 -0
  416. /package/dist/{libs → src/libs}/gateway/index.js +0 -0
  417. /package/dist/{libs → src/libs}/gateway/index.js.map +0 -0
  418. /package/dist/{libs → src/libs}/generator/index.js +0 -0
  419. /package/dist/{libs → src/libs}/generator/index.js.map +0 -0
  420. /package/dist/{libs → src/libs}/healthcheck/index.js +0 -0
  421. /package/dist/{libs → src/libs}/healthcheck/index.js.map +0 -0
  422. /package/dist/{libs → src/libs}/index.js +0 -0
  423. /package/dist/{libs → src/libs}/index.js.map +0 -0
  424. /package/dist/{libs → src/libs}/koa/KoaLoaderOption.js +0 -0
  425. /package/dist/{libs → src/libs}/koa/index.js +0 -0
  426. /package/dist/{libs → src/libs}/koa/index.js.map +0 -0
  427. /package/dist/{libs → src/libs}/leader/LeaderOptions.js +0 -0
  428. /package/dist/{libs → src/libs}/leader/LeaderOptions.js.map +0 -0
  429. /package/dist/{libs → src/libs}/leader/index.js +0 -0
  430. /package/dist/{libs → src/libs}/leader/index.js.map +0 -0
  431. /package/dist/{libs → src/libs}/logger/index.js +0 -0
  432. /package/dist/{libs → src/libs}/logger/index.js.map +0 -0
  433. /package/dist/{libs → src/libs}/network/index.js +0 -0
  434. /package/dist/{libs → src/libs}/network/index.js.map +0 -0
  435. /package/dist/{libs → src/libs}/orm/index.js +0 -0
  436. /package/dist/{libs → src/libs}/orm/index.js.map +0 -0
  437. /package/dist/{libs → src/libs}/pagination/index.js +0 -0
  438. /package/dist/{libs → src/libs}/pagination/index.js.map +0 -0
  439. /package/dist/{libs → src/libs}/rabbitmq/index.js +0 -0
  440. /package/dist/{libs → src/libs}/rabbitmq/index.js.map +0 -0
  441. /package/dist/{libs → src/libs}/redis/index.js +0 -0
  442. /package/dist/{libs → src/libs}/redis/index.js.map +0 -0
  443. /package/dist/{libs → src/libs}/register/Converter.js +0 -0
  444. /package/dist/{libs → src/libs}/register/ResRegTypes.js +0 -0
  445. /package/dist/{libs → src/libs}/register/ResRegTypes.js.map +0 -0
  446. /package/dist/{libs → src/libs}/register/index.js +0 -0
  447. /package/dist/{libs → src/libs}/register/index.js.map +0 -0
  448. /package/dist/{libs → src/libs}/type/builder.js +0 -0
  449. /package/dist/{libs → src/libs}/type/index.js +0 -0
  450. /package/dist/{libs → src/libs}/type/index.js.map +0 -0
  451. /package/dist/{libs → src/libs}/type/types.js +0 -0
  452. /package/dist/{libs → src/libs}/type/types.js.map +0 -0
  453. /package/dist/{libs → src/libs}/universal/UniversalController.js +0 -0
  454. /package/dist/{libs → src/libs}/universal/index.js +0 -0
  455. /package/dist/{libs → src/libs}/universal/index.js.map +0 -0
  456. /package/dist/{server → src/server}/BootstrapLoader.js +0 -0
  457. /package/dist/{server → src/server}/BootstrapLoader.js.map +0 -0
  458. /package/dist/{server → src/server}/BootstrapOption.js +0 -0
  459. /package/dist/{server → src/server}/BootstrapOption.js.map +0 -0
  460. /package/dist/{server → src/server}/index.js +0 -0
  461. /package/dist/{server → src/server}/index.js.map +0 -0
  462. /package/dist/{utils → src/utils}/crypto.js +0 -0
  463. /package/dist/{utils → src/utils}/index.js +0 -0
  464. /package/dist/{utils → src/utils}/index.js.map +0 -0
  465. /package/dist/{utils → src/utils}/jwtUtil.js +0 -0
  466. /package/dist/{utils → src/utils}/transformer.js +0 -0
@@ -0,0 +1,121 @@
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
+ const lodash_1 = require("lodash");
7
+ const typedi_1 = require("typedi");
8
+ const typeorm_1 = require("typeorm");
9
+ const url_1 = require("url");
10
+ const gen_db_json_1 = __importDefault(require("../gen_db.json"));
11
+ const configure_1 = require("../src/libs/configure");
12
+ async function generateRepositories() {
13
+ console.log('=== Starting Repository Generation ===');
14
+ console.log('=== 开始生成数据库仓储 ===');
15
+ const Entities = gen_db_json_1.default.map((n) => (0, lodash_1.startCase)((0, lodash_1.camelCase)(n)).replace(/ /g, ''));
16
+ console.log('Repositories to generate / 待生成仓储:', Entities);
17
+ const cfg = configure_1.ConfigManager.getConfig('database');
18
+ console.log('Loaded config / 已加载配置:', cfg);
19
+ if (!cfg.mariaDBUrl) {
20
+ throw new Error('mariaDBUrl is not defined in database config / 数据库配置中未定义 mariaDBUrl');
21
+ }
22
+ const db = new url_1.URL(cfg.mariaDBUrl);
23
+ const { hostname, pathname, port, username, password } = db;
24
+ console.log('Database connection info / 数据库连接信息:', {
25
+ hostname,
26
+ database: pathname.substring(1),
27
+ port,
28
+ username,
29
+ });
30
+ const dataSource = new typeorm_1.DataSource({
31
+ type: 'mysql',
32
+ host: hostname,
33
+ port: parseInt(port),
34
+ username: username,
35
+ password: password,
36
+ database: pathname.substring(1),
37
+ synchronize: false,
38
+ logging: false,
39
+ });
40
+ try {
41
+ await dataSource.initialize();
42
+ console.log('✅ Database connected successfully / 数据库连接成功');
43
+ typedi_1.Container.set('dataSource', dataSource);
44
+ const argv = process.argv;
45
+ const configs = [
46
+ '-h', hostname,
47
+ '-d', pathname.substring(1),
48
+ '-p', port,
49
+ '-u', username,
50
+ '-x', password,
51
+ '-e', 'mysql',
52
+ '-o', `${cfg.output || './src'}/repositories`,
53
+ '--noConfig',
54
+ '--cf', 'pascal',
55
+ '--ce', 'pascal',
56
+ '--cp', 'camel',
57
+ '--relationIds',
58
+ '--generateConstructor'
59
+ ];
60
+ configs.forEach((c) => argv.push(c));
61
+ const path = require('path');
62
+ const _pathResolver = path.resolve;
63
+ path.resolve = (...args) => {
64
+ let isTarget = false;
65
+ args.forEach((arg) => {
66
+ if (arg.indexOf('entity.mst') > -1) {
67
+ isTarget = true;
68
+ }
69
+ });
70
+ return isTarget ? _pathResolver(__dirname, 'repository.mst') : _pathResolver(...args);
71
+ };
72
+ const fs = require('fs');
73
+ const _writeFileSync = fs.writeFileSync;
74
+ let generatedAmount = 0;
75
+ let skippedAmount = 0;
76
+ fs.writeFileSync = (...args) => {
77
+ const originalPath = args[0];
78
+ args[0] = originalPath.substring(0, originalPath.length - 3) + 'Repo.ts';
79
+ if (fs.existsSync(args[0])) {
80
+ console.log(`⏭️ Skipped (exists) / 已跳过 (已存在): ${args[0]}`);
81
+ skippedAmount++;
82
+ return;
83
+ }
84
+ const file = originalPath.substring(originalPath.lastIndexOf('/') + 1, originalPath.lastIndexOf('.'));
85
+ const skip = !Entities.includes(file);
86
+ if (skip) {
87
+ console.log(`⏭️ Skipped (not in list) / 已跳过 (不在列表中): ${file}`);
88
+ skippedAmount++;
89
+ }
90
+ else {
91
+ _writeFileSync(...args);
92
+ console.log(`✅ Generated / 已生成: ${args[0]}`);
93
+ generatedAmount++;
94
+ }
95
+ };
96
+ console.log('\n🚀 Running typeorm-model-generator... / 正在运行生成器...\n');
97
+ require('typeorm-model-generator/dist/src');
98
+ setTimeout(async () => {
99
+ console.log('\n=== Generation Summary / 生成摘要 ===');
100
+ console.log(`✅ Generated Repositories / 已生成仓储: ${generatedAmount}`);
101
+ console.log(`⏭️ Skipped Repositories / 已跳过仓储: ${skippedAmount}`);
102
+ if (dataSource.isInitialized) {
103
+ await dataSource.destroy();
104
+ console.log('✅ Database connection closed / 数据库连接已关闭\n');
105
+ }
106
+ process.exit(0);
107
+ }, 1000);
108
+ }
109
+ catch (error) {
110
+ console.error('❌ Error during repository generation / 生成仓储时出错:', error);
111
+ if (dataSource.isInitialized) {
112
+ await dataSource.destroy();
113
+ }
114
+ process.exit(1);
115
+ }
116
+ }
117
+ generateRepositories().catch((error) => {
118
+ console.error('Fatal error / 致命错误:', error);
119
+ process.exit(1);
120
+ });
121
+ //# sourceMappingURL=RepositoryGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RepositoryGenerator.js","sourceRoot":"","sources":["../../tools/RepositoryGenerator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,73 +1,108 @@
1
1
  {
2
2
  "name": "@gaias/basenode",
3
- "version": "1.0.12",
4
- "buildNumber": 251008015,
3
+ "version": "1.0.39",
4
+ "buildNumber": 251022024,
5
5
  "description": "API development framework for NodeJs",
6
6
  "author": "FOT",
7
7
  "license": "UNLICENSED",
8
8
  "main": "dist/index.js",
9
9
  "types": "dist/index.d.ts",
10
+ "files": [
11
+ "dist",
12
+ "cfg",
13
+ "tools/repository.mst",
14
+ "README.md",
15
+ "CLAUDE.md"
16
+ ],
10
17
  "repository": {
11
18
  "type": "git",
12
- "url": "git+https://github.com/gaias/basenode.git"
19
+ "url": "git+https://github.com/sight-saber/base_node.git"
20
+ },
21
+ "publishConfig": {
22
+ "registry": "https://registry.npmjs.org/",
23
+ "access": "public"
13
24
  },
14
25
  "engines": {
15
- "node": ">=14.16.x",
26
+ "node": ">=18.0.0",
16
27
  "yarn": ">=1.22.x"
17
28
  },
18
29
  "scripts": {
19
- "ncc:build": "ncc build ./example/app.ts -m -o ./dist/single -e sqlite3 --no-source-map-register && ncc cache clean",
30
+ "//===ncc===": "",
31
+ "ncc:build:example": "ncc build ./example/app.ts -m -o ./dist/single -e sqlite3 --no-source-map-register && ncc cache clean",
32
+ "ncc:build": "ncc build ./src/index.ts -m -o ./dist/single -e sqlite3 --no-source-map-register && ncc cache clean",
20
33
  "ncc:run": "cross-env NODE_ENV=development ncc run ./example/app.ts",
21
34
  "buildNum": "yarn npe buildNumber $(yarn -s buildnumgen)",
35
+ "prepub": "rimraf dist && mkdir dist && tsc && mv temp/* dist/ && rimraf temp",
36
+ "//===dev===": "",
22
37
  "dev": "cross-env NODE_ENV=development tsc-watch --onSuccess \"node -r tsconfig-paths/register -r source-map-support/register ./temp/example/app.js\"",
23
38
  "devPro": "cross-env ENABLE_API_GATEWAY=true API_GATEWAY_HOST_PORT=192.168.52.35:80 DOMAINS=foo.sg,*.foo.sg NODE_ENV=production tsc-watch --onSuccess \"node -r tsconfig-paths/register -r source-map-support/register ./temp/example/app.js\"",
24
39
  "upver": "ncu -u && yarn install",
40
+ "//===gen===": "",
25
41
  "gen:idx": "cti create ./src && cti create ./example && rm -f ./example/index.ts ./example/services/index.ts",
26
42
  "gen:idx:watch": "nodemon",
27
43
  "gen:db-schema": "cross-env NODE_ENV=development ts-node -r tsconfig-paths/register tools/DBSchemaGenerator.ts",
28
44
  "gen:db-repo": "cross-env NODE_ENV=development ts-node -r tsconfig-paths/register tools/RepositoryGenerator.ts",
29
- "gen:db": "cross-env NODE_ENV=development yarn gen:db-schema && yarn gen:db-repo && yarn gen:idx && eslint '*/**/*.ts' --quiet --fix",
45
+ "gen:db": "cross-env NODE_ENV=development npm run gen:db-schema && npm run gen:db-repo && npm run gen:idx && eslint '*/**/*.ts' --quiet --fix",
30
46
  "gen:keys": "openssl genrsa -out ./keys/privateKey.pem 2048 && openssl rsa -in ./keys/privateKey.pem -outform PEM -pubout -out ./keys/publicKey.pem",
31
- "lint": "tsc --noEmit && eslint '*/**/*.ts' --quiet --fix",
47
+ "//===eslint===": "",
48
+ "lint": "tsc --noEmit && eslint . --ext .ts",
49
+ "lint:fix": "eslint . --ext .ts --fix",
50
+ "//===security===": "",
51
+ "security": "yarn audit",
52
+ "security:summary": "yarn audit --summary",
53
+ "security:json": "yarn audit --json",
54
+ "security:check": "node tools/security-check.js",
55
+ "//===ncu===": "",
56
+ "deps:check": "ncu",
57
+ "deps:update": "ncu -u && yarn install",
58
+ "test": "jest",
59
+ "test:watch": "jest --watch",
60
+ "test:coverage": "jest --coverage",
61
+ "//===publish===": "",
32
62
  "precommit": "yarn lint",
33
- "prepublish": "yarn gen:idx && rimraf dist && mkdir dist && tsc && mv temp/src/* dist/ && rimraf temp",
34
- "prepare": "husky"
63
+ "build:publish": "npm run gen:idx && rimraf dist && mkdir dist && tsc && mv temp/src/* dist/ && rimraf temp",
64
+ "publish:dual": "bash tools/publish.sh",
65
+ "publish:npmjs": "npm publish --access public",
66
+ "publish:github": "npm publish --registry=https://npm.pkg.github.com",
67
+ "publish:check": "yarn security:check && yarn lint && yarn test"
35
68
  },
36
69
  "devDependencies": {
70
+ "@eslint/js": "^9.38.0",
71
+ "@types/glob": "^9.0.0",
37
72
  "@types/jest": "^30.0.0",
38
- "@types/koa__cors": "^5.0.0",
39
73
  "@types/koa-bodyparser": "^4.3.12",
40
74
  "@types/koa-favicon": "^2.1.3",
41
75
  "@types/koa-helmet": "^6.1.0",
42
76
  "@types/koa-json": "^2.0.23",
43
77
  "@types/koa-logger": "^3.1.5",
44
78
  "@types/koa-router": "^7.4.8",
45
- "@typescript-eslint/eslint-plugin": "^7.18.0",
46
- "@typescript-eslint/parser": "^7.18.0",
79
+ "@types/koa__cors": "^5.0.0",
80
+ "@typescript-eslint/eslint-plugin": "^8.46.1",
81
+ "@typescript-eslint/parser": "^8.46.1",
82
+ "@vercel/ncc": "^0.38.4",
47
83
  "create-ts-index": "^1.14.0",
48
84
  "cross-env": "^10.1.0",
49
- "eslint": "^8.57.0",
50
- "eslint-config-prettier": "^9.1.0",
51
- "eslint-config-standard": "^17.1.0",
52
- "eslint-plugin-import": "^2.29.1",
53
- "eslint-plugin-lodash": "^7.4.0",
54
- "eslint-plugin-n": "^16.6.2",
55
- "eslint-plugin-prettier": "^5.1.3",
56
- "eslint-plugin-promise": "^6.1.1",
57
- "eslint-plugin-standard": "^5.0.0",
85
+ "eslint": "^9.38.0",
86
+ "eslint-config-prettier": "^10.1.8",
87
+ "eslint-plugin-import": "^2.32.0",
88
+ "eslint-plugin-lodash": "^8.0.0",
89
+ "eslint-plugin-n": "^17.23.1",
90
+ "eslint-plugin-prettier": "^5.5.4",
91
+ "eslint-plugin-promise": "^7.2.1",
92
+ "globals": "^16.4.0",
58
93
  "jest": "^30.2.0",
59
94
  "nodemon": "^3.1.10",
60
- "npm-check-updates": "^19.0.0",
95
+ "npm-check-updates": "^19.1.1",
61
96
  "npm-delay": "^1.0.4",
62
97
  "npm-run-all": "^4.1.5",
63
98
  "prettier": "^3.6.2",
64
99
  "prettier-plugin-organize-imports": "^4.3.0",
65
100
  "rimraf": "^6.0.1",
66
- "ts-jest": "^29.4.4",
101
+ "ts-jest": "^29.4.5",
67
102
  "ts-node": "^10.9.2",
68
103
  "tsc-watch": "^7.2.0",
69
104
  "tsconfig-paths": "^4.2.0",
70
- "typeorm-model-generator": "^0.4.3",
105
+ "typeorm-model-generator": "^0.4.6",
71
106
  "typescript": "5.9.3"
72
107
  },
73
108
  "dependencies": {
@@ -77,29 +112,28 @@
77
112
  "@types/js-yaml": "^4.0.9",
78
113
  "@types/jsonwebtoken": "^9.0.10",
79
114
  "@types/koa": "^3.0.0",
80
- "@types/koa__multer": "^2.0.7",
81
115
  "@types/koa-compress": "^4.0.6",
116
+ "@types/koa__multer": "^2.0.7",
82
117
  "@types/lodash": "^4.17.20",
83
- "@types/node": "^24.7.0",
118
+ "@types/node": "^24.8.1",
84
119
  "@types/pino": "^7.0.5",
85
120
  "@types/pino-std-serializers": "^4.0.0",
86
121
  "@types/rascal": "^10.2.1",
87
122
  "amqplib": "^0.10.9",
123
+ "axios": "^1.12.2",
88
124
  "build-number-generator": "^3.0.0",
89
125
  "class-transformer": "^0.5.1",
90
126
  "class-validator": "^0.14.2",
91
127
  "class-validator-jsonschema": "^5.1.0",
92
- "cls-hooked": "^4.2.2",
93
128
  "eventemitter3": "^5.0.1",
94
- "glob": "^8.1.0",
95
- "glob-promise": "^6.0.7",
96
- "husky": "^9.1.7",
129
+ "glob": "^11.0.3",
130
+ "helmet": "^8.1.0",
97
131
  "internal-ip": "^6.2.0",
98
132
  "ioredis": "^5.8.1",
99
133
  "js-yaml": "^4.1.0",
100
134
  "jsonata": "^2.1.0",
101
135
  "jsonwebtoken": "^9.0.2",
102
- "koa": "^3.0.1",
136
+ "koa": "^3.0.3",
103
137
  "koa-bodyparser": "^4.4.1",
104
138
  "koa-compress": "^5.1.1",
105
139
  "koa-favicon": "^2.1.0",
@@ -112,8 +146,8 @@
112
146
  "microframework": "^0.6.4",
113
147
  "module-alias": "^2.2.3",
114
148
  "multer": "^2.0.2",
115
- "mysql2": "^3.15.1",
116
- "nanoid": "^3.3.7",
149
+ "mysql2": "^3.15.2",
150
+ "nanoid": "^5.1.6",
117
151
  "npe": "^1.2.0",
118
152
  "pagination-calculator": "^1.0.0",
119
153
  "pino": "^10.0.0",
@@ -127,7 +161,20 @@
127
161
  "to-snake-case": "^1.0.0",
128
162
  "typedi": "^0.10.0",
129
163
  "typeorm": "^0.3.27",
130
- "typeorm-transactional-cls-hooked": "^0.1.21",
131
- "typeorm-typedi-extensions": "^0.4.1"
164
+ "typeorm-transactional": "^0.5.0"
165
+ },
166
+ "resolutions": {
167
+ "xml2js": "^0.6.2",
168
+ "tmp": "^0.2.4",
169
+ "validator": "^13.12.0",
170
+ "typeorm-model-generator/typeorm": "^0.3.27",
171
+ "typeorm-model-generator/mysql2": "^3.15.2",
172
+ "typeorm-model-generator/typeorm/mysql2": "^3.15.2",
173
+ "typeorm-model-generator/inquirer/external-editor/tmp": "^0.2.4",
174
+ "typeorm-model-generator/**/axios": "^1.8.2",
175
+ "typeorm-model-generator/**/glob": "^11.0.0",
176
+ "uuid": "^10.0.0",
177
+ "**/uuid": "^10.0.0",
178
+ "typeorm-model-generator/**/adal-node": "npm:@azure/msal-node@^2.0.0"
132
179
  }
133
180
  }
@@ -0,0 +1,13 @@
1
+ // {}
2
+ import { Service, Inject } from 'typedi';
3
+ import { DataSource, Repository } from 'typeorm';
4
+ import { {{toEntityName tscName}} } from '../entities';
5
+
6
+ @Service()
7
+ export class {{toEntityName tscName}}Repo extends Repository<{{toEntityName tscName}}> {
8
+ constructor(@Inject('dataSource') dataSource: DataSource) {
9
+ super({{toEntityName tscName}}, dataSource.createEntityManager());
10
+ }
11
+
12
+ // Add your code here
13
+ }
package/.dockerignore DELETED
@@ -1,12 +0,0 @@
1
- .husky
2
- node_modules
3
- dist
4
- .cache
5
- .vscode
6
- .git
7
- tools
8
- *.log
9
- report.*.json
10
- temp
11
- redisdata
12
- mysqldata
package/.drone.yml DELETED
@@ -1,54 +0,0 @@
1
- kind: pipeline
2
- type: docker
3
- name: default
4
-
5
- steps:
6
- # - name: build docker image
7
- # image: plugins/docker
8
- # settings:
9
- # username:
10
- # from_secret: docker_username_alicloud
11
- # password:
12
- # from_secret: docker_password_alicloud
13
- # repo: registry.cn-hongkong.aliyuncs.com/fotsg/${DRONE_REPO_NAME,,}
14
- # registry: registry.cn-hongkong.aliyuncs.com
15
- # tags: latest
16
- # debug: false
17
- # insecure: false
18
- - name: build Base Node builder image
19
- image: plugins/docker
20
- settings:
21
- username:
22
- from_secret: docker_username_dockerhub
23
- password:
24
- from_secret: docker_password_dockerhub
25
- repo: teedywang/base_node_builder
26
- # registry: registry.cn-hongkong.aliyuncs.com
27
- tags: latest
28
- debug: false
29
- insecure: false
30
-
31
- ---
32
- kind: secret
33
- name: docker_username_dockerhub
34
- get:
35
- path: cicd/infra
36
- name: docker_username_dockerhub
37
- ---
38
- kind: secret
39
- name: docker_password_dockerhub
40
- get:
41
- path: cicd/infra
42
- name: docker_password_dockerhub
43
- ---
44
- kind: secret
45
- name: docker_username_alicloud
46
- get:
47
- path: cicd/infra
48
- name: docker_username_alicloud
49
- ---
50
- kind: secret
51
- name: docker_password_alicloud
52
- get:
53
- path: cicd/infra
54
- name: docker_password_alicloud
package/.eslintignore DELETED
@@ -1,4 +0,0 @@
1
- node_modules/*
2
- dist/*
3
- temp/*
4
- .next/*
@@ -1,69 +0,0 @@
1
- name: Base Node CI
2
- on:
3
- push:
4
- branches: ["main"]
5
- tags:
6
- - "v*"
7
- pull_request:
8
- branches: ["main"]
9
- jobs:
10
- build:
11
- runs-on: ubuntu-latest
12
- steps:
13
- - name: Project CICD Start
14
- id: date
15
- run: echo "date=$(TZ=Asia/Singapore date +'%Y%m%d%H%M%S')" >> $GITHUB_OUTPUT
16
-
17
- - name: Clone Github Repository
18
- uses: actions/checkout@v4
19
-
20
- - name: Current Version From Package.json
21
- id: package-version
22
- uses: martinbeentjes/npm-get-version-action@main
23
- # run: echo "Current Version " +${{ steps.package-version.outputs.current-version}}
24
- # - name: Docker Extract metadata from Git reference and GitHub events
25
- # id: meta
26
- # uses: docker/metadata-action@v4
27
- # with:
28
- # images: yxj1985/base_node
29
-
30
- - name: Set Up QEMU
31
- uses: docker/setup-qemu-action@v3
32
-
33
- - name: SetUp Docker build
34
- id: build
35
- uses: docker/setup-buildx-action@v3
36
-
37
- - name: Available Platforms
38
- run: echo ${{ steps.build.outputs.platforms }}
39
-
40
- - name: Login To DockerHub
41
- uses: docker/login-action@v3
42
- with:
43
- username: ${{ secrets.DOCKER_HUB_USERNAME }}
44
- password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
45
-
46
- - name: Build And Push Image to Docker Hub
47
- uses: docker/build-push-action@v5
48
- with:
49
- context: .
50
- file: ./Dockerfile
51
- # List of target platforms for build eg: linux/amd64,linux/arm64,linux/arm/v7
52
- platforms: linux/amd64,linux/arm64/v8
53
- # push image to docker hub
54
- push: ${{ github.event_name != 'pull_request' }}
55
- # Add multiple Tags
56
- # latest version: yxj1985/${{ github.event.repository.name }}:latest
57
- # package version: yxj1985/${{ github.event.repository.name }}:v${{ steps.package-version.outputs.current-version}}
58
- # timestampe version: yxj1985/${{ github.event.repository.name }}:${{ steps.date.outputs.date }}
59
- tags: |
60
- yxj1985/${{ github.event.repository.name }}:latest
61
- yxj1985/${{ github.event.repository.name }}:v${{ steps.package-version.outputs.current-version}}
62
- yxj1985/${{ github.event.repository.name }}:v${{ steps.date.outputs.date }}
63
-
64
- # docker/metadata-action@v4 meta (tags labels) from Git reference and GitHub events
65
- # tags: ${{ steps.meta.outputs.tags }}
66
- # labels: ${{ steps.meta.outputs.labels }}
67
-
68
- - name: Project Image Build And Push Successfully
69
- run: echo Current Version v${{ steps.package-version.outputs.current-version}} Successfully!!
package/.ncurc.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "upgrade": true,
3
- "reject": [
4
- "internal-ip",
5
- "pino",
6
- "pino-pretty"
7
- ]
8
- }
package/Dockerfile DELETED
@@ -1,47 +0,0 @@
1
- FROM node:20-alpine as installer
2
-
3
- #RUN apk add --no-cache alpine-sdk python3
4
- RUN apk add --no-cache alpine-sdk python3 sqlite-dev
5
-
6
- WORKDIR /fot.sg/build
7
- ENV YARN_CACHE_FOLDER=/.yarn/cache
8
- COPY package.json .
9
- #RUN yarn install --ignore-scripts
10
- #RUN yarn install --frozen-lockfile
11
-
12
- FROM node:20-alpine
13
-
14
- WORKDIR /fot.sg/build
15
- ENV YARN_CACHE_FOLDER=/.yarn/cache
16
- #COPY --from=installer /.yarn/cache /.yarn/cache
17
- #COPY --from=installer /fot.sg/build/node_modules /fot.sg/build/node_modules
18
-
19
- ########################################################################
20
-
21
- # FROM node:20-alpine as installer
22
-
23
- # RUN apk add --no-cache alpine-sdk python3 sqlite-dev
24
-
25
- # WORKDIR /fot.sg/build
26
- # ENV YARN_CACHE_FOLDER=/.yarn/cache
27
- # COPY package.json .
28
- # COPY . .
29
- # RUN yarn install --frozen-lockfile
30
- # # RUN yarn buildNum && yarn ncc:build
31
- # RUN rm -rfv ./cfg/*.development.yaml
32
-
33
- # FROM node:20-alpine
34
-
35
- # WORKDIR /fot.sg/build
36
- # RUN apk add --no-cache curl sqlite-libs
37
- # ENV YARN_CACHE_FOLDER=/.yarn/cache
38
- # COPY cfg cfg
39
- # COPY keys keys
40
- # COPY --from=installer /.yarn/cache /.yarn/cache
41
- # COPY --from=installer /fot.sg/build/node_modules /fot.sg/build/node_modules
42
- # COPY --from=installer /fot.sg/build/dist/single/*.js ./dist/single/
43
- # COPY package.json ./
44
-
45
- # ENV NODE_ENV production
46
- # EXPOSE 3000
47
- # CMD [ "node", "./dist/single/index.js" ]
package/README.adoc DELETED
@@ -1,44 +0,0 @@
1
- # README #
2
-
3
- ## Please follow the step by step to startup your fotapi project.
4
-
5
- * Set fot npm private repository
6
- ++++
7
- Already set configs in project level .npmrc & .yarnrc.
8
- Change the npm password by setting env if you need to submit code.
9
- ++++
10
- [source, shell]
11
- ----
12
- echo -n 'myuser:mypassword' | openssl base64
13
- npm_config__auth=xxxxxx yarn publish
14
- ----
15
-
16
- * Install yarn packages
17
- [source, shell]
18
- ----
19
- yarn install
20
- ----
21
-
22
- * Set up your marinedb and import the sql data in file mysqlsampledatabase.sql, then change the db address in ./cfg/database.development.yaml
23
-
24
- * Run project
25
- [source, shell]
26
- ----
27
- yarn dev
28
- ----
29
-
30
-
31
-
32
- ## Document links
33
- * Restful controller:
34
- https://github.com/typestack/routing-controllers/blob/master/README.md[routing-controllers]
35
- * Socket.io controller:
36
- https://github.com/typestack/socket-controllers/blob/master/README.md[socket-controllers]
37
- * Validation: https://github.com/typestack/class-validator/blob/master/README.md[class-validator]
38
- * Json <-> Object: https://github.com/typestack/class-transformer/blob/develop/README.md[class-transformer]
39
- * socket.io: https://socket.io/docs/[socket.io]
40
- * IoC: https://github.com/typestack/typedi/blob/master/README.md[typedi]
41
- * ORM:
42
- ** https://typeorm.io/[typeorm]
43
- ** https://github.com/odavid/typeorm-transactional-cls-hooked/blob/master/README.md[tx decorators]
44
- ** https://github.com/typeorm/typeorm-typedi-extensions/blob/master/README.md[inject repo/conn]