midway-fatcms 0.0.3 → 0.0.4

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 (391) hide show
  1. package/.eslintrc.json +14 -14
  2. package/.prettierrc.js +4 -4
  3. package/README.md +406 -406
  4. package/dist/config/config.default.d.ts +3 -3
  5. package/dist/config/config.default.js +177 -177
  6. package/dist/config/utils.d.ts +1 -1
  7. package/dist/config/utils.js +23 -23
  8. package/dist/configuration.d.ts +7 -7
  9. package/dist/configuration.js +113 -113
  10. package/dist/controller/base/BaseApiController.d.ts +49 -49
  11. package/dist/controller/base/BaseApiController.js +198 -198
  12. package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -13
  13. package/dist/controller/gateway/AnyApiGatewayController.js +55 -55
  14. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -20
  15. package/dist/controller/gateway/AsyncTaskController.js +181 -181
  16. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -21
  17. package/dist/controller/gateway/CrudMtdGatewayController.js +122 -122
  18. package/dist/controller/gateway/CrudStdGatewayController.d.ts +39 -39
  19. package/dist/controller/gateway/CrudStdGatewayController.js +149 -149
  20. package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
  21. package/dist/controller/gateway/DocGatewayController.js +181 -181
  22. package/dist/controller/gateway/FileController.d.ts +32 -32
  23. package/dist/controller/gateway/FileController.js +160 -160
  24. package/dist/controller/gateway/FlowInstanceController.d.ts +16 -16
  25. package/dist/controller/gateway/FlowInstanceController.js +48 -48
  26. package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
  27. package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
  28. package/dist/controller/gateway/PublicApiController.d.ts +33 -33
  29. package/dist/controller/gateway/PublicApiController.js +194 -194
  30. package/dist/controller/gateway/StaticController.d.ts +23 -23
  31. package/dist/controller/gateway/StaticController.js +280 -280
  32. package/dist/controller/helpers.controller.d.ts +36 -36
  33. package/dist/controller/helpers.controller.js +187 -187
  34. package/dist/controller/home.controller.d.ts +9 -9
  35. package/dist/controller/home.controller.js +78 -78
  36. package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -10
  37. package/dist/controller/manage/AnyApiMangeApi.js +98 -98
  38. package/dist/controller/manage/AppLogMangeApi.d.ts +10 -10
  39. package/dist/controller/manage/AppLogMangeApi.js +88 -88
  40. package/dist/controller/manage/AppMangeApi.d.ts +12 -12
  41. package/dist/controller/manage/AppMangeApi.js +101 -101
  42. package/dist/controller/manage/AppPageMangeApi.d.ts +10 -10
  43. package/dist/controller/manage/AppPageMangeApi.js +87 -87
  44. package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -10
  45. package/dist/controller/manage/AppSchemaHistoryApi.js +83 -83
  46. package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -10
  47. package/dist/controller/manage/CrudMethodsMangeApi.js +84 -84
  48. package/dist/controller/manage/CrudStandardDesignApi.d.ts +46 -46
  49. package/dist/controller/manage/CrudStandardDesignApi.js +367 -367
  50. package/dist/controller/manage/DataDictManageApi.d.ts +17 -17
  51. package/dist/controller/manage/DataDictManageApi.js +165 -165
  52. package/dist/controller/manage/DeployManageApi.d.ts +21 -21
  53. package/dist/controller/manage/DeployManageApi.js +203 -203
  54. package/dist/controller/manage/DocLibManageApi.d.ts +10 -10
  55. package/dist/controller/manage/DocLibManageApi.js +104 -104
  56. package/dist/controller/manage/DocManageApi.d.ts +11 -11
  57. package/dist/controller/manage/DocManageApi.js +130 -130
  58. package/dist/controller/manage/FileManageApi.d.ts +13 -13
  59. package/dist/controller/manage/FileManageApi.js +77 -77
  60. package/dist/controller/manage/FlowConfigManageApi.d.ts +12 -12
  61. package/dist/controller/manage/FlowConfigManageApi.js +109 -109
  62. package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -13
  63. package/dist/controller/manage/LowCodeTplManageApi.js +86 -86
  64. package/dist/controller/manage/MenuManageApi.d.ts +11 -11
  65. package/dist/controller/manage/MenuManageApi.js +104 -104
  66. package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -10
  67. package/dist/controller/manage/ProxyApiMangeApi.js +87 -87
  68. package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -24
  69. package/dist/controller/manage/SuperAdminManageApi.js +153 -153
  70. package/dist/controller/manage/SysConfigMangeApi.d.ts +12 -12
  71. package/dist/controller/manage/SysConfigMangeApi.js +133 -133
  72. package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
  73. package/dist/controller/manage/SystemInfoManageApi.js +82 -82
  74. package/dist/controller/manage/UserAccountManageApi.d.ts +16 -16
  75. package/dist/controller/manage/UserAccountManageApi.js +153 -153
  76. package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
  77. package/dist/controller/manage/WorkbenchMangeApi.js +106 -106
  78. package/dist/controller/myinfo/AuthController.d.ts +37 -37
  79. package/dist/controller/myinfo/AuthController.js +157 -157
  80. package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
  81. package/dist/controller/myinfo/MyInfoController.js +51 -51
  82. package/dist/controller/render/AppRenderController.d.ts +12 -12
  83. package/dist/controller/render/AppRenderController.js +93 -93
  84. package/dist/controller/test.controller.d.ts +8 -8
  85. package/dist/controller/test.controller.js +51 -51
  86. package/dist/filter/default.filter.d.ts +7 -7
  87. package/dist/filter/default.filter.js +23 -23
  88. package/dist/filter/notfound.filter.d.ts +5 -5
  89. package/dist/filter/notfound.filter.js +20 -20
  90. package/dist/index.d.ts +111 -111
  91. package/dist/index.js +129 -129
  92. package/dist/interface.d.ts +30 -30
  93. package/dist/interface.js +3 -3
  94. package/dist/libs/crud-pro/CrudPro.d.ts +51 -37
  95. package/dist/libs/crud-pro/CrudPro.js +207 -146
  96. package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
  97. package/dist/libs/crud-pro/defaultConfigs.js +15 -15
  98. package/dist/libs/crud-pro/exceptions.d.ts +106 -106
  99. package/dist/libs/crud-pro/exceptions.js +119 -119
  100. package/dist/libs/crud-pro/interfaces.d.ts +195 -175
  101. package/dist/libs/crud-pro/interfaces.js +12 -12
  102. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +50 -50
  103. package/dist/libs/crud-pro/models/ExecuteContext.js +87 -87
  104. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -38
  105. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -72
  106. package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -18
  107. package/dist/libs/crud-pro/models/FuncContext.js +6 -6
  108. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -65
  109. package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -81
  110. package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -25
  111. package/dist/libs/crud-pro/models/RequestModel.js +113 -113
  112. package/dist/libs/crud-pro/models/ResModel.d.ts +20 -20
  113. package/dist/libs/crud-pro/models/ResModel.js +2 -2
  114. package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -20
  115. package/dist/libs/crud-pro/models/ServiceHub.js +2 -2
  116. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +23 -23
  117. package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -40
  118. package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -6
  119. package/dist/libs/crud-pro/models/SqlSegArg.js +12 -12
  120. package/dist/libs/crud-pro/models/Transaction.d.ts +50 -50
  121. package/dist/libs/crud-pro/models/Transaction.js +184 -184
  122. package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +19 -19
  123. package/dist/libs/crud-pro/models/TransactionMySQL.js +48 -48
  124. package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +19 -19
  125. package/dist/libs/crud-pro/models/TransactionPostgres.js +64 -64
  126. package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +9 -9
  127. package/dist/libs/crud-pro/models/TransactionSqlServer.js +61 -61
  128. package/dist/libs/crud-pro/models/keys.d.ts +111 -111
  129. package/dist/libs/crud-pro/models/keys.js +156 -156
  130. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -11
  131. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -73
  132. package/dist/libs/crud-pro/services/CrudProDataFilterService.d.ts +17 -0
  133. package/dist/libs/crud-pro/services/CrudProDataFilterService.js +53 -0
  134. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -9
  135. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +125 -125
  136. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -17
  137. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +224 -224
  138. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -9
  139. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -51
  140. package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -13
  141. package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -148
  142. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +25 -25
  143. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +385 -385
  144. package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
  145. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -165
  146. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
  147. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +345 -339
  148. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -24
  149. package/dist/libs/crud-pro/services/CrudProServiceBase.js +88 -88
  150. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +12 -9
  151. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +167 -77
  152. package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +34 -32
  153. package/dist/libs/crud-pro/services/CurdProServiceHub.js +69 -64
  154. package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -9
  155. package/dist/libs/crud-pro/utils/CompareUtils.js +25 -25
  156. package/dist/libs/crud-pro/utils/CrudMonitor.d.ts +9 -9
  157. package/dist/libs/crud-pro/utils/CrudMonitor.js +12 -12
  158. package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -9
  159. package/dist/libs/crud-pro/utils/DatabaseName.js +50 -50
  160. package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -7
  161. package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -21
  162. package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -19
  163. package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -47
  164. package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -5
  165. package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -33
  166. package/dist/libs/crud-pro/utils/MixinUtils.d.ts +40 -40
  167. package/dist/libs/crud-pro/utils/MixinUtils.js +259 -259
  168. package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -11
  169. package/dist/libs/crud-pro/utils/ModelUtils.js +54 -54
  170. package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -11
  171. package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -63
  172. package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -5
  173. package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -29
  174. package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -40
  175. package/dist/libs/crud-pro/utils/TypeUtils.js +166 -166
  176. package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -3
  177. package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -165
  178. package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -3
  179. package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -19
  180. package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -3
  181. package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -20
  182. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -3
  183. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -20
  184. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -4
  185. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +35 -35
  186. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +24 -24
  187. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -2
  188. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +14 -14
  189. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
  190. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +14 -14
  191. package/dist/libs/global-config/global-config.d.ts +71 -71
  192. package/dist/libs/global-config/global-config.js +38 -38
  193. package/dist/libs/utils/AsymmetricCrypto.d.ts +76 -76
  194. package/dist/libs/utils/AsymmetricCrypto.js +261 -261
  195. package/dist/libs/utils/base64.d.ts +9 -9
  196. package/dist/libs/utils/base64.js +42 -42
  197. package/dist/libs/utils/common-dto.d.ts +18 -18
  198. package/dist/libs/utils/common-dto.js +40 -40
  199. package/dist/libs/utils/crypto-utils.d.ts +3 -3
  200. package/dist/libs/utils/crypto-utils.js +55 -55
  201. package/dist/libs/utils/errorToString.d.ts +20 -20
  202. package/dist/libs/utils/errorToString.js +79 -79
  203. package/dist/libs/utils/fatcms-request.d.ts +45 -45
  204. package/dist/libs/utils/fatcms-request.js +161 -161
  205. package/dist/libs/utils/format-url.d.ts +17 -17
  206. package/dist/libs/utils/format-url.js +30 -30
  207. package/dist/libs/utils/functions.d.ts +11 -11
  208. package/dist/libs/utils/functions.js +99 -99
  209. package/dist/libs/utils/ordernum-utils.d.ts +22 -22
  210. package/dist/libs/utils/ordernum-utils.js +35 -35
  211. package/dist/libs/utils/parseConfig.d.ts +8 -8
  212. package/dist/libs/utils/parseConfig.js +47 -47
  213. package/dist/libs/utils/parseCreateSql.d.ts +10 -10
  214. package/dist/libs/utils/parseCreateSql.js +87 -87
  215. package/dist/libs/utils/render-utils.d.ts +40 -40
  216. package/dist/libs/utils/render-utils.js +158 -158
  217. package/dist/middleware/forbidden.middleware.d.ts +74 -74
  218. package/dist/middleware/forbidden.middleware.js +318 -318
  219. package/dist/middleware/global.middleware.d.ts +40 -40
  220. package/dist/middleware/global.middleware.js +310 -310
  221. package/dist/middleware/permission.middleware.d.ts +88 -88
  222. package/dist/middleware/permission.middleware.js +145 -145
  223. package/dist/middleware/rediscache.middleware.d.ts +28 -28
  224. package/dist/middleware/rediscache.middleware.js +114 -114
  225. package/dist/middleware/redislock.middleware.d.ts +29 -29
  226. package/dist/middleware/redislock.middleware.js +106 -106
  227. package/dist/middleware/tx.middleware.d.ts +55 -55
  228. package/dist/middleware/tx.middleware.js +83 -83
  229. package/dist/models/AsyncTaskModel.d.ts +74 -74
  230. package/dist/models/AsyncTaskModel.js +31 -31
  231. package/dist/models/FlowModel.d.ts +227 -227
  232. package/dist/models/FlowModel.js +53 -53
  233. package/dist/models/RedisKeys.d.ts +15 -15
  234. package/dist/models/RedisKeys.js +18 -18
  235. package/dist/models/SystemEntities.d.ts +118 -118
  236. package/dist/models/SystemEntities.js +18 -18
  237. package/dist/models/SystemPerm.d.ts +96 -96
  238. package/dist/models/SystemPerm.js +101 -101
  239. package/dist/models/SystemTables.d.ts +25 -25
  240. package/dist/models/SystemTables.js +28 -28
  241. package/dist/models/WorkbenchInfoTools.d.ts +7 -7
  242. package/dist/models/WorkbenchInfoTools.js +20 -20
  243. package/dist/models/bizmodels.d.ts +150 -150
  244. package/dist/models/bizmodels.js +62 -62
  245. package/dist/models/contextLogger.d.ts +27 -27
  246. package/dist/models/contextLogger.js +119 -119
  247. package/dist/models/devops.d.ts +12 -12
  248. package/dist/models/devops.js +19 -19
  249. package/dist/models/userSession.d.ts +67 -67
  250. package/dist/models/userSession.js +179 -179
  251. package/dist/schedule/anonymousContext.d.ts +15 -15
  252. package/dist/schedule/anonymousContext.js +74 -74
  253. package/dist/schedule/index.d.ts +4 -4
  254. package/dist/schedule/index.js +10 -10
  255. package/dist/schedule/runSchedule.d.ts +12 -12
  256. package/dist/schedule/runSchedule.js +68 -68
  257. package/dist/schedule/scheduleNames.d.ts +15 -15
  258. package/dist/schedule/scheduleNames.js +19 -19
  259. package/dist/service/AuthService.d.ts +56 -56
  260. package/dist/service/AuthService.js +251 -251
  261. package/dist/service/EnumInfoService.d.ts +30 -30
  262. package/dist/service/EnumInfoService.js +97 -97
  263. package/dist/service/FileCenterService.d.ts +64 -64
  264. package/dist/service/FileCenterService.js +422 -422
  265. package/dist/service/SysAppService.d.ts +15 -15
  266. package/dist/service/SysAppService.js +108 -108
  267. package/dist/service/SysConfigService.d.ts +10 -10
  268. package/dist/service/SysConfigService.js +64 -64
  269. package/dist/service/SysDictDataService.d.ts +9 -9
  270. package/dist/service/SysDictDataService.js +72 -72
  271. package/dist/service/SysMenuService.d.ts +51 -51
  272. package/dist/service/SysMenuService.js +58 -58
  273. package/dist/service/UserAccountService.d.ts +23 -23
  274. package/dist/service/UserAccountService.js +107 -107
  275. package/dist/service/UserSessionService.d.ts +43 -43
  276. package/dist/service/UserSessionService.js +163 -163
  277. package/dist/service/VisitStatService.d.ts +14 -14
  278. package/dist/service/VisitStatService.js +161 -161
  279. package/dist/service/WorkbenchService.d.ts +59 -59
  280. package/dist/service/WorkbenchService.js +249 -249
  281. package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
  282. package/dist/service/anyapi/AnyApiSandboxService.js +110 -110
  283. package/dist/service/anyapi/AnyApiService.d.ts +27 -27
  284. package/dist/service/anyapi/AnyApiService.js +181 -181
  285. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -50
  286. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -287
  287. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -7
  288. package/dist/service/asyncTask/AsyncTaskService.js +34 -34
  289. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -10
  290. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -2
  291. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -7
  292. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -216
  293. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -36
  294. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +141 -141
  295. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -46
  296. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +135 -135
  297. package/dist/service/base/ApiBaseService.d.ts +22 -22
  298. package/dist/service/base/ApiBaseService.js +60 -60
  299. package/dist/service/base/ApiRateLimiter.d.ts +10 -10
  300. package/dist/service/base/ApiRateLimiter.js +51 -51
  301. package/dist/service/base/BaseService.d.ts +46 -46
  302. package/dist/service/base/BaseService.js +131 -131
  303. package/dist/service/base/cache/CacheServiceFactory.d.ts +26 -26
  304. package/dist/service/base/cache/CacheServiceFactory.js +122 -122
  305. package/dist/service/base/cache/CtxCache.d.ts +18 -18
  306. package/dist/service/base/cache/CtxCache.js +37 -37
  307. package/dist/service/base/cache/DiskCache.d.ts +19 -19
  308. package/dist/service/base/cache/DiskCache.js +81 -81
  309. package/dist/service/base/cache/MemoryCache.d.ts +12 -12
  310. package/dist/service/base/cache/MemoryCache.js +58 -58
  311. package/dist/service/base/cache/NoneCache.d.ts +10 -10
  312. package/dist/service/base/cache/NoneCache.js +19 -19
  313. package/dist/service/base/cache/RedisCache.d.ts +14 -14
  314. package/dist/service/base/cache/RedisCache.js +31 -31
  315. package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
  316. package/dist/service/crudstd/CrudStdActionService.js +32 -32
  317. package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
  318. package/dist/service/crudstd/CrudStdConstant.js +64 -64
  319. package/dist/service/crudstd/CrudStdRelationService.d.ts +11 -11
  320. package/dist/service/crudstd/CrudStdRelationService.js +179 -179
  321. package/dist/service/crudstd/CrudStdService.d.ts +59 -59
  322. package/dist/service/crudstd/CrudStdService.js +348 -348
  323. package/dist/service/curd/CrudProQuick.d.ts +60 -60
  324. package/dist/service/curd/CrudProQuick.js +167 -167
  325. package/dist/service/curd/CurdMixByAccountService.d.ts +14 -14
  326. package/dist/service/curd/CurdMixByAccountService.js +166 -166
  327. package/dist/service/curd/CurdMixByDictService.d.ts +12 -12
  328. package/dist/service/curd/CurdMixByDictService.js +114 -114
  329. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +30 -30
  330. package/dist/service/curd/CurdMixByLinkToCustomService.js +209 -209
  331. package/dist/service/curd/CurdMixBySysConfigService.d.ts +13 -13
  332. package/dist/service/curd/CurdMixBySysConfigService.js +116 -116
  333. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +11 -11
  334. package/dist/service/curd/CurdMixByWorkbenchService.js +80 -80
  335. package/dist/service/curd/CurdMixService.d.ts +28 -28
  336. package/dist/service/curd/CurdMixService.js +100 -100
  337. package/dist/service/curd/CurdMixUtils.d.ts +57 -57
  338. package/dist/service/curd/CurdMixUtils.js +331 -331
  339. package/dist/service/curd/CurdProService.d.ts +32 -32
  340. package/dist/service/curd/CurdProService.js +215 -215
  341. package/dist/service/curd/fixCfgModel.d.ts +3 -3
  342. package/dist/service/curd/fixCfgModel.js +104 -104
  343. package/dist/service/curd/fixSoftDelete.d.ts +6 -6
  344. package/dist/service/curd/fixSoftDelete.js +43 -43
  345. package/dist/service/flow/FlowConfigService.d.ts +41 -41
  346. package/dist/service/flow/FlowConfigService.js +95 -95
  347. package/dist/service/flow/FlowInstanceCrudService.d.ts +35 -35
  348. package/dist/service/flow/FlowInstanceCrudService.js +257 -257
  349. package/dist/service/flow/FlowInstanceService.d.ts +88 -88
  350. package/dist/service/flow/FlowInstanceService.js +451 -451
  351. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
  352. package/dist/service/proxyapi/ProxyApiLoadService.js +167 -167
  353. package/dist/service/proxyapi/ProxyApiService.d.ts +61 -61
  354. package/dist/service/proxyapi/ProxyApiService.js +317 -317
  355. package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
  356. package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
  357. package/dist/service/proxyapi/RouteHandler.d.ts +6 -6
  358. package/dist/service/proxyapi/RouteHandler.js +9 -9
  359. package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
  360. package/dist/service/proxyapi/RouteTrie.js +64 -64
  361. package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
  362. package/dist/service/proxyapi/WeightedRandom.js +31 -31
  363. package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
  364. package/dist/service/proxyapi/WeightedRoundRobin.js +33 -33
  365. package/index.d.ts +10 -10
  366. package/package.json +87 -87
  367. package/src/libs/crud-pro/CrudPro.ts +71 -0
  368. package/src/libs/crud-pro/interfaces.ts +22 -0
  369. package/src/libs/crud-pro/models/ServiceHub.ts +2 -2
  370. package/src/libs/crud-pro/services/CrudProDataFilterService.ts +58 -0
  371. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +10 -1
  372. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +145 -40
  373. package/src/libs/crud-pro/services/CurdProServiceHub.ts +10 -3
  374. package/src/libs/crud-pro/utils/CrudMonitor.ts +13 -13
  375. package/src/libs/utils/AsymmetricCrypto.ts +307 -307
  376. package/src/libs/utils/format-url.ts +29 -29
  377. package/src/libs/utils/render-utils.ts +223 -223
  378. package/src/models/WorkbenchInfoTools.ts +19 -19
  379. package/src/service/SysAppService.ts +103 -103
  380. package/src/service/SysDictDataService.ts +63 -63
  381. package/src/service/SysMenuService.ts +87 -87
  382. package/src/service/WorkbenchService.ts +279 -279
  383. package/src/service/base/cache/CacheServiceFactory.ts +135 -135
  384. package/src/service/base/cache/CtxCache.ts +45 -45
  385. package/src/service/base/cache/DiskCache.ts +90 -90
  386. package/src/service/base/cache/MemoryCache.ts +68 -68
  387. package/src/service/base/cache/NoneCache.ts +24 -24
  388. package/src/service/base/cache/RedisCache.ts +41 -41
  389. package/src/service/curd/CurdMixByAccountService.ts +177 -177
  390. package/src/service/curd/fixSoftDelete.ts +58 -58
  391. package/tsconfig.json +32 -32
@@ -1,24 +1,24 @@
1
- import { ICurdProServiceHub } from '../models/ServiceHub';
2
- import { ICrudProCfg, IExecuteUnsafeQueryCtx, ILogger, IPoolConnectionClient } from '../interfaces';
3
- import { SqlCfgModel } from '../models/SqlCfgModel';
4
- import { ExecuteContext } from '../models/ExecuteContext';
5
- import { IExecuteContextFunc } from '../models/ExecuteContextFunc';
6
- declare class CrudProServiceBase {
7
- protected serviceHub: ICurdProServiceHub;
8
- constructor(serviceHub: ICurdProServiceHub);
9
- protected getExecuteContext(): ExecuteContext;
10
- protected getContextFunc(): IExecuteContextFunc;
11
- protected get logger(): ILogger;
12
- protected getTxConnectionBySqlCfg(sqlCfgModel: SqlCfgModel): Promise<IPoolConnectionClient>;
13
- /**
14
- * 不做任何检验,直接执行SQL,只能CrudPro内部使用,不对外使用
15
- * @param obj
16
- * @param sql
17
- * @param values
18
- * @protected
19
- */
20
- protected executeUnsafeQuery(obj: IExecuteUnsafeQueryCtx, sql: string, values?: any): Promise<import("../interfaces").IPoolConnectionQueryResult>;
21
- protected getContextCfg(): ICrudProCfg;
22
- protected getExecuteFunction(funcName: string): any;
23
- }
24
- export { CrudProServiceBase };
1
+ import { ICurdProServiceHub } from '../models/ServiceHub';
2
+ import { ICrudProCfg, IExecuteUnsafeQueryCtx, ILogger, IPoolConnectionClient } from '../interfaces';
3
+ import { SqlCfgModel } from '../models/SqlCfgModel';
4
+ import { ExecuteContext } from '../models/ExecuteContext';
5
+ import { IExecuteContextFunc } from '../models/ExecuteContextFunc';
6
+ declare class CrudProServiceBase {
7
+ protected serviceHub: ICurdProServiceHub;
8
+ constructor(serviceHub: ICurdProServiceHub);
9
+ protected getExecuteContext(): ExecuteContext;
10
+ protected getContextFunc(): IExecuteContextFunc;
11
+ protected get logger(): ILogger;
12
+ protected getTxConnectionBySqlCfg(sqlCfgModel: SqlCfgModel): Promise<IPoolConnectionClient>;
13
+ /**
14
+ * 不做任何检验,直接执行SQL,只能CrudPro内部使用,不对外使用
15
+ * @param obj
16
+ * @param sql
17
+ * @param values
18
+ * @protected
19
+ */
20
+ protected executeUnsafeQuery(obj: IExecuteUnsafeQueryCtx, sql: string, values?: any): Promise<import("../interfaces").IPoolConnectionQueryResult>;
21
+ protected getContextCfg(): ICrudProCfg;
22
+ protected getExecuteFunction(funcName: string): any;
23
+ }
24
+ export { CrudProServiceBase };
@@ -1,88 +1,88 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CrudProServiceBase = void 0;
4
- const _ = require("lodash");
5
- const MixinUtils_1 = require("../utils/MixinUtils");
6
- const TypeUtils_1 = require("../utils/TypeUtils");
7
- const CompareUtils_1 = require("../utils/CompareUtils");
8
- const DateTimeUtils_1 = require("../utils/DateTimeUtils");
9
- const defaultConfigs_1 = require("../defaultConfigs");
10
- const keys_1 = require("../models/keys");
11
- const convertPgSql_1 = require("../utils/sqlConvert/convertPgSql");
12
- const convertMsSql_1 = require("../utils/sqlConvert/convertMsSql");
13
- function createBuildInExecuteFuncMap() {
14
- return {
15
- ...DateTimeUtils_1.DateTimeUtils,
16
- ...CompareUtils_1.CompareUtils,
17
- ...MixinUtils_1.MixinUtils,
18
- ...TypeUtils_1.TypeUtils,
19
- };
20
- }
21
- const buildInExecuteFuncMap = createBuildInExecuteFuncMap();
22
- class CrudProServiceBase {
23
- constructor(serviceHub) {
24
- this.serviceHub = serviceHub;
25
- }
26
- getExecuteContext() {
27
- return this.serviceHub.getExecuteContext();
28
- }
29
- getContextFunc() {
30
- return this.getExecuteContext().contextFunc;
31
- }
32
- get logger() {
33
- return this.getExecuteContext().getLogger();
34
- }
35
- async getTxConnectionBySqlCfg(sqlCfgModel) {
36
- const executeContext = this.getExecuteContext();
37
- const transaction = executeContext.getTransaction();
38
- const contextFunc = this.getContextFunc();
39
- const pool = await contextFunc.getConnectionPool(sqlCfgModel);
40
- return transaction.getTxConnection(pool);
41
- }
42
- /**
43
- * 不做任何检验,直接执行SQL,只能CrudPro内部使用,不对外使用
44
- * @param obj
45
- * @param sql
46
- * @param values
47
- * @protected
48
- */
49
- async executeUnsafeQuery(obj, sql, values) {
50
- const sqlCfgModel = {
51
- sqlTable: obj.sqlTable,
52
- sqlDatabase: obj.sqlDatabase,
53
- sqlDbType: obj.sqlDbType,
54
- columns: [],
55
- columnsRelation: [],
56
- maxLimit: defaultConfigs_1.DEFAULT_MAX_LIMIT,
57
- resName: 'executeUnsafeQuery',
58
- originSql: sql,
59
- executeSql: sql,
60
- executeSqlArgs: values,
61
- crudType: null,
62
- };
63
- if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.postgres) {
64
- sqlCfgModel.executeSql = (0, convertPgSql_1.replaceQuestionMarks)(sqlCfgModel.executeSql, false);
65
- }
66
- else if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.sqlserver) {
67
- sqlCfgModel.executeSql = (0, convertMsSql_1.replaceQuestionMarksForMssql)(sqlCfgModel.executeSql, false);
68
- }
69
- const connection = await this.getTxConnectionBySqlCfg(sqlCfgModel);
70
- return await connection.query(sqlCfgModel.executeSql, values);
71
- }
72
- getContextCfg() {
73
- return this.getExecuteContext().getContextCfg();
74
- }
75
- getExecuteFunction(funcName) {
76
- const contextFunc = this.getContextFunc();
77
- const functionMap = contextFunc.getFunctionMap();
78
- if (functionMap) {
79
- const func = _.get(functionMap, funcName);
80
- if (typeof func === 'function') {
81
- return func;
82
- }
83
- }
84
- console.log('buildInExecuteFuncMap', Object.keys(buildInExecuteFuncMap));
85
- return _.get(buildInExecuteFuncMap, funcName);
86
- }
87
- }
88
- exports.CrudProServiceBase = CrudProServiceBase;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CrudProServiceBase = void 0;
4
+ const _ = require("lodash");
5
+ const MixinUtils_1 = require("../utils/MixinUtils");
6
+ const TypeUtils_1 = require("../utils/TypeUtils");
7
+ const CompareUtils_1 = require("../utils/CompareUtils");
8
+ const DateTimeUtils_1 = require("../utils/DateTimeUtils");
9
+ const defaultConfigs_1 = require("../defaultConfigs");
10
+ const keys_1 = require("../models/keys");
11
+ const convertPgSql_1 = require("../utils/sqlConvert/convertPgSql");
12
+ const convertMsSql_1 = require("../utils/sqlConvert/convertMsSql");
13
+ function createBuildInExecuteFuncMap() {
14
+ return {
15
+ ...DateTimeUtils_1.DateTimeUtils,
16
+ ...CompareUtils_1.CompareUtils,
17
+ ...MixinUtils_1.MixinUtils,
18
+ ...TypeUtils_1.TypeUtils,
19
+ };
20
+ }
21
+ const buildInExecuteFuncMap = createBuildInExecuteFuncMap();
22
+ class CrudProServiceBase {
23
+ constructor(serviceHub) {
24
+ this.serviceHub = serviceHub;
25
+ }
26
+ getExecuteContext() {
27
+ return this.serviceHub.getExecuteContext();
28
+ }
29
+ getContextFunc() {
30
+ return this.getExecuteContext().contextFunc;
31
+ }
32
+ get logger() {
33
+ return this.getExecuteContext().getLogger();
34
+ }
35
+ async getTxConnectionBySqlCfg(sqlCfgModel) {
36
+ const executeContext = this.getExecuteContext();
37
+ const transaction = executeContext.getTransaction();
38
+ const contextFunc = this.getContextFunc();
39
+ const pool = await contextFunc.getConnectionPool(sqlCfgModel);
40
+ return transaction.getTxConnection(pool);
41
+ }
42
+ /**
43
+ * 不做任何检验,直接执行SQL,只能CrudPro内部使用,不对外使用
44
+ * @param obj
45
+ * @param sql
46
+ * @param values
47
+ * @protected
48
+ */
49
+ async executeUnsafeQuery(obj, sql, values) {
50
+ const sqlCfgModel = {
51
+ sqlTable: obj.sqlTable,
52
+ sqlDatabase: obj.sqlDatabase,
53
+ sqlDbType: obj.sqlDbType,
54
+ columns: [],
55
+ columnsRelation: [],
56
+ maxLimit: defaultConfigs_1.DEFAULT_MAX_LIMIT,
57
+ resName: 'executeUnsafeQuery',
58
+ originSql: sql,
59
+ executeSql: sql,
60
+ executeSqlArgs: values,
61
+ crudType: null,
62
+ };
63
+ if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.postgres) {
64
+ sqlCfgModel.executeSql = (0, convertPgSql_1.replaceQuestionMarks)(sqlCfgModel.executeSql, false);
65
+ }
66
+ else if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.sqlserver) {
67
+ sqlCfgModel.executeSql = (0, convertMsSql_1.replaceQuestionMarksForMssql)(sqlCfgModel.executeSql, false);
68
+ }
69
+ const connection = await this.getTxConnectionBySqlCfg(sqlCfgModel);
70
+ return await connection.query(sqlCfgModel.executeSql, values);
71
+ }
72
+ getContextCfg() {
73
+ return this.getExecuteContext().getContextCfg();
74
+ }
75
+ getExecuteFunction(funcName) {
76
+ const contextFunc = this.getContextFunc();
77
+ const functionMap = contextFunc.getFunctionMap();
78
+ if (functionMap) {
79
+ const func = _.get(functionMap, funcName);
80
+ if (typeof func === 'function') {
81
+ return func;
82
+ }
83
+ }
84
+ console.log('buildInExecuteFuncMap', Object.keys(buildInExecuteFuncMap));
85
+ return _.get(buildInExecuteFuncMap, funcName);
86
+ }
87
+ }
88
+ exports.CrudProServiceBase = CrudProServiceBase;
@@ -1,9 +1,12 @@
1
- import { CrudProServiceBase } from './CrudProServiceBase';
2
- import { SqlCfgModel } from '../models/SqlCfgModel';
3
- import { ITableMeta } from '../interfaces';
4
- declare class CrudProTableMetaService extends CrudProServiceBase {
5
- getTableMeta(sqlCfgModel: SqlCfgModel): Promise<ITableMeta>;
6
- private loadTableMeta;
7
- private loadTableColumnInfo;
8
- }
9
- export { CrudProTableMetaService };
1
+ import { CrudProServiceBase } from './CrudProServiceBase';
2
+ import { ITableMeta, ITableMetaQuery } from '../interfaces';
3
+ declare class CrudProTableMetaService extends CrudProServiceBase {
4
+ getTableMeta(query: ITableMetaQuery): Promise<ITableMeta>;
5
+ private loadTableMeta;
6
+ private loadTableColumnDetails;
7
+ private loadMySQLColumnDetails;
8
+ private loadPostgreSQLColumnDetails;
9
+ private loadPostgreSQLColumnComments;
10
+ private loadSQLServerColumnDetails;
11
+ }
12
+ export { CrudProTableMetaService };
@@ -1,78 +1,168 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CrudProTableMetaService = void 0;
4
- const CrudProServiceBase_1 = require("./CrudProServiceBase");
5
- const keys_1 = require("../models/keys");
6
- // import { pickAndConvertRowsByMix } from '../utils/sqlConvert/convertMix';
7
- class CrudProTableMetaCache {
8
- constructor() {
9
- this.cacheMap = {};
10
- }
11
- getCacheKey(sqlCfgModel) {
12
- return `${sqlCfgModel.sqlDatabase}:::${sqlCfgModel.sqlSchema}:::${sqlCfgModel.sqlTable}`;
13
- }
14
- getMeta(sqlCfgModel) {
15
- const cacheKey = this.getCacheKey(sqlCfgModel);
16
- const obj = this.cacheMap[cacheKey];
17
- if (obj && obj.expiredTime < Date.now()) {
18
- return obj;
19
- }
20
- return null;
21
- }
22
- setMeta(sqlCfgModel, metaObj) {
23
- const cacheKey = this.getCacheKey(sqlCfgModel);
24
- this.cacheMap[cacheKey] = metaObj;
25
- }
26
- }
27
- const metaCache = new CrudProTableMetaCache();
28
- class CrudProTableMetaService extends CrudProServiceBase_1.CrudProServiceBase {
29
- async getTableMeta(sqlCfgModel) {
30
- let obj = metaCache.getMeta(sqlCfgModel);
31
- if (!obj) {
32
- obj = await this.loadTableMeta(sqlCfgModel);
33
- metaCache.setMeta(sqlCfgModel, obj);
34
- }
35
- return obj;
36
- }
37
- async loadTableMeta(sqlCfgModel) {
38
- const { tableMetaCacheTime } = this.getContextCfg();
39
- const obj = {
40
- expiredTime: Date.now() + tableMetaCacheTime || 1000 * 3600 * 24 * 365,
41
- tableColumns: [],
42
- };
43
- const baseInfo = {
44
- sqlTable: sqlCfgModel.sqlTable,
45
- sqlDatabase: sqlCfgModel.sqlDatabase,
46
- sqlDbType: sqlCfgModel.sqlDbType,
47
- };
48
- obj.tableColumns = await this.loadTableColumnInfo(baseInfo);
49
- return obj;
50
- }
51
- async loadTableColumnInfo(baseInfo) {
52
- if (baseInfo.sqlDbType === keys_1.SqlDbType.mysql) {
53
- const queryRes = await this.executeUnsafeQuery(baseInfo, 'describe ' + baseInfo.sqlTable);
54
- const tableDescribe = queryRes.rows || []; //pickAndConvertRowsByMix(queryRes, baseInfo.sqlDbType);
55
- const tableDescribe2 = JSON.parse(JSON.stringify(tableDescribe));
56
- return tableDescribe2.map(fieldObj => {
57
- return fieldObj['Field'];
58
- });
59
- }
60
- else if (baseInfo.sqlDbType === keys_1.SqlDbType.postgres) {
61
- const schemaname = 'public';
62
- const columnArraySql = `
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CrudProTableMetaService = void 0;
4
+ const CrudProServiceBase_1 = require("./CrudProServiceBase");
5
+ const keys_1 = require("../models/keys");
6
+ // import { pickAndConvertRowsByMix } from '../utils/sqlConvert/convertMix';
7
+ class CrudProTableMetaCache {
8
+ constructor() {
9
+ this.cacheMap = {};
10
+ }
11
+ getCacheKey(query) {
12
+ return `${query.sqlDatabase}:::${query.sqlSchema}:::${query.sqlDbType}:::${query.sqlTable}`;
13
+ }
14
+ getMeta(query) {
15
+ const cacheKey = this.getCacheKey(query);
16
+ const obj = this.cacheMap[cacheKey];
17
+ if (obj && obj.expiredTime > Date.now()) {
18
+ return obj;
19
+ }
20
+ return null;
21
+ }
22
+ setMeta(query, metaObj) {
23
+ const cacheKey = this.getCacheKey(query);
24
+ this.cacheMap[cacheKey] = metaObj;
25
+ }
26
+ }
27
+ const metaCache = new CrudProTableMetaCache();
28
+ class CrudProTableMetaService extends CrudProServiceBase_1.CrudProServiceBase {
29
+ async getTableMeta(query) {
30
+ let obj = metaCache.getMeta(query);
31
+ if (!obj) {
32
+ obj = await this.loadTableMeta(query);
33
+ metaCache.setMeta(query, obj);
34
+ }
35
+ return obj;
36
+ }
37
+ async loadTableMeta(query) {
38
+ const { tableMetaCacheTime } = this.getContextCfg();
39
+ const obj = {
40
+ expiredTime: Date.now() + (tableMetaCacheTime || 1000 * 3600 * 24 * 365),
41
+ tableColumns: [],
42
+ columnDetails: [],
43
+ };
44
+ const baseInfo = {
45
+ sqlTable: query.sqlTable,
46
+ sqlDatabase: query.sqlDatabase,
47
+ sqlDbType: query.sqlDbType,
48
+ };
49
+ obj.columnDetails = await this.loadTableColumnDetails(baseInfo);
50
+ obj.tableColumns = obj.columnDetails.map(col => col.name);
51
+ return obj;
52
+ }
53
+ async loadTableColumnDetails(baseInfo) {
54
+ if (baseInfo.sqlDbType === keys_1.SqlDbType.mysql) {
55
+ return this.loadMySQLColumnDetails(baseInfo);
56
+ }
57
+ else if (baseInfo.sqlDbType === keys_1.SqlDbType.postgres) {
58
+ return this.loadPostgreSQLColumnDetails(baseInfo);
59
+ }
60
+ else if (baseInfo.sqlDbType === keys_1.SqlDbType.sqlserver) {
61
+ return this.loadSQLServerColumnDetails(baseInfo);
62
+ }
63
+ throw new Error('暂不支持的数据库类型:' + baseInfo.sqlDbType);
64
+ }
65
+ async loadMySQLColumnDetails(baseInfo) {
66
+ const queryRes = await this.executeUnsafeQuery(baseInfo, 'DESCRIBE ' + baseInfo.sqlTable);
67
+ const tableDescribe = queryRes.rows || [];
68
+ return tableDescribe.map((fieldObj) => {
69
+ const { Field, Type, Null, Key, Default, Extra } = fieldObj;
70
+ return {
71
+ name: Field,
72
+ type: Type,
73
+ isNullable: Null === 'YES',
74
+ isPrimaryKey: Key === 'PRI',
75
+ defaultValue: Default,
76
+ comment: Extra,
77
+ };
78
+ });
79
+ }
80
+ async loadPostgreSQLColumnDetails(baseInfo) {
81
+ const schemaname = baseInfo.sqlSchema || 'public';
82
+ // 获取列基本信息
83
+ const columnArraySql = `
63
84
  SELECT
64
- *
65
- FROM information_schema.columns
66
- WHERE table_schema = '${schemaname}' and table_name = '${baseInfo.sqlTable}'
67
- ORDER BY ordinal_position;
68
- `.trim();
69
- const queryRes = await this.executeUnsafeQuery(baseInfo, columnArraySql);
70
- const tableDescribe = queryRes.rows || [];
71
- return tableDescribe.map(fieldObj => {
72
- return fieldObj['column_name'];
73
- });
74
- }
75
- throw new Error('暂不支持的数据库类型:' + baseInfo.sqlDbType);
76
- }
77
- }
78
- exports.CrudProTableMetaService = CrudProTableMetaService;
85
+ column_name,
86
+ data_type,
87
+ is_nullable,
88
+ column_default,
89
+ character_maximum_length
90
+ FROM information_schema.columns
91
+ WHERE table_schema = '${schemaname}' AND table_name = '${baseInfo.sqlTable}'
92
+ ORDER BY ordinal_position;
93
+ `.trim();
94
+ const queryRes = await this.executeUnsafeQuery(baseInfo, columnArraySql);
95
+ const columnArray = queryRes.rows || [];
96
+ // 获取字段注释
97
+ const commentMap = await this.loadPostgreSQLColumnComments(baseInfo, schemaname);
98
+ return columnArray.map((columnObj) => {
99
+ const { column_name, data_type, is_nullable, column_default, character_maximum_length } = columnObj;
100
+ return {
101
+ name: column_name,
102
+ type: data_type,
103
+ isNullable: is_nullable === 'YES',
104
+ defaultValue: column_default,
105
+ maxLength: character_maximum_length,
106
+ comment: commentMap[column_name],
107
+ };
108
+ });
109
+ }
110
+ async loadPostgreSQLColumnComments(baseInfo, schemaname) {
111
+ const commentArraySql = `
112
+ SELECT
113
+ a.attname AS column_name,
114
+ d.description AS column_comment
115
+ FROM pg_class c
116
+ JOIN pg_namespace n ON c.relnamespace = n.oid
117
+ JOIN pg_attribute a ON c.oid = a.attrelid
118
+ LEFT JOIN pg_description d ON c.oid = d.objoid AND a.attnum = d.objsubid
119
+ WHERE n.nspname = '${schemaname}'
120
+ AND c.relname = '${baseInfo.sqlTable}'
121
+ AND a.attnum > 0
122
+ ORDER BY a.attnum;
123
+ `.trim();
124
+ const queryRes = await this.executeUnsafeQuery(baseInfo, commentArraySql);
125
+ const commentArray = queryRes.rows || [];
126
+ const map = {};
127
+ commentArray.forEach((commentObj) => {
128
+ const { column_name, column_comment } = commentObj;
129
+ map[column_name] = column_comment || '';
130
+ });
131
+ return map;
132
+ }
133
+ async loadSQLServerColumnDetails(baseInfo) {
134
+ const columnArraySql = `
135
+ SELECT
136
+ c.name AS column_name,
137
+ t.name AS data_type,
138
+ c.max_length,
139
+ c.precision,
140
+ c.scale,
141
+ c.is_nullable,
142
+ c.is_identity,
143
+ dc.definition AS column_default,
144
+ ep.value AS column_comment
145
+ FROM sys.columns c
146
+ JOIN sys.types t ON c.user_type_id = t.user_type_id
147
+ LEFT JOIN sys.default_constraints dc ON c.default_object_id = dc.object_id
148
+ LEFT JOIN sys.extended_properties ep ON c.object_id = ep.major_id AND c.column_id = ep.minor_id
149
+ WHERE c.object_id = OBJECT_ID('${baseInfo.sqlTable}')
150
+ ORDER BY c.column_id;
151
+ `.trim();
152
+ const queryRes = await this.executeUnsafeQuery(baseInfo, columnArraySql);
153
+ const columnArray = queryRes.rows || [];
154
+ return columnArray.map((columnObj) => {
155
+ const { column_name, data_type, is_nullable, column_default, column_comment, max_length, is_identity } = columnObj;
156
+ return {
157
+ name: column_name,
158
+ type: data_type,
159
+ isNullable: is_nullable,
160
+ defaultValue: column_default,
161
+ comment: column_comment,
162
+ maxLength: max_length,
163
+ isPrimaryKey: is_identity,
164
+ };
165
+ });
166
+ }
167
+ }
168
+ exports.CrudProTableMetaService = CrudProTableMetaService;
@@ -1,32 +1,34 @@
1
- import { IFuncCfgModel, IRequestCfgModel, ITableMeta } from '../interfaces';
2
- import { RequestModel } from '../models/RequestModel';
3
- import { ExecuteContext } from '../models/ExecuteContext';
4
- import { SqlCfgModel } from '../models/SqlCfgModel';
5
- import { RequestCfgModel } from '../models/RequestCfgModel';
6
- import { ICurdProServiceHub } from '../models/ServiceHub';
7
- import { FuncContext } from '../models/FuncContext';
8
- declare class CurdProServiceHub implements ICurdProServiceHub {
9
- private readonly executeContext;
10
- private readonly fieldValidateService;
11
- private readonly fieldUpdateService;
12
- private readonly cachedCfgService;
13
- private readonly executeSqlService;
14
- private readonly genSqlService;
15
- private readonly originToExecuteSql;
16
- private readonly executeFuncService;
17
- private readonly tableMetaService;
18
- constructor(executeContext: ExecuteContext);
19
- getExecuteContext(): ExecuteContext;
20
- validateByAllow(cfgModel: RequestCfgModel, reqModel: RequestModel): void;
21
- validateByReject(cfgModel: RequestCfgModel, reqModel: RequestModel): void;
22
- validateByCfg(cfgModel: RequestCfgModel, reqModel: RequestModel): void;
23
- validateByAuthCfg(cfgModel: RequestCfgModel, reqModel: RequestModel): Promise<any>;
24
- updateByCfg(cfgModel: RequestCfgModel, reqModel: RequestModel): void;
25
- getCachedCfgByMethod(method: string, isEnableCache: boolean): Promise<IRequestCfgModel>;
26
- generateSQLList(): Promise<void>;
27
- executeSqlCfgModels(): Promise<void>;
28
- convertOriginToExecuteSql(sqlCfgModel: SqlCfgModel): Promise<void>;
29
- executeFuncCfg(funCfg: IFuncCfgModel, funcContext: FuncContext): any;
30
- getTableMeta(sqlCfgModel: SqlCfgModel): Promise<ITableMeta>;
31
- }
32
- export { CurdProServiceHub };
1
+ import { IFuncCfgModel, IRequestCfgModel, ISqlCfgModel, ITableMeta, ITableMetaQuery } from '../interfaces';
2
+ import { RequestModel } from '../models/RequestModel';
3
+ import { ExecuteContext } from '../models/ExecuteContext';
4
+ import { SqlCfgModel } from '../models/SqlCfgModel';
5
+ import { RequestCfgModel } from '../models/RequestCfgModel';
6
+ import { ICurdProServiceHub } from '../models/ServiceHub';
7
+ import { FuncContext } from '../models/FuncContext';
8
+ declare class CurdProServiceHub implements ICurdProServiceHub {
9
+ private readonly executeContext;
10
+ private readonly fieldValidateService;
11
+ private readonly fieldUpdateService;
12
+ private readonly cachedCfgService;
13
+ private readonly executeSqlService;
14
+ private readonly genSqlService;
15
+ private readonly originToExecuteSql;
16
+ private readonly executeFuncService;
17
+ private readonly tableMetaService;
18
+ private readonly dataFilterService;
19
+ constructor(executeContext: ExecuteContext);
20
+ getExecuteContext(): ExecuteContext;
21
+ validateByAllow(cfgModel: RequestCfgModel, reqModel: RequestModel): void;
22
+ validateByReject(cfgModel: RequestCfgModel, reqModel: RequestModel): void;
23
+ validateByCfg(cfgModel: RequestCfgModel, reqModel: RequestModel): void;
24
+ validateByAuthCfg(cfgModel: RequestCfgModel, reqModel: RequestModel): Promise<any>;
25
+ updateByCfg(cfgModel: RequestCfgModel, reqModel: RequestModel): void;
26
+ getCachedCfgByMethod(method: string, isEnableCache: boolean): Promise<IRequestCfgModel>;
27
+ generateSQLList(): Promise<void>;
28
+ executeSqlCfgModels(): Promise<void>;
29
+ convertOriginToExecuteSql(sqlCfgModel: SqlCfgModel): Promise<void>;
30
+ executeFuncCfg(funCfg: IFuncCfgModel, funcContext: FuncContext): any;
31
+ getTableMeta(query: ITableMetaQuery): Promise<ITableMeta>;
32
+ filterDataByTableMeta(data: Record<string, any>, sqlCfgModel: ISqlCfgModel | SqlCfgModel): Promise<Record<string, any>>;
33
+ }
34
+ export { CurdProServiceHub };