midway-fatcms 0.0.1-beta.22 → 0.0.1-beta.25
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.
- package/.eslintrc.json +14 -12
- package/.prettierrc.js +4 -4
- package/README.md +8 -8
- package/dist/config/config.default.d.ts +3 -3
- package/dist/config/config.default.js +187 -185
- package/dist/config/seed/aeskey.txt +1 -1
- package/dist/config/utils.d.ts +1 -1
- package/dist/config/utils.js +23 -23
- package/dist/configuration.d.ts +7 -7
- package/dist/configuration.js +113 -114
- package/dist/controller/base/BaseApiController.d.ts +37 -31
- package/dist/controller/base/BaseApiController.js +164 -146
- package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -13
- package/dist/controller/gateway/AnyApiGatewayController.js +55 -55
- package/dist/controller/gateway/AsyncTaskController.d.ts +20 -14
- package/dist/controller/gateway/AsyncTaskController.js +181 -108
- package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -21
- package/dist/controller/gateway/CrudMtdGatewayController.js +119 -119
- package/dist/controller/gateway/CrudStdGatewayController.d.ts +38 -38
- package/dist/controller/gateway/CrudStdGatewayController.js +137 -137
- package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
- package/dist/controller/gateway/DocGatewayController.js +179 -179
- package/dist/controller/gateway/FileController.d.ts +25 -25
- package/dist/controller/gateway/FileController.js +129 -129
- package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
- package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
- package/dist/controller/gateway/PublicApiController.d.ts +27 -27
- package/dist/controller/gateway/PublicApiController.js +165 -165
- package/dist/controller/gateway/StaticController.d.ts +24 -23
- package/dist/controller/gateway/StaticController.js +288 -284
- package/dist/controller/helpers.controller.d.ts +39 -39
- package/dist/controller/helpers.controller.js +188 -188
- package/dist/controller/home.controller.d.ts +9 -9
- package/dist/controller/home.controller.js +71 -71
- package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -10
- package/dist/controller/manage/AnyApiMangeApi.js +98 -98
- package/dist/controller/manage/AppLogMangeApi.d.ts +10 -10
- package/dist/controller/manage/AppLogMangeApi.js +88 -88
- package/dist/controller/manage/AppMangeApi.d.ts +10 -10
- package/dist/controller/manage/AppMangeApi.js +88 -88
- package/dist/controller/manage/AppPageMangeApi.d.ts +10 -10
- package/dist/controller/manage/AppPageMangeApi.js +87 -87
- package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -10
- package/dist/controller/manage/AppSchemaHistoryApi.js +83 -83
- package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -10
- package/dist/controller/manage/CrudMethodsMangeApi.js +84 -84
- package/dist/controller/manage/CrudStandardDesignApi.d.ts +38 -38
- package/dist/controller/manage/CrudStandardDesignApi.js +334 -334
- package/dist/controller/manage/DataDictManageApi.d.ts +15 -15
- package/dist/controller/manage/DataDictManageApi.js +133 -133
- package/dist/controller/manage/DeployManageApi.d.ts +19 -19
- package/dist/controller/manage/DeployManageApi.js +180 -180
- package/dist/controller/manage/DocLibManageApi.d.ts +10 -10
- package/dist/controller/manage/DocLibManageApi.js +104 -104
- package/dist/controller/manage/DocManageApi.d.ts +11 -11
- package/dist/controller/manage/DocManageApi.js +130 -130
- package/dist/controller/manage/FileManageApi.d.ts +13 -13
- package/dist/controller/manage/FileManageApi.js +77 -77
- package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -13
- package/dist/controller/manage/LowCodeTplManageApi.js +86 -86
- package/dist/controller/manage/MenuManageApi.d.ts +10 -10
- package/dist/controller/manage/MenuManageApi.js +93 -93
- package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -10
- package/dist/controller/manage/ProxyApiMangeApi.js +87 -87
- package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -24
- package/dist/controller/manage/SuperAdminManageApi.js +153 -153
- package/dist/controller/manage/SysConfigMangeApi.d.ts +11 -11
- package/dist/controller/manage/SysConfigMangeApi.js +126 -126
- package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
- package/dist/controller/manage/SystemInfoManageApi.js +72 -72
- package/dist/controller/manage/UserAccountManageApi.d.ts +14 -14
- package/dist/controller/manage/UserAccountManageApi.js +129 -129
- package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
- package/dist/controller/manage/WorkbenchMangeApi.js +103 -103
- package/dist/controller/myinfo/AuthController.d.ts +33 -33
- package/dist/controller/myinfo/AuthController.js +136 -136
- package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
- package/dist/controller/myinfo/MyInfoController.js +51 -51
- package/dist/controller/render/AppRenderController.d.ts +11 -11
- package/dist/controller/render/AppRenderController.js +91 -91
- package/dist/controller/test.controller.d.ts +8 -8
- package/dist/controller/test.controller.js +51 -51
- package/dist/filter/default.filter.d.ts +7 -7
- package/dist/filter/default.filter.js +23 -23
- package/dist/filter/notfound.filter.d.ts +5 -5
- package/dist/filter/notfound.filter.js +20 -20
- package/dist/index.d.ts +102 -101
- package/dist/index.js +120 -119
- package/dist/interface.d.ts +27 -27
- package/dist/interface.js +3 -3
- package/dist/libs/crud-pro/CrudPro.d.ts +37 -37
- package/dist/libs/crud-pro/CrudPro.js +136 -136
- package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
- package/dist/libs/crud-pro/defaultConfigs.js +15 -15
- package/dist/libs/crud-pro/exceptions.d.ts +104 -104
- package/dist/libs/crud-pro/exceptions.js +117 -117
- package/dist/libs/crud-pro/interfaces.d.ts +163 -163
- package/dist/libs/crud-pro/interfaces.js +12 -12
- package/dist/libs/crud-pro/models/ExecuteContext.d.ts +49 -43
- package/dist/libs/crud-pro/models/ExecuteContext.js +79 -79
- package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -38
- package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -72
- package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -18
- package/dist/libs/crud-pro/models/FuncContext.js +6 -6
- package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -65
- package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -81
- package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -25
- package/dist/libs/crud-pro/models/RequestModel.js +113 -113
- package/dist/libs/crud-pro/models/ResModel.d.ts +16 -16
- package/dist/libs/crud-pro/models/ResModel.js +2 -2
- package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -20
- package/dist/libs/crud-pro/models/ServiceHub.js +2 -2
- package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +22 -22
- package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -40
- package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -6
- package/dist/libs/crud-pro/models/SqlSegArg.js +12 -12
- package/dist/libs/crud-pro/models/Transaction.d.ts +29 -29
- package/dist/libs/crud-pro/models/Transaction.js +67 -67
- package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +28 -28
- package/dist/libs/crud-pro/models/TransactionMySQL.js +76 -76
- package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +28 -28
- package/dist/libs/crud-pro/models/TransactionPostgres.js +85 -85
- package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +34 -34
- package/dist/libs/crud-pro/models/TransactionSqlServer.js +92 -92
- package/dist/libs/crud-pro/models/keys.d.ts +106 -106
- package/dist/libs/crud-pro/models/keys.js +149 -149
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -11
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -73
- package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -9
- package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +112 -112
- package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -17
- package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +225 -223
- package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -9
- package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -51
- package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -13
- package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -148
- package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -24
- package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +340 -340
- package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
- package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -165
- package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
- package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +334 -334
- package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -24
- package/dist/libs/crud-pro/services/CrudProServiceBase.js +79 -79
- package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -9
- package/dist/libs/crud-pro/services/CrudProTableMetaService.js +78 -78
- package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -32
- package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -64
- package/dist/libs/crud-pro/sql.txt +120 -120
- package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -9
- package/dist/libs/crud-pro/utils/CompareUtils.js +25 -25
- package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -9
- package/dist/libs/crud-pro/utils/DatabaseName.js +50 -50
- package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -7
- package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -21
- package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -19
- package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -47
- package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -5
- package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -33
- package/dist/libs/crud-pro/utils/MixinUtils.d.ts +39 -39
- package/dist/libs/crud-pro/utils/MixinUtils.js +255 -255
- package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -11
- package/dist/libs/crud-pro/utils/ModelUtils.js +49 -49
- package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -11
- package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -63
- package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -5
- package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -29
- package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -40
- package/dist/libs/crud-pro/utils/TypeUtils.js +166 -166
- package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -3
- package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -165
- package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -3
- package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -19
- package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -3
- package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -20
- package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -3
- package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -20
- package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -4
- package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +21 -21
- package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -3
- package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -22
- package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -2
- package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +11 -11
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +11 -11
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.d.ts +2 -2
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.js +128 -128
- package/dist/libs/global-config/global-config.d.ts +45 -45
- package/dist/libs/global-config/global-config.js +33 -33
- package/dist/libs/utils/common-dto.d.ts +18 -18
- package/dist/libs/utils/common-dto.js +40 -40
- package/dist/libs/utils/crypto-utils.d.ts +3 -3
- package/dist/libs/utils/crypto-utils.js +46 -46
- package/dist/libs/utils/errorToString.d.ts +2 -2
- package/dist/libs/utils/errorToString.js +57 -57
- package/dist/libs/utils/fatcms-request.d.ts +30 -30
- package/dist/libs/utils/fatcms-request.js +104 -104
- package/dist/libs/utils/functions.d.ts +5 -4
- package/dist/libs/utils/functions.js +68 -63
- package/dist/libs/utils/ordernum-utils.d.ts +2 -2
- package/dist/libs/utils/ordernum-utils.js +13 -13
- package/dist/libs/utils/parseConfig.d.ts +7 -7
- package/dist/libs/utils/parseConfig.js +44 -44
- package/dist/libs/utils/parseCreateSql.d.ts +5 -5
- package/dist/libs/utils/parseCreateSql.js +86 -86
- package/dist/libs/utils/render-utils.d.ts +28 -28
- package/dist/libs/utils/render-utils.js +135 -135
- package/dist/middleware/forbidden.middleware.d.ts +10 -10
- package/dist/middleware/forbidden.middleware.js +54 -54
- package/dist/middleware/global.middleware.d.ts +10 -10
- package/dist/middleware/global.middleware.js +253 -253
- package/dist/middleware/permission.middleware.d.ts +18 -18
- package/dist/middleware/permission.middleware.js +74 -74
- package/dist/middleware/tx.middleware.d.ts +9 -9
- package/dist/middleware/tx.middleware.js +40 -40
- package/dist/models/AsyncTaskModel.d.ts +72 -69
- package/dist/models/AsyncTaskModel.js +29 -26
- package/dist/models/RedisKeys.d.ts +12 -8
- package/dist/models/RedisKeys.js +15 -11
- package/dist/models/SystemEntities.d.ts +98 -98
- package/dist/models/SystemEntities.js +2 -2
- package/dist/models/SystemPerm.d.ts +95 -95
- package/dist/models/SystemPerm.js +100 -100
- package/dist/models/SystemTables.d.ts +25 -25
- package/dist/models/SystemTables.js +28 -28
- package/dist/models/bizmodels.d.ts +96 -69
- package/dist/models/bizmodels.js +39 -34
- package/dist/models/contextLogger.d.ts +25 -25
- package/dist/models/contextLogger.js +112 -112
- package/dist/models/devops.d.ts +12 -12
- package/dist/models/devops.js +19 -19
- package/dist/models/userSession.d.ts +61 -61
- package/dist/models/userSession.js +165 -165
- package/dist/schedule/anonymousContext.d.ts +14 -13
- package/dist/schedule/anonymousContext.js +59 -59
- package/dist/schedule/index.d.ts +4 -4
- package/dist/schedule/index.js +10 -10
- package/dist/schedule/runSchedule.d.ts +12 -15
- package/dist/schedule/runSchedule.js +68 -68
- package/dist/schedule/scheduleNames.d.ts +13 -13
- package/dist/schedule/scheduleNames.js +17 -17
- package/dist/service/AuthService.d.ts +70 -70
- package/dist/service/AuthService.js +251 -251
- package/dist/service/EnumInfoService.d.ts +30 -30
- package/dist/service/EnumInfoService.js +127 -126
- package/dist/service/FileCenterService.d.ts +43 -43
- package/dist/service/FileCenterService.js +351 -351
- package/dist/service/SysConfigService.d.ts +7 -7
- package/dist/service/SysConfigService.js +47 -47
- package/dist/service/UserAccountService.d.ts +23 -23
- package/dist/service/UserAccountService.js +107 -107
- package/dist/service/UserSessionService.d.ts +16 -16
- package/dist/service/UserSessionService.js +86 -86
- package/dist/service/VisitStatService.d.ts +14 -14
- package/dist/service/VisitStatService.js +158 -158
- package/dist/service/WorkbenchService.d.ts +20 -20
- package/dist/service/WorkbenchService.js +159 -155
- package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
- package/dist/service/anyapi/AnyApiSandboxService.js +110 -110
- package/dist/service/anyapi/AnyApiService.d.ts +27 -27
- package/dist/service/anyapi/AnyApiService.js +181 -181
- package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +37 -37
- package/dist/service/asyncTask/AsyncTaskRunnerService.js +242 -232
- package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -7
- package/dist/service/asyncTask/AsyncTaskService.js +34 -34
- package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
- package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
- package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
- package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
- package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
- package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +130 -0
- package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
- package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +121 -0
- package/dist/service/base/ApiBaseService.d.ts +15 -15
- package/dist/service/base/ApiBaseService.js +50 -50
- package/dist/service/base/ApiRateLimiter.d.ts +10 -10
- package/dist/service/base/ApiRateLimiter.js +51 -51
- package/dist/service/base/BaseService.d.ts +41 -29
- package/dist/service/base/BaseService.js +101 -79
- package/dist/service/base/RedisCacheService.d.ts +13 -13
- package/dist/service/base/RedisCacheService.js +50 -50
- package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
- package/dist/service/crudstd/CrudStdActionService.js +32 -32
- package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
- package/dist/service/crudstd/CrudStdConstant.js +64 -64
- package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -10
- package/dist/service/crudstd/CrudStdRelationService.js +85 -85
- package/dist/service/crudstd/CrudStdService.d.ts +63 -51
- package/dist/service/crudstd/CrudStdService.js +259 -227
- package/dist/service/curd/CrudProQuick.d.ts +24 -24
- package/dist/service/curd/CrudProQuick.js +109 -105
- package/dist/service/curd/CurdMixByAccountService.d.ts +9 -9
- package/dist/service/curd/CurdMixByAccountService.js +93 -93
- package/dist/service/curd/CurdMixByDictService.d.ts +13 -13
- package/dist/service/curd/CurdMixByDictService.js +114 -113
- package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +31 -31
- package/dist/service/curd/CurdMixByLinkToCustomService.js +203 -202
- package/dist/service/curd/CurdMixBySysConfigService.d.ts +9 -9
- package/dist/service/curd/CurdMixBySysConfigService.js +80 -80
- package/dist/service/curd/CurdMixByWorkbenchService.d.ts +10 -10
- package/dist/service/curd/CurdMixByWorkbenchService.js +78 -78
- package/dist/service/curd/CurdMixService.d.ts +27 -17
- package/dist/service/curd/CurdMixService.js +100 -76
- package/dist/service/curd/CurdMixUtils.d.ts +51 -35
- package/dist/service/curd/CurdMixUtils.js +275 -238
- package/dist/service/curd/CurdProService.d.ts +32 -31
- package/dist/service/curd/CurdProService.js +210 -207
- package/dist/service/curd/fixCfgModel.d.ts +3 -3
- package/dist/service/curd/fixCfgModel.js +107 -107
- package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
- package/dist/service/proxyapi/ProxyApiLoadService.js +167 -167
- package/dist/service/proxyapi/ProxyApiService.d.ts +60 -60
- package/dist/service/proxyapi/ProxyApiService.js +260 -260
- package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
- package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
- package/dist/service/proxyapi/RouteHandler.d.ts +5 -5
- package/dist/service/proxyapi/RouteHandler.js +9 -9
- package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
- package/dist/service/proxyapi/RouteTrie.js +63 -63
- package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
- package/dist/service/proxyapi/WeightedRandom.js +31 -31
- package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
- package/dist/service/proxyapi/WeightedRoundRobin.js +32 -32
- package/dist/views/404_app.html +31 -31
- package/dist/views/404_workbench.html +34 -34
- package/index.d.ts +10 -10
- package/package.json +80 -78
- package/src/config/config.default.ts +207 -203
- package/src/config/seed/aeskey.txt +1 -1
- package/src/config/utils.ts +2 -3
- package/src/configuration.ts +5 -12
- package/src/controller/base/BaseApiController.ts +21 -3
- package/src/controller/gateway/AsyncTaskController.ts +76 -2
- package/src/controller/gateway/StaticController.ts +15 -12
- package/src/controller/manage/AnyApiMangeApi.ts +66 -66
- package/src/controller/manage/AppLogMangeApi.ts +53 -53
- package/src/controller/manage/AppMangeApi.ts +53 -53
- package/src/controller/manage/AppPageMangeApi.ts +52 -52
- package/src/controller/manage/AppSchemaHistoryApi.ts +49 -49
- package/src/controller/manage/CrudMethodsMangeApi.ts +49 -49
- package/src/controller/manage/DataDictManageApi.ts +78 -78
- package/src/controller/manage/DocLibManageApi.ts +69 -69
- package/src/controller/manage/DocManageApi.ts +99 -99
- package/src/controller/manage/FileManageApi.ts +45 -45
- package/src/controller/manage/LowCodeTplManageApi.ts +52 -52
- package/src/controller/manage/MenuManageApi.ts +58 -58
- package/src/controller/manage/ProxyApiMangeApi.ts +52 -52
- package/src/controller/manage/SysConfigMangeApi.ts +95 -95
- package/src/controller/manage/UserAccountManageApi.ts +94 -94
- package/src/controller/manage/WorkbenchMangeApi.ts +72 -72
- package/src/index.ts +106 -105
- package/src/interface.ts +31 -31
- package/src/libs/crud-pro/models/ExecuteContext.ts +13 -4
- package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +2 -3
- package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +8 -9
- package/src/libs/crud-pro/services/CrudProTableMetaService.ts +86 -86
- package/src/libs/crud-pro/sql.txt +120 -120
- package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +26 -26
- package/src/libs/crud-pro/utils/sqlConvert/convertMix.ts +25 -25
- package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +11 -11
- package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +11 -11
- package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +129 -129
- package/src/libs/utils/functions.ts +73 -67
- package/src/libs/utils/render-utils.ts +184 -184
- package/src/middleware/permission.middleware.ts +1 -2
- package/src/models/AsyncTaskModel.ts +9 -6
- package/src/models/RedisKeys.ts +11 -11
- package/src/models/SystemEntities.ts +115 -115
- package/src/models/SystemPerm.ts +105 -105
- package/src/models/SystemTables.ts +27 -27
- package/src/models/bizmodels.ts +120 -88
- package/src/models/contextLogger.ts +132 -132
- package/src/models/devops.ts +17 -17
- package/src/models/userSession.ts +216 -216
- package/src/schedule/anonymousContext.ts +17 -23
- package/src/schedule/index.ts +12 -12
- package/src/schedule/runSchedule.ts +82 -83
- package/src/schedule/scheduleNames.ts +21 -21
- package/src/service/AuthService.ts +7 -10
- package/src/service/EnumInfoService.ts +24 -28
- package/src/service/FileCenterService.ts +4 -9
- package/src/service/SysConfigService.ts +4 -5
- package/src/service/UserAccountService.ts +107 -110
- package/src/service/UserSessionService.ts +12 -16
- package/src/service/WorkbenchService.ts +15 -15
- package/src/service/anyapi/AnyApiService.ts +1 -2
- package/src/service/asyncTask/AsyncTaskRunnerService.ts +22 -11
- package/src/service/asyncTask/handler/ExcelInfoModel.ts +11 -0
- package/src/service/asyncTask/handler/ExportExcelAsyncTaskHandler.ts +245 -0
- package/src/service/asyncTask/handler/ExportExcelByInnerHttpHandler.ts +147 -0
- package/src/service/asyncTask/handler/ExportExcelByStdCrudHandler.ts +138 -0
- package/src/service/base/ApiBaseService.ts +3 -3
- package/src/service/base/ApiRateLimiter.ts +59 -59
- package/src/service/base/BaseService.ts +100 -74
- package/src/service/base/RedisCacheService.ts +38 -38
- package/src/service/crudstd/CrudStdActionService.ts +27 -27
- package/src/service/crudstd/CrudStdConstant.ts +62 -62
- package/src/service/crudstd/CrudStdRelationService.ts +78 -78
- package/src/service/crudstd/CrudStdService.ts +283 -243
- package/src/service/curd/CrudProQuick.ts +11 -17
- package/src/service/curd/CurdMixByAccountService.ts +8 -9
- package/src/service/curd/CurdMixByDictService.ts +19 -24
- package/src/service/curd/CurdMixByLinkToCustomService.ts +10 -9
- package/src/service/curd/CurdMixBySysConfigService.ts +8 -13
- package/src/service/curd/CurdMixByWorkbenchService.ts +7 -8
- package/src/service/curd/CurdMixService.ts +37 -5
- package/src/service/curd/CurdMixUtils.ts +65 -45
- package/src/service/curd/CurdProService.ts +42 -48
- package/src/service/curd/fixCfgModel.ts +139 -139
- package/src/service/proxyapi/ProxyApiLoadService.ts +174 -174
- package/src/service/proxyapi/ProxyApiService.ts +262 -262
- package/src/service/proxyapi/ProxyApiUtils.ts +32 -32
- package/src/service/proxyapi/RouteHandler.ts +8 -8
- package/src/service/proxyapi/RouteTrie.ts +74 -74
- package/src/service/proxyapi/WeightedRandom.ts +37 -37
- package/src/service/proxyapi/WeightedRoundRobin.ts +44 -44
- package/src/views/404_app.html +31 -31
- package/src/views/404_workbench.html +34 -34
- package/tsconfig.json +32 -32
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
drop table sys_configs;
|
|
2
|
-
create table sys_configs
|
|
3
|
-
(
|
|
4
|
-
id bigint unsigned auto_increment primary key,
|
|
5
|
-
config_name varchar(256) not null comment '配置项的中文名',
|
|
6
|
-
config_code varchar(128) not null comment '配置项的唯一编码',
|
|
7
|
-
config_type varchar(64) not null comment '配置类型: json/xml/sheet/text',
|
|
8
|
-
config_content longtext not null comment '配置内容',
|
|
9
|
-
|
|
10
|
-
created_by varchar(128) null comment '创建人',
|
|
11
|
-
modified_by varchar(128) null comment '修改人',
|
|
12
|
-
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
|
13
|
-
modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
|
|
14
|
-
status int default 0 not null comment '状态: 0 未启用, 1 已启用',
|
|
15
|
-
|
|
16
|
-
constraint code_idx unique (config_code)
|
|
17
|
-
)
|
|
18
|
-
charset=utf8;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
drop table sys_crud_methods;
|
|
25
|
-
create table sys_crud_methods
|
|
26
|
-
(
|
|
27
|
-
id bigint unsigned auto_increment comment '自增ID'
|
|
28
|
-
primary key,
|
|
29
|
-
method varchar(256) not null comment '方法名,全局唯一',
|
|
30
|
-
columns varchar(256) null comment '返回哪些列,为空就是返回所有列',
|
|
31
|
-
max_limit bigint default 20 null comment '最大一次性返回的数量',
|
|
32
|
-
sql_simple_name varchar(256) null comment '简单查询模式;SQL缩写名称',
|
|
33
|
-
sql_cfg_list text null comment '自定义查询模式查询模式;大JSON; ISqlCfgModel数组',
|
|
34
|
-
sql_table varchar(256) null comment '操作哪个表;可以为空, originSql中不包含@@table时可以为空',
|
|
35
|
-
sql_schema varchar(256) null comment '操作哪个数据库Schema;可以为空,',
|
|
36
|
-
sql_database varchar(256) null comment '操作哪个数据库;可以为空,用于运行时选择数据库链接',
|
|
37
|
-
transaction_enable bigint default 0 null comment '是否开启事务,默认不开启,每条语句都是autocommit',
|
|
38
|
-
transaction_isolation bigint default 1 null comment '事务隔离级别; 实际只能是(0,1,2,4,8)',
|
|
39
|
-
more_config longtext null comment '更多自定义配置;大JSON',
|
|
40
|
-
|
|
41
|
-
created_by varchar(128) null comment '创建人',
|
|
42
|
-
modified_by varchar(128) null comment '修改人',
|
|
43
|
-
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
|
44
|
-
modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
|
|
45
|
-
status int default 0 not null comment '状态: 0 未启用, 1 已启用',
|
|
46
|
-
|
|
47
|
-
constraint method_idx unique (method)
|
|
48
|
-
)
|
|
49
|
-
comment 'CrudPro方法配置' charset=utf8;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
drop table sys_data_dict;
|
|
56
|
-
create table sys_data_dict
|
|
57
|
-
(
|
|
58
|
-
id bigint unsigned auto_increment
|
|
59
|
-
primary key,
|
|
60
|
-
dict_code varchar(128) not null comment '唯一编码,字母数字下划线点号',
|
|
61
|
-
dict_name varchar(256) not null comment '中文名称',
|
|
62
|
-
dict_desc varchar(512) null comment '中文描述',
|
|
63
|
-
dict_type bigint default 1 not null comment '1普通,2树状',
|
|
64
|
-
ext_info_desc longtext null comment '扩展字段描述信息',
|
|
65
|
-
|
|
66
|
-
created_by varchar(128) null comment '创建人',
|
|
67
|
-
modified_by varchar(128) null comment '修改人',
|
|
68
|
-
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
|
69
|
-
modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
|
|
70
|
-
status int default 0 not null comment '状态: 0 未启用, 1 已启用',
|
|
71
|
-
|
|
72
|
-
constraint code_idx unique (dict_code)
|
|
73
|
-
)
|
|
74
|
-
comment '数据字典' charset=utf8;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
drop table sys_data_dict_item;
|
|
79
|
-
create table sys_data_dict_item
|
|
80
|
-
(
|
|
81
|
-
id bigint unsigned auto_increment comment '条目ID'
|
|
82
|
-
primary key,
|
|
83
|
-
parent_id bigint default 0 null comment '条目父ID',
|
|
84
|
-
dict_code varchar(128) default '0' not null comment '字典编码',
|
|
85
|
-
|
|
86
|
-
label varchar(256) not null comment '条目显示名称;如SexEnum 男,女',
|
|
87
|
-
value varchar(128) not null comment '条目值;如SexEnum 0,1',
|
|
88
|
-
code varchar(128) not null comment '条目代码;如SexEnum BOY,GIRL; 如果不需要,请将code的值设置成与value一样。',
|
|
89
|
-
icon varchar(256) null comment '条目图标: 图标URL',
|
|
90
|
-
style varchar(64) null comment '条目样式;样式枚举值:red,yellow,...',
|
|
91
|
-
sort bigint default 1 null comment '排序码',
|
|
92
|
-
|
|
93
|
-
ext1 varchar(128) null comment '扩展字段1',
|
|
94
|
-
ext2 varchar(128) null comment '扩展字段2',
|
|
95
|
-
ext3 varchar(128) null comment '扩展字段3',
|
|
96
|
-
ext4 varchar(128) null comment '扩展字段4',
|
|
97
|
-
ext5 varchar(128) null comment '扩展字段5',
|
|
98
|
-
ext6 varchar(128) null comment '扩展字段6',
|
|
99
|
-
ext7 varchar(128) null comment '扩展字段7',
|
|
100
|
-
ext8 varchar(128) null comment '扩展字段8',
|
|
101
|
-
ext9 varchar(128) null comment '扩展字段9',
|
|
102
|
-
ext10 varchar(128) null comment '扩展字段10',
|
|
103
|
-
ext_more longtext null comment '扩展字段大JSON',
|
|
104
|
-
|
|
105
|
-
created_by varchar(128) null comment '创建人',
|
|
106
|
-
modified_by varchar(128) null comment '修改人',
|
|
107
|
-
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
|
108
|
-
modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
|
|
109
|
-
status int default 0 not null comment '状态: 0 未启用, 1 已启用',
|
|
110
|
-
|
|
111
|
-
constraint code_dict_code_uindex
|
|
112
|
-
unique (code, dict_code),
|
|
113
|
-
constraint code_dict_value_uindex
|
|
114
|
-
unique (value, dict_code)
|
|
115
|
-
)
|
|
116
|
-
comment '数据字典每一项; 如常见枚举类定义:class SexEnum { BOY(''男'', 1),GIRL(''女'', 0)}' charset=utf8;
|
|
117
|
-
|
|
118
|
-
create index code_idx
|
|
119
|
-
on sys_data_dict_item (dict_code);
|
|
120
|
-
|
|
1
|
+
drop table sys_configs;
|
|
2
|
+
create table sys_configs
|
|
3
|
+
(
|
|
4
|
+
id bigint unsigned auto_increment primary key,
|
|
5
|
+
config_name varchar(256) not null comment '配置项的中文名',
|
|
6
|
+
config_code varchar(128) not null comment '配置项的唯一编码',
|
|
7
|
+
config_type varchar(64) not null comment '配置类型: json/xml/sheet/text',
|
|
8
|
+
config_content longtext not null comment '配置内容',
|
|
9
|
+
|
|
10
|
+
created_by varchar(128) null comment '创建人',
|
|
11
|
+
modified_by varchar(128) null comment '修改人',
|
|
12
|
+
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
|
13
|
+
modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
|
|
14
|
+
status int default 0 not null comment '状态: 0 未启用, 1 已启用',
|
|
15
|
+
|
|
16
|
+
constraint code_idx unique (config_code)
|
|
17
|
+
)
|
|
18
|
+
charset=utf8;
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
drop table sys_crud_methods;
|
|
25
|
+
create table sys_crud_methods
|
|
26
|
+
(
|
|
27
|
+
id bigint unsigned auto_increment comment '自增ID'
|
|
28
|
+
primary key,
|
|
29
|
+
method varchar(256) not null comment '方法名,全局唯一',
|
|
30
|
+
columns varchar(256) null comment '返回哪些列,为空就是返回所有列',
|
|
31
|
+
max_limit bigint default 20 null comment '最大一次性返回的数量',
|
|
32
|
+
sql_simple_name varchar(256) null comment '简单查询模式;SQL缩写名称',
|
|
33
|
+
sql_cfg_list text null comment '自定义查询模式查询模式;大JSON; ISqlCfgModel数组',
|
|
34
|
+
sql_table varchar(256) null comment '操作哪个表;可以为空, originSql中不包含@@table时可以为空',
|
|
35
|
+
sql_schema varchar(256) null comment '操作哪个数据库Schema;可以为空,',
|
|
36
|
+
sql_database varchar(256) null comment '操作哪个数据库;可以为空,用于运行时选择数据库链接',
|
|
37
|
+
transaction_enable bigint default 0 null comment '是否开启事务,默认不开启,每条语句都是autocommit',
|
|
38
|
+
transaction_isolation bigint default 1 null comment '事务隔离级别; 实际只能是(0,1,2,4,8)',
|
|
39
|
+
more_config longtext null comment '更多自定义配置;大JSON',
|
|
40
|
+
|
|
41
|
+
created_by varchar(128) null comment '创建人',
|
|
42
|
+
modified_by varchar(128) null comment '修改人',
|
|
43
|
+
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
|
44
|
+
modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
|
|
45
|
+
status int default 0 not null comment '状态: 0 未启用, 1 已启用',
|
|
46
|
+
|
|
47
|
+
constraint method_idx unique (method)
|
|
48
|
+
)
|
|
49
|
+
comment 'CrudPro方法配置' charset=utf8;
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
drop table sys_data_dict;
|
|
56
|
+
create table sys_data_dict
|
|
57
|
+
(
|
|
58
|
+
id bigint unsigned auto_increment
|
|
59
|
+
primary key,
|
|
60
|
+
dict_code varchar(128) not null comment '唯一编码,字母数字下划线点号',
|
|
61
|
+
dict_name varchar(256) not null comment '中文名称',
|
|
62
|
+
dict_desc varchar(512) null comment '中文描述',
|
|
63
|
+
dict_type bigint default 1 not null comment '1普通,2树状',
|
|
64
|
+
ext_info_desc longtext null comment '扩展字段描述信息',
|
|
65
|
+
|
|
66
|
+
created_by varchar(128) null comment '创建人',
|
|
67
|
+
modified_by varchar(128) null comment '修改人',
|
|
68
|
+
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
|
69
|
+
modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
|
|
70
|
+
status int default 0 not null comment '状态: 0 未启用, 1 已启用',
|
|
71
|
+
|
|
72
|
+
constraint code_idx unique (dict_code)
|
|
73
|
+
)
|
|
74
|
+
comment '数据字典' charset=utf8;
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
drop table sys_data_dict_item;
|
|
79
|
+
create table sys_data_dict_item
|
|
80
|
+
(
|
|
81
|
+
id bigint unsigned auto_increment comment '条目ID'
|
|
82
|
+
primary key,
|
|
83
|
+
parent_id bigint default 0 null comment '条目父ID',
|
|
84
|
+
dict_code varchar(128) default '0' not null comment '字典编码',
|
|
85
|
+
|
|
86
|
+
label varchar(256) not null comment '条目显示名称;如SexEnum 男,女',
|
|
87
|
+
value varchar(128) not null comment '条目值;如SexEnum 0,1',
|
|
88
|
+
code varchar(128) not null comment '条目代码;如SexEnum BOY,GIRL; 如果不需要,请将code的值设置成与value一样。',
|
|
89
|
+
icon varchar(256) null comment '条目图标: 图标URL',
|
|
90
|
+
style varchar(64) null comment '条目样式;样式枚举值:red,yellow,...',
|
|
91
|
+
sort bigint default 1 null comment '排序码',
|
|
92
|
+
|
|
93
|
+
ext1 varchar(128) null comment '扩展字段1',
|
|
94
|
+
ext2 varchar(128) null comment '扩展字段2',
|
|
95
|
+
ext3 varchar(128) null comment '扩展字段3',
|
|
96
|
+
ext4 varchar(128) null comment '扩展字段4',
|
|
97
|
+
ext5 varchar(128) null comment '扩展字段5',
|
|
98
|
+
ext6 varchar(128) null comment '扩展字段6',
|
|
99
|
+
ext7 varchar(128) null comment '扩展字段7',
|
|
100
|
+
ext8 varchar(128) null comment '扩展字段8',
|
|
101
|
+
ext9 varchar(128) null comment '扩展字段9',
|
|
102
|
+
ext10 varchar(128) null comment '扩展字段10',
|
|
103
|
+
ext_more longtext null comment '扩展字段大JSON',
|
|
104
|
+
|
|
105
|
+
created_by varchar(128) null comment '创建人',
|
|
106
|
+
modified_by varchar(128) null comment '修改人',
|
|
107
|
+
created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
|
108
|
+
modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
|
|
109
|
+
status int default 0 not null comment '状态: 0 未启用, 1 已启用',
|
|
110
|
+
|
|
111
|
+
constraint code_dict_code_uindex
|
|
112
|
+
unique (code, dict_code),
|
|
113
|
+
constraint code_dict_value_uindex
|
|
114
|
+
unique (value, dict_code)
|
|
115
|
+
)
|
|
116
|
+
comment '数据字典每一项; 如常见枚举类定义:class SexEnum { BOY(''男'', 1),GIRL(''女'', 0)}' charset=utf8;
|
|
117
|
+
|
|
118
|
+
create index code_idx
|
|
119
|
+
on sys_data_dict_item (dict_code);
|
|
120
|
+
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import {SqlCfgModel} from "../../models/SqlCfgModel";
|
|
2
|
-
import {SqlDbType} from "../../models/keys";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function toSqlColumnName(columnName: string, sqlCfgModel: SqlCfgModel): string {
|
|
6
|
-
if (sqlCfgModel.sqlDbType === SqlDbType.postgres) {
|
|
7
|
-
return '"' + columnName + '"';
|
|
8
|
-
}
|
|
9
|
-
if (sqlCfgModel.sqlDbType === SqlDbType.sqlserver) {
|
|
10
|
-
return '[' + columnName + ']';
|
|
11
|
-
}
|
|
12
|
-
return '`' + columnName + '`';
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function toSqlColumnNamesJoin(columns: string[], sqlCfgModel: SqlCfgModel): string {
|
|
16
|
-
const columns2 = columns.map(col => {
|
|
17
|
-
return toSqlColumnName(col.trim(), sqlCfgModel);
|
|
18
|
-
});
|
|
19
|
-
return columns2.join(',');
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export {
|
|
24
|
-
toSqlColumnName,
|
|
25
|
-
toSqlColumnNamesJoin
|
|
26
|
-
}
|
|
1
|
+
import {SqlCfgModel} from "../../models/SqlCfgModel";
|
|
2
|
+
import {SqlDbType} from "../../models/keys";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
function toSqlColumnName(columnName: string, sqlCfgModel: SqlCfgModel): string {
|
|
6
|
+
if (sqlCfgModel.sqlDbType === SqlDbType.postgres) {
|
|
7
|
+
return '"' + columnName + '"';
|
|
8
|
+
}
|
|
9
|
+
if (sqlCfgModel.sqlDbType === SqlDbType.sqlserver) {
|
|
10
|
+
return '[' + columnName + ']';
|
|
11
|
+
}
|
|
12
|
+
return '`' + columnName + '`';
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function toSqlColumnNamesJoin(columns: string[], sqlCfgModel: SqlCfgModel): string {
|
|
16
|
+
const columns2 = columns.map(col => {
|
|
17
|
+
return toSqlColumnName(col.trim(), sqlCfgModel);
|
|
18
|
+
});
|
|
19
|
+
return columns2.join(',');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
export {
|
|
24
|
+
toSqlColumnName,
|
|
25
|
+
toSqlColumnNamesJoin
|
|
26
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { SqlDbType } from "../../models/keys";
|
|
2
|
-
import { pickAndConvertPgRows } from "./convertPgType";
|
|
3
|
-
import * as _ from 'lodash'
|
|
4
|
-
|
|
5
|
-
function pickAndConvertRowsByMix(connectionQueryRes: any, sqlDbType: SqlDbType): any[] | any {
|
|
6
|
-
if (!connectionQueryRes) {
|
|
7
|
-
throw new Error('[pickAndConvertRowsByMix] error, connectionQueryRes is null ')
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
if (sqlDbType === SqlDbType.postgres) {
|
|
11
|
-
return pickAndConvertPgRows(connectionQueryRes);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (sqlDbType === SqlDbType.mysql) {
|
|
15
|
-
return connectionQueryRes[0];
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
if (sqlDbType === SqlDbType.sqlserver) {
|
|
19
|
-
return _.get(connectionQueryRes, 'recordsets[0]') || [];
|
|
20
|
-
}
|
|
21
|
-
throw new Error('[pickAndConvertRowsByMix] error sqlDbType, sqlDbType = ' + sqlDbType)
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export {
|
|
25
|
-
pickAndConvertRowsByMix
|
|
1
|
+
import { SqlDbType } from "../../models/keys";
|
|
2
|
+
import { pickAndConvertPgRows } from "./convertPgType";
|
|
3
|
+
import * as _ from 'lodash'
|
|
4
|
+
|
|
5
|
+
function pickAndConvertRowsByMix(connectionQueryRes: any, sqlDbType: SqlDbType): any[] | any {
|
|
6
|
+
if (!connectionQueryRes) {
|
|
7
|
+
throw new Error('[pickAndConvertRowsByMix] error, connectionQueryRes is null ')
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
if (sqlDbType === SqlDbType.postgres) {
|
|
11
|
+
return pickAndConvertPgRows(connectionQueryRes);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (sqlDbType === SqlDbType.mysql) {
|
|
15
|
+
return connectionQueryRes[0];
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (sqlDbType === SqlDbType.sqlserver) {
|
|
19
|
+
return _.get(connectionQueryRes, 'recordsets[0]') || [];
|
|
20
|
+
}
|
|
21
|
+
throw new Error('[pickAndConvertRowsByMix] error sqlDbType, sqlDbType = ' + sqlDbType)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export {
|
|
25
|
+
pickAndConvertRowsByMix
|
|
26
26
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
function replaceQuestionMarksForMssql(sql:string): string {
|
|
2
|
-
let count = 0;
|
|
3
|
-
return sql.replace(/\?/g, () => {
|
|
4
|
-
count = count+ 1;
|
|
5
|
-
return `@fatcms_ms${count}`
|
|
6
|
-
});
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export {
|
|
10
|
-
replaceQuestionMarksForMssql,
|
|
11
|
-
}
|
|
1
|
+
function replaceQuestionMarksForMssql(sql:string): string {
|
|
2
|
+
let count = 0;
|
|
3
|
+
return sql.replace(/\?/g, () => {
|
|
4
|
+
count = count+ 1;
|
|
5
|
+
return `@fatcms_ms${count}`
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
replaceQuestionMarksForMssql,
|
|
11
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
function replaceQuestionMarks(sql:string): string {
|
|
2
|
-
let count = 0;
|
|
3
|
-
return sql.replace(/\?/g, () => {
|
|
4
|
-
count = count+ 1;
|
|
5
|
-
return `$${count}`
|
|
6
|
-
});
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export {
|
|
10
|
-
replaceQuestionMarks,
|
|
11
|
-
}
|
|
1
|
+
function replaceQuestionMarks(sql:string): string {
|
|
2
|
+
let count = 0;
|
|
3
|
+
return sql.replace(/\?/g, () => {
|
|
4
|
+
count = count+ 1;
|
|
5
|
+
return `$${count}`
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
replaceQuestionMarks,
|
|
11
|
+
}
|
|
@@ -1,129 +1,129 @@
|
|
|
1
|
-
//
|
|
2
|
-
// // 定义 PostgreSQL 数据类型 OID 映射
|
|
3
|
-
// const PG_TYPE_OIDS = {
|
|
4
|
-
// INT2: 21, // smallint
|
|
5
|
-
// INT4: 23, // integer
|
|
6
|
-
// INT8: 20, // bigint
|
|
7
|
-
// FLOAT4: 700, // real
|
|
8
|
-
// FLOAT8: 701, // double precision
|
|
9
|
-
// NUMERIC: 1700, // numeric
|
|
10
|
-
// MONEY: 790, // money
|
|
11
|
-
// BOOL: 16, // boolean
|
|
12
|
-
// DATE: 1082, // date
|
|
13
|
-
// TIMESTAMP: 1114, // timestamp without time zone
|
|
14
|
-
// TIMESTAMPTZ: 1184, // timestamp with time zone
|
|
15
|
-
// JSON: 114, // json
|
|
16
|
-
// JSONB: 3802, // jsonb
|
|
17
|
-
// };
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
// /**
|
|
22
|
-
// * 将 PostgreSQL 数据类型转换为 JavaScript 类型
|
|
23
|
-
// * @param {any} value - 原始值
|
|
24
|
-
// * @param {number} oid - 数据类型 OID
|
|
25
|
-
// * @returns {any} 转换后的值
|
|
26
|
-
// */
|
|
27
|
-
// function convertPgType(value: any, oid: any) {
|
|
28
|
-
// // 如果值为 null,直接返回
|
|
29
|
-
// if (value === null) {
|
|
30
|
-
// return null;
|
|
31
|
-
// }
|
|
32
|
-
//
|
|
33
|
-
// const typeOfValue = typeof value;
|
|
34
|
-
// if (typeOfValue === 'undefined') {
|
|
35
|
-
// return null;
|
|
36
|
-
// }
|
|
37
|
-
// if (typeOfValue === 'number' || typeOfValue === "boolean" || typeOfValue === "object") {
|
|
38
|
-
// return value;
|
|
39
|
-
// }
|
|
40
|
-
// if (typeOfValue === 'bigint') {
|
|
41
|
-
// return value.toString()
|
|
42
|
-
// }
|
|
43
|
-
//
|
|
44
|
-
// switch (oid) {
|
|
45
|
-
// // 整数类型(全部转为 Number)
|
|
46
|
-
// case PG_TYPE_OIDS.INT2: // smallint
|
|
47
|
-
// case PG_TYPE_OIDS.INT4: // integer
|
|
48
|
-
// return Number(value);
|
|
49
|
-
// case PG_TYPE_OIDS.INT8: // bigint
|
|
50
|
-
// return value;
|
|
51
|
-
//
|
|
52
|
-
// // 浮点类型
|
|
53
|
-
// case PG_TYPE_OIDS.FLOAT4: // real
|
|
54
|
-
// case PG_TYPE_OIDS.FLOAT8: // double precision
|
|
55
|
-
// case PG_TYPE_OIDS.NUMERIC: // numeric
|
|
56
|
-
// case PG_TYPE_OIDS.MONEY: // money
|
|
57
|
-
// return Number(value);
|
|
58
|
-
//
|
|
59
|
-
// // 布尔类型
|
|
60
|
-
// case PG_TYPE_OIDS.BOOL:
|
|
61
|
-
// if (typeof value === 'boolean') {
|
|
62
|
-
// return value;
|
|
63
|
-
// }
|
|
64
|
-
// return value === 't' || value === 'true' || value === true;
|
|
65
|
-
//
|
|
66
|
-
// // 日期/时间类型
|
|
67
|
-
// case PG_TYPE_OIDS.DATE:
|
|
68
|
-
// return new Date(value).toISOString().split('T')[0];
|
|
69
|
-
//
|
|
70
|
-
// case PG_TYPE_OIDS.TIMESTAMP:
|
|
71
|
-
// case PG_TYPE_OIDS.TIMESTAMPTZ:
|
|
72
|
-
// return new Date(value).toISOString();
|
|
73
|
-
//
|
|
74
|
-
// // JSON 类型
|
|
75
|
-
// case PG_TYPE_OIDS.JSON:
|
|
76
|
-
// case PG_TYPE_OIDS.JSONB:
|
|
77
|
-
// // try {
|
|
78
|
-
// // return JSON.parse(value);
|
|
79
|
-
// // } catch (e) {
|
|
80
|
-
// // return value; // 解析失败时返回原始值
|
|
81
|
-
// // }
|
|
82
|
-
//
|
|
83
|
-
// // 默认不转换
|
|
84
|
-
// default:
|
|
85
|
-
// return value;
|
|
86
|
-
// }
|
|
87
|
-
// }
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
// /**
|
|
91
|
-
// * 获取并转换PG查询结果的数据类型
|
|
92
|
-
// * @param result
|
|
93
|
-
// */
|
|
94
|
-
// function pickAndConvertPgRows(result: any): any[] {
|
|
95
|
-
// if (!result || !Array.isArray(result.rows)) {
|
|
96
|
-
// return [];
|
|
97
|
-
// }
|
|
98
|
-
//
|
|
99
|
-
// console.log('',convertPgType)
|
|
100
|
-
// try {
|
|
101
|
-
// // 获取字段类型 OID
|
|
102
|
-
// const fieldTypes = result.fields.map((field: any) => field.dataTypeID);
|
|
103
|
-
//
|
|
104
|
-
// // 转换每一行的数据类型
|
|
105
|
-
// return result.rows.map((row:any) => {
|
|
106
|
-
// const convertedRow = {};
|
|
107
|
-
// Object.keys(row).forEach((key, index) => {
|
|
108
|
-
// const value = row[key];
|
|
109
|
-
// const oid = fieldTypes[index];
|
|
110
|
-
// convertedRow[key] = convertPgType(value, oid);
|
|
111
|
-
// });
|
|
112
|
-
// return convertedRow;
|
|
113
|
-
// });
|
|
114
|
-
// } catch (e) {
|
|
115
|
-
// console.error('pickAndConvertPgRows', e);
|
|
116
|
-
// }
|
|
117
|
-
// return [];
|
|
118
|
-
// }
|
|
119
|
-
|
|
120
|
-
function pickAndConvertPgRows(result: any): any[] {
|
|
121
|
-
if (!result || !Array.isArray(result.rows)) {
|
|
122
|
-
return [];
|
|
123
|
-
}
|
|
124
|
-
return result.rows;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export {
|
|
128
|
-
pickAndConvertPgRows
|
|
129
|
-
}
|
|
1
|
+
//
|
|
2
|
+
// // 定义 PostgreSQL 数据类型 OID 映射
|
|
3
|
+
// const PG_TYPE_OIDS = {
|
|
4
|
+
// INT2: 21, // smallint
|
|
5
|
+
// INT4: 23, // integer
|
|
6
|
+
// INT8: 20, // bigint
|
|
7
|
+
// FLOAT4: 700, // real
|
|
8
|
+
// FLOAT8: 701, // double precision
|
|
9
|
+
// NUMERIC: 1700, // numeric
|
|
10
|
+
// MONEY: 790, // money
|
|
11
|
+
// BOOL: 16, // boolean
|
|
12
|
+
// DATE: 1082, // date
|
|
13
|
+
// TIMESTAMP: 1114, // timestamp without time zone
|
|
14
|
+
// TIMESTAMPTZ: 1184, // timestamp with time zone
|
|
15
|
+
// JSON: 114, // json
|
|
16
|
+
// JSONB: 3802, // jsonb
|
|
17
|
+
// };
|
|
18
|
+
//
|
|
19
|
+
//
|
|
20
|
+
//
|
|
21
|
+
// /**
|
|
22
|
+
// * 将 PostgreSQL 数据类型转换为 JavaScript 类型
|
|
23
|
+
// * @param {any} value - 原始值
|
|
24
|
+
// * @param {number} oid - 数据类型 OID
|
|
25
|
+
// * @returns {any} 转换后的值
|
|
26
|
+
// */
|
|
27
|
+
// function convertPgType(value: any, oid: any) {
|
|
28
|
+
// // 如果值为 null,直接返回
|
|
29
|
+
// if (value === null) {
|
|
30
|
+
// return null;
|
|
31
|
+
// }
|
|
32
|
+
//
|
|
33
|
+
// const typeOfValue = typeof value;
|
|
34
|
+
// if (typeOfValue === 'undefined') {
|
|
35
|
+
// return null;
|
|
36
|
+
// }
|
|
37
|
+
// if (typeOfValue === 'number' || typeOfValue === "boolean" || typeOfValue === "object") {
|
|
38
|
+
// return value;
|
|
39
|
+
// }
|
|
40
|
+
// if (typeOfValue === 'bigint') {
|
|
41
|
+
// return value.toString()
|
|
42
|
+
// }
|
|
43
|
+
//
|
|
44
|
+
// switch (oid) {
|
|
45
|
+
// // 整数类型(全部转为 Number)
|
|
46
|
+
// case PG_TYPE_OIDS.INT2: // smallint
|
|
47
|
+
// case PG_TYPE_OIDS.INT4: // integer
|
|
48
|
+
// return Number(value);
|
|
49
|
+
// case PG_TYPE_OIDS.INT8: // bigint
|
|
50
|
+
// return value;
|
|
51
|
+
//
|
|
52
|
+
// // 浮点类型
|
|
53
|
+
// case PG_TYPE_OIDS.FLOAT4: // real
|
|
54
|
+
// case PG_TYPE_OIDS.FLOAT8: // double precision
|
|
55
|
+
// case PG_TYPE_OIDS.NUMERIC: // numeric
|
|
56
|
+
// case PG_TYPE_OIDS.MONEY: // money
|
|
57
|
+
// return Number(value);
|
|
58
|
+
//
|
|
59
|
+
// // 布尔类型
|
|
60
|
+
// case PG_TYPE_OIDS.BOOL:
|
|
61
|
+
// if (typeof value === 'boolean') {
|
|
62
|
+
// return value;
|
|
63
|
+
// }
|
|
64
|
+
// return value === 't' || value === 'true' || value === true;
|
|
65
|
+
//
|
|
66
|
+
// // 日期/时间类型
|
|
67
|
+
// case PG_TYPE_OIDS.DATE:
|
|
68
|
+
// return new Date(value).toISOString().split('T')[0];
|
|
69
|
+
//
|
|
70
|
+
// case PG_TYPE_OIDS.TIMESTAMP:
|
|
71
|
+
// case PG_TYPE_OIDS.TIMESTAMPTZ:
|
|
72
|
+
// return new Date(value).toISOString();
|
|
73
|
+
//
|
|
74
|
+
// // JSON 类型
|
|
75
|
+
// case PG_TYPE_OIDS.JSON:
|
|
76
|
+
// case PG_TYPE_OIDS.JSONB:
|
|
77
|
+
// // try {
|
|
78
|
+
// // return JSON.parse(value);
|
|
79
|
+
// // } catch (e) {
|
|
80
|
+
// // return value; // 解析失败时返回原始值
|
|
81
|
+
// // }
|
|
82
|
+
//
|
|
83
|
+
// // 默认不转换
|
|
84
|
+
// default:
|
|
85
|
+
// return value;
|
|
86
|
+
// }
|
|
87
|
+
// }
|
|
88
|
+
//
|
|
89
|
+
//
|
|
90
|
+
// /**
|
|
91
|
+
// * 获取并转换PG查询结果的数据类型
|
|
92
|
+
// * @param result
|
|
93
|
+
// */
|
|
94
|
+
// function pickAndConvertPgRows(result: any): any[] {
|
|
95
|
+
// if (!result || !Array.isArray(result.rows)) {
|
|
96
|
+
// return [];
|
|
97
|
+
// }
|
|
98
|
+
//
|
|
99
|
+
// console.log('',convertPgType)
|
|
100
|
+
// try {
|
|
101
|
+
// // 获取字段类型 OID
|
|
102
|
+
// const fieldTypes = result.fields.map((field: any) => field.dataTypeID);
|
|
103
|
+
//
|
|
104
|
+
// // 转换每一行的数据类型
|
|
105
|
+
// return result.rows.map((row:any) => {
|
|
106
|
+
// const convertedRow = {};
|
|
107
|
+
// Object.keys(row).forEach((key, index) => {
|
|
108
|
+
// const value = row[key];
|
|
109
|
+
// const oid = fieldTypes[index];
|
|
110
|
+
// convertedRow[key] = convertPgType(value, oid);
|
|
111
|
+
// });
|
|
112
|
+
// return convertedRow;
|
|
113
|
+
// });
|
|
114
|
+
// } catch (e) {
|
|
115
|
+
// console.error('pickAndConvertPgRows', e);
|
|
116
|
+
// }
|
|
117
|
+
// return [];
|
|
118
|
+
// }
|
|
119
|
+
|
|
120
|
+
function pickAndConvertPgRows(result: any): any[] {
|
|
121
|
+
if (!result || !Array.isArray(result.rows)) {
|
|
122
|
+
return [];
|
|
123
|
+
}
|
|
124
|
+
return result.rows;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export {
|
|
128
|
+
pickAndConvertPgRows
|
|
129
|
+
}
|