midway-fatcms 0.0.1-beta.75 → 0.0.1-beta.76

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 (372) hide show
  1. package/.eslintrc.json +14 -14
  2. package/.prettierrc.js +4 -4
  3. package/README.md +8 -8
  4. package/dist/config/config.default.d.ts +3 -3
  5. package/dist/config/config.default.js +177 -177
  6. package/dist/config/utils.d.ts +1 -1
  7. package/dist/config/utils.js +23 -23
  8. package/dist/configuration.d.ts +7 -7
  9. package/dist/configuration.js +113 -113
  10. package/dist/controller/base/BaseApiController.d.ts +48 -48
  11. package/dist/controller/base/BaseApiController.js +197 -193
  12. package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -13
  13. package/dist/controller/gateway/AnyApiGatewayController.js +55 -55
  14. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -20
  15. package/dist/controller/gateway/AsyncTaskController.js +181 -181
  16. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -21
  17. package/dist/controller/gateway/CrudMtdGatewayController.js +122 -122
  18. package/dist/controller/gateway/CrudStdGatewayController.d.ts +39 -39
  19. package/dist/controller/gateway/CrudStdGatewayController.js +149 -149
  20. package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
  21. package/dist/controller/gateway/DocGatewayController.js +179 -179
  22. package/dist/controller/gateway/FileController.d.ts +32 -32
  23. package/dist/controller/gateway/FileController.js +160 -160
  24. package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
  25. package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
  26. package/dist/controller/gateway/PublicApiController.d.ts +33 -33
  27. package/dist/controller/gateway/PublicApiController.js +201 -201
  28. package/dist/controller/gateway/StaticController.d.ts +23 -23
  29. package/dist/controller/gateway/StaticController.js +286 -286
  30. package/dist/controller/helpers.controller.d.ts +39 -39
  31. package/dist/controller/helpers.controller.js +188 -188
  32. package/dist/controller/home.controller.d.ts +9 -9
  33. package/dist/controller/home.controller.js +72 -72
  34. package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -10
  35. package/dist/controller/manage/AnyApiMangeApi.js +98 -98
  36. package/dist/controller/manage/AppLogMangeApi.d.ts +10 -10
  37. package/dist/controller/manage/AppLogMangeApi.js +88 -88
  38. package/dist/controller/manage/AppMangeApi.d.ts +12 -12
  39. package/dist/controller/manage/AppMangeApi.js +101 -101
  40. package/dist/controller/manage/AppPageMangeApi.d.ts +10 -10
  41. package/dist/controller/manage/AppPageMangeApi.js +87 -87
  42. package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -10
  43. package/dist/controller/manage/AppSchemaHistoryApi.js +83 -83
  44. package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -10
  45. package/dist/controller/manage/CrudMethodsMangeApi.js +84 -84
  46. package/dist/controller/manage/CrudStandardDesignApi.d.ts +46 -46
  47. package/dist/controller/manage/CrudStandardDesignApi.js +367 -367
  48. package/dist/controller/manage/DataDictManageApi.d.ts +17 -17
  49. package/dist/controller/manage/DataDictManageApi.js +165 -165
  50. package/dist/controller/manage/DeployManageApi.d.ts +19 -19
  51. package/dist/controller/manage/DeployManageApi.js +180 -180
  52. package/dist/controller/manage/DocLibManageApi.d.ts +10 -10
  53. package/dist/controller/manage/DocLibManageApi.js +104 -104
  54. package/dist/controller/manage/DocManageApi.d.ts +11 -11
  55. package/dist/controller/manage/DocManageApi.js +130 -130
  56. package/dist/controller/manage/FileManageApi.d.ts +13 -13
  57. package/dist/controller/manage/FileManageApi.js +77 -77
  58. package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -13
  59. package/dist/controller/manage/LowCodeTplManageApi.js +86 -86
  60. package/dist/controller/manage/MenuManageApi.d.ts +10 -10
  61. package/dist/controller/manage/MenuManageApi.js +93 -93
  62. package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -10
  63. package/dist/controller/manage/ProxyApiMangeApi.js +87 -87
  64. package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -24
  65. package/dist/controller/manage/SuperAdminManageApi.js +153 -153
  66. package/dist/controller/manage/SysConfigMangeApi.d.ts +12 -12
  67. package/dist/controller/manage/SysConfigMangeApi.js +133 -133
  68. package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
  69. package/dist/controller/manage/SystemInfoManageApi.js +74 -72
  70. package/dist/controller/manage/UserAccountManageApi.d.ts +16 -16
  71. package/dist/controller/manage/UserAccountManageApi.js +153 -153
  72. package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
  73. package/dist/controller/manage/WorkbenchMangeApi.js +103 -103
  74. package/dist/controller/myinfo/AuthController.d.ts +37 -37
  75. package/dist/controller/myinfo/AuthController.js +157 -157
  76. package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
  77. package/dist/controller/myinfo/MyInfoController.js +51 -51
  78. package/dist/controller/render/AppRenderController.d.ts +12 -12
  79. package/dist/controller/render/AppRenderController.js +87 -87
  80. package/dist/controller/test.controller.d.ts +8 -8
  81. package/dist/controller/test.controller.js +51 -51
  82. package/dist/filter/default.filter.d.ts +7 -7
  83. package/dist/filter/default.filter.js +23 -23
  84. package/dist/filter/notfound.filter.d.ts +5 -5
  85. package/dist/filter/notfound.filter.js +20 -20
  86. package/dist/index.d.ts +106 -106
  87. package/dist/index.js +124 -124
  88. package/dist/interface.d.ts +29 -29
  89. package/dist/interface.js +3 -3
  90. package/dist/libs/crud-pro/CrudPro.d.ts +37 -37
  91. package/dist/libs/crud-pro/CrudPro.js +136 -136
  92. package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
  93. package/dist/libs/crud-pro/defaultConfigs.js +15 -15
  94. package/dist/libs/crud-pro/exceptions.d.ts +106 -106
  95. package/dist/libs/crud-pro/exceptions.js +119 -119
  96. package/dist/libs/crud-pro/interfaces.d.ts +166 -166
  97. package/dist/libs/crud-pro/interfaces.js +12 -12
  98. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +50 -50
  99. package/dist/libs/crud-pro/models/ExecuteContext.js +87 -87
  100. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -38
  101. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -72
  102. package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -18
  103. package/dist/libs/crud-pro/models/FuncContext.js +6 -6
  104. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -65
  105. package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -81
  106. package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -25
  107. package/dist/libs/crud-pro/models/RequestModel.js +113 -113
  108. package/dist/libs/crud-pro/models/ResModel.d.ts +20 -20
  109. package/dist/libs/crud-pro/models/ResModel.js +2 -2
  110. package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -20
  111. package/dist/libs/crud-pro/models/ServiceHub.js +2 -2
  112. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +23 -23
  113. package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -40
  114. package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -6
  115. package/dist/libs/crud-pro/models/SqlSegArg.js +12 -12
  116. package/dist/libs/crud-pro/models/Transaction.d.ts +30 -30
  117. package/dist/libs/crud-pro/models/Transaction.js +74 -74
  118. package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +29 -28
  119. package/dist/libs/crud-pro/models/TransactionMySQL.js +83 -76
  120. package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +29 -28
  121. package/dist/libs/crud-pro/models/TransactionPostgres.js +91 -85
  122. package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +35 -34
  123. package/dist/libs/crud-pro/models/TransactionSqlServer.js +100 -92
  124. package/dist/libs/crud-pro/models/keys.d.ts +110 -110
  125. package/dist/libs/crud-pro/models/keys.js +154 -154
  126. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -11
  127. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -73
  128. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -9
  129. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +125 -125
  130. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -17
  131. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +225 -225
  132. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -9
  133. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -51
  134. package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -13
  135. package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -148
  136. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -24
  137. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +355 -355
  138. package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
  139. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -165
  140. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
  141. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +339 -339
  142. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -24
  143. package/dist/libs/crud-pro/services/CrudProServiceBase.js +88 -88
  144. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -9
  145. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +72 -72
  146. package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -32
  147. package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -64
  148. package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -9
  149. package/dist/libs/crud-pro/utils/CompareUtils.js +25 -25
  150. package/dist/libs/crud-pro/utils/CrudMonitor.d.ts +9 -0
  151. package/dist/libs/crud-pro/utils/CrudMonitor.js +12 -0
  152. package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -9
  153. package/dist/libs/crud-pro/utils/DatabaseName.js +50 -50
  154. package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -7
  155. package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -21
  156. package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -19
  157. package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -47
  158. package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -5
  159. package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -33
  160. package/dist/libs/crud-pro/utils/MixinUtils.d.ts +39 -39
  161. package/dist/libs/crud-pro/utils/MixinUtils.js +255 -255
  162. package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -11
  163. package/dist/libs/crud-pro/utils/ModelUtils.js +54 -54
  164. package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -11
  165. package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -63
  166. package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -5
  167. package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -29
  168. package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -40
  169. package/dist/libs/crud-pro/utils/TypeUtils.js +166 -166
  170. package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -3
  171. package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -165
  172. package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -3
  173. package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -19
  174. package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -3
  175. package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -20
  176. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -3
  177. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -20
  178. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -4
  179. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +35 -35
  180. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -3
  181. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -22
  182. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -2
  183. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +14 -14
  184. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
  185. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +14 -14
  186. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.d.ts +2 -2
  187. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.js +128 -128
  188. package/dist/libs/global-config/global-config.d.ts +69 -69
  189. package/dist/libs/global-config/global-config.js +36 -36
  190. package/dist/libs/utils/AsymmetricCrypto.d.ts +76 -76
  191. package/dist/libs/utils/AsymmetricCrypto.js +261 -261
  192. package/dist/libs/utils/base64.d.ts +9 -9
  193. package/dist/libs/utils/base64.js +42 -42
  194. package/dist/libs/utils/common-dto.d.ts +18 -18
  195. package/dist/libs/utils/common-dto.js +40 -40
  196. package/dist/libs/utils/crypto-utils.d.ts +3 -3
  197. package/dist/libs/utils/crypto-utils.js +46 -46
  198. package/dist/libs/utils/errorToString.d.ts +2 -2
  199. package/dist/libs/utils/errorToString.js +57 -57
  200. package/dist/libs/utils/fatcms-request.d.ts +30 -30
  201. package/dist/libs/utils/fatcms-request.js +104 -104
  202. package/dist/libs/utils/format-url.d.ts +2 -2
  203. package/dist/libs/utils/format-url.js +13 -13
  204. package/dist/libs/utils/functions.d.ts +5 -5
  205. package/dist/libs/utils/functions.js +76 -76
  206. package/dist/libs/utils/ordernum-utils.d.ts +2 -2
  207. package/dist/libs/utils/ordernum-utils.js +13 -13
  208. package/dist/libs/utils/parseConfig.d.ts +8 -8
  209. package/dist/libs/utils/parseConfig.js +47 -47
  210. package/dist/libs/utils/parseCreateSql.d.ts +10 -10
  211. package/dist/libs/utils/parseCreateSql.js +87 -87
  212. package/dist/libs/utils/render-utils.d.ts +37 -37
  213. package/dist/libs/utils/render-utils.js +154 -154
  214. package/dist/middleware/forbidden.middleware.d.ts +10 -10
  215. package/dist/middleware/forbidden.middleware.js +54 -54
  216. package/dist/middleware/global.middleware.d.ts +10 -10
  217. package/dist/middleware/global.middleware.js +273 -273
  218. package/dist/middleware/permission.middleware.d.ts +18 -18
  219. package/dist/middleware/permission.middleware.js +74 -74
  220. package/dist/middleware/rediscache.middleware.d.ts +3 -3
  221. package/dist/middleware/rediscache.middleware.js +77 -77
  222. package/dist/middleware/redislock.middleware.d.ts +7 -7
  223. package/dist/middleware/redislock.middleware.js +72 -72
  224. package/dist/middleware/tx.middleware.d.ts +9 -9
  225. package/dist/middleware/tx.middleware.js +40 -40
  226. package/dist/models/AsyncTaskModel.d.ts +74 -74
  227. package/dist/models/AsyncTaskModel.js +31 -31
  228. package/dist/models/RedisKeys.d.ts +15 -15
  229. package/dist/models/RedisKeys.js +18 -18
  230. package/dist/models/SystemEntities.d.ts +117 -117
  231. package/dist/models/SystemEntities.js +17 -17
  232. package/dist/models/SystemPerm.d.ts +95 -95
  233. package/dist/models/SystemPerm.js +100 -100
  234. package/dist/models/SystemTables.d.ts +25 -25
  235. package/dist/models/SystemTables.js +28 -28
  236. package/dist/models/WorkbenchInfoTools.d.ts +7 -7
  237. package/dist/models/WorkbenchInfoTools.js +20 -20
  238. package/dist/models/bizmodels.d.ts +138 -138
  239. package/dist/models/bizmodels.js +61 -61
  240. package/dist/models/contextLogger.d.ts +27 -27
  241. package/dist/models/contextLogger.js +119 -119
  242. package/dist/models/devops.d.ts +12 -12
  243. package/dist/models/devops.js +19 -19
  244. package/dist/models/userSession.d.ts +65 -65
  245. package/dist/models/userSession.js +168 -168
  246. package/dist/schedule/anonymousContext.d.ts +15 -15
  247. package/dist/schedule/anonymousContext.js +73 -73
  248. package/dist/schedule/index.d.ts +4 -4
  249. package/dist/schedule/index.js +10 -10
  250. package/dist/schedule/runSchedule.d.ts +12 -12
  251. package/dist/schedule/runSchedule.js +68 -68
  252. package/dist/schedule/scheduleNames.d.ts +15 -15
  253. package/dist/schedule/scheduleNames.js +19 -19
  254. package/dist/service/AuthService.d.ts +57 -57
  255. package/dist/service/AuthService.js +265 -265
  256. package/dist/service/EnumInfoService.d.ts +30 -30
  257. package/dist/service/EnumInfoService.js +97 -97
  258. package/dist/service/FileCenterService.d.ts +64 -64
  259. package/dist/service/FileCenterService.js +422 -422
  260. package/dist/service/SysAppService.d.ts +14 -14
  261. package/dist/service/SysAppService.js +96 -96
  262. package/dist/service/SysConfigService.d.ts +10 -10
  263. package/dist/service/SysConfigService.js +64 -64
  264. package/dist/service/SysDictDataService.d.ts +9 -9
  265. package/dist/service/SysDictDataService.js +72 -72
  266. package/dist/service/UserAccountService.d.ts +23 -23
  267. package/dist/service/UserAccountService.js +107 -107
  268. package/dist/service/UserSessionService.d.ts +43 -43
  269. package/dist/service/UserSessionService.js +163 -163
  270. package/dist/service/VisitStatService.d.ts +14 -14
  271. package/dist/service/VisitStatService.js +158 -158
  272. package/dist/service/WorkbenchService.d.ts +59 -59
  273. package/dist/service/WorkbenchService.js +249 -249
  274. package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
  275. package/dist/service/anyapi/AnyApiSandboxService.js +110 -110
  276. package/dist/service/anyapi/AnyApiService.d.ts +27 -27
  277. package/dist/service/anyapi/AnyApiService.js +181 -181
  278. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -50
  279. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -287
  280. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -7
  281. package/dist/service/asyncTask/AsyncTaskService.js +34 -34
  282. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -10
  283. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -2
  284. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -7
  285. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -216
  286. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -36
  287. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +141 -141
  288. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -46
  289. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +135 -135
  290. package/dist/service/base/ApiBaseService.d.ts +15 -15
  291. package/dist/service/base/ApiBaseService.js +50 -50
  292. package/dist/service/base/ApiRateLimiter.d.ts +10 -10
  293. package/dist/service/base/ApiRateLimiter.js +51 -51
  294. package/dist/service/base/BaseService.d.ts +41 -41
  295. package/dist/service/base/BaseService.js +101 -101
  296. package/dist/service/base/cache/CacheServiceFactory.d.ts +26 -26
  297. package/dist/service/base/cache/CacheServiceFactory.js +122 -122
  298. package/dist/service/base/cache/CtxCache.d.ts +18 -18
  299. package/dist/service/base/cache/CtxCache.js +37 -37
  300. package/dist/service/base/cache/DiskCache.d.ts +19 -19
  301. package/dist/service/base/cache/DiskCache.js +74 -74
  302. package/dist/service/base/cache/MemoryCache.d.ts +12 -12
  303. package/dist/service/base/cache/MemoryCache.js +58 -58
  304. package/dist/service/base/cache/NoneCache.d.ts +10 -10
  305. package/dist/service/base/cache/NoneCache.js +19 -19
  306. package/dist/service/base/cache/RedisCache.d.ts +14 -14
  307. package/dist/service/base/cache/RedisCache.js +31 -31
  308. package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
  309. package/dist/service/crudstd/CrudStdActionService.js +32 -32
  310. package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
  311. package/dist/service/crudstd/CrudStdConstant.js +64 -64
  312. package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -10
  313. package/dist/service/crudstd/CrudStdRelationService.js +121 -121
  314. package/dist/service/crudstd/CrudStdService.d.ts +60 -60
  315. package/dist/service/crudstd/CrudStdService.js +376 -376
  316. package/dist/service/curd/CrudProQuick.d.ts +50 -50
  317. package/dist/service/curd/CrudProQuick.js +163 -163
  318. package/dist/service/curd/CurdMixByAccountService.d.ts +13 -13
  319. package/dist/service/curd/CurdMixByAccountService.js +151 -151
  320. package/dist/service/curd/CurdMixByDictService.d.ts +12 -12
  321. package/dist/service/curd/CurdMixByDictService.js +114 -114
  322. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +30 -30
  323. package/dist/service/curd/CurdMixByLinkToCustomService.js +209 -209
  324. package/dist/service/curd/CurdMixBySysConfigService.d.ts +13 -13
  325. package/dist/service/curd/CurdMixBySysConfigService.js +116 -116
  326. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +11 -11
  327. package/dist/service/curd/CurdMixByWorkbenchService.js +80 -80
  328. package/dist/service/curd/CurdMixService.d.ts +28 -28
  329. package/dist/service/curd/CurdMixService.js +100 -100
  330. package/dist/service/curd/CurdMixUtils.d.ts +57 -57
  331. package/dist/service/curd/CurdMixUtils.js +331 -331
  332. package/dist/service/curd/CurdProService.d.ts +32 -32
  333. package/dist/service/curd/CurdProService.js +212 -212
  334. package/dist/service/curd/fixCfgModel.d.ts +3 -3
  335. package/dist/service/curd/fixCfgModel.js +104 -104
  336. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
  337. package/dist/service/proxyapi/ProxyApiLoadService.js +167 -167
  338. package/dist/service/proxyapi/ProxyApiService.d.ts +61 -61
  339. package/dist/service/proxyapi/ProxyApiService.js +294 -294
  340. package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
  341. package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
  342. package/dist/service/proxyapi/RouteHandler.d.ts +5 -5
  343. package/dist/service/proxyapi/RouteHandler.js +9 -9
  344. package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
  345. package/dist/service/proxyapi/RouteTrie.js +63 -63
  346. package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
  347. package/dist/service/proxyapi/WeightedRandom.js +31 -31
  348. package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
  349. package/dist/service/proxyapi/WeightedRoundRobin.js +32 -32
  350. package/index.d.ts +10 -10
  351. package/package.json +87 -87
  352. package/src/controller/base/BaseApiController.ts +7 -2
  353. package/src/controller/manage/SuperAdminManageApi.ts +6 -6
  354. package/src/controller/manage/SystemInfoManageApi.ts +2 -0
  355. package/src/libs/crud-pro/models/TransactionMySQL.ts +13 -3
  356. package/src/libs/crud-pro/models/TransactionPostgres.ts +9 -3
  357. package/src/libs/crud-pro/models/TransactionSqlServer.ts +19 -8
  358. package/src/libs/crud-pro/utils/CrudMonitor.ts +13 -0
  359. package/src/libs/utils/AsymmetricCrypto.ts +307 -307
  360. package/src/libs/utils/format-url.ts +15 -15
  361. package/src/libs/utils/render-utils.ts +216 -216
  362. package/src/models/WorkbenchInfoTools.ts +19 -19
  363. package/src/service/SysAppService.ts +88 -88
  364. package/src/service/SysDictDataService.ts +63 -63
  365. package/src/service/WorkbenchService.ts +277 -277
  366. package/src/service/base/cache/CacheServiceFactory.ts +135 -135
  367. package/src/service/base/cache/CtxCache.ts +45 -45
  368. package/src/service/base/cache/DiskCache.ts +82 -82
  369. package/src/service/base/cache/MemoryCache.ts +68 -68
  370. package/src/service/base/cache/NoneCache.ts +24 -24
  371. package/src/service/base/cache/RedisCache.ts +41 -41
  372. package/tsconfig.json +32 -32
@@ -1,104 +1,104 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fixCfgModel = void 0;
4
- const _ = require("lodash");
5
- const bizmodels_1 = require("../../models/bizmodels");
6
- const keys_1 = require("../../libs/crud-pro/models/keys");
7
- function isSimpleQuery(sqlSimpleName) {
8
- return sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_QUERY || sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_COUNT || sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_PAGE || sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE;
9
- }
10
- function fixCfgModel(cfgModel) {
11
- if (!cfgModel.method) {
12
- cfgModel.method = 'anonymous';
13
- }
14
- if (!cfgModel.updateCfg) {
15
- cfgModel.updateCfg = {};
16
- }
17
- const sqlSimpleName = cfgModel.sqlSimpleName;
18
- const enableStandardUpdateCfg = cfgModel.enableStandardUpdateCfg; // 用于设置data字段
19
- const enableStandardUpdateCfgCondition = cfgModel.enableStandardUpdateCfgCondition; // 用于设置condition字段
20
- // 彻底关闭
21
- if (enableStandardUpdateCfg === false) {
22
- return;
23
- }
24
- const getDataCfgArray = () => {
25
- // 明确有配置
26
- if (Array.isArray(enableStandardUpdateCfg)) {
27
- if (enableStandardUpdateCfg.includes('null')) {
28
- return [];
29
- }
30
- return enableStandardUpdateCfg;
31
- }
32
- // update 、insert 添加 by
33
- return ['by']; // 创建/修改语句默认添加by
34
- };
35
- const getConditionCfgArray = () => {
36
- // 明确有配置
37
- if (Array.isArray(enableStandardUpdateCfgCondition)) {
38
- if (enableStandardUpdateCfgCondition.includes('null')) {
39
- return [];
40
- }
41
- return enableStandardUpdateCfgCondition;
42
- }
43
- return [];
44
- };
45
- const dataCfgArray = getDataCfgArray();
46
- const conditionCfgArray = getConditionCfgArray();
47
- const mapping = {
48
- 'condition.created_by': { contextAsString: bizmodels_1.CTX_VISITOR_ID },
49
- 'condition.created_account_type': { contextAsString: bizmodels_1.CTX_VISITOR_ACCOUNT_TYPE },
50
- 'data.created_by': { contextAsString: bizmodels_1.CTX_VISITOR_ID },
51
- 'data.created_avatar': { contextAsString: bizmodels_1.CTX_VISITOR_AVATAR },
52
- 'data.created_nickname': { contextAsString: bizmodels_1.CTX_VISITOR_NICKNAME },
53
- 'data.created_account_type': { contextAsString: bizmodels_1.CTX_VISITOR_ACCOUNT_TYPE },
54
- 'data.modified_by': { contextAsString: bizmodels_1.CTX_VISITOR_ID },
55
- 'data.modified_avatar': { contextAsString: bizmodels_1.CTX_VISITOR_AVATAR },
56
- 'data.modified_nickname': { contextAsString: bizmodels_1.CTX_VISITOR_NICKNAME },
57
- 'data.modified_account_type': { contextAsString: bizmodels_1.CTX_VISITOR_ACCOUNT_TYPE },
58
- };
59
- const buildUpdateCfgBy = (cfgArray, prefix) => {
60
- const obj = {};
61
- if (Array.isArray(cfgArray)) {
62
- for (let i = 0; i < cfgArray.length; i++) {
63
- const suffix = cfgArray[i];
64
- if (suffix) {
65
- const key = `${prefix}_${suffix}`;
66
- obj[key] = mapping[key];
67
- }
68
- }
69
- }
70
- return obj;
71
- };
72
- // 查询语句
73
- if (isSimpleQuery(sqlSimpleName)) {
74
- const updateCfgObj = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 查询用户本人创建的
75
- _.merge(cfgModel.updateCfg, updateCfgObj);
76
- }
77
- // 删除语句
78
- if (sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_DELETE) {
79
- const updateCfgObj = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 删除用户本人创建的
80
- _.merge(cfgModel.updateCfg, updateCfgObj);
81
- }
82
- // 插入语句
83
- if (sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_INSERT) {
84
- const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray, 'data.created');
85
- _.merge(cfgModel.updateCfg, updateCfgObj1);
86
- }
87
- // 更新语句
88
- if (sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_UPDATE) {
89
- const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray, 'data.modified');
90
- const updateCfgObj2 = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 更新用户本人创建的
91
- _.merge(cfgModel.updateCfg, updateCfgObj1);
92
- _.merge(cfgModel.updateCfg, updateCfgObj2);
93
- }
94
- // 插入或更新
95
- if (sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_INSERT_OR_UPDATE || sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_INSERT_ON_DUPLICATE_UPDATE) {
96
- const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray, 'data.created');
97
- const updateCfgObj2 = buildUpdateCfgBy(dataCfgArray, 'data.modified');
98
- const updateCfgObj3 = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 更新用户本人创建的
99
- _.merge(cfgModel.updateCfg, updateCfgObj1);
100
- _.merge(cfgModel.updateCfg, updateCfgObj2);
101
- _.merge(cfgModel.updateCfg, updateCfgObj3);
102
- }
103
- }
104
- exports.fixCfgModel = fixCfgModel;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fixCfgModel = void 0;
4
+ const _ = require("lodash");
5
+ const bizmodels_1 = require("../../models/bizmodels");
6
+ const keys_1 = require("../../libs/crud-pro/models/keys");
7
+ function isSimpleQuery(sqlSimpleName) {
8
+ return sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_QUERY || sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_COUNT || sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_PAGE || sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE;
9
+ }
10
+ function fixCfgModel(cfgModel) {
11
+ if (!cfgModel.method) {
12
+ cfgModel.method = 'anonymous';
13
+ }
14
+ if (!cfgModel.updateCfg) {
15
+ cfgModel.updateCfg = {};
16
+ }
17
+ const sqlSimpleName = cfgModel.sqlSimpleName;
18
+ const enableStandardUpdateCfg = cfgModel.enableStandardUpdateCfg; // 用于设置data字段
19
+ const enableStandardUpdateCfgCondition = cfgModel.enableStandardUpdateCfgCondition; // 用于设置condition字段
20
+ // 彻底关闭
21
+ if (enableStandardUpdateCfg === false) {
22
+ return;
23
+ }
24
+ const getDataCfgArray = () => {
25
+ // 明确有配置
26
+ if (Array.isArray(enableStandardUpdateCfg)) {
27
+ if (enableStandardUpdateCfg.includes('null')) {
28
+ return [];
29
+ }
30
+ return enableStandardUpdateCfg;
31
+ }
32
+ // update 、insert 添加 by
33
+ return ['by']; // 创建/修改语句默认添加by
34
+ };
35
+ const getConditionCfgArray = () => {
36
+ // 明确有配置
37
+ if (Array.isArray(enableStandardUpdateCfgCondition)) {
38
+ if (enableStandardUpdateCfgCondition.includes('null')) {
39
+ return [];
40
+ }
41
+ return enableStandardUpdateCfgCondition;
42
+ }
43
+ return [];
44
+ };
45
+ const dataCfgArray = getDataCfgArray();
46
+ const conditionCfgArray = getConditionCfgArray();
47
+ const mapping = {
48
+ 'condition.created_by': { contextAsString: bizmodels_1.CTX_VISITOR_ID },
49
+ 'condition.created_account_type': { contextAsString: bizmodels_1.CTX_VISITOR_ACCOUNT_TYPE },
50
+ 'data.created_by': { contextAsString: bizmodels_1.CTX_VISITOR_ID },
51
+ 'data.created_avatar': { contextAsString: bizmodels_1.CTX_VISITOR_AVATAR },
52
+ 'data.created_nickname': { contextAsString: bizmodels_1.CTX_VISITOR_NICKNAME },
53
+ 'data.created_account_type': { contextAsString: bizmodels_1.CTX_VISITOR_ACCOUNT_TYPE },
54
+ 'data.modified_by': { contextAsString: bizmodels_1.CTX_VISITOR_ID },
55
+ 'data.modified_avatar': { contextAsString: bizmodels_1.CTX_VISITOR_AVATAR },
56
+ 'data.modified_nickname': { contextAsString: bizmodels_1.CTX_VISITOR_NICKNAME },
57
+ 'data.modified_account_type': { contextAsString: bizmodels_1.CTX_VISITOR_ACCOUNT_TYPE },
58
+ };
59
+ const buildUpdateCfgBy = (cfgArray, prefix) => {
60
+ const obj = {};
61
+ if (Array.isArray(cfgArray)) {
62
+ for (let i = 0; i < cfgArray.length; i++) {
63
+ const suffix = cfgArray[i];
64
+ if (suffix) {
65
+ const key = `${prefix}_${suffix}`;
66
+ obj[key] = mapping[key];
67
+ }
68
+ }
69
+ }
70
+ return obj;
71
+ };
72
+ // 查询语句
73
+ if (isSimpleQuery(sqlSimpleName)) {
74
+ const updateCfgObj = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 查询用户本人创建的
75
+ _.merge(cfgModel.updateCfg, updateCfgObj);
76
+ }
77
+ // 删除语句
78
+ if (sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_DELETE) {
79
+ const updateCfgObj = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 删除用户本人创建的
80
+ _.merge(cfgModel.updateCfg, updateCfgObj);
81
+ }
82
+ // 插入语句
83
+ if (sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_INSERT) {
84
+ const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray, 'data.created');
85
+ _.merge(cfgModel.updateCfg, updateCfgObj1);
86
+ }
87
+ // 更新语句
88
+ if (sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_UPDATE) {
89
+ const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray, 'data.modified');
90
+ const updateCfgObj2 = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 更新用户本人创建的
91
+ _.merge(cfgModel.updateCfg, updateCfgObj1);
92
+ _.merge(cfgModel.updateCfg, updateCfgObj2);
93
+ }
94
+ // 插入或更新
95
+ if (sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_INSERT_OR_UPDATE || sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_INSERT_ON_DUPLICATE_UPDATE) {
96
+ const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray, 'data.created');
97
+ const updateCfgObj2 = buildUpdateCfgBy(dataCfgArray, 'data.modified');
98
+ const updateCfgObj3 = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 更新用户本人创建的
99
+ _.merge(cfgModel.updateCfg, updateCfgObj1);
100
+ _.merge(cfgModel.updateCfg, updateCfgObj2);
101
+ _.merge(cfgModel.updateCfg, updateCfgObj3);
102
+ }
103
+ }
104
+ exports.fixCfgModel = fixCfgModel;
@@ -1,21 +1,21 @@
1
- import { Context } from '@midwayjs/koa';
2
- import { BaseService } from '../base/BaseService';
3
- import { RouteTrie } from './RouteTrie';
4
- import { IScheduleService } from '../../interface';
5
- /**
6
- * 接口代理。 数据加载
7
- */
8
- export declare class ProxyApiLoadService extends BaseService implements IScheduleService {
9
- protected ctx: Context;
10
- private curdProService;
11
- private workbenchService;
12
- /**
13
- * 创建路由树。刷新路由缓存
14
- * @param workbench_code
15
- */
16
- buildRouteTrie(workbench_code: string): Promise<RouteTrie>;
17
- private buildUpstreamMap;
18
- private loadProxyApiEntity;
19
- private addUpstreamInfo;
20
- runBySchedule(): Promise<any>;
21
- }
1
+ import { Context } from '@midwayjs/koa';
2
+ import { BaseService } from '../base/BaseService';
3
+ import { RouteTrie } from './RouteTrie';
4
+ import { IScheduleService } from '../../interface';
5
+ /**
6
+ * 接口代理。 数据加载
7
+ */
8
+ export declare class ProxyApiLoadService extends BaseService implements IScheduleService {
9
+ protected ctx: Context;
10
+ private curdProService;
11
+ private workbenchService;
12
+ /**
13
+ * 创建路由树。刷新路由缓存
14
+ * @param workbench_code
15
+ */
16
+ buildRouteTrie(workbench_code: string): Promise<RouteTrie>;
17
+ private buildUpstreamMap;
18
+ private loadProxyApiEntity;
19
+ private addUpstreamInfo;
20
+ runBySchedule(): Promise<any>;
21
+ }
@@ -1,167 +1,167 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ProxyApiLoadService = void 0;
13
- const core_1 = require("@midwayjs/core");
14
- const _ = require("lodash");
15
- const BaseService_1 = require("../base/BaseService");
16
- const RouteTrie_1 = require("./RouteTrie");
17
- const RouteHandler_1 = require("./RouteHandler");
18
- const CurdProService_1 = require("../curd/CurdProService");
19
- const SystemTables_1 = require("../../models/SystemTables");
20
- const keys_1 = require("../../libs/crud-pro/models/keys");
21
- const functions_1 = require("../../libs/utils/functions");
22
- const ProxyApiUtils_1 = require("./ProxyApiUtils");
23
- const WeightedRandom_1 = require("./WeightedRandom");
24
- const WeightedRoundRobin_1 = require("./WeightedRoundRobin");
25
- const WorkbenchService_1 = require("../WorkbenchService");
26
- const exceptions_1 = require("../../libs/crud-pro/exceptions");
27
- const global_config_1 = require("../../libs/global-config/global-config");
28
- function toUpstreamInfo(config_content) {
29
- const obj = (0, functions_1.parseJsonObject)(config_content);
30
- if (!obj) {
31
- return {
32
- balanceStrategy: ProxyApiUtils_1.BALANCE_STRATEGY.ROUND_ROBIN,
33
- targetList: [],
34
- };
35
- }
36
- const targetList = _.get(obj, 'data.targetList', []);
37
- const balanceStrategy = _.get(obj, 'data.baseInfo.balanceStrategy');
38
- if (Array.isArray(targetList)) {
39
- const targetListParsed = targetList
40
- .map((item) => {
41
- return {
42
- origin: item.origin,
43
- weight: item.weight || 1,
44
- };
45
- })
46
- .filter(item => {
47
- const origin = (item === null || item === void 0 ? void 0 : item.origin) || '';
48
- return origin.startsWith('http://') || origin.startsWith('https://');
49
- });
50
- return {
51
- balanceStrategy,
52
- targetList: targetListParsed,
53
- };
54
- }
55
- return {
56
- balanceStrategy: ProxyApiUtils_1.BALANCE_STRATEGY.ROUND_ROBIN,
57
- targetList: [],
58
- };
59
- }
60
- /**
61
- * 接口代理。 数据加载
62
- */
63
- let ProxyApiLoadService = class ProxyApiLoadService extends BaseService_1.BaseService {
64
- /**
65
- * 创建路由树。刷新路由缓存
66
- * @param workbench_code
67
- */
68
- async buildRouteTrie(workbench_code) {
69
- const upstreamMap = await this.buildUpstreamMap();
70
- const routeTrie = (0, RouteTrie_1.getRouteTrie)(workbench_code);
71
- routeTrie.clearRoute();
72
- const entities = await this.loadProxyApiEntity(workbench_code, upstreamMap);
73
- for (let i = 0; i < entities.length; i++) {
74
- const entity = entities[i];
75
- if (entity.status === 1) {
76
- const path_prefix2 = '/' + entity.upstream_code + entity.path_prefix;
77
- routeTrie.addRoute(path_prefix2, new RouteHandler_1.RouteHandler(entity));
78
- }
79
- }
80
- return routeTrie;
81
- }
82
- async buildUpstreamMap() {
83
- const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
84
- // biz_tag={'upstream'}
85
- const res = await this.curdProService.executeCrudByCfg({
86
- condition: {
87
- biz_tag: 'upstream',
88
- },
89
- }, {
90
- sqlTable: SystemTables_1.SystemTables.sys_configs,
91
- sqlDatabase: SystemDbName,
92
- sqlDbType: SystemDbType,
93
- sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
94
- });
95
- const upstreamMap = {};
96
- const rows = res.getResRows();
97
- for (let i = 0; i < rows.length; i++) {
98
- const row = rows[i];
99
- const { config_code, config_content } = row || {};
100
- upstreamMap[config_code] = toUpstreamInfo(config_content);
101
- }
102
- return upstreamMap;
103
- }
104
- async loadProxyApiEntity(workbench_code, upstreamMap) {
105
- const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
106
- const res = await this.curdProService.executeCrudByCfg({
107
- condition: {},
108
- }, {
109
- sqlTable: SystemTables_1.SystemTables.sys_proxyapi,
110
- sqlDatabase: SystemDbName,
111
- sqlDbType: SystemDbType,
112
- sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
113
- });
114
- const rows0 = res.getResRows();
115
- const rows = rows0.filter(s => {
116
- if (!s.workbench_code_array) {
117
- throw new exceptions_1.CommonException('IS_SUPPORT_CURRENT_WORKBENCH', '未配置支持的站点字段');
118
- }
119
- return this.workbenchService.isMatchWorkbenchCode(s.workbench_code_array, workbench_code);
120
- });
121
- for (let i = 0; i < rows.length; i++) {
122
- const row = rows[i];
123
- const upstream_code = row.upstream_code;
124
- this.addUpstreamInfo(row, upstream_code, upstreamMap);
125
- }
126
- return rows;
127
- }
128
- addUpstreamInfo(row, upstream_code, upstreamMap) {
129
- const upstreamInfo = upstreamMap[upstream_code];
130
- if (!upstreamInfo) {
131
- return;
132
- }
133
- row.targetIndex = 0;
134
- row.targetList = upstreamInfo.targetList || [];
135
- row.balanceStrategy = upstreamInfo.balanceStrategy || ProxyApiUtils_1.BALANCE_STRATEGY.ROUND_ROBIN;
136
- row.weightedRandom = new WeightedRandom_1.WeightedRandom(upstreamInfo.targetList || []);
137
- row.weightedRoundRobin = new WeightedRoundRobin_1.WeightedRoundRobin(upstreamInfo.targetList || []);
138
- }
139
- async runBySchedule() {
140
- const workbenchList = await this.workbenchService.getAllWorkbenchInfoList();
141
- for (let i = 0; i < workbenchList.length; i++) {
142
- const workbenchInfo = workbenchList[i];
143
- try {
144
- await this.buildRouteTrie(workbenchInfo.workbench_code);
145
- }
146
- catch (e) {
147
- this.logError('ProxyApiLoadService_runBySchedule', e);
148
- }
149
- }
150
- }
151
- };
152
- __decorate([
153
- (0, core_1.Inject)(),
154
- __metadata("design:type", Object)
155
- ], ProxyApiLoadService.prototype, "ctx", void 0);
156
- __decorate([
157
- (0, core_1.Inject)(),
158
- __metadata("design:type", CurdProService_1.CurdProService)
159
- ], ProxyApiLoadService.prototype, "curdProService", void 0);
160
- __decorate([
161
- (0, core_1.Inject)(),
162
- __metadata("design:type", WorkbenchService_1.WorkbenchService)
163
- ], ProxyApiLoadService.prototype, "workbenchService", void 0);
164
- ProxyApiLoadService = __decorate([
165
- (0, core_1.Provide)()
166
- ], ProxyApiLoadService);
167
- exports.ProxyApiLoadService = ProxyApiLoadService;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ProxyApiLoadService = void 0;
13
+ const core_1 = require("@midwayjs/core");
14
+ const _ = require("lodash");
15
+ const BaseService_1 = require("../base/BaseService");
16
+ const RouteTrie_1 = require("./RouteTrie");
17
+ const RouteHandler_1 = require("./RouteHandler");
18
+ const CurdProService_1 = require("../curd/CurdProService");
19
+ const SystemTables_1 = require("../../models/SystemTables");
20
+ const keys_1 = require("../../libs/crud-pro/models/keys");
21
+ const functions_1 = require("../../libs/utils/functions");
22
+ const ProxyApiUtils_1 = require("./ProxyApiUtils");
23
+ const WeightedRandom_1 = require("./WeightedRandom");
24
+ const WeightedRoundRobin_1 = require("./WeightedRoundRobin");
25
+ const WorkbenchService_1 = require("../WorkbenchService");
26
+ const exceptions_1 = require("../../libs/crud-pro/exceptions");
27
+ const global_config_1 = require("../../libs/global-config/global-config");
28
+ function toUpstreamInfo(config_content) {
29
+ const obj = (0, functions_1.parseJsonObject)(config_content);
30
+ if (!obj) {
31
+ return {
32
+ balanceStrategy: ProxyApiUtils_1.BALANCE_STRATEGY.ROUND_ROBIN,
33
+ targetList: [],
34
+ };
35
+ }
36
+ const targetList = _.get(obj, 'data.targetList', []);
37
+ const balanceStrategy = _.get(obj, 'data.baseInfo.balanceStrategy');
38
+ if (Array.isArray(targetList)) {
39
+ const targetListParsed = targetList
40
+ .map((item) => {
41
+ return {
42
+ origin: item.origin,
43
+ weight: item.weight || 1,
44
+ };
45
+ })
46
+ .filter(item => {
47
+ const origin = (item === null || item === void 0 ? void 0 : item.origin) || '';
48
+ return origin.startsWith('http://') || origin.startsWith('https://');
49
+ });
50
+ return {
51
+ balanceStrategy,
52
+ targetList: targetListParsed,
53
+ };
54
+ }
55
+ return {
56
+ balanceStrategy: ProxyApiUtils_1.BALANCE_STRATEGY.ROUND_ROBIN,
57
+ targetList: [],
58
+ };
59
+ }
60
+ /**
61
+ * 接口代理。 数据加载
62
+ */
63
+ let ProxyApiLoadService = class ProxyApiLoadService extends BaseService_1.BaseService {
64
+ /**
65
+ * 创建路由树。刷新路由缓存
66
+ * @param workbench_code
67
+ */
68
+ async buildRouteTrie(workbench_code) {
69
+ const upstreamMap = await this.buildUpstreamMap();
70
+ const routeTrie = (0, RouteTrie_1.getRouteTrie)(workbench_code);
71
+ routeTrie.clearRoute();
72
+ const entities = await this.loadProxyApiEntity(workbench_code, upstreamMap);
73
+ for (let i = 0; i < entities.length; i++) {
74
+ const entity = entities[i];
75
+ if (entity.status === 1) {
76
+ const path_prefix2 = '/' + entity.upstream_code + entity.path_prefix;
77
+ routeTrie.addRoute(path_prefix2, new RouteHandler_1.RouteHandler(entity));
78
+ }
79
+ }
80
+ return routeTrie;
81
+ }
82
+ async buildUpstreamMap() {
83
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
84
+ // biz_tag={'upstream'}
85
+ const res = await this.curdProService.executeCrudByCfg({
86
+ condition: {
87
+ biz_tag: 'upstream',
88
+ },
89
+ }, {
90
+ sqlTable: SystemTables_1.SystemTables.sys_configs,
91
+ sqlDatabase: SystemDbName,
92
+ sqlDbType: SystemDbType,
93
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
94
+ });
95
+ const upstreamMap = {};
96
+ const rows = res.getResRows();
97
+ for (let i = 0; i < rows.length; i++) {
98
+ const row = rows[i];
99
+ const { config_code, config_content } = row || {};
100
+ upstreamMap[config_code] = toUpstreamInfo(config_content);
101
+ }
102
+ return upstreamMap;
103
+ }
104
+ async loadProxyApiEntity(workbench_code, upstreamMap) {
105
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
106
+ const res = await this.curdProService.executeCrudByCfg({
107
+ condition: {},
108
+ }, {
109
+ sqlTable: SystemTables_1.SystemTables.sys_proxyapi,
110
+ sqlDatabase: SystemDbName,
111
+ sqlDbType: SystemDbType,
112
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
113
+ });
114
+ const rows0 = res.getResRows();
115
+ const rows = rows0.filter(s => {
116
+ if (!s.workbench_code_array) {
117
+ throw new exceptions_1.CommonException('IS_SUPPORT_CURRENT_WORKBENCH', '未配置支持的站点字段');
118
+ }
119
+ return this.workbenchService.isMatchWorkbenchCode(s.workbench_code_array, workbench_code);
120
+ });
121
+ for (let i = 0; i < rows.length; i++) {
122
+ const row = rows[i];
123
+ const upstream_code = row.upstream_code;
124
+ this.addUpstreamInfo(row, upstream_code, upstreamMap);
125
+ }
126
+ return rows;
127
+ }
128
+ addUpstreamInfo(row, upstream_code, upstreamMap) {
129
+ const upstreamInfo = upstreamMap[upstream_code];
130
+ if (!upstreamInfo) {
131
+ return;
132
+ }
133
+ row.targetIndex = 0;
134
+ row.targetList = upstreamInfo.targetList || [];
135
+ row.balanceStrategy = upstreamInfo.balanceStrategy || ProxyApiUtils_1.BALANCE_STRATEGY.ROUND_ROBIN;
136
+ row.weightedRandom = new WeightedRandom_1.WeightedRandom(upstreamInfo.targetList || []);
137
+ row.weightedRoundRobin = new WeightedRoundRobin_1.WeightedRoundRobin(upstreamInfo.targetList || []);
138
+ }
139
+ async runBySchedule() {
140
+ const workbenchList = await this.workbenchService.getAllWorkbenchInfoList();
141
+ for (let i = 0; i < workbenchList.length; i++) {
142
+ const workbenchInfo = workbenchList[i];
143
+ try {
144
+ await this.buildRouteTrie(workbenchInfo.workbench_code);
145
+ }
146
+ catch (e) {
147
+ this.logError('ProxyApiLoadService_runBySchedule', e);
148
+ }
149
+ }
150
+ }
151
+ };
152
+ __decorate([
153
+ (0, core_1.Inject)(),
154
+ __metadata("design:type", Object)
155
+ ], ProxyApiLoadService.prototype, "ctx", void 0);
156
+ __decorate([
157
+ (0, core_1.Inject)(),
158
+ __metadata("design:type", CurdProService_1.CurdProService)
159
+ ], ProxyApiLoadService.prototype, "curdProService", void 0);
160
+ __decorate([
161
+ (0, core_1.Inject)(),
162
+ __metadata("design:type", WorkbenchService_1.WorkbenchService)
163
+ ], ProxyApiLoadService.prototype, "workbenchService", void 0);
164
+ ProxyApiLoadService = __decorate([
165
+ (0, core_1.Provide)()
166
+ ], ProxyApiLoadService);
167
+ exports.ProxyApiLoadService = ProxyApiLoadService;