midway-fatcms 0.0.6 → 0.0.8

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 (121) hide show
  1. package/.qoder/skills/midway-fatcms/01-quick-start.md +231 -0
  2. package/.qoder/skills/midway-fatcms/02-crud-quick.md +337 -0
  3. package/.qoder/skills/midway-fatcms/03-crud-sharding.md +488 -0
  4. package/.qoder/skills/midway-fatcms/04-condition-operators.md +93 -0
  5. package/.qoder/skills/midway-fatcms/05-configuration.md +290 -0
  6. package/.qoder/skills/midway-fatcms/06-builtin-functions.md +241 -0
  7. package/.qoder/skills/midway-fatcms/07-examples.md +500 -0
  8. package/.qoder/skills/midway-fatcms/SKILL.md +96 -0
  9. package/README.md +9 -9
  10. package/dist/controller/base/BaseApiController.d.ts +1 -2
  11. package/dist/controller/base/BaseApiController.js +0 -4
  12. package/dist/controller/gateway/DocGatewayController.js +1 -1
  13. package/dist/controller/manage/FlowConfigManageApi.js +4 -2
  14. package/dist/controller/manage/SysConfigMangeApi.js +6 -1
  15. package/dist/controller/manage/UserAccountManageApi.js +7 -2
  16. package/dist/index.d.ts +2 -2
  17. package/dist/index.js +2 -2
  18. package/dist/libs/crud-pro/CrudPro.d.ts +23 -2
  19. package/dist/libs/crud-pro/CrudPro.js +53 -2
  20. package/dist/libs/crud-pro/interfaces.d.ts +82 -12
  21. package/dist/libs/crud-pro/models/CrudResult.d.ts +115 -0
  22. package/dist/libs/crud-pro/models/CrudResult.js +126 -0
  23. package/dist/libs/crud-pro/models/RequestModel.d.ts +2 -38
  24. package/dist/libs/crud-pro/models/RequestModel.js +2 -99
  25. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +36 -2
  26. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +8 -4
  27. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +1 -2
  28. package/dist/libs/crud-pro/utils/OrderByUtils.d.ts +70 -0
  29. package/dist/libs/crud-pro/utils/OrderByUtils.js +158 -0
  30. package/dist/libs/crud-pro-quick/CrudProQuick.d.ts +295 -0
  31. package/dist/libs/crud-pro-quick/CrudProQuick.js +529 -0
  32. package/dist/libs/crud-pro-quick/fixSoftDelete.d.ts +30 -0
  33. package/dist/{service/curd → libs/crud-pro-quick}/fixSoftDelete.js +3 -6
  34. package/dist/libs/crud-pro-quick/index.d.ts +36 -0
  35. package/dist/libs/crud-pro-quick/index.js +49 -0
  36. package/dist/libs/crud-pro-quick/models.d.ts +33 -0
  37. package/dist/libs/crud-pro-quick/models.js +2 -0
  38. package/dist/libs/crud-sharding/ShardingConfig.d.ts +15 -2
  39. package/dist/libs/crud-sharding/ShardingConfig.js +2 -2
  40. package/dist/libs/crud-sharding/ShardingCrudPro.d.ts +119 -274
  41. package/dist/libs/crud-sharding/ShardingCrudPro.js +559 -379
  42. package/dist/libs/crud-sharding/ShardingMerger.d.ts +12 -20
  43. package/dist/libs/crud-sharding/ShardingMerger.js +36 -51
  44. package/dist/libs/crud-sharding/ShardingResult.d.ts +33 -0
  45. package/dist/libs/crud-sharding/ShardingResult.js +16 -0
  46. package/dist/libs/crud-sharding/ShardingRouter.d.ts +1 -0
  47. package/dist/libs/crud-sharding/ShardingRouter.js +25 -6
  48. package/dist/libs/crud-sharding/ShardingTableCreator.d.ts +21 -4
  49. package/dist/libs/crud-sharding/ShardingTableCreator.js +193 -59
  50. package/dist/libs/crud-sharding/ShardingUtils.d.ts +48 -0
  51. package/dist/libs/crud-sharding/ShardingUtils.js +122 -1
  52. package/dist/libs/crud-sharding/TIME_COLUMN_CLEAN_SPEC.md +488 -0
  53. package/dist/libs/crud-sharding/index.d.ts +4 -3
  54. package/dist/libs/crud-sharding/index.js +14 -2
  55. package/dist/models/bizmodels.d.ts +2 -6
  56. package/dist/service/SysAppService.d.ts +2 -2
  57. package/dist/service/SysAppService.js +16 -5
  58. package/dist/service/SysConfigService.d.ts +1 -1
  59. package/dist/service/SysConfigService.js +7 -2
  60. package/dist/service/SysDictDataService.js +14 -4
  61. package/dist/service/SysMenuService.js +7 -2
  62. package/dist/service/curd/CurdMixService.d.ts +6 -4
  63. package/dist/service/curd/CurdMixService.js +16 -2
  64. package/dist/service/curd/CurdProService.d.ts +43 -27
  65. package/dist/service/curd/CurdProService.js +32 -33
  66. package/dist/service/flow/FlowConfigService.js +7 -2
  67. package/dist/service/flow/FlowInstanceCrudService.js +22 -19
  68. package/package.json +2 -1
  69. package/src/controller/base/BaseApiController.ts +0 -5
  70. package/src/controller/gateway/DocGatewayController.ts +1 -1
  71. package/src/controller/manage/CrudStandardDesignApi.ts +4 -3
  72. package/src/controller/manage/FlowConfigManageApi.ts +4 -2
  73. package/src/controller/manage/SysConfigMangeApi.ts +6 -1
  74. package/src/controller/manage/UserAccountManageApi.ts +7 -2
  75. package/src/index.ts +2 -2
  76. package/src/libs/crud-pro/CrudPro.ts +62 -4
  77. package/src/libs/crud-pro/interfaces.ts +110 -15
  78. package/src/libs/crud-pro/models/CrudResult.ts +178 -0
  79. package/src/libs/crud-pro/models/RequestModel.ts +4 -110
  80. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +41 -2
  81. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +11 -7
  82. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +1 -2
  83. package/src/libs/crud-pro/utils/OrderByUtils.ts +169 -0
  84. package/src/libs/crud-pro-quick/CrudProQuick.ts +594 -0
  85. package/src/{service/curd → libs/crud-pro-quick}/fixSoftDelete.ts +23 -13
  86. package/src/libs/crud-pro-quick/index.ts +52 -0
  87. package/src/libs/crud-pro-quick/models.ts +35 -0
  88. package/src/libs/crud-sharding/ShardingConfig.ts +18 -2
  89. package/src/libs/crud-sharding/ShardingCrudPro.ts +689 -440
  90. package/src/libs/crud-sharding/ShardingMerger.ts +47 -73
  91. package/src/libs/crud-sharding/ShardingResult.ts +29 -0
  92. package/src/libs/crud-sharding/ShardingRouter.ts +27 -6
  93. package/src/libs/crud-sharding/ShardingTableCreator.ts +214 -71
  94. package/src/libs/crud-sharding/ShardingUtils.ts +137 -0
  95. package/src/libs/crud-sharding/TIME_COLUMN_CLEAN_SPEC.md +488 -0
  96. package/src/libs/crud-sharding/index.ts +14 -3
  97. package/src/models/bizmodels.ts +4 -7
  98. package/src/service/SysAppService.ts +18 -7
  99. package/src/service/SysConfigService.ts +8 -3
  100. package/src/service/SysDictDataService.ts +14 -4
  101. package/src/service/SysMenuService.ts +7 -2
  102. package/src/service/crudstd/CrudStdService.ts +2 -2
  103. package/src/service/curd/CurdMixService.ts +26 -5
  104. package/src/service/curd/CurdProService.ts +58 -39
  105. package/src/service/flow/FlowConfigService.ts +7 -2
  106. package/src/service/flow/FlowInstanceCrudService.ts +23 -20
  107. package/dist/libs/crud-pro/README.md +0 -809
  108. package/dist/libs/crud-pro/README_FUNC.md +0 -193
  109. package/dist/libs/crud-sharding/ROUTING_LOGIC.md +0 -944
  110. package/dist/models/StandardColumns.d.ts +0 -71
  111. package/dist/models/StandardColumns.js +0 -28
  112. package/dist/service/curd/CrudProQuick.d.ts +0 -190
  113. package/dist/service/curd/CrudProQuick.js +0 -319
  114. package/dist/service/curd/README.md +0 -1001
  115. package/dist/service/curd/fixSoftDelete.d.ts +0 -20
  116. package/src/libs/crud-pro/README.md +0 -809
  117. package/src/libs/crud-pro/README_FUNC.md +0 -193
  118. package/src/libs/crud-sharding/ROUTING_LOGIC.md +0 -944
  119. package/src/models/StandardColumns.ts +0 -76
  120. package/src/service/curd/CrudProQuick.ts +0 -360
  121. package/src/service/curd/README.md +0 -1001
@@ -57,7 +57,11 @@ export class SysMenuService extends BaseService {
57
57
 
58
58
  private get sys_menus_table() {
59
59
  const { SystemDbName, SystemDbType } = GLOBAL_STATIC_CONFIG.getConfig();
60
- return this.curdProService.getQuickCrud(SystemDbName, SystemDbType, SystemTables.sys_menus)
60
+ return this.curdProService.getQuickCrud({
61
+ sqlDatabase: SystemDbName,
62
+ sqlDbType: SystemDbType,
63
+ sqlTable: SystemTables.sys_menus,
64
+ })
61
65
  }
62
66
 
63
67
 
@@ -70,9 +74,10 @@ export class SysMenuService extends BaseService {
70
74
  cacheKey: CacheNameEnum.GetSysMenusList,
71
75
  cacheName: CacheNameEnum.GetSysMenusList,
72
76
  getter: async () => {
73
- return await this.sys_menus_table.getList({
77
+ const res = await this.sys_menus_table.findList({
74
78
  condition: {}
75
79
  });
80
+ return res.rows;
76
81
  },
77
82
  });
78
83
  }
@@ -98,7 +98,7 @@ export class CrudStdService extends ApiBaseService {
98
98
  if (!appInfo || appInfo.status !== 1) {
99
99
  throw new BizException('应用不存在或已下线:' + appCode);
100
100
  }
101
-
101
+
102
102
  const stdCrudCfgObj = appInfo.stdCrudCfgObj;
103
103
 
104
104
  //删除策略
@@ -296,7 +296,7 @@ export class CrudStdService extends ApiBaseService {
296
296
  if (!appInfo) {
297
297
  return null;
298
298
  }
299
- const { app_schema, ...others } = appInfo;
299
+ const { app_schema, ...others } = appInfo as any;
300
300
  const stdCrudCfgObj = parseJsonObject(app_schema);
301
301
 
302
302
  const handleArrayCfg = (arrayCfg: any[]) => {
@@ -1,15 +1,17 @@
1
1
  import { Inject, Provide } from '@midwayjs/core';
2
2
  import { CurdProService } from './CurdProService';
3
3
  import { CurdMixByDictService } from './CurdMixByDictService';
4
- import { ColumnRelation, IRequestCfgModel, IRequestModel, ISqlCfgModel, ITableListResult, ITableNamesOptions, ITableNamesQuery } from '@/libs/crud-pro/interfaces';
4
+ import { ColumnRelation, IRequestCfgModel, IRequestModel, ISqlCfgModel, ITableListResult, ITableNamesOptions, ITableNamesQuery, ExecuteSQLResult } from '@/libs/crud-pro/interfaces';
5
5
  import { CurdMixBySysConfigService } from './CurdMixBySysConfigService';
6
6
  import { CurdMixByAccountService } from './CurdMixByAccountService';
7
7
  import { RelatedType } from './CurdMixUtils';
8
8
  import { CurdMixByWorkbenchService } from './CurdMixByWorkbenchService';
9
9
  import { IRequestCfgModel2 } from '@/models/bizmodels';
10
10
  import { CurdMixByLinkToCustomService } from './CurdMixByLinkToCustomService';
11
- import { SqlDbType } from '@/libs/crud-pro/models/keys';
11
+ // import { SqlDbType } from '@/libs/crud-pro/models/keys';
12
12
  import { ExecuteContext, IExecuteContextCustom } from '@/libs/crud-pro/models/ExecuteContext';
13
+ import { ShardingCrudPro } from "@/libs/crud-sharding";
14
+ import { IGetQuickCrudParam, IGetShardingCrudParam } from './CurdProService';
13
15
 
14
16
  export interface ILinkColumnRelationParam {
15
17
  columnsRelations: ColumnRelation[];
@@ -48,12 +50,31 @@ export class CurdMixService {
48
50
  return this.curdProService.executeCrudByCfg(reqJson, cfgModel);
49
51
  }
50
52
 
51
- getBbUtil(sqlDatabase: string, sqlDbType: SqlDbType, sqlTable?: string) {
53
+
54
+ // /**
55
+ // * @deprecated 请使用 getQuickCrud 替代
56
+ // * @param sqlDatabase
57
+ // * @param sqlDbType
58
+ // * @param sqlTable
59
+ // */
60
+ // getBbUtil(sqlDatabase: string, sqlDbType: SqlDbType, sqlTable?: string) {
61
+ // this.prepare();
62
+ // return this.curdProService.getQuickCrud({ sqlDatabase, sqlDbType, sqlTable });
63
+ // }
64
+
65
+ getQuickCrud(param: IGetQuickCrudParam) {
52
66
  this.prepare();
53
- return this.curdProService.getQuickCrud(sqlDatabase, sqlDbType, sqlTable);
67
+ return this.curdProService.getQuickCrud(param);
54
68
  }
55
69
 
56
- async executeSQL(sqlCfgModel: ISqlCfgModel) {
70
+
71
+ public getShardingCrud(param: IGetShardingCrudParam): ShardingCrudPro {
72
+ this.prepare();
73
+ return this.curdProService.getShardingCrud(param);
74
+ }
75
+
76
+
77
+ async executeSQL(sqlCfgModel: ISqlCfgModel): Promise<ExecuteSQLResult> {
57
78
  this.prepare();
58
79
  return this.curdProService.executeSQL(sqlCfgModel);
59
80
  }
@@ -2,7 +2,7 @@ import * as _ from 'lodash';
2
2
  import { Config, Inject, Provide } from '@midwayjs/core';
3
3
  import { CrudPro } from '@/libs/crud-pro/CrudPro';
4
4
  import { Context } from '@midwayjs/koa';
5
- import { IConnectionPool, ICrudProCfg, IRequestCfgModel, IRequestModel, ISqlCfgModel, ITableListResult, ITableNamesOptions, ITableNamesQuery } from '@/libs/crud-pro/interfaces';
5
+ import { IConnectionPool, ICrudProCfg, IRequestCfgModel, IRequestModel, ISqlCfgModel, ITableListResult, ITableNamesOptions, ITableNamesQuery, ExecuteSQLResult } from '@/libs/crud-pro/interfaces';
6
6
  import { SqlCfgModel } from '@/libs/crud-pro/models/SqlCfgModel';
7
7
  import { getConnectionPool as getMySQLConnectionPool } from '../../libs/crud-pro/utils/pool/MySQLUtils';
8
8
  import { getConnectionPool as getPostgresConnectionPool } from '../../libs/crud-pro/utils/pool/PostgresUtils';
@@ -16,11 +16,35 @@ import { RelatedType } from './CurdMixUtils';
16
16
  import { BaseService } from '../base/BaseService';
17
17
  import { IRequestCfgModel2, IVisitorExt } from '@/models/bizmodels';
18
18
  import { IWorkbenchEntity } from '@/models/SystemEntities';
19
- import { CrudProQuick } from './CrudProQuick';
19
+ import { CrudProQuick } from '@/libs/crud-pro-quick';
20
20
  import { ShardingCrudPro, IShardingConfig } from '@/libs/crud-sharding';
21
21
  import { fixCfgModel } from './fixCfgModel';
22
22
  import { GLOBAL_STATIC_CONFIG } from '@/libs/global-config/global-config';
23
- import { fixSoftDelete } from "@/service/curd/fixSoftDelete";
23
+ import { fixSoftDelete } from "@/libs/crud-pro-quick/fixSoftDelete";
24
+
25
+ /**
26
+ * getQuickCrud 参数接口
27
+ */
28
+ export interface IGetQuickCrudParam {
29
+ /** 数据库名 */
30
+ sqlDatabase: string;
31
+ /** 数据库类型 */
32
+ sqlDbType: SqlDbType;
33
+ /** 表名(可选) */
34
+ sqlTable?: string;
35
+ }
36
+
37
+ /**
38
+ * getShardingCrud 参数接口
39
+ */
40
+ export interface IGetShardingCrudParam {
41
+ /** 数据库名 */
42
+ sqlDatabase: string;
43
+ /** 数据库类型 */
44
+ sqlDbType: SqlDbType;
45
+ /** 分表配置 */
46
+ shardingConfig: IShardingConfig;
47
+ }
24
48
 
25
49
  function toVisitor(ctx: Context): IVisitorExt {
26
50
  const workbenchInfo: IWorkbenchEntity = ctx.workbenchInfo;
@@ -205,7 +229,7 @@ export class CurdProService extends BaseService {
205
229
  }
206
230
 
207
231
  // 直接执行一个SQL
208
- public async executeSQL(sqlCfgModel: ISqlCfgModel): Promise<any> {
232
+ public async executeSQL(sqlCfgModel: ISqlCfgModel): Promise<ExecuteSQLResult> {
209
233
  const curdPro = this.getCrudPro();
210
234
  return curdPro.executeSQL(sqlCfgModel);
211
235
  }
@@ -217,64 +241,59 @@ export class CurdProService extends BaseService {
217
241
  // 应用标准的updateCfg。
218
242
  fixCfgModel(cfgModel);
219
243
  // 应用软删除动作。
220
- fixSoftDelete(cfgModel.sqlSimpleName, cfgModel, reqJson, this.ctx);
244
+ fixSoftDelete(cfgModel.sqlSimpleName, cfgModel, reqJson, curdPro.getVisitor());
221
245
  return await curdPro.executeCrudByCfg(reqJson, cfgModel);
222
246
  }
223
247
 
224
- /**
225
- * 获取 CrudProQuick 工具类(已废弃)
226
- *
227
- * @deprecated 请使用 getQuickCrud 替代
228
- * @param sqlDatabase 数据库名
229
- * @param sqlDbType 数据库类型
230
- * @param sqlTable 表名(可选)
231
- * @returns CrudProQuick 实例
232
- */
233
- public getBbUtil(sqlDatabase: string, sqlDbType: SqlDbType, sqlTable?: string): CrudProQuick {
234
- return this.getQuickCrud(sqlDatabase, sqlDbType, sqlTable);
235
- }
236
248
 
237
249
  /**
238
250
  * 获取 CrudProQuick 工具类
239
251
  *
240
252
  * 提供快速 CRUD 操作的便捷方法,封装了常用的数据库操作。
241
253
  *
242
- * @param sqlDatabase 数据库名
243
- * @param sqlDbType 数据库类型
244
- * @param sqlTable 表名(可选)
254
+ * @param param 参数对象
245
255
  * @returns CrudProQuick 实例
246
256
  *
247
257
  * @example
248
- * const quick = curdProService.getQuickCrud('mydb', SqlDbType.mysql, 't_user');
249
- * const users = await quick.query({ status: 'active' });
258
+ * const quick = curdProService.getQuickCrud({
259
+ * sqlDatabase: 'mydb',
260
+ * sqlDbType: SqlDbType.mysql,
261
+ * sqlTable: 't_user',
262
+ * });
263
+ * const users = await quick.find({ status: 'active' });
250
264
  */
251
- public getQuickCrud(sqlDatabase: string, sqlDbType: SqlDbType, sqlTable?: string): CrudProQuick {
252
- const curdPro = this.getCrudPro();
253
- return new CrudProQuick({ curdPro, sqlDatabase, sqlDbType, sqlTable, ctx: this.ctx });
265
+ public getQuickCrud(param: IGetQuickCrudParam): CrudProQuick {
266
+ const { sqlDatabase, sqlDbType, sqlTable } = param;
267
+ // 传入工厂函数,每次需要时创建新的 CrudPro 实例
268
+ return new CrudProQuick({
269
+ crudProFactory: () => this.getCrudPro(),
270
+ sqlDatabase,
271
+ sqlDbType,
272
+ sqlTable,
273
+ });
254
274
  }
255
275
 
256
276
  /**
257
277
  * 获取分表 CRUD 操作器
258
278
  *
259
- * @param sqlDatabase 数据库名
260
- * @param sqlDbType 数据库类型
261
- * @param shardingConfig 分表配置
279
+ * @param param 参数对象
262
280
  * @returns ShardingCrudPro 实例
263
281
  *
264
282
  * @example
265
- * const sharding = curdProService.getShardingCrud('mydb', SqlDbType.mysql, {
266
- * type: ShardingType.MONTH,
267
- * baseTable: 't_order',
268
- * timeColumn: 'created_at',
283
+ * const sharding = curdProService.getShardingCrud({
284
+ * sqlDatabase: 'mydb',
285
+ * sqlDbType: SqlDbType.mysql,
286
+ * shardingConfig: {
287
+ * type: ShardingType.MONTH,
288
+ * baseTable: 't_order',
289
+ * timeColumn: 'created_at',
290
+ * },
269
291
  * });
270
292
  */
271
- public getShardingCrud(
272
- sqlDatabase: string,
273
- sqlDbType: SqlDbType,
274
- shardingConfig: IShardingConfig
275
- ): ShardingCrudPro {
276
- const curdPro = this.getCrudPro();
277
- const sharding = new ShardingCrudPro(curdPro, shardingConfig);
293
+ public getShardingCrud(param: IGetShardingCrudParam): ShardingCrudPro {
294
+ const { sqlDatabase, sqlDbType, shardingConfig } = param;
295
+ // 传入工厂函数,每次需要时创建新的 CrudPro 实例
296
+ const sharding = new ShardingCrudPro(() => this.getCrudPro(), shardingConfig);
278
297
  sharding.setBaseCfg({ sqlDatabase, sqlDbType });
279
298
  return sharding;
280
299
  }
@@ -62,7 +62,11 @@ export class FlowConfigService extends BaseService {
62
62
 
63
63
  private get flow_config(){
64
64
  const { SystemDbName, SystemDbType } = GLOBAL_STATIC_CONFIG.getConfig();
65
- return this.curdProService.getQuickCrud(SystemDbName, SystemDbType, FLOW_TABLES.flow_config)
65
+ return this.curdProService.getQuickCrud({
66
+ sqlDatabase: SystemDbName,
67
+ sqlDbType: SystemDbType,
68
+ sqlTable: FLOW_TABLES.flow_config,
69
+ })
66
70
  }
67
71
 
68
72
  private toCacheKey(flow_code: string, flow_version: number): string {
@@ -81,9 +85,10 @@ export class FlowConfigService extends BaseService {
81
85
  cacheKey: cacheKey,
82
86
  cacheName: CacheNameEnum.GetFlowConfigOne,
83
87
  getter: async () => {
84
- return await this.flow_config.getUniqueOne({
88
+ const res = await this.flow_config.findUniqueOne({
85
89
  condition: {flow_code, flow_version, deleted_at: 0}
86
90
  });
91
+ return res.row;
87
92
  },
88
93
  });
89
94
  }
@@ -4,7 +4,7 @@ import * as moment from 'moment';
4
4
  import { FlowInstance, FLOW_TABLES, FlowInstanceTask, TaskStatusEnum, FlowInstanceNode, NodeStatusEnum } from "@/models/FlowModel";
5
5
  import { FlowNodeCfgInfo, ParsedFlowConfig } from './FlowConfigService';
6
6
  import { BaseService } from "@/service/base/BaseService";
7
- import { CrudProQuick } from "@/service/curd/CrudProQuick";
7
+ import { CrudProQuick } from "@/libs/crud-pro-quick";
8
8
  import { CurdProService } from "@/service/curd/CurdProService";
9
9
  import { GLOBAL_STATIC_CONFIG } from "@/libs/global-config/global-config";
10
10
 
@@ -24,7 +24,10 @@ export class FlowInstanceCrudService extends BaseService {
24
24
 
25
25
  private get flowDB(): CrudProQuick {
26
26
  const { FlowDbName, FlowDbType } = GLOBAL_STATIC_CONFIG.getConfig();
27
- const util = this.curdProService.getQuickCrud(FlowDbName, FlowDbType);
27
+ const util = this.curdProService.getQuickCrud({
28
+ sqlDatabase: FlowDbName,
29
+ sqlDbType: FlowDbType,
30
+ });
28
31
  util.setBaseCfgModel({ maxLimit: 100000 });
29
32
  return util;
30
33
  }
@@ -71,7 +74,7 @@ export class FlowInstanceCrudService extends BaseService {
71
74
  modified_at: getCurrentDateTime(),
72
75
  deleted_at: 0,
73
76
  }
74
- const nodeInstanceId = await this.flowDB.insertObject({
77
+ const nodeInstanceId = await this.flowDB.insert({
75
78
  data: nodeInstance,
76
79
  }, FLOW_TABLES.flow_instance_node);
77
80
  nodeInstance.id = nodeInstanceId.insertId;
@@ -95,7 +98,7 @@ export class FlowInstanceCrudService extends BaseService {
95
98
  modified_at: getCurrentDateTime(),
96
99
  deleted_at: 0,
97
100
  }
98
- const taskInstanceId = await this.flowDB.insertObject({
101
+ const taskInstanceId = await this.flowDB.insert({
99
102
  data: taskInstance,
100
103
  }, FLOW_TABLES.flow_instance_task);
101
104
  taskInstance.id = taskInstanceId.insertId;
@@ -107,7 +110,7 @@ export class FlowInstanceCrudService extends BaseService {
107
110
  if (updateNodeInstance.id) {
108
111
  updateNodeInstance.modified_by = this.getCurrentUserAccountId();
109
112
  updateNodeInstance.modified_at = getCurrentDateTime();
110
- await this.flowDB.updateObject({
113
+ await this.flowDB.update({
111
114
  condition: {
112
115
  id: updateNodeInstance.id,
113
116
  },
@@ -117,7 +120,7 @@ export class FlowInstanceCrudService extends BaseService {
117
120
  } else {
118
121
  updateNodeInstance.created_by = this.getCurrentUserAccountId();
119
122
  updateNodeInstance.created_at = getCurrentDateTime();
120
- const res = await this.flowDB.insertObject({
123
+ const res = await this.flowDB.insert({
121
124
  data: updateNodeInstance,
122
125
  }, FLOW_TABLES.flow_instance_node);
123
126
  return res.insertId || '';
@@ -133,7 +136,7 @@ export class FlowInstanceCrudService extends BaseService {
133
136
  if (taskInstance.id) {
134
137
  taskInstance.modified_by = this.getCurrentUserAccountId();
135
138
  taskInstance.modified_at = getCurrentDateTime();
136
- await this.flowDB.updateObject({
139
+ await this.flowDB.update({
137
140
  condition: {
138
141
  id: taskInstance.id,
139
142
  },
@@ -143,7 +146,7 @@ export class FlowInstanceCrudService extends BaseService {
143
146
  } else {
144
147
  taskInstance.created_by = this.getCurrentUserAccountId();
145
148
  taskInstance.created_at = getCurrentDateTime();
146
- const res = await this.flowDB.insertObject({
149
+ const res = await this.flowDB.insert({
147
150
  data: taskInstance,
148
151
  }, FLOW_TABLES.flow_instance_task);
149
152
  return res.insertId || '';
@@ -169,7 +172,7 @@ export class FlowInstanceCrudService extends BaseService {
169
172
  if (flowInstance.id) {
170
173
  flowInstance.modified_by = this.getCurrentUserAccountId();
171
174
  flowInstance.modified_at = getCurrentDateTime();
172
- await this.flowDB.updateObject({
175
+ await this.flowDB.update({
173
176
  condition: {
174
177
  id: flowInstance.id,
175
178
  },
@@ -179,7 +182,7 @@ export class FlowInstanceCrudService extends BaseService {
179
182
  } else {
180
183
  flowInstance.created_by = this.getCurrentUserAccountId();
181
184
  flowInstance.created_at = getCurrentDateTime();
182
- const res = await this.flowDB.insertObject({
185
+ const res = await this.flowDB.insert({
183
186
  data: flowInstance,
184
187
  }, FLOW_TABLES.flow_instance);
185
188
  return res.insertId || '';
@@ -201,10 +204,10 @@ export class FlowInstanceCrudService extends BaseService {
201
204
  throw new Error('flow_instance_id is required');
202
205
  }
203
206
 
204
- const res = await this.flowDB.getUniqueOne({
207
+ const res = await this.flowDB.findUniqueOne({
205
208
  condition: condition,
206
209
  }, FLOW_TABLES.flow_instance_node);
207
- return res;
210
+ return res.row as FlowInstanceNode;
208
211
  }
209
212
 
210
213
  public async getFlowInstance(flow_instance_id: number | string | undefined, ticket_no?: number | string | undefined): Promise<FlowInstance> {
@@ -218,10 +221,10 @@ export class FlowInstanceCrudService extends BaseService {
218
221
  if (Object.keys(condition).length === 0) {
219
222
  throw new Error('flow_instance_id or ticket_no is required');
220
223
  }
221
- const res = await this.flowDB.getUniqueOne({
224
+ const res = await this.flowDB.findUniqueOne({
222
225
  condition: condition,
223
226
  }, FLOW_TABLES.flow_instance);
224
- return res;
227
+ return res.row as FlowInstance;
225
228
  }
226
229
 
227
230
  public async getTaskInstance(task_instance_id: number | string | undefined): Promise<FlowInstanceTask> {
@@ -232,10 +235,10 @@ export class FlowInstanceCrudService extends BaseService {
232
235
  if (Object.keys(condition).length === 0) {
233
236
  throw new Error('task_instance_id is required');
234
237
  }
235
- const res = await this.flowDB.getUniqueOne({
238
+ const res = await this.flowDB.findUniqueOne({
236
239
  condition: condition,
237
240
  }, FLOW_TABLES.flow_instance_task);
238
- return res;
241
+ return res.row as FlowInstanceTask;
239
242
  }
240
243
 
241
244
  public async getTaskInstanceListByFlowInstanceId(flow_instance_id: number | string | undefined): Promise<FlowInstanceTask[]> {
@@ -246,10 +249,10 @@ export class FlowInstanceCrudService extends BaseService {
246
249
  if (Object.keys(condition).length === 0) {
247
250
  throw new Error('flow_instance_id is required');
248
251
  }
249
- const res = await this.flowDB.getList({
252
+ const res = await this.flowDB.findList({
250
253
  condition: condition,
251
254
  }, FLOW_TABLES.flow_instance_task);
252
- return res;
255
+ return res.rows as FlowInstanceTask[];
253
256
  }
254
257
 
255
258
 
@@ -261,10 +264,10 @@ export class FlowInstanceCrudService extends BaseService {
261
264
  if (Object.keys(condition).length === 0) {
262
265
  throw new Error('flowInstanceId is required');
263
266
  }
264
- const res = await this.flowDB.getList({
267
+ const res = await this.flowDB.findList({
265
268
  condition: condition,
266
269
  }, FLOW_TABLES.flow_instance_node);
267
- return res;
270
+ return res.rows as FlowInstanceNode[];
268
271
  }
269
272
 
270
273