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

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 (265) hide show
  1. package/.eslintrc.json +12 -0
  2. package/.prettierrc.js +4 -0
  3. package/README.md +7 -0
  4. package/dist/config/config.default.js +52 -15
  5. package/dist/configuration.d.ts +1 -0
  6. package/dist/configuration.js +33 -8
  7. package/dist/controller/base/BaseApiController.d.ts +1 -1
  8. package/dist/controller/base/BaseApiController.js +14 -6
  9. package/dist/controller/gateway/AsyncTaskController.d.ts +14 -0
  10. package/dist/controller/gateway/AsyncTaskController.js +108 -0
  11. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +3 -3
  12. package/dist/controller/gateway/CrudMtdGatewayController.js +9 -6
  13. package/dist/controller/gateway/CrudStdGatewayController.d.ts +5 -5
  14. package/dist/controller/gateway/DocGatewayController.js +14 -9
  15. package/dist/controller/gateway/PublicApiController.js +4 -6
  16. package/dist/controller/gateway/StaticController.d.ts +2 -0
  17. package/dist/controller/gateway/StaticController.js +59 -40
  18. package/dist/controller/helpers.controller.d.ts +1 -1
  19. package/dist/controller/home.controller.js +2 -2
  20. package/dist/controller/manage/AnyApiMangeApi.js +2 -2
  21. package/dist/controller/manage/AppLogMangeApi.js +2 -2
  22. package/dist/controller/manage/AppMangeApi.js +2 -2
  23. package/dist/controller/manage/AppPageMangeApi.js +2 -2
  24. package/dist/controller/manage/AppSchemaHistoryApi.js +2 -2
  25. package/dist/controller/manage/CrudMethodsMangeApi.js +2 -2
  26. package/dist/controller/manage/CrudStandardDesignApi.d.ts +1 -1
  27. package/dist/controller/manage/CrudStandardDesignApi.js +78 -75
  28. package/dist/controller/manage/DataDictManageApi.d.ts +1 -1
  29. package/dist/controller/manage/DataDictManageApi.js +1 -1
  30. package/dist/controller/manage/DeployManageApi.d.ts +1 -1
  31. package/dist/controller/manage/DeployManageApi.js +38 -34
  32. package/dist/controller/manage/DocLibManageApi.js +2 -2
  33. package/dist/controller/manage/DocManageApi.js +2 -2
  34. package/dist/controller/manage/FileManageApi.js +1 -1
  35. package/dist/controller/manage/LowCodeTplManageApi.js +2 -2
  36. package/dist/controller/manage/MenuManageApi.js +2 -2
  37. package/dist/controller/manage/ProxyApiMangeApi.js +2 -2
  38. package/dist/controller/manage/SuperAdminManageApi.d.ts +2 -2
  39. package/dist/controller/manage/SuperAdminManageApi.js +12 -8
  40. package/dist/controller/manage/SysConfigMangeApi.d.ts +1 -1
  41. package/dist/controller/manage/SysConfigMangeApi.js +8 -6
  42. package/dist/controller/manage/SystemInfoManageApi.d.ts +1 -1
  43. package/dist/controller/manage/SystemInfoManageApi.js +7 -1
  44. package/dist/controller/manage/UserAccountManageApi.d.ts +2 -2
  45. package/dist/controller/manage/UserAccountManageApi.js +7 -2
  46. package/dist/controller/manage/WorkbenchMangeApi.js +3 -3
  47. package/dist/controller/myinfo/AuthController.d.ts +0 -4
  48. package/dist/controller/myinfo/AuthController.js +1 -54
  49. package/dist/controller/render/AppRenderController.js +10 -4
  50. package/dist/controller/test.controller.d.ts +1 -1
  51. package/dist/controller/test.controller.js +5 -5
  52. package/dist/index.d.ts +34 -4
  53. package/dist/index.js +34 -4
  54. package/dist/libs/crud-pro/CrudPro.d.ts +1 -0
  55. package/dist/libs/crud-pro/CrudPro.js +5 -0
  56. package/dist/libs/crud-pro/defaultConfigs.js +2 -0
  57. package/dist/libs/crud-pro/interfaces.d.ts +7 -1
  58. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +2 -1
  59. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +8 -1
  60. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +8 -0
  61. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +1 -1
  62. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
  63. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  64. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +1 -1
  65. package/dist/libs/crud-pro/models/TransactionSqlServer.js +1 -1
  66. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
  67. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +27 -15
  68. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +13 -17
  69. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
  70. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
  71. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
  72. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
  73. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
  74. package/dist/libs/crud-pro/services/CrudProServiceBase.js +3 -2
  75. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
  76. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +32 -7
  77. package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
  78. package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
  79. package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
  80. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
  81. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
  82. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  83. package/dist/libs/global-config/global-config.d.ts +45 -0
  84. package/dist/libs/global-config/global-config.js +33 -0
  85. package/dist/libs/utils/errorToString.d.ts +2 -0
  86. package/dist/libs/utils/errorToString.js +57 -0
  87. package/dist/libs/utils/fatcms-request.js +2 -2
  88. package/dist/middleware/forbidden.middleware.js +4 -20
  89. package/dist/middleware/global.middleware.js +8 -1
  90. package/dist/models/AsyncTaskModel.d.ts +69 -0
  91. package/dist/models/AsyncTaskModel.js +26 -0
  92. package/dist/models/RedisKeys.d.ts +8 -0
  93. package/dist/models/RedisKeys.js +11 -0
  94. package/dist/models/SystemTables.d.ts +1 -3
  95. package/dist/models/SystemTables.js +2 -4
  96. package/dist/schedule/anonymousContext.d.ts +13 -0
  97. package/dist/schedule/anonymousContext.js +59 -0
  98. package/dist/schedule/index.d.ts +4 -3
  99. package/dist/schedule/index.js +8 -67
  100. package/dist/schedule/runSchedule.d.ts +15 -0
  101. package/dist/schedule/runSchedule.js +68 -0
  102. package/dist/schedule/scheduleNames.d.ts +13 -0
  103. package/dist/schedule/scheduleNames.js +17 -0
  104. package/dist/service/AuthService.js +8 -5
  105. package/dist/service/EnumInfoService.js +7 -4
  106. package/dist/service/FileCenterService.js +13 -9
  107. package/dist/service/SysConfigService.js +4 -2
  108. package/dist/service/UserAccountService.js +10 -6
  109. package/dist/service/UserSessionService.js +2 -1
  110. package/dist/service/VisitStatService.d.ts +1 -1
  111. package/dist/service/VisitStatService.js +20 -27
  112. package/dist/service/WorkbenchService.js +4 -2
  113. package/dist/service/anyapi/AnyApiService.js +4 -2
  114. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +37 -0
  115. package/dist/service/asyncTask/AsyncTaskRunnerService.js +232 -0
  116. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  117. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  118. package/dist/service/crudstd/CrudStdService.d.ts +2 -1
  119. package/dist/service/crudstd/CrudStdService.js +48 -3
  120. package/dist/service/curd/CrudProQuick.d.ts +24 -0
  121. package/dist/service/curd/CrudProQuick.js +105 -0
  122. package/dist/service/curd/CurdMixByAccountService.js +12 -6
  123. package/dist/service/curd/CurdMixByDictService.js +4 -2
  124. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +10 -1
  125. package/dist/service/curd/CurdMixByLinkToCustomService.js +72 -24
  126. package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
  127. package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
  128. package/dist/service/curd/CurdMixService.d.ts +1 -1
  129. package/dist/service/curd/CurdMixService.js +2 -2
  130. package/dist/service/curd/CurdMixUtils.d.ts +7 -0
  131. package/dist/service/curd/CurdMixUtils.js +65 -28
  132. package/dist/service/curd/CurdProService.d.ts +2 -10
  133. package/dist/service/curd/CurdProService.js +31 -146
  134. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  135. package/dist/service/curd/fixCfgModel.js +107 -0
  136. package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
  137. package/dist/views/404_app.html +31 -0
  138. package/dist/views/404_workbench.html +34 -0
  139. package/dist/views/static/favicon.ico +0 -0
  140. package/package.json +9 -2
  141. package/src/config/config.default.ts +58 -27
  142. package/src/configuration.ts +42 -9
  143. package/src/controller/base/BaseApiController.ts +26 -19
  144. package/src/controller/gateway/AnyApiGatewayController.ts +1 -1
  145. package/src/controller/gateway/AsyncTaskController.ts +83 -0
  146. package/src/controller/gateway/CrudMtdGatewayController.ts +17 -13
  147. package/src/controller/gateway/CrudStdGatewayController.ts +4 -4
  148. package/src/controller/gateway/DocGatewayController.ts +25 -17
  149. package/src/controller/gateway/FileController.ts +8 -9
  150. package/src/controller/gateway/ProxyApiGatewayController.ts +4 -4
  151. package/src/controller/gateway/PublicApiController.ts +19 -22
  152. package/src/controller/gateway/StaticController.ts +234 -242
  153. package/src/controller/helpers.controller.ts +1 -1
  154. package/src/controller/home.controller.ts +8 -15
  155. package/src/controller/manage/AnyApiMangeApi.ts +11 -11
  156. package/src/controller/manage/AppLogMangeApi.ts +5 -5
  157. package/src/controller/manage/AppMangeApi.ts +7 -7
  158. package/src/controller/manage/AppPageMangeApi.ts +5 -5
  159. package/src/controller/manage/AppSchemaHistoryApi.ts +3 -3
  160. package/src/controller/manage/CrudMethodsMangeApi.ts +5 -5
  161. package/src/controller/manage/CrudStandardDesignApi.ts +106 -113
  162. package/src/controller/manage/DataDictManageApi.ts +5 -5
  163. package/src/controller/manage/DeployManageApi.ts +85 -89
  164. package/src/controller/manage/DocLibManageApi.ts +5 -5
  165. package/src/controller/manage/DocManageApi.ts +10 -10
  166. package/src/controller/manage/FileManageApi.ts +1 -1
  167. package/src/controller/manage/LowCodeTplManageApi.ts +2 -2
  168. package/src/controller/manage/MenuManageApi.ts +10 -15
  169. package/src/controller/manage/ProxyApiMangeApi.ts +2 -2
  170. package/src/controller/manage/SuperAdminManageApi.ts +14 -13
  171. package/src/controller/manage/SysConfigMangeApi.ts +11 -11
  172. package/src/controller/manage/SystemInfoManageApi.ts +11 -6
  173. package/src/controller/manage/UserAccountManageApi.ts +10 -4
  174. package/src/controller/manage/WorkbenchMangeApi.ts +8 -8
  175. package/src/controller/myinfo/AuthController.ts +6 -72
  176. package/src/controller/render/AppRenderController.ts +24 -21
  177. package/src/controller/test.controller.ts +18 -18
  178. package/src/index.ts +38 -4
  179. package/src/libs/crud-pro/CrudPro.ts +7 -0
  180. package/src/libs/crud-pro/defaultConfigs.ts +2 -0
  181. package/src/libs/crud-pro/interfaces.ts +10 -3
  182. package/src/libs/crud-pro/models/ExecuteContext.ts +3 -3
  183. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +11 -1
  184. package/src/libs/crud-pro/models/RequestCfgModel.ts +1 -1
  185. package/src/libs/crud-pro/models/RequestModel.ts +1 -1
  186. package/src/libs/crud-pro/models/ResModel.ts +19 -0
  187. package/src/libs/crud-pro/models/SqlCfgModel.ts +2 -2
  188. package/src/libs/crud-pro/models/Transaction.ts +8 -9
  189. package/src/libs/crud-pro/models/TransactionPostgres.ts +1 -1
  190. package/src/libs/crud-pro/models/TransactionSqlServer.ts +8 -13
  191. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +32 -23
  192. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +38 -54
  193. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +26 -45
  194. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +23 -40
  195. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +25 -29
  196. package/src/libs/crud-pro/services/CrudProServiceBase.ts +5 -9
  197. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +36 -9
  198. package/src/libs/crud-pro/utils/DatabaseName.ts +35 -15
  199. package/src/libs/crud-pro/utils/DateTimeUtils.ts +2 -2
  200. package/src/libs/crud-pro/utils/MixinUtils.ts +1 -1
  201. package/src/libs/crud-pro/utils/ValidateUtils.ts +1 -3
  202. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +1 -1
  203. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +3 -3
  204. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +3 -3
  205. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +2 -2
  206. package/src/libs/crud-pro/utils/sqlConvert/convertMix.ts +26 -0
  207. package/src/libs/global-config/global-config.ts +78 -0
  208. package/src/libs/utils/crypto-utils.ts +2 -4
  209. package/src/libs/utils/errorToString.ts +61 -0
  210. package/src/libs/utils/fatcms-request.ts +9 -21
  211. package/src/libs/utils/ordernum-utils.ts +2 -6
  212. package/src/libs/utils/parseConfig.ts +7 -15
  213. package/src/middleware/forbidden.middleware.ts +6 -25
  214. package/src/middleware/global.middleware.ts +18 -16
  215. package/src/models/AsyncTaskModel.ts +79 -0
  216. package/src/models/RedisKeys.ts +13 -0
  217. package/src/models/SystemTables.ts +1 -4
  218. package/src/models/bizmodels.ts +1 -2
  219. package/src/schedule/anonymousContext.ts +79 -0
  220. package/src/schedule/index.ts +11 -72
  221. package/src/schedule/runSchedule.ts +83 -0
  222. package/src/schedule/scheduleNames.ts +21 -0
  223. package/src/service/AuthService.ts +13 -8
  224. package/src/service/EnumInfoService.ts +8 -3
  225. package/src/service/FileCenterService.ts +12 -6
  226. package/src/service/SysConfigService.ts +10 -6
  227. package/src/service/UserAccountService.ts +14 -4
  228. package/src/service/UserSessionService.ts +5 -4
  229. package/src/service/VisitStatService.ts +57 -70
  230. package/src/service/WorkbenchService.ts +7 -2
  231. package/src/service/anyapi/AnyApiService.ts +11 -8
  232. package/src/service/asyncTask/AsyncTaskRunnerService.ts +255 -0
  233. package/src/service/asyncTask/AsyncTaskService.ts +21 -0
  234. package/src/service/base/BaseService.ts +2 -2
  235. package/src/service/crudstd/CrudStdService.ts +60 -5
  236. package/src/service/curd/CrudProQuick.ts +137 -0
  237. package/src/service/curd/CurdMixByAccountService.ts +14 -6
  238. package/src/service/curd/CurdMixByDictService.ts +8 -2
  239. package/src/service/curd/CurdMixByLinkToCustomService.ts +101 -50
  240. package/src/service/curd/CurdMixBySysConfigService.ts +7 -2
  241. package/src/service/curd/CurdMixByWorkbenchService.ts +6 -2
  242. package/src/service/curd/CurdMixService.ts +3 -3
  243. package/src/service/curd/CurdMixUtils.ts +82 -39
  244. package/src/service/curd/CurdProService.ts +45 -189
  245. package/src/service/curd/fixCfgModel.ts +139 -0
  246. package/src/service/proxyapi/ProxyApiLoadService.ts +12 -3
  247. package/src/views/404_app.html +31 -0
  248. package/src/views/404_workbench.html +34 -0
  249. package/src/views/static/favicon.ico +0 -0
  250. package/tsconfig.json +32 -0
  251. package/dist/controller/medstatistic/MedAdminController.d.ts +0 -35
  252. package/dist/controller/medstatistic/MedAdminController.js +0 -205
  253. package/dist/controller/medstatistic/MedClientController.d.ts +0 -28
  254. package/dist/controller/medstatistic/MedClientController.js +0 -188
  255. package/dist/controller/medstatistic/MedMessageService.d.ts +0 -19
  256. package/dist/controller/medstatistic/MedMessageService.js +0 -95
  257. package/dist/controller/medstatistic/MedScoreService.d.ts +0 -21
  258. package/dist/controller/medstatistic/MedScoreService.js +0 -107
  259. package/dist/controller/medstatistic/constants.d.ts +0 -32
  260. package/dist/controller/medstatistic/constants.js +0 -43
  261. package/src/controller/medstatistic/MedAdminController.ts +0 -221
  262. package/src/controller/medstatistic/MedClientController.ts +0 -188
  263. package/src/controller/medstatistic/MedMessageService.ts +0 -89
  264. package/src/controller/medstatistic/MedScoreService.ts +0 -108
  265. package/src/controller/medstatistic/constants.ts +0 -63
@@ -100,8 +100,7 @@ class CrudProOriginToExecuteSql extends CrudProServiceBase_1.CrudProServiceBase
100
100
  else if (word === keys_1.KeysOfCustomSQL.SQL_ORDER_BYS) {
101
101
  return this.generateOrderBys(reqModel, sqlCfg);
102
102
  }
103
- else if ((word.startsWith(keys_1.KeysOfCustomSQL.SQL_GET_DATA_ATTR_START) ||
104
- word.startsWith(keys_1.KeysOfCustomSQL.SQL_GET_CONDITION_ATTR_START)) && word.indexOf('.') > 0) {
103
+ else if ((word.startsWith(keys_1.KeysOfCustomSQL.SQL_GET_DATA_ATTR_START) || word.startsWith(keys_1.KeysOfCustomSQL.SQL_GET_CONDITION_ATTR_START)) && word.indexOf('.') > 0) {
105
104
  return this.generateGetAttr(reqModel, word); //// data.xxx, condition.xxx
106
105
  }
107
106
  else if (word.startsWith(keys_1.KeysOfCustomSQL.SQL_PICK_RES_AS_NUMBER) || word.startsWith(keys_1.KeysOfCustomSQL.SQL_PICK_RES_AS_STRING)) {
@@ -198,10 +197,10 @@ class CrudProOriginToExecuteSql extends CrudProServiceBase_1.CrudProServiceBase
198
197
  const maxLimit = ModelUtils_1.ModelUtils.getMaxLimit(sqlCfg, requestCfg);
199
198
  const reqLimit = req.limit;
200
199
  const limit = Math.min(maxLimit, reqLimit);
201
- if (sqlCfg.sqlDdType === keys_1.SqlDbType.postgres) {
200
+ if (sqlCfg.sqlDbType === keys_1.SqlDbType.postgres) {
202
201
  return new SqlSegArg_1.SqlSegArg(' LIMIT ? OFFSET ? ', [limit, req.offset]);
203
202
  }
204
- if (sqlCfg.sqlDdType === keys_1.SqlDbType.sqlserver) {
203
+ if (sqlCfg.sqlDbType === keys_1.SqlDbType.sqlserver) {
205
204
  return new SqlSegArg_1.SqlSegArg(' OFFSET ? ROWS FETCH NEXT ? ROWS ONLY ', [req.offset, limit]);
206
205
  }
207
206
  return new SqlSegArg_1.SqlSegArg(' limit ?,? ', [req.offset, limit]);
@@ -219,9 +218,11 @@ class CrudProOriginToExecuteSql extends CrudProServiceBase_1.CrudProServiceBase
219
218
  return new SqlSegArg_1.SqlSegArg(sql);
220
219
  }
221
220
  generatePickResAs(req, world) {
222
- return new SqlSegArg_1.SqlSegArg(' ? ', [{
221
+ return new SqlSegArg_1.SqlSegArg(' ? ', [
222
+ {
223
223
  ___GENERATE_GET_RES_ATTR___: world,
224
- }]);
224
+ },
225
+ ]);
225
226
  }
226
227
  generateGetAttr(req, word) {
227
228
  const attrName = MixinUtils_1.MixinUtils.removeStringPrefix(word, '@@');
@@ -1,12 +1,8 @@
1
1
  import { ICurdProServiceHub } from '../models/ServiceHub';
2
- import { ICrudProCfg, ILogger, IPoolConnectionClient } from '../interfaces';
2
+ import { ICrudProCfg, IExecuteUnsafeQueryCtx, ILogger, IPoolConnectionClient } from '../interfaces';
3
3
  import { SqlCfgModel } from '../models/SqlCfgModel';
4
4
  import { ExecuteContext } from '../models/ExecuteContext';
5
5
  import { IExecuteContextFunc } from '../models/ExecuteContextFunc';
6
- interface ExecuteUnsafeQueryCtx {
7
- tableName: string;
8
- dbName: string;
9
- }
10
6
  declare class CrudProServiceBase {
11
7
  protected serviceHub: ICurdProServiceHub;
12
8
  constructor(serviceHub: ICurdProServiceHub);
@@ -21,7 +17,7 @@ declare class CrudProServiceBase {
21
17
  * @param values
22
18
  * @protected
23
19
  */
24
- protected executeUnsafeQuery(obj: ExecuteUnsafeQueryCtx, sql: string, values?: any): Promise<any[]>;
20
+ protected executeUnsafeQuery(obj: IExecuteUnsafeQueryCtx, sql: string, values?: any): Promise<any[]>;
25
21
  protected getContextCfg(): ICrudProCfg;
26
22
  protected getExecuteFunction(funcName: string): any;
27
23
  }
@@ -45,8 +45,9 @@ class CrudProServiceBase {
45
45
  */
46
46
  async executeUnsafeQuery(obj, sql, values) {
47
47
  const sqlCfgModel = {
48
- sqlTable: obj.tableName,
49
- sqlDatabase: obj.dbName,
48
+ sqlTable: obj.sqlTable,
49
+ sqlDatabase: obj.sqlDatabase,
50
+ sqlDbType: obj.sqlDbType,
50
51
  columns: [],
51
52
  columnsRelation: [],
52
53
  maxLimit: defaultConfigs_1.DEFAULT_MAX_LIMIT,
@@ -4,5 +4,6 @@ import { ITableMeta } from '../interfaces';
4
4
  declare class CrudProTableMetaService extends CrudProServiceBase {
5
5
  getTableMeta(sqlCfgModel: SqlCfgModel): Promise<ITableMeta>;
6
6
  private loadTableMeta;
7
+ private loadTableColumnInfo;
7
8
  }
8
9
  export { CrudProTableMetaService };
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CrudProTableMetaService = void 0;
4
4
  const CrudProServiceBase_1 = require("./CrudProServiceBase");
5
+ const keys_1 = require("../models/keys");
6
+ const convertMix_1 = require("../utils/sqlConvert/convertMix");
5
7
  class CrudProTableMetaCache {
6
8
  constructor() {
7
9
  this.cacheMap = {};
@@ -39,15 +41,38 @@ class CrudProTableMetaService extends CrudProServiceBase_1.CrudProServiceBase {
39
41
  tableColumns: [],
40
42
  };
41
43
  const baseInfo = {
42
- tableName: sqlCfgModel.sqlTable,
43
- dbName: sqlCfgModel.sqlDatabase,
44
+ sqlTable: sqlCfgModel.sqlTable,
45
+ sqlDatabase: sqlCfgModel.sqlDatabase,
46
+ sqlDbType: sqlCfgModel.sqlDbType,
44
47
  };
45
- const [tableDescribe] = await this.executeUnsafeQuery(baseInfo, 'describe ' + sqlCfgModel.sqlTable);
46
- const tableDescribe2 = JSON.parse(JSON.stringify(tableDescribe));
47
- obj.tableColumns = tableDescribe2.map(fieldObj => {
48
- return fieldObj['Field'];
49
- });
48
+ obj.tableColumns = await this.loadTableColumnInfo(baseInfo);
50
49
  return obj;
51
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 = (0, convertMix_1.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 = `
63
+ 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 = (0, convertMix_1.pickAndConvertRowsByMix)(queryRes, baseInfo.sqlDbType);
71
+ return tableDescribe.map(fieldObj => {
72
+ return fieldObj['column_name'];
73
+ });
74
+ }
75
+ throw new Error('暂不支持的数据库类型:' + baseInfo.sqlDbType);
76
+ }
52
77
  }
53
78
  exports.CrudProTableMetaService = CrudProTableMetaService;
@@ -2,14 +2,35 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toDatabaseNameStr = exports.parseDatabaseName = exports.SPLIT_CONST = void 0;
4
4
  const keys_1 = require("../models/keys");
5
- const SPLIT_CONST = "_________";
5
+ const SPLIT_CONST = '_________';
6
6
  exports.SPLIT_CONST = SPLIT_CONST;
7
+ const PREFIX_MYSQL = `${keys_1.SqlDbType.mysql}${SPLIT_CONST}`;
8
+ const PREFIX_POSTGRES = `${keys_1.SqlDbType.postgres}${SPLIT_CONST}`;
9
+ const PREFIX_SQLSERVER = `${keys_1.SqlDbType.sqlserver}${SPLIT_CONST}`;
7
10
  function parseDatabaseName(databaseName) {
8
11
  const dbNameArr = databaseName.split(SPLIT_CONST);
12
+ if (databaseName.startsWith(PREFIX_MYSQL)) {
13
+ return {
14
+ dbType: keys_1.SqlDbType.mysql,
15
+ dbName: dbNameArr[1],
16
+ };
17
+ }
18
+ if (databaseName.startsWith(PREFIX_POSTGRES)) {
19
+ return {
20
+ dbType: keys_1.SqlDbType.postgres,
21
+ dbName: dbNameArr[1],
22
+ };
23
+ }
24
+ if (databaseName.startsWith(PREFIX_SQLSERVER)) {
25
+ return {
26
+ dbType: keys_1.SqlDbType.sqlserver,
27
+ dbName: dbNameArr[1],
28
+ };
29
+ }
9
30
  if (dbNameArr.length === 1) {
10
31
  return {
11
32
  dbType: keys_1.SqlDbType.mysql,
12
- dbName: dbNameArr[0]
33
+ dbName: dbNameArr[0],
13
34
  };
14
35
  }
15
36
  if (dbNameArr.length > 1) {
@@ -17,7 +38,7 @@ function parseDatabaseName(databaseName) {
17
38
  const dbType = dbType0;
18
39
  return {
19
40
  dbType,
20
- dbName
41
+ dbName,
21
42
  };
22
43
  }
23
44
  return null;
@@ -43,7 +43,7 @@ const MixinUtils = {
43
43
  return !str1 && !str2;
44
44
  },
45
45
  startsWith(str1, str2) {
46
- if (typeof str1 === "string" && typeof str2 === "string") {
46
+ if (typeof str1 === 'string' && typeof str2 === 'string') {
47
47
  return str1.startsWith(str2);
48
48
  }
49
49
  return false;
@@ -147,7 +147,7 @@ function validateByCfgString(validateCfg, itemValue, errPath) {
147
147
  return;
148
148
  }
149
149
  // 必填
150
- if ("required" === validateCfg) {
150
+ if ('required' === validateCfg) {
151
151
  if (isEmpty(itemValue)) {
152
152
  throw new exceptions_1.CommonException(exceptions_1.Exceptions.VALIDATE_ERR, "'参数校验错误,字段 " + errPath + ' 不满足校验配置:' + validateCfg);
153
153
  }
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toSqlColumnNamesJoin = exports.toSqlColumnName = void 0;
4
4
  const keys_1 = require("../../models/keys");
5
5
  function toSqlColumnName(columnName, sqlCfgModel) {
6
- if (sqlCfgModel.sqlDdType === keys_1.SqlDbType.postgres) {
6
+ if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.postgres) {
7
7
  return '"' + columnName + '"';
8
8
  }
9
- if (sqlCfgModel.sqlDdType === keys_1.SqlDbType.sqlserver) {
9
+ if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.sqlserver) {
10
10
  return '[' + columnName + ']';
11
11
  }
12
12
  return '`' + columnName + '`';
@@ -0,0 +1,3 @@
1
+ import { SqlDbType } from "../../models/keys";
2
+ declare function pickAndConvertRowsByMix(connectionQueryRes: any, sqlDbType: SqlDbType): any[] | any;
3
+ export { pickAndConvertRowsByMix };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pickAndConvertRowsByMix = void 0;
4
+ const keys_1 = require("../../models/keys");
5
+ const convertPgType_1 = require("./convertPgType");
6
+ const _ = require("lodash");
7
+ function pickAndConvertRowsByMix(connectionQueryRes, sqlDbType) {
8
+ if (!connectionQueryRes) {
9
+ throw new Error('[pickAndConvertRowsByMix] error, connectionQueryRes is null ');
10
+ }
11
+ if (sqlDbType === keys_1.SqlDbType.postgres) {
12
+ return (0, convertPgType_1.pickAndConvertPgRows)(connectionQueryRes);
13
+ }
14
+ if (sqlDbType === keys_1.SqlDbType.mysql) {
15
+ return connectionQueryRes[0];
16
+ }
17
+ if (sqlDbType === keys_1.SqlDbType.sqlserver) {
18
+ return _.get(connectionQueryRes, 'recordsets[0]') || [];
19
+ }
20
+ throw new Error('[pickAndConvertRowsByMix] error sqlDbType, sqlDbType = ' + sqlDbType);
21
+ }
22
+ exports.pickAndConvertRowsByMix = pickAndConvertRowsByMix;
@@ -0,0 +1,45 @@
1
+ import { SqlDbType } from '../crud-pro/models/keys';
2
+ interface IGlobalStaticConfig {
3
+ /**
4
+ * CrudStd: 业务系统自定义的修改cfgModel
5
+ * @param reqJson
6
+ * @param cfgModel
7
+ * @param appInfo
8
+ * @param ctx
9
+ */
10
+ bizUpdateCfgModelForCrudStd(reqJson: any, cfgModel: any, appInfo: any, ctx: any): Promise<any>;
11
+ /**
12
+ * CrudMtd: 业务系统自定义的修改cfgModel
13
+ * @param reqJson
14
+ * @param cfgModel
15
+ * @param methodInfo
16
+ * @param ctx
17
+ */
18
+ bizUpdateCfgModelForCrudMtd(reqJson: any, cfgModel: any, methodInfo: any, ctx: any): Promise<any>;
19
+ /**
20
+ * CrudPro: 业务系统自定义的修改cfgModel。这是最底层的!!全局的!!全局的!!全局的!!!
21
+ * @param reqJson
22
+ * @param cfgModel
23
+ */
24
+ bizUpdateCfgModelForCrudPro(reqJson: any, cfgModel: any): Promise<any>;
25
+ /**
26
+ * 生成用户的账号ID,业务系统可以生成类似工号的ID
27
+ * @param userSubmitData
28
+ */
29
+ generateUserAccountId(userSubmitData: any): Promise<string>;
30
+ /**
31
+ * 将业务系统表中的userId映射为fatcms的UserAccountId
32
+ * @param bizTableUserId 业余系统表中的UserId
33
+ */
34
+ toFatcmsUserAccountId(bizTableUserId: any): string;
35
+ SystemDbName: string;
36
+ SystemDbType: SqlDbType;
37
+ }
38
+ declare class GlobalStaticConfig {
39
+ private configObject;
40
+ constructor();
41
+ getConfig(): IGlobalStaticConfig;
42
+ setConfig(configObject: any): void;
43
+ }
44
+ declare const GLOBAL_STATIC_CONFIG: GlobalStaticConfig;
45
+ export { GLOBAL_STATIC_CONFIG };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GLOBAL_STATIC_CONFIG = void 0;
4
+ const keys_1 = require("../crud-pro/models/keys");
5
+ const noop = () => {
6
+ return Promise.resolve();
7
+ };
8
+ class GlobalStaticConfig {
9
+ constructor() {
10
+ this.configObject = {
11
+ bizUpdateCfgModelForCrudStd: noop,
12
+ bizUpdateCfgModelForCrudMtd: noop,
13
+ bizUpdateCfgModelForCrudPro: noop,
14
+ generateUserAccountId: null,
15
+ toFatcmsUserAccountId: (bizTableUserId) => {
16
+ return bizTableUserId;
17
+ },
18
+ SystemDbName: 'fatcms',
19
+ SystemDbType: keys_1.SqlDbType.mysql,
20
+ };
21
+ }
22
+ getConfig() {
23
+ return this.configObject;
24
+ }
25
+ setConfig(configObject) {
26
+ if (!configObject || typeof configObject !== 'object') {
27
+ throw new Error('参数configObject不能为空');
28
+ }
29
+ Object.assign(this.configObject, configObject);
30
+ }
31
+ }
32
+ const GLOBAL_STATIC_CONFIG = new GlobalStaticConfig();
33
+ exports.GLOBAL_STATIC_CONFIG = GLOBAL_STATIC_CONFIG;
@@ -0,0 +1,2 @@
1
+ declare function errorToString(error: any): string;
2
+ export { errorToString };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.errorToString = void 0;
4
+ function errorToString(error) {
5
+ var _a;
6
+ // 处理非错误对象的情况
7
+ if (typeof error === 'undefined') {
8
+ return 'Error: undefined was thrown';
9
+ }
10
+ if (error === null) {
11
+ return 'Error: null was thrown';
12
+ }
13
+ // 处理原始值类型
14
+ const primitiveTypes = ['string', 'number', 'boolean', 'symbol'];
15
+ if (primitiveTypes.includes(typeof error)) {
16
+ return `Error: A primitive value was thrown\nValue: ${String(error)}`;
17
+ }
18
+ // 处理 Error 对象
19
+ if (error instanceof Error) {
20
+ const errorDetails = [];
21
+ errorDetails.push(`Error: ${error.name || 'Error'}`);
22
+ errorDetails.push(`Message: ${error.message || 'No error message'}`);
23
+ if (error.stack) {
24
+ errorDetails.push('Stack Trace:');
25
+ errorDetails.push(error.stack);
26
+ }
27
+ const extraProperties = ['code', 'fileName', 'lineNumber', 'columnNumber'];
28
+ extraProperties.forEach(prop => {
29
+ if (error[prop] !== undefined) {
30
+ errorDetails.push(`${prop}: ${error[prop]}`);
31
+ }
32
+ });
33
+ const customProps = Object.keys(error).filter(key => !['name', 'message', 'stack', ...extraProperties].includes(key));
34
+ if (customProps.length > 0) {
35
+ errorDetails.push('Custom Properties:');
36
+ customProps.forEach(prop => {
37
+ try {
38
+ const value = JSON.stringify(error[prop], null, 2) || String(error[prop]);
39
+ errorDetails.push(` ${prop}: ${value}`);
40
+ }
41
+ catch (e) {
42
+ errorDetails.push(` ${prop}: [Object cannot be serialized]`);
43
+ }
44
+ });
45
+ }
46
+ return errorDetails.join('\n');
47
+ }
48
+ // 处理普通对象
49
+ try {
50
+ const objectDetails = JSON.stringify(error, null, 2);
51
+ return `Error: A plain object was thrown\nObject: ${objectDetails}`;
52
+ }
53
+ catch (e) {
54
+ return `Error: An object was thrown but could not be serialized\nType: ${((_a = error.constructor) === null || _a === void 0 ? void 0 : _a.name) || 'Unknown'}`;
55
+ }
56
+ }
57
+ exports.errorToString = errorToString;
@@ -84,7 +84,7 @@ async function isCsrfTokenValid(ctx) {
84
84
  const depryptToken = await crypto_utils_1.privateAES.time_decrypt_base64_utf8(fatcmscsrftoken);
85
85
  if (depryptToken) {
86
86
  const num = Number(depryptToken);
87
- if (num && ((num + 6 * 3600 * 1000) > Date.now())) {
87
+ if (num && num + 6 * 3600 * 1000 > Date.now()) {
88
88
  return true;
89
89
  }
90
90
  }
@@ -98,7 +98,7 @@ exports.isCsrfTokenValid = isCsrfTokenValid;
98
98
  async function assertCsrfToken(ctx) {
99
99
  const isOK = await isCsrfTokenValid(ctx);
100
100
  if (!isOK) {
101
- throw new exceptions_1.CommonException("ASSERT_CSRF_TOKEN_ERROR", "CSRF_TOKEN 验证失败");
101
+ throw new exceptions_1.CommonException('ASSERT_CSRF_TOKEN_ERROR', 'CSRF_TOKEN 验证失败');
102
102
  }
103
103
  }
104
104
  exports.assertCsrfToken = assertCsrfToken;
@@ -9,24 +9,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ForbiddenMiddleware = void 0;
10
10
  const core_1 = require("@midwayjs/core");
11
11
  // 一些爬虫/漏洞分析工具会来请求这玩意。
12
- const blackEqualList = [
13
- '/config.json',
14
- '/backend/.env',
15
- '/application.yml',
16
- '/db.ini',
17
- '/.well-known/security.txt',
18
- ];
19
- const blackPrefixList = [
20
- '/.aws/',
21
- '/.git/',
22
- '/.svn/',
23
- '/.env/',
24
- '/src/',
25
- '/var/logs/',
26
- '/var/log/',
27
- '/cgi-bin/',
28
- '/php-cgi/',
29
- ];
12
+ const blackEqualList = ['/config.json', '/backend/.env', '/application.yml', '/db.ini', '/.well-known/security.txt'];
13
+ const blackPrefixList = ['/.aws/', '/.git/', '/.svn/', '/.env/', '/src/', '/var/logs/', '/var/log/', '/cgi-bin/', '/php-cgi/'];
30
14
  /**
31
15
  * 针对一些路径禁止访问。避免一些爬虫抓取网站内容,实际上这里枚举的路径,本身就是不存在的。只是为了提前拦截,为了服务器性能考虑。
32
16
  */
@@ -55,9 +39,9 @@ let ForbiddenMiddleware = class ForbiddenMiddleware {
55
39
  }
56
40
  resolve() {
57
41
  return async (ctx, next) => {
58
- ctx.set({ "content-type": "text/html; charset=utf-8" });
42
+ ctx.set({ 'content-type': 'text/html; charset=utf-8' });
59
43
  ctx.status = 404;
60
- ctx.body = "404!404!404!重要的事情说三遍!";
44
+ ctx.body = '404!404!404!重要的事情说三遍!';
61
45
  };
62
46
  }
63
47
  static getName() {
@@ -186,13 +186,20 @@ async function trackRequest(ctx) {
186
186
  console.error('trackRequestError', e);
187
187
  }
188
188
  }
189
+ const excludePathPrefix = ['/ns/static/', '/ns/api/helpers'];
189
190
  /**
190
191
  * 全局中间件
191
192
  */
192
193
  let GlobalMiddleware = class GlobalMiddleware {
193
194
  match(ctx) {
194
195
  const path = ctx.path;
195
- return !(path.startsWith('/ns/static/'));
196
+ for (let i = 0; i < excludePathPrefix.length; i++) {
197
+ const excludePathPrefix1 = excludePathPrefix[i];
198
+ if (path.startsWith(excludePathPrefix1)) {
199
+ return false;
200
+ }
201
+ }
202
+ return true;
196
203
  }
197
204
  resolve() {
198
205
  return async (ctx, next) => {
@@ -0,0 +1,69 @@
1
+ export interface SysAsyncTaskEntity {
2
+ id: number;
3
+ task_uuid: string;
4
+ task_name: string;
5
+ task_description: string | null;
6
+ task_type: string;
7
+ task_status: SysAsyncTaskStatus;
8
+ input_params: any;
9
+ output_result: any | null;
10
+ input_file_path: string | null;
11
+ input_file_format: SysAsyncFileFormat | null;
12
+ input_file_size: number | null;
13
+ output_file_path: string | null;
14
+ output_file_format: SysAsyncFileFormat | null;
15
+ output_file_size: number | null;
16
+ input_total_records: number | null;
17
+ output_total_records: number | null;
18
+ processed_records: number;
19
+ progress: number;
20
+ error_message: string | null;
21
+ error_records: any | null;
22
+ created_by: string | null;
23
+ priority: number;
24
+ retry_count: number;
25
+ max_retries: number;
26
+ parent_task_id: number | null;
27
+ created_at: Date;
28
+ started_at: Date | null;
29
+ updated_at: Date;
30
+ expired_at: Date | null;
31
+ completed_at: Date | null;
32
+ created_user_session: string;
33
+ }
34
+ export declare type SysAsyncTaskPartial = Partial<SysAsyncTaskEntity>;
35
+ export declare enum SysAsyncTaskStatus {
36
+ PENDING = "PENDING",
37
+ RUNNING = "RUNNING",
38
+ SUCCEEDED = "SUCCEEDED",
39
+ PART_SUCCEEDED = "PART_SUCCEEDED",
40
+ FAILED = "FAILED",
41
+ CANCELLED = "CANCELLED",
42
+ PAUSED = "PAUSED"
43
+ }
44
+ export declare enum SysAsyncFileFormat {
45
+ XLSX = "xlsx",
46
+ CSV = "csv",
47
+ JSON = "json",
48
+ PDF = "pdf",
49
+ TXT = "txt",
50
+ XML = "xml",
51
+ ZIP = "zip",
52
+ HTML = "html",
53
+ PNG = "png",
54
+ JPG = "jpg"
55
+ }
56
+ export interface ISysAsyncTaskHandler {
57
+ execute(asyncTaskContext: SysAsyncTaskContext): Promise<void>;
58
+ }
59
+ export interface SysAsyncTaskContext {
60
+ task: SysAsyncTaskEntity;
61
+ updateTaskStatus: (sysAsyncTaskPartial: SysAsyncTaskPartial) => any;
62
+ }
63
+ export interface SysAsyncTaskHandlerConfig {
64
+ taskType: string;
65
+ handler: ISysAsyncTaskHandler;
66
+ maxRetries?: number;
67
+ priority?: number;
68
+ expireSeconds?: number;
69
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SysAsyncFileFormat = exports.SysAsyncTaskStatus = void 0;
4
+ var SysAsyncTaskStatus;
5
+ (function (SysAsyncTaskStatus) {
6
+ SysAsyncTaskStatus["PENDING"] = "PENDING";
7
+ SysAsyncTaskStatus["RUNNING"] = "RUNNING";
8
+ SysAsyncTaskStatus["SUCCEEDED"] = "SUCCEEDED";
9
+ SysAsyncTaskStatus["PART_SUCCEEDED"] = "PART_SUCCEEDED";
10
+ SysAsyncTaskStatus["FAILED"] = "FAILED";
11
+ SysAsyncTaskStatus["CANCELLED"] = "CANCELLED";
12
+ SysAsyncTaskStatus["PAUSED"] = "PAUSED";
13
+ })(SysAsyncTaskStatus = exports.SysAsyncTaskStatus || (exports.SysAsyncTaskStatus = {}));
14
+ var SysAsyncFileFormat;
15
+ (function (SysAsyncFileFormat) {
16
+ SysAsyncFileFormat["XLSX"] = "xlsx";
17
+ SysAsyncFileFormat["CSV"] = "csv";
18
+ SysAsyncFileFormat["JSON"] = "json";
19
+ SysAsyncFileFormat["PDF"] = "pdf";
20
+ SysAsyncFileFormat["TXT"] = "txt";
21
+ SysAsyncFileFormat["XML"] = "xml";
22
+ SysAsyncFileFormat["ZIP"] = "zip";
23
+ SysAsyncFileFormat["HTML"] = "html";
24
+ SysAsyncFileFormat["PNG"] = "png";
25
+ SysAsyncFileFormat["JPG"] = "jpg";
26
+ })(SysAsyncFileFormat = exports.SysAsyncFileFormat || (exports.SysAsyncFileFormat = {}));
@@ -0,0 +1,8 @@
1
+ declare const RedisKeys: {
2
+ ASYNC_TASK_LOCK: string;
3
+ ASYNC_TASK_UPDATE_TIME: string;
4
+ USER_SESSION_PREFIX: string;
5
+ VISIT_STAT_LOCK_PREFIX: string;
6
+ VISIT_STAT_DATE_PREFIX: string;
7
+ };
8
+ export { RedisKeys };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisKeys = void 0;
4
+ const RedisKeys = {
5
+ ASYNC_TASK_LOCK: "FatAsyncTaskLock",
6
+ ASYNC_TASK_UPDATE_TIME: "FatAsyncTaskUpdateTime",
7
+ USER_SESSION_PREFIX: "FatUserSession_",
8
+ VISIT_STAT_LOCK_PREFIX: "FatVsLock_",
9
+ VISIT_STAT_DATE_PREFIX: "FatVsDate_",
10
+ };
11
+ exports.RedisKeys = RedisKeys;
@@ -1,4 +1,3 @@
1
- import { SqlDbType } from "../libs/crud-pro/models/keys";
2
1
  export declare const SystemTables: {
3
2
  sys_workbench: string;
4
3
  sys_user_account: string;
@@ -21,7 +20,6 @@ export declare const SystemTables: {
21
20
  sys_anyapi: string;
22
21
  sys_proxyapi: string;
23
22
  sys_visit_stats: string;
23
+ sys_async_tasks: string;
24
24
  };
25
- export declare const SystemDbName = "fatcms";
26
- export declare const SystemDbType = SqlDbType.mysql;
27
25
  export declare const SystemDevOpsWorkbench = "devops";
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SystemDevOpsWorkbench = exports.SystemDbType = exports.SystemDbName = exports.SystemTables = void 0;
4
- const keys_1 = require("../libs/crud-pro/models/keys");
3
+ exports.SystemDevOpsWorkbench = exports.SystemTables = void 0;
5
4
  exports.SystemTables = {
6
5
  sys_workbench: 'sys_workbench',
7
6
  sys_user_account: 'sys_user_account',
@@ -24,7 +23,6 @@ exports.SystemTables = {
24
23
  sys_anyapi: 'sys_anyapi',
25
24
  sys_proxyapi: 'sys_proxyapi',
26
25
  sys_visit_stats: 'sys_visit_stats',
26
+ sys_async_tasks: 'sys_async_tasks',
27
27
  };
28
- exports.SystemDbName = 'fatcms';
29
- exports.SystemDbType = keys_1.SqlDbType.mysql;
30
28
  exports.SystemDevOpsWorkbench = 'devops';
@@ -0,0 +1,13 @@
1
+ import * as koa from '@midwayjs/koa';
2
+ export declare type RunServiceAtAnonymousContextRunner = (ctx: koa.IMidwayKoaContext) => any;
3
+ declare class AnonymousContext {
4
+ private app;
5
+ setApp(app: koa.Application): void;
6
+ getApp(): koa.IMidwayKoaApplication;
7
+ runServiceAtAnonymousContext(runner: RunServiceAtAnonymousContextRunner): Promise<{
8
+ result: any;
9
+ error: any;
10
+ }>;
11
+ }
12
+ declare const ANONYMOUS_CONTEXT: AnonymousContext;
13
+ export { ANONYMOUS_CONTEXT };