midway-fatcms 0.0.1-beta.20 → 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 -141
  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 -72
  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 -228
  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 -77
  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 -0
  181. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  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 -226
  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 -213
  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 +25 -0
  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 +5 -4
  355. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +9 -14
  356. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +86 -85
  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 +26 -0
  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 +20 -3
  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 -226
  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,213 +1,259 @@
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.CrudStdService = exports.SPECIAL_SETTING_KEY = void 0;
13
- const core_1 = require("@midwayjs/core");
14
- const CurdMixService_1 = require("../curd/CurdMixService");
15
- const keys_1 = require("../../libs/crud-pro/models/keys");
16
- const functions_1 = require("../../libs/utils/functions");
17
- const devops_1 = require("../../models/devops");
18
- const SystemTables_1 = require("../../models/SystemTables");
19
- const CrudStdActionService_1 = require("./CrudStdActionService");
20
- const CrudStdRelationService_1 = require("./CrudStdRelationService");
21
- const _ = require("lodash");
22
- const ApiBaseService_1 = require("../base/ApiBaseService");
23
- const DatabaseName_1 = require("../../libs/crud-pro/utils/DatabaseName");
24
- const global_config_1 = require("../../libs/global-config/global-config");
25
- const MixinUtils_1 = require("../../libs/crud-pro/utils/MixinUtils");
26
- exports.SPECIAL_SETTING_KEY = {
27
- QUERY_LIST: 'QUERY_LIST',
28
- QUERY_ONE: 'QUERY_ONE',
29
- };
30
- let CrudStdService = class CrudStdService extends ApiBaseService_1.ApiBaseService {
31
- /**
32
- * 执行普通CRUD
33
- */
34
- async executeStdQuery(appCode, settingKey, params, sqlSimpleName) {
35
- const appInfo = await this.getParsedCrudStdAppForSettingKey(appCode, settingKey);
36
- const stdCrudCfgObj = appInfo.stdCrudCfgObj;
37
- if (!appInfo || appInfo.status !== 1) {
38
- throw new devops_1.BizException('应用不存在或已下线:' + appCode);
39
- }
40
- const databaseName = stdCrudCfgObj.tableBaseInfo.databaseName;
41
- const { dbType, dbName } = (0, DatabaseName_1.parseDatabaseName)(databaseName);
42
- const cfgModel = {
43
- sqlDatabase: dbName,
44
- sqlDbType: dbType,
45
- sqlTable: stdCrudCfgObj.tableBaseInfo.tableName,
46
- sqlSimpleName,
47
- };
48
- // 接口返回最大值
49
- const maxLimit = _.get(stdCrudCfgObj, 'othersSetting.values.maxLimit');
50
- if (typeof maxLimit === 'number' && maxLimit > 0) {
51
- cfgModel.maxLimit = maxLimit;
52
- }
53
- if (!appInfo.settingKeyActionCfg.hasOperationPerm) {
54
- throw new devops_1.BizException('没有权限');
55
- }
56
- // 根据用户配置,设置关联查询的数据信息。
57
- await this.crudStdRelationService.addCfgModelColumnsRelation(cfgModel, appInfo);
58
- // 根据表结构的数据类型,修正数据类型
59
- await this.fixDataFieldTypeBySqlTableField(params, cfgModel, appInfo, { dbType, dbName });
60
- // 业务系统自定义的修改cfgModel
61
- await global_config_1.GLOBAL_STATIC_CONFIG.getConfig().bizUpdateCfgModelForCrudStd(params, cfgModel, appInfo, this.ctx);
62
- return await this.curdMixService.executeCrudByCfg(params, cfgModel);
63
- }
64
- /**
65
- * 获取appInfo 并且拿到当前settingKey相关的信息
66
- * @param appCode
67
- * @param settingKey
68
- * @private
69
- */
70
- async getParsedCrudStdAppForSettingKey(appCode, settingKey) {
71
- if (!appCode) {
72
- throw new devops_1.BizException('缺少参数:curdStdAppCode');
73
- }
74
- const appInfo = await this.getParsedCrudStdAppInfo(appCode);
75
- if (!appInfo) {
76
- return null;
77
- }
78
- const actionsMap = appInfo.actionsMap;
79
- const appSchema = appInfo.stdCrudCfgObj;
80
- if (settingKey === exports.SPECIAL_SETTING_KEY.QUERY_LIST || settingKey === exports.SPECIAL_SETTING_KEY.QUERY_ONE) {
81
- const authSettingValues = _.get(appSchema, 'authSetting.values');
82
- const { auth_type, auth_config_by_func_code, auth_config_by_role_code } = authSettingValues || {};
83
- const authConfig = auth_type === 'byFuncCode' ? auth_config_by_func_code : auth_config_by_role_code;
84
- const hasOperationPerm = this.ctx.userSession.isAuthPass(auth_type, authConfig);
85
- appInfo.settingKeyActionCfg = { settingKey, hasOperationPerm };
86
- }
87
- else {
88
- const actionCfg = actionsMap[settingKey];
89
- if (!actionCfg) {
90
- throw new devops_1.BizException('没有找到相关配置:' + JSON.stringify({ appCode, settingKey }));
91
- }
92
- const componentNameCfg = _.get(actionCfg, 'component.componentName');
93
- if (!componentNameCfg) {
94
- throw new devops_1.BizException('没有配置动作组件:' + JSON.stringify({ appCode, settingKey }));
95
- }
96
- appInfo.settingKeyActionCfg = actionCfg;
97
- }
98
- return appInfo;
99
- }
100
- /**
101
- * 执行动作
102
- * @param appCode
103
- * @param settingKey
104
- * @param params
105
- */
106
- async executeStdActionByReq(appCode, settingKey, params) {
107
- const appInfo = await this.getParsedCrudStdAppForSettingKey(appCode, settingKey);
108
- if (!appInfo || appInfo.status !== 1) {
109
- throw new devops_1.BizException('应用不存在或已下线:' + appCode);
110
- }
111
- const actionsMap = appInfo.actionsMap;
112
- const actionCfg = appInfo.settingKeyActionCfg;
113
- return this.crudStdActionService.handleStdActionByReq({ appInfo, params, actionsMap, actionCfg });
114
- }
115
- /**
116
- * 查询APP信息
117
- * @param appCode
118
- * @private
119
- */
120
- async getCrudStdAppInfo(appCode) {
121
- const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
122
- this.logInfo('getCrudStdAppInfo', appCode);
123
- const ss = {
124
- sqlTable: SystemTables_1.SystemTables.sys_app,
125
- sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
126
- sqlDatabase: SystemDbName,
127
- sqlDbType: SystemDbType,
128
- };
129
- return await this.curdMixService.executeCrudByCfg({ condition: { app_code: appCode } }, ss);
130
- }
131
- /**
132
- * 查询APP信息
133
- * @param appCode
134
- * @private
135
- */
136
- async getParsedCrudStdAppInfo(appCode) {
137
- const a = await this.getCrudStdAppInfo(appCode);
138
- const { row } = a.getResModel();
139
- if (!row) {
140
- return null;
141
- }
142
- const { app_schema, ...others } = row;
143
- const stdCrudCfgObj = (0, functions_1.parseJsonObject)(app_schema);
144
- // 为了方便查找到action对象
145
- const actionsMap = {};
146
- const keys = Object.keys(stdCrudCfgObj);
147
- for (let i = 0; i < keys.length; i++) {
148
- const key = keys[i];
149
- const arrayCfg = stdCrudCfgObj[key];
150
- if (Array.isArray(arrayCfg)) {
151
- for (let j = 0; j < arrayCfg.length; j++) {
152
- const actionCfg = arrayCfg[j];
153
- actionCfg.hasOperationPerm = this.hasOperationPerm(actionCfg);
154
- if (actionCfg.settingKey) {
155
- actionsMap[actionCfg.settingKey] = actionCfg;
156
- }
157
- }
158
- }
159
- }
160
- return { ...others, stdCrudCfgObj, actionsMap };
161
- }
162
- hasOperationPerm(actionCfg) {
163
- const permissionCode = _.get(actionCfg, 'permissionCode');
164
- if (permissionCode) {
165
- return this.ctx.userSession.isAuthPass(keys_1.KeysOfAuthType.byFuncCode, permissionCode);
166
- }
167
- return true; // 无需鉴权
168
- }
169
- async fixDataFieldTypeBySqlTableField(params, cfgModel, appInfo, arg3) {
170
- const tableFields = _.get(appInfo, 'stdCrudCfgObj.tableFields');
171
- const tableFieldMap = MixinUtils_1.MixinUtils.toMap(tableFields, (e) => {
172
- return e.fieldIndex;
173
- });
174
- if (arg3.dbType === keys_1.SqlDbType.postgres) {
175
- if (cfgModel.sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_INSERT || cfgModel.sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_UPDATE) {
176
- const data = params.data || {};
177
- const dataKeys = Object.keys(data);
178
- for (let index = 0; index < dataKeys.length; index++) {
179
- const dataKey = dataKeys[index];
180
- const dataValue = data[dataKey];
181
- const fieldInfo = tableFieldMap[dataKey];
182
- const fieldType = ('' + _.get(fieldInfo, 'type')).toUpperCase();
183
- if (fieldType === 'ARRAY') {
184
- const dataValueArray = (0, functions_1.parseJsonObject)(dataValue);
185
- if (Array.isArray(dataValueArray)) {
186
- data[dataKey] = `{${dataValueArray.map(v => `"${v}"`).join(',')}}`;
187
- }
188
- }
189
- }
190
- }
191
- }
192
- }
193
- };
194
- __decorate([
195
- (0, core_1.Inject)(),
196
- __metadata("design:type", Object)
197
- ], CrudStdService.prototype, "ctx", void 0);
198
- __decorate([
199
- (0, core_1.Inject)(),
200
- __metadata("design:type", CurdMixService_1.CurdMixService)
201
- ], CrudStdService.prototype, "curdMixService", void 0);
202
- __decorate([
203
- (0, core_1.Inject)(),
204
- __metadata("design:type", CrudStdActionService_1.CrudStdActionService)
205
- ], CrudStdService.prototype, "crudStdActionService", void 0);
206
- __decorate([
207
- (0, core_1.Inject)(),
208
- __metadata("design:type", CrudStdRelationService_1.CrudStdRelationService)
209
- ], CrudStdService.prototype, "crudStdRelationService", void 0);
210
- CrudStdService = __decorate([
211
- (0, core_1.Provide)()
212
- ], CrudStdService);
213
- exports.CrudStdService = CrudStdService;
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.CrudStdService = exports.SPECIAL_SETTING_KEY = void 0;
13
+ const _ = require("lodash");
14
+ const axios_1 = require("axios");
15
+ const core_1 = require("@midwayjs/core");
16
+ const CurdMixService_1 = require("../curd/CurdMixService");
17
+ const keys_1 = require("../../libs/crud-pro/models/keys");
18
+ const functions_1 = require("../../libs/utils/functions");
19
+ const devops_1 = require("../../models/devops");
20
+ const SystemTables_1 = require("../../models/SystemTables");
21
+ const CrudStdActionService_1 = require("./CrudStdActionService");
22
+ const CrudStdRelationService_1 = require("./CrudStdRelationService");
23
+ const ApiBaseService_1 = require("../base/ApiBaseService");
24
+ const DatabaseName_1 = require("../../libs/crud-pro/utils/DatabaseName");
25
+ const global_config_1 = require("../../libs/global-config/global-config");
26
+ const MixinUtils_1 = require("../../libs/crud-pro/utils/MixinUtils");
27
+ exports.SPECIAL_SETTING_KEY = {
28
+ QUERY_LIST: 'QUERY_LIST',
29
+ QUERY_ONE: 'QUERY_ONE',
30
+ };
31
+ const INNER_HTTP_POTOCAL = "innerHttp://";
32
+ let CrudStdService = class CrudStdService extends ApiBaseService_1.ApiBaseService {
33
+ /**
34
+ * 执行普通CRUD
35
+ */
36
+ async executeStdQuery(appCode, settingKey, params, sqlSimpleName) {
37
+ const appInfo = await this.getParsedCrudStdAppForSettingKey(appCode, settingKey);
38
+ const stdCrudCfgObj = appInfo.stdCrudCfgObj;
39
+ if (!appInfo || appInfo.status !== 1) {
40
+ throw new devops_1.BizException('应用不存在或已下线:' + appCode);
41
+ }
42
+ // 查询列表功能
43
+ if (settingKey === exports.SPECIAL_SETTING_KEY.QUERY_LIST) {
44
+ // 正确启用了自定义查询功能
45
+ const customQueryApi = _.get(stdCrudCfgObj, 'othersSetting.values.customQueryApi');
46
+ if (typeof customQueryApi === 'string' && customQueryApi.startsWith(INNER_HTTP_POTOCAL)) {
47
+ return this.executeStdQueryByInnerHttp(customQueryApi, params);
48
+ }
49
+ }
50
+ const databaseName = stdCrudCfgObj.tableBaseInfo.databaseName;
51
+ const { dbType, dbName } = (0, DatabaseName_1.parseDatabaseName)(databaseName);
52
+ const cfgModel = {
53
+ sqlDatabase: dbName,
54
+ sqlDbType: dbType,
55
+ sqlTable: stdCrudCfgObj.tableBaseInfo.tableName,
56
+ sqlSimpleName,
57
+ };
58
+ // 接口返回最大值
59
+ const maxLimit = _.get(stdCrudCfgObj, 'othersSetting.values.maxLimit');
60
+ if (typeof maxLimit === 'number' && maxLimit > 0) {
61
+ cfgModel.maxLimit = maxLimit;
62
+ }
63
+ if (!appInfo.settingKeyActionCfg.hasOperationPerm) {
64
+ throw new devops_1.BizException('没有权限');
65
+ }
66
+ // 根据用户配置,设置关联查询的数据信息。
67
+ await this.crudStdRelationService.addCfgModelColumnsRelation(cfgModel, appInfo);
68
+ // 根据表结构的数据类型,修正数据类型
69
+ await this.fixDataFieldTypeBySqlTableField(params, cfgModel, appInfo, { dbType, dbName });
70
+ // 业务系统自定义的修改cfgModel
71
+ await global_config_1.GLOBAL_STATIC_CONFIG.getConfig().bizUpdateCfgModelForCrudStd(params, cfgModel, appInfo, this.ctx);
72
+ return await this.curdMixService.executeCrudByCfg(params, cfgModel);
73
+ }
74
+ /**
75
+ * 内部请求
76
+ * @param customQueryApi
77
+ * @param params
78
+ */
79
+ async executeStdQueryByInnerHttp(customQueryApi, params) {
80
+ var _a;
81
+ const queryApi = customQueryApi.substring(INNER_HTTP_POTOCAL.length);
82
+ const port = this.app.getConfig().koa.port;
83
+ const response = await (0, axios_1.default)({
84
+ method: 'POST',
85
+ url: `http://127.0.0.1:${port}/${queryApi}`,
86
+ data: ((_a = this.ctx.request) === null || _a === void 0 ? void 0 : _a.body) || params,
87
+ headers: this.ctx.innerHeaders || this.ctx.headers,
88
+ responseType: 'json',
89
+ validateStatus: () => true,
90
+ });
91
+ if (response.status !== 200) {
92
+ throw new Error('executeStdQueryByInnerHttp请求错误失败');
93
+ }
94
+ return Promise.resolve(response.data);
95
+ }
96
+ /**
97
+ * 获取appInfo 并且拿到当前settingKey相关的信息
98
+ * @param appCode
99
+ * @param settingKey
100
+ * @private
101
+ */
102
+ async getParsedCrudStdAppForSettingKey(appCode, settingKey) {
103
+ if (!appCode) {
104
+ throw new devops_1.BizException('缺少参数:curdStdAppCode');
105
+ }
106
+ const appInfo = await this.getParsedCrudStdAppInfo(appCode);
107
+ if (!appInfo) {
108
+ return null;
109
+ }
110
+ const actionsMap = appInfo.actionsMap;
111
+ const appSchema = appInfo.stdCrudCfgObj;
112
+ if (settingKey === exports.SPECIAL_SETTING_KEY.QUERY_LIST || settingKey === exports.SPECIAL_SETTING_KEY.QUERY_ONE) {
113
+ const authSettingValues = _.get(appSchema, 'authSetting.values');
114
+ const { auth_type, auth_config_by_func_code, auth_config_by_role_code } = authSettingValues || {};
115
+ const authConfig = auth_type === 'byFuncCode' ? auth_config_by_func_code : auth_config_by_role_code;
116
+ const hasOperationPerm = this.ctx.userSession.isAuthPass(auth_type, authConfig);
117
+ appInfo.settingKeyActionCfg = { settingKey, hasOperationPerm };
118
+ }
119
+ else {
120
+ const actionCfg = actionsMap[settingKey];
121
+ if (!actionCfg) {
122
+ throw new devops_1.BizException('没有找到相关配置:' + JSON.stringify({ appCode, settingKey }));
123
+ }
124
+ const componentNameCfg = _.get(actionCfg, 'component.componentName');
125
+ if (!componentNameCfg) {
126
+ throw new devops_1.BizException('没有配置动作组件:' + JSON.stringify({ appCode, settingKey }));
127
+ }
128
+ appInfo.settingKeyActionCfg = actionCfg;
129
+ }
130
+ return appInfo;
131
+ }
132
+ /**
133
+ * 执行动作
134
+ * @param appCode
135
+ * @param settingKey
136
+ * @param params
137
+ */
138
+ async executeStdActionByReq(appCode, settingKey, params) {
139
+ const appInfo = await this.getParsedCrudStdAppForSettingKey(appCode, settingKey);
140
+ if (!appInfo || appInfo.status !== 1) {
141
+ throw new devops_1.BizException('应用不存在或已下线:' + appCode);
142
+ }
143
+ const actionsMap = appInfo.actionsMap;
144
+ const actionCfg = appInfo.settingKeyActionCfg;
145
+ return this.crudStdActionService.handleStdActionByReq({ appInfo, params, actionsMap, actionCfg });
146
+ }
147
+ /**
148
+ * 查询APP信息
149
+ * @param appCode
150
+ * @private
151
+ */
152
+ async getCrudStdAppInfo(appCode) {
153
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
154
+ this.logInfo('getCrudStdAppInfo', appCode);
155
+ const ss = {
156
+ sqlTable: SystemTables_1.SystemTables.sys_app,
157
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
158
+ sqlDatabase: SystemDbName,
159
+ sqlDbType: SystemDbType,
160
+ };
161
+ return await this.curdMixService.executeCrudByCfg({ condition: { app_code: appCode } }, ss);
162
+ }
163
+ /**
164
+ * 查询APP信息
165
+ * @param appCode
166
+ * @private
167
+ */
168
+ async getParsedCrudStdAppInfo(appCode) {
169
+ const cacheKey = "getParsedCrudStdAppInfo:" + appCode;
170
+ let appInfo = this.getFromCtxCache(cacheKey);
171
+ if (!appInfo) {
172
+ appInfo = await this.getParsedCrudStdAppInfoPrivate(appCode);
173
+ this.setToCtxCache(cacheKey, appInfo);
174
+ }
175
+ return appInfo;
176
+ }
177
+ /**
178
+ * 查询APP信息
179
+ * @param appCode
180
+ * @private
181
+ */
182
+ async getParsedCrudStdAppInfoPrivate(appCode) {
183
+ const a = await this.getCrudStdAppInfo(appCode);
184
+ const { row } = a.getResModel();
185
+ if (!row) {
186
+ return null;
187
+ }
188
+ const { app_schema, ...others } = row;
189
+ const stdCrudCfgObj = (0, functions_1.parseJsonObject)(app_schema);
190
+ // 为了方便查找到action对象
191
+ const actionsMap = {};
192
+ const keys = Object.keys(stdCrudCfgObj);
193
+ for (let i = 0; i < keys.length; i++) {
194
+ const key = keys[i];
195
+ const arrayCfg = stdCrudCfgObj[key];
196
+ if (Array.isArray(arrayCfg)) {
197
+ for (let j = 0; j < arrayCfg.length; j++) {
198
+ const actionCfg = arrayCfg[j];
199
+ actionCfg.hasOperationPerm = this.hasOperationPerm(actionCfg);
200
+ if (actionCfg.settingKey) {
201
+ actionsMap[actionCfg.settingKey] = actionCfg;
202
+ }
203
+ }
204
+ }
205
+ }
206
+ return { ...others, stdCrudCfgObj, actionsMap };
207
+ }
208
+ hasOperationPerm(actionCfg) {
209
+ const permissionCode = _.get(actionCfg, 'permissionCode');
210
+ if (permissionCode) {
211
+ return this.ctx.userSession.isAuthPass(keys_1.KeysOfAuthType.byFuncCode, permissionCode);
212
+ }
213
+ return true; // 无需鉴权
214
+ }
215
+ async fixDataFieldTypeBySqlTableField(params, cfgModel, appInfo, arg3) {
216
+ const tableFields = _.get(appInfo, 'stdCrudCfgObj.tableFields');
217
+ const tableFieldMap = MixinUtils_1.MixinUtils.toMap(tableFields, (e) => {
218
+ return e.fieldIndex;
219
+ });
220
+ if (arg3.dbType === keys_1.SqlDbType.postgres) {
221
+ if (cfgModel.sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_INSERT || cfgModel.sqlSimpleName === keys_1.KeysOfSimpleSQL.SIMPLE_UPDATE) {
222
+ const data = params.data || {};
223
+ const dataKeys = Object.keys(data);
224
+ for (let index = 0; index < dataKeys.length; index++) {
225
+ const dataKey = dataKeys[index];
226
+ const dataValue = data[dataKey];
227
+ const fieldInfo = tableFieldMap[dataKey];
228
+ const fieldType = ('' + _.get(fieldInfo, 'type')).toUpperCase();
229
+ if (fieldType === 'ARRAY') {
230
+ const dataValueArray = (0, functions_1.parseJsonObject)(dataValue);
231
+ if (Array.isArray(dataValueArray)) {
232
+ data[dataKey] = `{${dataValueArray.map(v => `"${v}"`).join(',')}}`;
233
+ }
234
+ }
235
+ }
236
+ }
237
+ }
238
+ }
239
+ };
240
+ __decorate([
241
+ (0, core_1.Inject)(),
242
+ __metadata("design:type", Object)
243
+ ], CrudStdService.prototype, "ctx", void 0);
244
+ __decorate([
245
+ (0, core_1.Inject)(),
246
+ __metadata("design:type", CurdMixService_1.CurdMixService)
247
+ ], CrudStdService.prototype, "curdMixService", void 0);
248
+ __decorate([
249
+ (0, core_1.Inject)(),
250
+ __metadata("design:type", CrudStdActionService_1.CrudStdActionService)
251
+ ], CrudStdService.prototype, "crudStdActionService", void 0);
252
+ __decorate([
253
+ (0, core_1.Inject)(),
254
+ __metadata("design:type", CrudStdRelationService_1.CrudStdRelationService)
255
+ ], CrudStdService.prototype, "crudStdRelationService", void 0);
256
+ CrudStdService = __decorate([
257
+ (0, core_1.Provide)()
258
+ ], CrudStdService);
259
+ exports.CrudStdService = CrudStdService;
@@ -1,24 +1,24 @@
1
- import { SqlDbType } from "../../libs/crud-pro/models/keys";
2
- import { IRequestModel } from "../../libs/crud-pro/interfaces";
3
- import { IRequestCfgModel2 } from "../../models/bizmodels";
4
- import { CrudPro } from "../../libs/crud-pro/CrudPro";
5
- import { ResModelAffected, ResModelStandard } from "../../libs/crud-pro/models/ResModel";
6
- export declare class CrudProQuick {
7
- private readonly curdPro;
8
- private readonly sqlDbType;
9
- private readonly sqlDatabase;
10
- private readonly sqlTable?;
11
- private baseCfgModel;
12
- constructor(curdPro: CrudPro, sqlDatabase: string, sqlDbType: SqlDbType, sqlTable?: string);
13
- setBaseCfgModel(baseCfgModel: IRequestCfgModel2): void;
14
- private executeCrudByCfg;
15
- getOne(reqJson: IRequestModel, sqlTable?: string): Promise<any>;
16
- getList(reqJson: IRequestModel, sqlTable?: string): Promise<any[]>;
17
- getListPage(reqJson: IRequestModel, sqlTable?: string): Promise<ResModelStandard>;
18
- getTotalCount(reqJson: IRequestModel, sqlTable?: string): Promise<number>;
19
- insertObject(reqJson: IRequestModel, sqlTable?: string): Promise<ResModelAffected>;
20
- updateObject(reqJson: IRequestModel, sqlTable?: string): Promise<ResModelAffected>;
21
- insertOrUpdate(reqJson: IRequestModel, sqlTable?: string): Promise<ResModelStandard>;
22
- deleteObject(reqJson: IRequestModel, sqlTable?: string): Promise<ResModelAffected>;
23
- executeSQL(executeSql: string, args?: any[]): Promise<any>;
24
- }
1
+ import { SqlDbType } from '../../libs/crud-pro/models/keys';
2
+ import { IRequestModel } from '../../libs/crud-pro/interfaces';
3
+ import { IRequestCfgModel2 } from '../../models/bizmodels';
4
+ import { CrudPro } from '../../libs/crud-pro/CrudPro';
5
+ import { ResModelAffected, ResModelStandard } from '../../libs/crud-pro/models/ResModel';
6
+ export declare class CrudProQuick {
7
+ private readonly curdPro;
8
+ private readonly sqlDbType;
9
+ private readonly sqlDatabase;
10
+ private readonly sqlTable?;
11
+ private baseCfgModel;
12
+ constructor(curdPro: CrudPro, sqlDatabase: string, sqlDbType: SqlDbType, sqlTable?: string);
13
+ setBaseCfgModel(baseCfgModel: IRequestCfgModel2): void;
14
+ private executeCrudByCfg;
15
+ getOne(reqJson: IRequestModel, sqlTable?: string): Promise<any>;
16
+ getList(reqJson: IRequestModel, sqlTable?: string): Promise<any[]>;
17
+ getListPage(reqJson: IRequestModel, sqlTable?: string): Promise<ResModelStandard>;
18
+ getTotalCount(reqJson: IRequestModel, sqlTable?: string): Promise<number>;
19
+ insertObject(reqJson: IRequestModel, sqlTable?: string): Promise<ResModelAffected>;
20
+ updateObject(reqJson: IRequestModel, sqlTable?: string): Promise<ResModelAffected>;
21
+ insertOrUpdate(reqJson: IRequestModel, sqlTable?: string): Promise<ResModelStandard>;
22
+ deleteObject(reqJson: IRequestModel, sqlTable?: string): Promise<ResModelAffected>;
23
+ executeSQL(executeSql: string, args?: any[]): Promise<any>;
24
+ }