midway-fatcms 0.0.1-beta.22 → 0.0.1-beta.24

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 (420) hide show
  1. package/.eslintrc.json +14 -12
  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 +187 -185
  6. package/dist/config/seed/aeskey.txt +1 -1
  7. package/dist/config/utils.d.ts +1 -1
  8. package/dist/config/utils.js +23 -23
  9. package/dist/configuration.d.ts +7 -7
  10. package/dist/configuration.js +113 -114
  11. package/dist/controller/base/BaseApiController.d.ts +37 -31
  12. package/dist/controller/base/BaseApiController.js +164 -146
  13. package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -13
  14. package/dist/controller/gateway/AnyApiGatewayController.js +55 -55
  15. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -14
  16. package/dist/controller/gateway/AsyncTaskController.js +181 -108
  17. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -21
  18. package/dist/controller/gateway/CrudMtdGatewayController.js +119 -119
  19. package/dist/controller/gateway/CrudStdGatewayController.d.ts +38 -38
  20. package/dist/controller/gateway/CrudStdGatewayController.js +137 -137
  21. package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
  22. package/dist/controller/gateway/DocGatewayController.js +179 -179
  23. package/dist/controller/gateway/FileController.d.ts +25 -25
  24. package/dist/controller/gateway/FileController.js +129 -129
  25. package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
  26. package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
  27. package/dist/controller/gateway/PublicApiController.d.ts +27 -27
  28. package/dist/controller/gateway/PublicApiController.js +165 -165
  29. package/dist/controller/gateway/StaticController.d.ts +24 -23
  30. package/dist/controller/gateway/StaticController.js +288 -284
  31. package/dist/controller/helpers.controller.d.ts +39 -39
  32. package/dist/controller/helpers.controller.js +188 -188
  33. package/dist/controller/home.controller.d.ts +9 -9
  34. package/dist/controller/home.controller.js +71 -71
  35. package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -10
  36. package/dist/controller/manage/AnyApiMangeApi.js +98 -98
  37. package/dist/controller/manage/AppLogMangeApi.d.ts +10 -10
  38. package/dist/controller/manage/AppLogMangeApi.js +88 -88
  39. package/dist/controller/manage/AppMangeApi.d.ts +10 -10
  40. package/dist/controller/manage/AppMangeApi.js +88 -88
  41. package/dist/controller/manage/AppPageMangeApi.d.ts +10 -10
  42. package/dist/controller/manage/AppPageMangeApi.js +87 -87
  43. package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -10
  44. package/dist/controller/manage/AppSchemaHistoryApi.js +83 -83
  45. package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -10
  46. package/dist/controller/manage/CrudMethodsMangeApi.js +84 -84
  47. package/dist/controller/manage/CrudStandardDesignApi.d.ts +38 -38
  48. package/dist/controller/manage/CrudStandardDesignApi.js +334 -334
  49. package/dist/controller/manage/DataDictManageApi.d.ts +15 -15
  50. package/dist/controller/manage/DataDictManageApi.js +133 -133
  51. package/dist/controller/manage/DeployManageApi.d.ts +19 -19
  52. package/dist/controller/manage/DeployManageApi.js +180 -180
  53. package/dist/controller/manage/DocLibManageApi.d.ts +10 -10
  54. package/dist/controller/manage/DocLibManageApi.js +104 -104
  55. package/dist/controller/manage/DocManageApi.d.ts +11 -11
  56. package/dist/controller/manage/DocManageApi.js +130 -130
  57. package/dist/controller/manage/FileManageApi.d.ts +13 -13
  58. package/dist/controller/manage/FileManageApi.js +77 -77
  59. package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -13
  60. package/dist/controller/manage/LowCodeTplManageApi.js +86 -86
  61. package/dist/controller/manage/MenuManageApi.d.ts +10 -10
  62. package/dist/controller/manage/MenuManageApi.js +93 -93
  63. package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -10
  64. package/dist/controller/manage/ProxyApiMangeApi.js +87 -87
  65. package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -24
  66. package/dist/controller/manage/SuperAdminManageApi.js +153 -153
  67. package/dist/controller/manage/SysConfigMangeApi.d.ts +11 -11
  68. package/dist/controller/manage/SysConfigMangeApi.js +126 -126
  69. package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
  70. package/dist/controller/manage/SystemInfoManageApi.js +72 -72
  71. package/dist/controller/manage/UserAccountManageApi.d.ts +14 -14
  72. package/dist/controller/manage/UserAccountManageApi.js +129 -129
  73. package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
  74. package/dist/controller/manage/WorkbenchMangeApi.js +103 -103
  75. package/dist/controller/myinfo/AuthController.d.ts +33 -33
  76. package/dist/controller/myinfo/AuthController.js +136 -136
  77. package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
  78. package/dist/controller/myinfo/MyInfoController.js +51 -51
  79. package/dist/controller/render/AppRenderController.d.ts +11 -11
  80. package/dist/controller/render/AppRenderController.js +91 -91
  81. package/dist/controller/test.controller.d.ts +8 -8
  82. package/dist/controller/test.controller.js +51 -51
  83. package/dist/filter/default.filter.d.ts +7 -7
  84. package/dist/filter/default.filter.js +23 -23
  85. package/dist/filter/notfound.filter.d.ts +5 -5
  86. package/dist/filter/notfound.filter.js +20 -20
  87. package/dist/index.d.ts +102 -101
  88. package/dist/index.js +120 -119
  89. package/dist/interface.d.ts +27 -27
  90. package/dist/interface.js +3 -3
  91. package/dist/libs/crud-pro/CrudPro.d.ts +37 -37
  92. package/dist/libs/crud-pro/CrudPro.js +136 -136
  93. package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
  94. package/dist/libs/crud-pro/defaultConfigs.js +15 -15
  95. package/dist/libs/crud-pro/exceptions.d.ts +104 -104
  96. package/dist/libs/crud-pro/exceptions.js +117 -117
  97. package/dist/libs/crud-pro/interfaces.d.ts +163 -163
  98. package/dist/libs/crud-pro/interfaces.js +12 -12
  99. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +49 -43
  100. package/dist/libs/crud-pro/models/ExecuteContext.js +79 -79
  101. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -38
  102. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -72
  103. package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -18
  104. package/dist/libs/crud-pro/models/FuncContext.js +6 -6
  105. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -65
  106. package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -81
  107. package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -25
  108. package/dist/libs/crud-pro/models/RequestModel.js +113 -113
  109. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -16
  110. package/dist/libs/crud-pro/models/ResModel.js +2 -2
  111. package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -20
  112. package/dist/libs/crud-pro/models/ServiceHub.js +2 -2
  113. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +22 -22
  114. package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -40
  115. package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -6
  116. package/dist/libs/crud-pro/models/SqlSegArg.js +12 -12
  117. package/dist/libs/crud-pro/models/Transaction.d.ts +29 -29
  118. package/dist/libs/crud-pro/models/Transaction.js +67 -67
  119. package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +28 -28
  120. package/dist/libs/crud-pro/models/TransactionMySQL.js +76 -76
  121. package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +28 -28
  122. package/dist/libs/crud-pro/models/TransactionPostgres.js +85 -85
  123. package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +34 -34
  124. package/dist/libs/crud-pro/models/TransactionSqlServer.js +92 -92
  125. package/dist/libs/crud-pro/models/keys.d.ts +106 -106
  126. package/dist/libs/crud-pro/models/keys.js +149 -149
  127. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -11
  128. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -73
  129. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -9
  130. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +112 -112
  131. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -17
  132. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +225 -223
  133. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -9
  134. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -51
  135. package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -13
  136. package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -148
  137. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -24
  138. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +340 -340
  139. package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
  140. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -165
  141. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
  142. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +334 -334
  143. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -24
  144. package/dist/libs/crud-pro/services/CrudProServiceBase.js +79 -79
  145. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -9
  146. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +78 -78
  147. package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -32
  148. package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -64
  149. package/dist/libs/crud-pro/sql.txt +120 -120
  150. package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -9
  151. package/dist/libs/crud-pro/utils/CompareUtils.js +25 -25
  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 +49 -49
  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 +21 -21
  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 +11 -11
  184. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
  185. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +11 -11
  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 +45 -45
  189. package/dist/libs/global-config/global-config.js +33 -33
  190. package/dist/libs/utils/common-dto.d.ts +18 -18
  191. package/dist/libs/utils/common-dto.js +40 -40
  192. package/dist/libs/utils/crypto-utils.d.ts +3 -3
  193. package/dist/libs/utils/crypto-utils.js +46 -46
  194. package/dist/libs/utils/errorToString.d.ts +2 -2
  195. package/dist/libs/utils/errorToString.js +57 -57
  196. package/dist/libs/utils/fatcms-request.d.ts +30 -30
  197. package/dist/libs/utils/fatcms-request.js +104 -104
  198. package/dist/libs/utils/functions.d.ts +5 -4
  199. package/dist/libs/utils/functions.js +68 -63
  200. package/dist/libs/utils/ordernum-utils.d.ts +2 -2
  201. package/dist/libs/utils/ordernum-utils.js +13 -13
  202. package/dist/libs/utils/parseConfig.d.ts +7 -7
  203. package/dist/libs/utils/parseConfig.js +44 -44
  204. package/dist/libs/utils/parseCreateSql.d.ts +5 -5
  205. package/dist/libs/utils/parseCreateSql.js +86 -86
  206. package/dist/libs/utils/render-utils.d.ts +28 -28
  207. package/dist/libs/utils/render-utils.js +135 -135
  208. package/dist/middleware/forbidden.middleware.d.ts +10 -10
  209. package/dist/middleware/forbidden.middleware.js +54 -54
  210. package/dist/middleware/global.middleware.d.ts +10 -10
  211. package/dist/middleware/global.middleware.js +253 -253
  212. package/dist/middleware/permission.middleware.d.ts +18 -18
  213. package/dist/middleware/permission.middleware.js +74 -74
  214. package/dist/middleware/tx.middleware.d.ts +9 -9
  215. package/dist/middleware/tx.middleware.js +40 -40
  216. package/dist/models/AsyncTaskModel.d.ts +72 -69
  217. package/dist/models/AsyncTaskModel.js +29 -26
  218. package/dist/models/RedisKeys.d.ts +11 -8
  219. package/dist/models/RedisKeys.js +14 -11
  220. package/dist/models/SystemEntities.d.ts +98 -98
  221. package/dist/models/SystemEntities.js +2 -2
  222. package/dist/models/SystemPerm.d.ts +95 -95
  223. package/dist/models/SystemPerm.js +100 -100
  224. package/dist/models/SystemTables.d.ts +25 -25
  225. package/dist/models/SystemTables.js +28 -28
  226. package/dist/models/bizmodels.d.ts +96 -69
  227. package/dist/models/bizmodels.js +39 -34
  228. package/dist/models/contextLogger.d.ts +25 -25
  229. package/dist/models/contextLogger.js +112 -112
  230. package/dist/models/devops.d.ts +12 -12
  231. package/dist/models/devops.js +19 -19
  232. package/dist/models/userSession.d.ts +61 -61
  233. package/dist/models/userSession.js +165 -165
  234. package/dist/schedule/anonymousContext.d.ts +14 -13
  235. package/dist/schedule/anonymousContext.js +59 -59
  236. package/dist/schedule/index.d.ts +4 -4
  237. package/dist/schedule/index.js +10 -10
  238. package/dist/schedule/runSchedule.d.ts +12 -15
  239. package/dist/schedule/runSchedule.js +68 -68
  240. package/dist/schedule/scheduleNames.d.ts +13 -13
  241. package/dist/schedule/scheduleNames.js +17 -17
  242. package/dist/service/AuthService.d.ts +70 -70
  243. package/dist/service/AuthService.js +251 -251
  244. package/dist/service/EnumInfoService.d.ts +30 -30
  245. package/dist/service/EnumInfoService.js +126 -126
  246. package/dist/service/FileCenterService.d.ts +43 -43
  247. package/dist/service/FileCenterService.js +351 -351
  248. package/dist/service/SysConfigService.d.ts +7 -7
  249. package/dist/service/SysConfigService.js +47 -47
  250. package/dist/service/UserAccountService.d.ts +23 -23
  251. package/dist/service/UserAccountService.js +107 -107
  252. package/dist/service/UserSessionService.d.ts +16 -16
  253. package/dist/service/UserSessionService.js +86 -86
  254. package/dist/service/VisitStatService.d.ts +14 -14
  255. package/dist/service/VisitStatService.js +158 -158
  256. package/dist/service/WorkbenchService.d.ts +20 -20
  257. package/dist/service/WorkbenchService.js +159 -155
  258. package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
  259. package/dist/service/anyapi/AnyApiSandboxService.js +122 -122
  260. package/dist/service/anyapi/AnyApiService.d.ts +27 -27
  261. package/dist/service/anyapi/AnyApiService.js +181 -181
  262. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +37 -37
  263. package/dist/service/asyncTask/AsyncTaskRunnerService.js +242 -232
  264. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -7
  265. package/dist/service/asyncTask/AsyncTaskService.js +34 -34
  266. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  267. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  268. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  269. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +197 -0
  270. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  271. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +130 -0
  272. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  273. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +121 -0
  274. package/dist/service/base/ApiBaseService.d.ts +15 -15
  275. package/dist/service/base/ApiBaseService.js +50 -50
  276. package/dist/service/base/ApiRateLimiter.d.ts +10 -10
  277. package/dist/service/base/ApiRateLimiter.js +51 -51
  278. package/dist/service/base/BaseService.d.ts +41 -29
  279. package/dist/service/base/BaseService.js +101 -79
  280. package/dist/service/base/RedisCacheService.d.ts +13 -13
  281. package/dist/service/base/RedisCacheService.js +50 -50
  282. package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
  283. package/dist/service/crudstd/CrudStdActionService.js +32 -32
  284. package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
  285. package/dist/service/crudstd/CrudStdConstant.js +64 -64
  286. package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -10
  287. package/dist/service/crudstd/CrudStdRelationService.js +85 -85
  288. package/dist/service/crudstd/CrudStdService.d.ts +63 -51
  289. package/dist/service/crudstd/CrudStdService.js +259 -227
  290. package/dist/service/curd/CrudProQuick.d.ts +24 -24
  291. package/dist/service/curd/CrudProQuick.js +109 -105
  292. package/dist/service/curd/CurdMixByAccountService.d.ts +9 -9
  293. package/dist/service/curd/CurdMixByAccountService.js +93 -93
  294. package/dist/service/curd/CurdMixByDictService.d.ts +13 -13
  295. package/dist/service/curd/CurdMixByDictService.js +114 -113
  296. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +31 -31
  297. package/dist/service/curd/CurdMixByLinkToCustomService.js +203 -202
  298. package/dist/service/curd/CurdMixBySysConfigService.d.ts +9 -9
  299. package/dist/service/curd/CurdMixBySysConfigService.js +80 -80
  300. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +10 -10
  301. package/dist/service/curd/CurdMixByWorkbenchService.js +78 -78
  302. package/dist/service/curd/CurdMixService.d.ts +27 -17
  303. package/dist/service/curd/CurdMixService.js +100 -76
  304. package/dist/service/curd/CurdMixUtils.d.ts +51 -35
  305. package/dist/service/curd/CurdMixUtils.js +275 -238
  306. package/dist/service/curd/CurdProService.d.ts +32 -31
  307. package/dist/service/curd/CurdProService.js +210 -207
  308. package/dist/service/curd/fixCfgModel.d.ts +3 -3
  309. package/dist/service/curd/fixCfgModel.js +107 -107
  310. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
  311. package/dist/service/proxyapi/ProxyApiLoadService.js +167 -167
  312. package/dist/service/proxyapi/ProxyApiService.d.ts +60 -60
  313. package/dist/service/proxyapi/ProxyApiService.js +260 -260
  314. package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
  315. package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
  316. package/dist/service/proxyapi/RouteHandler.d.ts +5 -5
  317. package/dist/service/proxyapi/RouteHandler.js +9 -9
  318. package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
  319. package/dist/service/proxyapi/RouteTrie.js +63 -63
  320. package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
  321. package/dist/service/proxyapi/WeightedRandom.js +31 -31
  322. package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
  323. package/dist/service/proxyapi/WeightedRoundRobin.js +32 -32
  324. package/dist/views/404_app.html +31 -31
  325. package/dist/views/404_workbench.html +34 -34
  326. package/index.d.ts +10 -10
  327. package/package.json +80 -78
  328. package/src/config/config.default.ts +207 -203
  329. package/src/config/seed/aeskey.txt +1 -1
  330. package/src/config/utils.ts +2 -3
  331. package/src/configuration.ts +5 -12
  332. package/src/controller/base/BaseApiController.ts +21 -3
  333. package/src/controller/gateway/AsyncTaskController.ts +76 -2
  334. package/src/controller/gateway/StaticController.ts +15 -12
  335. package/src/controller/manage/AnyApiMangeApi.ts +66 -66
  336. package/src/controller/manage/AppLogMangeApi.ts +53 -53
  337. package/src/controller/manage/AppMangeApi.ts +53 -53
  338. package/src/controller/manage/AppPageMangeApi.ts +52 -52
  339. package/src/controller/manage/AppSchemaHistoryApi.ts +49 -49
  340. package/src/controller/manage/CrudMethodsMangeApi.ts +49 -49
  341. package/src/controller/manage/DataDictManageApi.ts +78 -78
  342. package/src/controller/manage/DocLibManageApi.ts +69 -69
  343. package/src/controller/manage/DocManageApi.ts +99 -99
  344. package/src/controller/manage/FileManageApi.ts +45 -45
  345. package/src/controller/manage/LowCodeTplManageApi.ts +52 -52
  346. package/src/controller/manage/MenuManageApi.ts +58 -58
  347. package/src/controller/manage/ProxyApiMangeApi.ts +52 -52
  348. package/src/controller/manage/SysConfigMangeApi.ts +95 -95
  349. package/src/controller/manage/UserAccountManageApi.ts +94 -94
  350. package/src/controller/manage/WorkbenchMangeApi.ts +72 -72
  351. package/src/index.ts +106 -105
  352. package/src/interface.ts +31 -31
  353. package/src/libs/crud-pro/models/ExecuteContext.ts +13 -4
  354. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +2 -3
  355. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +8 -9
  356. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +86 -86
  357. package/src/libs/crud-pro/sql.txt +120 -120
  358. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +26 -26
  359. package/src/libs/crud-pro/utils/sqlConvert/convertMix.ts +25 -25
  360. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +11 -11
  361. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +11 -11
  362. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +129 -129
  363. package/src/libs/utils/functions.ts +73 -67
  364. package/src/libs/utils/render-utils.ts +184 -184
  365. package/src/middleware/permission.middleware.ts +1 -2
  366. package/src/models/AsyncTaskModel.ts +82 -79
  367. package/src/models/RedisKeys.ts +10 -11
  368. package/src/models/SystemEntities.ts +115 -115
  369. package/src/models/SystemPerm.ts +105 -105
  370. package/src/models/SystemTables.ts +27 -27
  371. package/src/models/bizmodels.ts +120 -88
  372. package/src/models/contextLogger.ts +132 -132
  373. package/src/models/devops.ts +17 -17
  374. package/src/models/userSession.ts +216 -216
  375. package/src/schedule/anonymousContext.ts +17 -23
  376. package/src/schedule/index.ts +12 -12
  377. package/src/schedule/runSchedule.ts +82 -83
  378. package/src/schedule/scheduleNames.ts +21 -21
  379. package/src/service/AuthService.ts +275 -275
  380. package/src/service/EnumInfoService.ts +22 -27
  381. package/src/service/FileCenterService.ts +0 -5
  382. package/src/service/SysConfigService.ts +4 -5
  383. package/src/service/UserAccountService.ts +107 -110
  384. package/src/service/UserSessionService.ts +12 -16
  385. package/src/service/WorkbenchService.ts +15 -15
  386. package/src/service/anyapi/AnyApiSandboxService.ts +121 -121
  387. package/src/service/anyapi/AnyApiService.ts +187 -187
  388. package/src/service/asyncTask/AsyncTaskRunnerService.ts +19 -8
  389. package/src/service/asyncTask/handler/ExcelInfoModel.ts +11 -0
  390. package/src/service/asyncTask/handler/ExportExcelAsyncTaskHandler.ts +224 -0
  391. package/src/service/asyncTask/handler/ExportExcelByInnerHttpHandler.ts +147 -0
  392. package/src/service/asyncTask/handler/ExportExcelByStdCrudHandler.ts +138 -0
  393. package/src/service/base/ApiBaseService.ts +3 -3
  394. package/src/service/base/ApiRateLimiter.ts +59 -59
  395. package/src/service/base/BaseService.ts +100 -74
  396. package/src/service/base/RedisCacheService.ts +38 -38
  397. package/src/service/crudstd/CrudStdActionService.ts +27 -27
  398. package/src/service/crudstd/CrudStdConstant.ts +62 -62
  399. package/src/service/crudstd/CrudStdRelationService.ts +78 -78
  400. package/src/service/crudstd/CrudStdService.ts +283 -243
  401. package/src/service/curd/CrudProQuick.ts +11 -17
  402. package/src/service/curd/CurdMixByAccountService.ts +8 -9
  403. package/src/service/curd/CurdMixByDictService.ts +19 -24
  404. package/src/service/curd/CurdMixByLinkToCustomService.ts +10 -9
  405. package/src/service/curd/CurdMixBySysConfigService.ts +8 -13
  406. package/src/service/curd/CurdMixByWorkbenchService.ts +7 -8
  407. package/src/service/curd/CurdMixService.ts +37 -5
  408. package/src/service/curd/CurdMixUtils.ts +65 -45
  409. package/src/service/curd/CurdProService.ts +42 -48
  410. package/src/service/curd/fixCfgModel.ts +139 -139
  411. package/src/service/proxyapi/ProxyApiLoadService.ts +174 -174
  412. package/src/service/proxyapi/ProxyApiService.ts +262 -262
  413. package/src/service/proxyapi/ProxyApiUtils.ts +32 -32
  414. package/src/service/proxyapi/RouteHandler.ts +8 -8
  415. package/src/service/proxyapi/RouteTrie.ts +74 -74
  416. package/src/service/proxyapi/WeightedRandom.ts +37 -37
  417. package/src/service/proxyapi/WeightedRoundRobin.ts +44 -44
  418. package/src/views/404_app.html +31 -31
  419. package/src/views/404_workbench.html +34 -34
  420. package/tsconfig.json +32 -32
@@ -1,33 +1,24 @@
1
1
  import * as _ from 'lodash';
2
- import {Config, Inject, Provide} from '@midwayjs/core';
3
- import {CrudPro} from '@/libs/crud-pro/CrudPro';
4
- import {Context} from '@midwayjs/koa';
5
- import {
6
- IConnectionPool,
7
- ICrudProCfg,
8
- IRequestCfgModel,
9
- IRequestModel,
10
- ISqlCfgModel
11
- } from '@/libs/crud-pro/interfaces';
12
- import {SqlCfgModel} from '@/libs/crud-pro/models/SqlCfgModel';
13
- import {getConnectionPool as getMySQLConnectionPool} from '../../libs/crud-pro/utils/pool/MySQLUtils';
14
- import {getConnectionPool as getPostgresConnectionPool} from '../../libs/crud-pro/utils/pool/PostgresUtils';
15
- import {getConnectionPool as getSqlServerConnectionPool} from '../../libs/crud-pro/utils/pool/SqlServerUtils';
16
- import { SqlDbType} from '@/libs/crud-pro/models/keys';
17
- import {CommonException, Exceptions} from '@/libs/crud-pro/exceptions';
18
- import {UserSessionInfo} from '@/models/userSession';
19
- import {BaseExecuteContextFunc} from '@/libs/crud-pro/models/ExecuteContextFunc';
20
- import {ExecuteContext, IExecuteContextHandler} from '@/libs/crud-pro/models/ExecuteContext';
21
- import {RelatedType} from './CurdMixUtils';
22
- import {BaseService} from '../base/BaseService';
23
- import {
24
- IRequestCfgModel2,
25
- IVisitorExt,
26
- } from '@/models/bizmodels';
27
- import {IWorkbenchEntity} from '@/models/SystemEntities';
28
- import {CrudProQuick} from "@/service/curd/CrudProQuick";
29
- import {fixCfgModel} from "./fixCfgModel";
30
- import {GLOBAL_STATIC_CONFIG} from "@/libs/global-config/global-config";
2
+ import { Config, Inject, Provide } from '@midwayjs/core';
3
+ import { CrudPro } from '@/libs/crud-pro/CrudPro';
4
+ import { Context } from '@midwayjs/koa';
5
+ import { IConnectionPool, ICrudProCfg, IRequestCfgModel, IRequestModel, ISqlCfgModel } from '@/libs/crud-pro/interfaces';
6
+ import { SqlCfgModel } from '@/libs/crud-pro/models/SqlCfgModel';
7
+ import { getConnectionPool as getMySQLConnectionPool } from '../../libs/crud-pro/utils/pool/MySQLUtils';
8
+ import { getConnectionPool as getPostgresConnectionPool } from '../../libs/crud-pro/utils/pool/PostgresUtils';
9
+ import { getConnectionPool as getSqlServerConnectionPool } from '../../libs/crud-pro/utils/pool/SqlServerUtils';
10
+ import { SqlDbType } from '@/libs/crud-pro/models/keys';
11
+ import { CommonException, Exceptions } from '@/libs/crud-pro/exceptions';
12
+ import { UserSessionInfo } from '@/models/userSession';
13
+ import { BaseExecuteContextFunc } from '@/libs/crud-pro/models/ExecuteContextFunc';
14
+ import { ExecuteContext, IExecuteContextHandler } from '@/libs/crud-pro/models/ExecuteContext';
15
+ import { RelatedType } from './CurdMixUtils';
16
+ import { BaseService } from '../base/BaseService';
17
+ import { IRequestCfgModel2, IVisitorExt } from '@/models/bizmodels';
18
+ import { IWorkbenchEntity } from '@/models/SystemEntities';
19
+ import { CrudProQuick } from '@/service/curd/CrudProQuick';
20
+ import { fixCfgModel } from './fixCfgModel';
21
+ import { GLOBAL_STATIC_CONFIG } from '@/libs/global-config/global-config';
31
22
 
32
23
  function toVisitor(ctx: Context): IVisitorExt {
33
24
  const workbenchInfo: IWorkbenchEntity = ctx.workbenchInfo;
@@ -68,7 +59,7 @@ class MyContextFunc extends BaseExecuteContextFunc {
68
59
 
69
60
  constructor(cfgMap: any, responseCfgHandlers: Record<string, IExecuteContextHandler>) {
70
61
  super();
71
- const {mysql2Config, postgres2Config, sqlserver2Config} = cfgMap;
62
+ const { mysql2Config, postgres2Config, sqlserver2Config } = cfgMap;
72
63
  this.mysql2Config = mysql2Config;
73
64
  this.postgres2Config = postgres2Config;
74
65
  this.sqlserver2Config = sqlserver2Config;
@@ -77,7 +68,7 @@ class MyContextFunc extends BaseExecuteContextFunc {
77
68
 
78
69
  async getConnectionPool(sqlCfgModel: SqlCfgModel): Promise<IConnectionPool> {
79
70
  if (!sqlCfgModel.sqlDatabase) {
80
- console.error('查询语句中未指定数据库', sqlCfgModel.executeSql);
71
+ console.error('[MyContextFunc]查询语句中未指定数据库', sqlCfgModel.executeSql);
81
72
  throw new CommonException(Exceptions.DB_QUERY_PARAM_EMPTY, '查询语句中未指定数据库');
82
73
  }
83
74
  const dataBaseName = sqlCfgModel.sqlDatabase;
@@ -86,7 +77,7 @@ class MyContextFunc extends BaseExecuteContextFunc {
86
77
  if (sqlDbType === SqlDbType.postgres) {
87
78
  const dbConfig = _.get(this.postgres2Config, dataBaseName);
88
79
  if (!dbConfig) {
89
- console.error('postgres配置中不存在此数据库', JSON.stringify(sqlCfgModel));
80
+ console.error('[MyContextFunc]postgres配置中不存在此数据库', JSON.stringify(sqlCfgModel));
90
81
  throw new CommonException(Exceptions.DB_NOT_FOUND, 'postgres配置中不存在此数据库:' + dataBaseName);
91
82
  }
92
83
  return getPostgresConnectionPool(dataBaseName, dbConfig);
@@ -95,7 +86,7 @@ class MyContextFunc extends BaseExecuteContextFunc {
95
86
  if (sqlDbType === SqlDbType.sqlserver) {
96
87
  const dbConfig = _.get(this.sqlserver2Config, dataBaseName);
97
88
  if (!dbConfig) {
98
- console.error('sqlserver配置中不存在此数据库', JSON.stringify(sqlCfgModel));
89
+ console.error('[MyContextFunc]sqlserver配置中不存在此数据库', JSON.stringify(sqlCfgModel));
99
90
  throw new CommonException(Exceptions.DB_NOT_FOUND, 'sqlserver配置中不存在此数据库:' + dataBaseName);
100
91
  }
101
92
  return getSqlServerConnectionPool(dataBaseName, dbConfig);
@@ -103,13 +94,12 @@ class MyContextFunc extends BaseExecuteContextFunc {
103
94
 
104
95
  const dbConfig = _.get(this.mysql2Config, dataBaseName);
105
96
  if (!dbConfig) {
106
- console.error('MySQL配置中不存在此数据库', JSON.stringify(sqlCfgModel));
97
+ console.error('[MyContextFunc]MySQL配置中不存在此数据库', JSON.stringify(sqlCfgModel));
107
98
  throw new CommonException(Exceptions.DB_NOT_FOUND, 'MySQL配置中不存在此数据库:' + dataBaseName);
108
99
  }
109
100
  return getMySQLConnectionPool(dataBaseName, dbConfig);
110
101
  }
111
102
 
112
-
113
103
  async afterExecuteSQLList(): Promise<any> {
114
104
  const exeCtx = this.getExecuteContext();
115
105
  const handlers = Object.values(this.responseCfgHandlers);
@@ -121,7 +111,6 @@ class MyContextFunc extends BaseExecuteContextFunc {
121
111
  return null;
122
112
  }
123
113
 
124
-
125
114
  /**
126
115
  * 在执行之前可以根据业务需要修改需要执行的内容
127
116
  * @param reqJson
@@ -129,15 +118,13 @@ class MyContextFunc extends BaseExecuteContextFunc {
129
118
  */
130
119
  async beforeExecuteSQLList(reqJson: IRequestModel, cfgJson: IRequestCfgModel): Promise<any> {
131
120
  const { bizUpdateCfgModelForCrudPro } = GLOBAL_STATIC_CONFIG.getConfig();
132
- if (typeof bizUpdateCfgModelForCrudPro === "function") {
133
- await bizUpdateCfgModelForCrudPro(reqJson, cfgJson)
121
+ if (typeof bizUpdateCfgModelForCrudPro === 'function') {
122
+ await bizUpdateCfgModelForCrudPro(reqJson, cfgJson);
134
123
  }
135
124
  return Promise.resolve();
136
125
  }
137
-
138
126
  }
139
127
 
140
-
141
128
  @Provide()
142
129
  export class CurdProService extends BaseService {
143
130
  @Inject()
@@ -161,6 +148,10 @@ export class CurdProService extends BaseService {
161
148
  this.responseCfgHandlers[key] = handler;
162
149
  }
163
150
 
151
+ public getResponseCfgHandlers(): Record<RelatedType, IExecuteContextHandler> {
152
+ return this.responseCfgHandlers;
153
+ }
154
+
164
155
  /**
165
156
  * Execute级别:每次调用都会产生新的
166
157
  * @private
@@ -181,11 +172,14 @@ export class CurdProService extends BaseService {
181
172
 
182
173
  crudPro.contextCfg = crudProCfg;
183
174
 
184
- crudPro.contextFunc = new MyContextFunc({
185
- mysql2Config: this.mysql2Config,
186
- postgres2Config: this.postgres2Config,
187
- sqlserver2Config: this.sqlserver2Config
188
- }, this.responseCfgHandlers);
175
+ crudPro.contextFunc = new MyContextFunc(
176
+ {
177
+ mysql2Config: this.mysql2Config,
178
+ postgres2Config: this.postgres2Config,
179
+ sqlserver2Config: this.sqlserver2Config,
180
+ },
181
+ this.responseCfgHandlers
182
+ );
189
183
 
190
184
  return crudPro;
191
185
  }
@@ -213,7 +207,7 @@ export class CurdProService extends BaseService {
213
207
  }
214
208
 
215
209
  // 直接执行一个请求
216
- async executeCrudByCfg(reqJson: IRequestModel, cfgModel: IRequestCfgModel2): Promise<ExecuteContext> {
210
+ public async executeCrudByCfg(reqJson: IRequestModel, cfgModel: IRequestCfgModel2): Promise<ExecuteContext> {
217
211
  this.logInfo('executeCrudByCfg', cfgModel);
218
212
  const curdPro = this.getCrudPro();
219
213
 
@@ -222,14 +216,14 @@ export class CurdProService extends BaseService {
222
216
  return await curdPro.executeCrudByCfg(reqJson, cfgModel);
223
217
  }
224
218
 
225
- getBbUtil(sqlDatabase: string, sqlDbType: SqlDbType, sqlTable?: string): CrudProQuick {
219
+ public getBbUtil(sqlDatabase: string, sqlDbType: SqlDbType, sqlTable?: string): CrudProQuick {
226
220
  const curdPro = this.getCrudPro();
227
221
  return new CrudProQuick(curdPro, sqlDatabase, sqlDbType, sqlTable);
228
222
  }
229
223
 
230
224
  public async getCachedCfgByMethod(method: string): Promise<IRequestCfgModel> {
231
225
  const curdPro = this.getCrudPro();
232
- const isEnableCache = !this.isEnableDebug(); // 开发环境不使用缓存
226
+ const isEnableCache = !this.isEnableDebug(); // 开发环境不使用缓存
233
227
  return curdPro.getCachedCfgByMethod(method, isEnableCache);
234
228
  }
235
229
  }
@@ -1,139 +1,139 @@
1
- import {
2
- CTX_VISITOR_ACCOUNT_TYPE,
3
- CTX_VISITOR_AVATAR,
4
- CTX_VISITOR_ID,
5
- CTX_VISITOR_NICKNAME,
6
- IRequestCfgModel2
7
- } from "@/models/bizmodels";
8
- import {KeysOfSimpleSQL} from "@/libs/crud-pro/models/keys";
9
-
10
- function isSimpleQuery(sqlSimpleName: KeysOfSimpleSQL): boolean {
11
- return sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY ||
12
- sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY_COUNT ||
13
- sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY_PAGE ||
14
- sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY_ONE
15
- }
16
-
17
-
18
-
19
- function fixCfgModel(cfgModel: IRequestCfgModel2 ){
20
-
21
- if (!cfgModel.method) {
22
- cfgModel.method = 'anonymous';
23
- }
24
-
25
- if (!cfgModel.updateCfg) {
26
- cfgModel.updateCfg = {};
27
- }
28
-
29
- const sqlSimpleName = cfgModel.sqlSimpleName;
30
-
31
- const enableStandardUpdateCfg = cfgModel.enableStandardUpdateCfg; // 用于设置data字段
32
- const enableStandardUpdateCfgCondition = cfgModel.enableStandardUpdateCfgCondition; // 用于设置condition字段
33
-
34
- // 彻底关闭
35
- if (enableStandardUpdateCfg === false) {
36
- return ;
37
- }
38
-
39
- const getDataCfgArray = ()=>{
40
- // 明确有配置
41
- if (Array.isArray(enableStandardUpdateCfg)) {
42
- if (enableStandardUpdateCfg.includes('null')) {
43
- return [];
44
- }
45
- return enableStandardUpdateCfg;
46
- }
47
- // update 、insert 添加 by
48
- return ['by']; // 创建/修改语句默认添加by
49
- }
50
-
51
- const getConditionCfgArray = ()=>{
52
- // 明确有配置
53
- if (Array.isArray(enableStandardUpdateCfgCondition)) {
54
- if (enableStandardUpdateCfgCondition.includes('null')) {
55
- return [];
56
- }
57
- return enableStandardUpdateCfgCondition;
58
- }
59
- return [];
60
- }
61
-
62
-
63
- const dataCfgArray = getDataCfgArray();
64
- const conditionCfgArray = getConditionCfgArray();
65
-
66
- const mapping = {
67
-
68
- 'condition.created_by': {contextAsString: CTX_VISITOR_ID},
69
- 'condition.created_account_type': {contextAsString: CTX_VISITOR_ACCOUNT_TYPE},
70
-
71
- 'data.created_by': {contextAsString: CTX_VISITOR_ID},
72
- 'data.created_avatar': {contextAsString: CTX_VISITOR_AVATAR},
73
- 'data.created_nickname': {contextAsString: CTX_VISITOR_NICKNAME},
74
- 'data.created_account_type': {contextAsString: CTX_VISITOR_ACCOUNT_TYPE},
75
-
76
- 'data.modified_by': {contextAsString: CTX_VISITOR_ID},
77
- 'data.modified_avatar': {contextAsString: CTX_VISITOR_AVATAR},
78
- 'data.modified_nickname': {contextAsString: CTX_VISITOR_NICKNAME},
79
- 'data.modified_account_type': {contextAsString: CTX_VISITOR_ACCOUNT_TYPE},
80
- };
81
-
82
-
83
- const buildUpdateCfgBy = (cfgArray: string[], prefix: string): any => {
84
- const obj: any = {};
85
- if (Array.isArray(cfgArray)) {
86
- for (let i = 0; i < cfgArray.length; i++) {
87
- const suffix = cfgArray[i];
88
- if (suffix) {
89
- const key = `${prefix}_${suffix}`
90
- obj[key] = mapping[key]
91
- }
92
- }
93
- }
94
- return obj;
95
- }
96
-
97
- // 查询语句
98
- if (isSimpleQuery(sqlSimpleName) ) {
99
- const updateCfgObj = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 查询用户本人创建的
100
- Object.assign(cfgModel.updateCfg, updateCfgObj);
101
- }
102
-
103
- // 删除语句
104
- if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_DELETE) {
105
- const updateCfgObj = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 删除用户本人创建的
106
- Object.assign(cfgModel.updateCfg, updateCfgObj);
107
- }
108
-
109
- // 插入语句
110
- if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_INSERT) {
111
- const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray,'data.created')
112
- Object.assign(cfgModel.updateCfg, updateCfgObj1);
113
- }
114
-
115
- // 更新语句
116
- if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_UPDATE) {
117
- const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray,'data.modified')
118
- const updateCfgObj2 = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 更新用户本人创建的
119
- Object.assign(cfgModel.updateCfg, updateCfgObj1);
120
- Object.assign(cfgModel.updateCfg, updateCfgObj2);
121
- }
122
-
123
- // 插入或更新
124
- if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_INSERT_OR_UPDATE ||
125
- sqlSimpleName === KeysOfSimpleSQL.SIMPLE_INSERT_ON_DUPLICATE_UPDATE) {
126
- const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray,'data.created')
127
- const updateCfgObj2 = buildUpdateCfgBy(dataCfgArray,'data.modified')
128
- const updateCfgObj3 = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 更新用户本人创建的
129
- Object.assign(cfgModel.updateCfg, updateCfgObj1);
130
- Object.assign(cfgModel.updateCfg, updateCfgObj2);
131
- Object.assign(cfgModel.updateCfg, updateCfgObj3);
132
- }
133
- }
134
-
135
-
136
-
137
- export {
138
- fixCfgModel
139
- }
1
+ import {
2
+ CTX_VISITOR_ACCOUNT_TYPE,
3
+ CTX_VISITOR_AVATAR,
4
+ CTX_VISITOR_ID,
5
+ CTX_VISITOR_NICKNAME,
6
+ IRequestCfgModel2
7
+ } from "@/models/bizmodels";
8
+ import {KeysOfSimpleSQL} from "@/libs/crud-pro/models/keys";
9
+
10
+ function isSimpleQuery(sqlSimpleName: KeysOfSimpleSQL): boolean {
11
+ return sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY ||
12
+ sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY_COUNT ||
13
+ sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY_PAGE ||
14
+ sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY_ONE
15
+ }
16
+
17
+
18
+
19
+ function fixCfgModel(cfgModel: IRequestCfgModel2 ){
20
+
21
+ if (!cfgModel.method) {
22
+ cfgModel.method = 'anonymous';
23
+ }
24
+
25
+ if (!cfgModel.updateCfg) {
26
+ cfgModel.updateCfg = {};
27
+ }
28
+
29
+ const sqlSimpleName = cfgModel.sqlSimpleName;
30
+
31
+ const enableStandardUpdateCfg = cfgModel.enableStandardUpdateCfg; // 用于设置data字段
32
+ const enableStandardUpdateCfgCondition = cfgModel.enableStandardUpdateCfgCondition; // 用于设置condition字段
33
+
34
+ // 彻底关闭
35
+ if (enableStandardUpdateCfg === false) {
36
+ return ;
37
+ }
38
+
39
+ const getDataCfgArray = ()=>{
40
+ // 明确有配置
41
+ if (Array.isArray(enableStandardUpdateCfg)) {
42
+ if (enableStandardUpdateCfg.includes('null')) {
43
+ return [];
44
+ }
45
+ return enableStandardUpdateCfg;
46
+ }
47
+ // update 、insert 添加 by
48
+ return ['by']; // 创建/修改语句默认添加by
49
+ }
50
+
51
+ const getConditionCfgArray = ()=>{
52
+ // 明确有配置
53
+ if (Array.isArray(enableStandardUpdateCfgCondition)) {
54
+ if (enableStandardUpdateCfgCondition.includes('null')) {
55
+ return [];
56
+ }
57
+ return enableStandardUpdateCfgCondition;
58
+ }
59
+ return [];
60
+ }
61
+
62
+
63
+ const dataCfgArray = getDataCfgArray();
64
+ const conditionCfgArray = getConditionCfgArray();
65
+
66
+ const mapping = {
67
+
68
+ 'condition.created_by': {contextAsString: CTX_VISITOR_ID},
69
+ 'condition.created_account_type': {contextAsString: CTX_VISITOR_ACCOUNT_TYPE},
70
+
71
+ 'data.created_by': {contextAsString: CTX_VISITOR_ID},
72
+ 'data.created_avatar': {contextAsString: CTX_VISITOR_AVATAR},
73
+ 'data.created_nickname': {contextAsString: CTX_VISITOR_NICKNAME},
74
+ 'data.created_account_type': {contextAsString: CTX_VISITOR_ACCOUNT_TYPE},
75
+
76
+ 'data.modified_by': {contextAsString: CTX_VISITOR_ID},
77
+ 'data.modified_avatar': {contextAsString: CTX_VISITOR_AVATAR},
78
+ 'data.modified_nickname': {contextAsString: CTX_VISITOR_NICKNAME},
79
+ 'data.modified_account_type': {contextAsString: CTX_VISITOR_ACCOUNT_TYPE},
80
+ };
81
+
82
+
83
+ const buildUpdateCfgBy = (cfgArray: string[], prefix: string): any => {
84
+ const obj: any = {};
85
+ if (Array.isArray(cfgArray)) {
86
+ for (let i = 0; i < cfgArray.length; i++) {
87
+ const suffix = cfgArray[i];
88
+ if (suffix) {
89
+ const key = `${prefix}_${suffix}`
90
+ obj[key] = mapping[key]
91
+ }
92
+ }
93
+ }
94
+ return obj;
95
+ }
96
+
97
+ // 查询语句
98
+ if (isSimpleQuery(sqlSimpleName) ) {
99
+ const updateCfgObj = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 查询用户本人创建的
100
+ Object.assign(cfgModel.updateCfg, updateCfgObj);
101
+ }
102
+
103
+ // 删除语句
104
+ if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_DELETE) {
105
+ const updateCfgObj = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 删除用户本人创建的
106
+ Object.assign(cfgModel.updateCfg, updateCfgObj);
107
+ }
108
+
109
+ // 插入语句
110
+ if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_INSERT) {
111
+ const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray,'data.created')
112
+ Object.assign(cfgModel.updateCfg, updateCfgObj1);
113
+ }
114
+
115
+ // 更新语句
116
+ if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_UPDATE) {
117
+ const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray,'data.modified')
118
+ const updateCfgObj2 = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 更新用户本人创建的
119
+ Object.assign(cfgModel.updateCfg, updateCfgObj1);
120
+ Object.assign(cfgModel.updateCfg, updateCfgObj2);
121
+ }
122
+
123
+ // 插入或更新
124
+ if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_INSERT_OR_UPDATE ||
125
+ sqlSimpleName === KeysOfSimpleSQL.SIMPLE_INSERT_ON_DUPLICATE_UPDATE) {
126
+ const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray,'data.created')
127
+ const updateCfgObj2 = buildUpdateCfgBy(dataCfgArray,'data.modified')
128
+ const updateCfgObj3 = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 更新用户本人创建的
129
+ Object.assign(cfgModel.updateCfg, updateCfgObj1);
130
+ Object.assign(cfgModel.updateCfg, updateCfgObj2);
131
+ Object.assign(cfgModel.updateCfg, updateCfgObj3);
132
+ }
133
+ }
134
+
135
+
136
+
137
+ export {
138
+ fixCfgModel
139
+ }