@tachybase/plugin-workflow-approval 0.23.41 → 0.23.47

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 (24) hide show
  1. package/dist/client/base/Approval.setting.d.ts +1 -1
  2. package/dist/client/base/ApprovalPane.schema.d.ts +82 -57
  3. package/dist/client/base/ColumnShowApprovalId.d.ts +1 -0
  4. package/dist/client/base/Execution.schema.d.ts +222 -0
  5. package/dist/client/common/constants/approval-initiation-status-options.d.ts +16 -0
  6. package/dist/client/index.js +34 -34
  7. package/dist/client/usage/h5/todos/component/TabApprovalItem.d.ts +1 -2
  8. package/dist/externalVersion.js +10 -10
  9. package/dist/locale/en-US.json +2 -0
  10. package/dist/locale/zh-CN.json +3 -1
  11. package/dist/server/actions/approvals.js +11 -4
  12. package/dist/server/instructions/Approval.js +4 -1
  13. package/dist/server/instructions/ApprovalCarbonCopy.js +5 -1
  14. package/dist/server/plugin.js +0 -1
  15. package/dist/server/triggers/Approval.js +147 -146
  16. package/package.json +11 -11
  17. /package/dist/client/configuration/trigger-approval/{plugin.d.ts → kit.d.ts} +0 -0
  18. /package/dist/client/usage/pc/block/{approval-card → approval-list}/FeatureCard.component.d.ts +0 -0
  19. /package/dist/client/usage/pc/block/{approval-card → approval-list}/FeatureCard.style.d.ts +0 -0
  20. /package/dist/client/usage/pc/block/{approval-card → approval-list}/FeatureList.d.ts +0 -0
  21. /package/dist/client/usage/pc/block/{approval-card → approval-list}/FeatureList.style.d.ts +0 -0
  22. /package/dist/client/usage/pc/block/{approval-card → approval-list}/FeatureModal.schema.d.ts +0 -0
  23. /package/dist/client/usage/pc/block/{approval-card → approval-list}/FeatureModal.view.d.ts +0 -0
  24. /package/dist/client/usage/pc/block/{approval-card → approval-list}/InitiateApplication.d.ts +0 -0
@@ -1,3 +1,2 @@
1
- import React from 'react';
2
- export declare const TabApprovalItem: React.MemoExoticComponent<import("@tachybase/schema").ReactFC<unknown>>;
1
+ export declare const TabApprovalItem: import("react").MemoExoticComponent<import("@tachybase/schema").ReactFC<unknown>>;
3
2
  export declare const changeWorkflowNoticeService: (api: any, t: any, cm: any, compile: any, input: any, setData: any, params: any, filter: any, user: any) => void;
@@ -1,18 +1,18 @@
1
1
  module.exports = {
2
- "@tachybase/client": "0.23.41",
3
- "@tachybase/module-workflow": "0.23.41",
4
- "@tachybase/server": "0.23.41",
2
+ "@tachybase/client": "0.23.47",
3
+ "@tachybase/module-workflow": "0.23.47",
4
+ "@tachybase/server": "0.23.47",
5
5
  "lodash": "4.17.21",
6
6
  "react": "18.3.1",
7
- "@tachybase/schema": "0.23.41",
7
+ "@tachybase/schema": "0.23.47",
8
8
  "antd": "5.22.5",
9
- "@tachybase/actions": "0.23.41",
10
- "@tachybase/database": "0.23.41",
11
- "@tachybase/data-source": "0.23.41",
12
- "@tachybase/module-ui-schema": "0.23.41",
13
- "@tachybase/utils": "0.23.41",
9
+ "@tachybase/actions": "0.23.47",
10
+ "@tachybase/database": "0.23.47",
11
+ "@tachybase/data-source": "0.23.47",
12
+ "@tachybase/module-ui-schema": "0.23.47",
13
+ "@tachybase/utils": "0.23.47",
14
14
  "sequelize": "6.37.5",
15
- "@tachybase/components": "0.23.41",
15
+ "@tachybase/components": "0.23.47",
16
16
  "@ant-design/icons": "5.3.7",
17
17
  "ahooks": "3.8.4",
18
18
  "react-router-dom": "6.28.1"
@@ -34,6 +34,7 @@
34
34
  "Approval Summary": "Approval Summary",
35
35
  "Approval applications": "Approval applications",
36
36
  "Approval blocks": "Approval blocks",
37
+ "Approval flow": "Approval flow",
37
38
  "Approval process": "Approval process",
38
39
  "Approval todos": "Approval todos",
39
40
  "ApprovalCarbonCopy": "Approval:CarbonCopy",
@@ -225,6 +226,7 @@
225
226
  "Repeat mode": "Repeat mode",
226
227
  "Resource": "Resource",
227
228
  "Resubmit": "Resubmit",
229
+ "Retry": "Retry",
228
230
  "Return": "Return",
229
231
  "Returnable": "Returnable",
230
232
  "Returned": "Returned",
@@ -34,12 +34,13 @@
34
34
  "Apply new": "发起新申请",
35
35
  "Approval": "审批",
36
36
  "Approval Carbon Copy": "审批抄送",
37
- "Approval ID": "单据编号",
37
+ "Approval ID": "审批编号",
38
38
  "Approval Launch": "审批发起",
39
39
  "Approval Summary": "审批摘要",
40
40
  "Approval applications": "审批申请",
41
41
  "Approval blocks": "审批卡片",
42
42
  "Approval event": "审批事件",
43
+ "Approval flow": "审批流",
43
44
  "Approval process": "审批处理",
44
45
  "Approval todos": "审批待办",
45
46
  "ApprovalCarbonCopy": "审批:抄送",
@@ -272,6 +273,7 @@
272
273
  "Resolved": "完成",
273
274
  "Resource": "数据表",
274
275
  "Resubmit": "复制",
276
+ "Retry": "重试",
275
277
  "Retry needed": "需重试",
276
278
  "Return": "退回",
277
279
  "Returnable": "可退回",
@@ -39,7 +39,7 @@ var import_status = require("../constants/status");
39
39
  var import_tools = require("../tools");
40
40
  const approvals = {
41
41
  async create(context, next) {
42
- const { status, collectionName, data, workflowId } = context.action.params.values ?? {};
42
+ const { status, collectionName, data, workflowKey } = context.action.params.values ?? {};
43
43
  const [dataSourceName, cName] = (0, import_data_source.parseCollectionName)(collectionName);
44
44
  const dataSource = context.app.dataSourceManager.dataSources.get(dataSourceName);
45
45
  if (!dataSource) {
@@ -50,9 +50,12 @@ const approvals = {
50
50
  return context.throw(400, `Collection "${cName}" not found`);
51
51
  }
52
52
  const workflow = await context.db.getRepository("workflows").findOne({
53
- filterByTk: workflowId
53
+ filter: {
54
+ key: workflowKey,
55
+ enabled: true
56
+ }
54
57
  });
55
- if (!(workflow == null ? void 0 : workflow.enabled)) {
58
+ if (!workflow) {
56
59
  return context.throw(400, "Current workflow not found or disabled, please refresh and try again");
57
60
  }
58
61
  if (status !== import_status.APPROVAL_STATUS.DRAFT) {
@@ -88,6 +91,7 @@ const approvals = {
88
91
  data: instance,
89
92
  dataKey: values[collection.filterTargetKey],
90
93
  workflowKey: workflow.key,
94
+ workflowId: workflow.id,
91
95
  applicantRoleName: context.state.currentRole,
92
96
  summary
93
97
  }
@@ -291,13 +295,16 @@ const approvals = {
291
295
  }
292
296
  const assignees = approval.records.map((record) => record.userId);
293
297
  for (const userId of assignees) {
298
+ const [dataSourceName] = (0, import_data_source.parseCollectionName)(approval.collectionName);
299
+ const collection = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName).collectionManager.getCollection(approval.collectionName);
294
300
  const message = {
295
301
  userId,
296
302
  title: `{{t("Approval", { ns: '${import_constants.NAMESPACE}' })}}`,
297
303
  content: `{{t("{{user}} reminder", { ns: "${import_constants.NAMESPACE}", user: "${approval.createdBy.nickname}" })}}`,
298
304
  collectionName: approval.collectionName,
299
305
  jsonContent: approval.summary,
300
- schemaName: (_c = approval.workflow) == null ? void 0 : _c.config.applyDetail
306
+ schemaName: (_c = approval.workflow) == null ? void 0 : _c.config.applyDetail,
307
+ dataKey: approval.data[collection.filterTargetKey]
301
308
  };
302
309
  context.app.messageManager.sendMessage(+userId, message);
303
310
  }
@@ -84,13 +84,16 @@ class ApprovalInstruction extends import_module_workflow.Instruction {
84
84
  }
85
85
  );
86
86
  for (const userId of assignees) {
87
+ const [dataSourceName] = (0, import_data_source.parseCollectionName)(approval.collectionName);
88
+ const collection = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName).collectionManager.getCollection(approval.collectionName);
87
89
  const message = {
88
90
  userId,
89
91
  title: '{{t("Approval", { ns: "@tachybase/plugin-workflow-approval" })}}',
90
92
  content: "",
91
93
  collectionName: approval.collectionName,
92
94
  jsonContent: approval.summary,
93
- schemaName: node.config.applyDetail
95
+ schemaName: node.config.applyDetail,
96
+ dataKey: approval.data[collection.filterTargetKey]
94
97
  };
95
98
  this.workflow.app.messageManager.sendMessage(+userId, message);
96
99
  }
@@ -20,6 +20,7 @@ __export(ApprovalCarbonCopy_exports, {
20
20
  default: () => ApprovalCarbonCopyInstruction
21
21
  });
22
22
  module.exports = __toCommonJS(ApprovalCarbonCopy_exports);
23
+ var import_data_source = require("@tachybase/data-source");
23
24
  var import_module_workflow = require("@tachybase/module-workflow");
24
25
  var import_constants = require("../../common/constants");
25
26
  var import_status = require("../constants/status");
@@ -68,13 +69,16 @@ class ApprovalCarbonCopyInstruction extends import_module_workflow.Instruction {
68
69
  transaction: processor.transaction
69
70
  });
70
71
  for (const userId of targetPersonList) {
72
+ const [dataSourceName] = (0, import_data_source.parseCollectionName)(approval.collectionName);
73
+ const collection = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName).collectionManager.getCollection(approval.collectionName);
71
74
  const message = {
72
75
  userId,
73
76
  title: '{{t("Approval Carbon Copy", { ns: "@tachybase/plugin-workflow-approval" })}}',
74
77
  content: "",
75
78
  jsonContent: approval.summary,
76
79
  collectionName: approval.collectionName,
77
- schemaName: node.config.showCarbonCopyDetail
80
+ schemaName: node.config.showCarbonCopyDetail,
81
+ dataKey: approval.data[collection.filterTargetKey]
78
82
  };
79
83
  this.workflow.app.messageManager.sendMessage(+userId, message);
80
84
  }
@@ -40,7 +40,6 @@ var import_Approval = __toESM(require("./instructions/Approval"));
40
40
  var import_ApprovalCarbonCopy = __toESM(require("./instructions/ApprovalCarbonCopy"));
41
41
  var import_Approval2 = __toESM(require("./triggers/Approval"));
42
42
  class PluginWorkflowApproval extends import_server.Plugin {
43
- workflow;
44
43
  afterAdd() {
45
44
  }
46
45
  beforeLoad() {
@@ -28,155 +28,154 @@ var import_sequelize = require("sequelize");
28
28
  var import_status = require("../constants/status");
29
29
  var import_tools = require("../tools");
30
30
  var import_tools2 = require("./tools");
31
- class ApprovalTrigger extends import_module_workflow.Trigger {
32
- static TYPE = "approval";
33
- sync = false;
34
- triggerHandler = async (approval, { transaction }) => {
35
- const workflow = await approval.getWorkflow({
36
- where: {
37
- id: approval.get("workflowId"),
38
- type: ApprovalTrigger.TYPE,
39
- enabled: true,
40
- "config.collection": approval.collectionName
41
- },
42
- transaction
43
- });
44
- const isChangedStatus = approval.changed("status");
45
- const isAllowStatusList = [import_status.APPROVAL_STATUS.DRAFT, import_status.APPROVAL_STATUS.SUBMITTED, import_status.APPROVAL_STATUS.RESUBMIT].includes(
46
- approval.status
47
- );
48
- const previousApprovalStatus = approval.previous("status");
49
- const currentApprovalStatus = approval.status;
50
- const forbiddenList = [
51
- [import_status.APPROVAL_STATUS.SUBMITTED, import_status.APPROVAL_STATUS.DRAFT],
52
- // 撤回情况
53
- [void 0, import_status.APPROVAL_STATUS.DRAFT]
54
- // 保存草稿情况
55
- ];
56
- const isForbiddenWhenStatusChange = forbiddenList.some(
57
- ([prev, curr]) => prev === previousApprovalStatus && curr === currentApprovalStatus
58
- );
59
- if (!workflow || !isChangedStatus || !isAllowStatusList || isForbiddenWhenStatusChange) {
60
- return;
61
- }
62
- const [dataSourceName, collectionName] = (0, import_data_source.parseCollectionName)(approval.collectionName);
63
- const { repository } = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName).collectionManager.getCollection(collectionName);
64
- const data = await repository.findOne({
65
- filterByTk: approval.get("dataKey"),
66
- appends: workflow.config.appends,
67
- transaction: this.workflow.useDataSourceTransaction(dataSourceName, transaction)
68
- });
69
- this.workflow.trigger(
70
- workflow,
71
- {
72
- data: (0, import_module_workflow.toJSON)(data),
73
- approvalId: approval.id,
74
- applicantRoleName: approval.applicantRoleName,
75
- summary: (0, import_tools.getSummary)({
76
- summaryConfig: workflow.config.summary,
77
- data
78
- }),
79
- collectionName: approval.collectionName
80
- },
81
- { transaction }
82
- );
83
- };
84
- onExecutionCreate = async (execution, { transaction }) => {
85
- const workflow = await execution.getWorkflow({ transaction });
86
- if (workflow.type !== ApprovalTrigger.TYPE) {
87
- return;
88
- }
89
- const { approvalId, data, summary, collectionName } = execution.context;
90
- const ApprovalExecutionRepo = this.workflow.db.getRepository("approvalExecutions");
91
- const approvalExecution = await ApprovalExecutionRepo.create({
92
- values: {
93
- approvalId,
94
- executionId: execution.id,
95
- status: execution.status,
96
- snapshot: data,
97
- summary,
98
- collectionName
99
- },
100
- transaction
101
- });
102
- const ApprovalsRepo = this.workflow.db.getRepository("approvals");
103
- await ApprovalsRepo.update({
104
- filterByTk: approvalId,
105
- values: { latestExecutionId: approvalExecution.id },
106
- transaction
107
- });
108
- };
109
- onExecutionUpdate = async (execution, { transaction }) => {
110
- if (!execution.workflow) {
111
- execution.workflow = await execution.getWorkflow({ transaction });
112
- }
113
- if (!execution.status || execution.workflow.type !== ApprovalTrigger.TYPE) {
114
- return;
115
- }
116
- const approvalExecution = await this.workflow.db.getRepository("approvalExecutions").findOne({
117
- filter: {
118
- executionId: execution.id,
119
- approvalId: execution.context.approvalId
120
- },
121
- appends: ["approval"],
122
- transaction
123
- });
124
- const { approval } = approvalExecution;
125
- if (![import_status.APPROVAL_STATUS.SUBMITTED, import_status.APPROVAL_STATUS.PROCESSING].includes(approval.status)) {
126
- return;
127
- }
128
- let status = import_status.APPROVAL_STATUS.APPROVED;
129
- if (execution.status === import_module_workflow.EXECUTION_STATUS.RESOLVED) {
130
- const [approvalNodeJob] = await execution.getJobs({
31
+ const _ApprovalTrigger = class _ApprovalTrigger extends import_module_workflow.Trigger {
32
+ constructor(workflow) {
33
+ super(workflow);
34
+ this.sync = false;
35
+ this.triggerHandler = async (approval, { transaction }) => {
36
+ const workflow = await approval.getWorkflow({
131
37
  where: {
132
- status: {
133
- [import_sequelize.Op.ne]: import_module_workflow.JOB_STATUS.PENDING
134
- }
38
+ id: approval.get("workflowId"),
39
+ type: _ApprovalTrigger.TYPE,
40
+ enabled: true,
41
+ "config.collection": approval.collectionName
135
42
  },
136
- include: [
137
- {
138
- association: "node",
139
- where: {
140
- type: "approval"
141
- },
142
- required: true
143
- }
144
- ],
145
- order: [["updatedAt", "DESC"]],
146
- limit: 1,
147
43
  transaction
148
44
  });
149
- if (approvalNodeJob && import_tools2.ApprovalJobStatusMap[approvalNodeJob.result] != null) {
150
- status = import_tools2.ApprovalJobStatusMap[approvalNodeJob.result];
45
+ const isChangedStatus = approval.changed("status");
46
+ const isAllowStatusList = [import_status.APPROVAL_STATUS.DRAFT, import_status.APPROVAL_STATUS.SUBMITTED, import_status.APPROVAL_STATUS.RESUBMIT].includes(
47
+ approval.status
48
+ );
49
+ const previousApprovalStatus = approval.previous("status");
50
+ const currentApprovalStatus = approval.status;
51
+ const forbiddenList = [
52
+ [import_status.APPROVAL_STATUS.SUBMITTED, import_status.APPROVAL_STATUS.DRAFT],
53
+ // 撤回情况
54
+ [void 0, import_status.APPROVAL_STATUS.DRAFT]
55
+ // 保存草稿情况
56
+ ];
57
+ const isForbiddenWhenStatusChange = forbiddenList.some(
58
+ ([prev, curr]) => prev === previousApprovalStatus && curr === currentApprovalStatus
59
+ );
60
+ if (!workflow || !isChangedStatus || !isAllowStatusList || isForbiddenWhenStatusChange) {
61
+ return;
151
62
  }
152
- } else {
153
- if (import_tools2.ExecutionStatusMap[execution.status] != null) {
154
- status = import_tools2.ExecutionStatusMap[execution.status];
63
+ const [dataSourceName, collectionName] = (0, import_data_source.parseCollectionName)(approval.collectionName);
64
+ const { repository } = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName).collectionManager.getCollection(collectionName);
65
+ const data = await repository.findOne({
66
+ filterByTk: approval.get("dataKey"),
67
+ appends: workflow.config.appends,
68
+ transaction: this.workflow.useDataSourceTransaction(dataSourceName, transaction)
69
+ });
70
+ this.workflow.trigger(
71
+ workflow,
72
+ {
73
+ data: (0, import_module_workflow.toJSON)(data),
74
+ approvalId: approval.id,
75
+ applicantRoleName: approval.applicantRoleName,
76
+ summary: (0, import_tools.getSummary)({
77
+ summaryConfig: workflow.config.summary,
78
+ data
79
+ }),
80
+ collectionName: approval.collectionName
81
+ },
82
+ { transaction }
83
+ );
84
+ };
85
+ this.onExecutionCreate = async (execution, { transaction }) => {
86
+ const workflow = await execution.getWorkflow({ transaction });
87
+ if (workflow.type !== _ApprovalTrigger.TYPE) {
88
+ return;
155
89
  }
156
- }
157
- await approval.update({ status }, { transaction });
158
- await approvalExecution.update({ status: execution.status }, { transaction });
159
- };
160
- middleware = async (context, next) => {
161
- if (!context.action) {
162
- return;
163
- }
164
- const {
165
- resourceName,
166
- actionName,
167
- params: { triggerWorkflows }
168
- } = context.action;
169
- if (resourceName === "workflows" && actionName === "trigger") {
170
- return this.workflowTriggerAction(context, next);
171
- }
172
- await next();
173
- if (!triggerWorkflows || !["create", "update"].includes(actionName)) {
174
- return;
175
- }
176
- this.collectionTriggerAction(context);
177
- };
178
- constructor(workflow) {
179
- super(workflow);
90
+ const { approvalId, data, summary, collectionName } = execution.context;
91
+ const ApprovalExecutionRepo = this.workflow.db.getRepository("approvalExecutions");
92
+ const approvalExecution = await ApprovalExecutionRepo.create({
93
+ values: {
94
+ approvalId,
95
+ executionId: execution.id,
96
+ status: execution.status,
97
+ snapshot: data,
98
+ summary,
99
+ collectionName
100
+ },
101
+ transaction
102
+ });
103
+ const ApprovalsRepo = this.workflow.db.getRepository("approvals");
104
+ await ApprovalsRepo.update({
105
+ filterByTk: approvalId,
106
+ values: { latestExecutionId: approvalExecution.id },
107
+ transaction
108
+ });
109
+ };
110
+ this.onExecutionUpdate = async (execution, { transaction }) => {
111
+ if (!execution.workflow) {
112
+ execution.workflow = await execution.getWorkflow({ transaction });
113
+ }
114
+ if (!execution.status || execution.workflow.type !== _ApprovalTrigger.TYPE) {
115
+ return;
116
+ }
117
+ const approvalExecution = await this.workflow.db.getRepository("approvalExecutions").findOne({
118
+ filter: {
119
+ executionId: execution.id,
120
+ approvalId: execution.context.approvalId
121
+ },
122
+ appends: ["approval"],
123
+ transaction
124
+ });
125
+ const { approval } = approvalExecution;
126
+ if (![import_status.APPROVAL_STATUS.SUBMITTED, import_status.APPROVAL_STATUS.PROCESSING].includes(approval.status)) {
127
+ return;
128
+ }
129
+ let status = import_status.APPROVAL_STATUS.APPROVED;
130
+ if (execution.status === import_module_workflow.EXECUTION_STATUS.RESOLVED) {
131
+ const [approvalNodeJob] = await execution.getJobs({
132
+ where: {
133
+ status: {
134
+ [import_sequelize.Op.ne]: import_module_workflow.JOB_STATUS.PENDING
135
+ }
136
+ },
137
+ include: [
138
+ {
139
+ association: "node",
140
+ where: {
141
+ type: "approval"
142
+ },
143
+ required: true
144
+ }
145
+ ],
146
+ order: [["updatedAt", "DESC"]],
147
+ limit: 1,
148
+ transaction
149
+ });
150
+ if (approvalNodeJob && import_tools2.ApprovalJobStatusMap[approvalNodeJob.result] != null) {
151
+ status = import_tools2.ApprovalJobStatusMap[approvalNodeJob.result];
152
+ }
153
+ } else {
154
+ if (import_tools2.ExecutionStatusMap[execution.status] != null) {
155
+ status = import_tools2.ExecutionStatusMap[execution.status];
156
+ }
157
+ }
158
+ await approval.update({ status }, { transaction });
159
+ await approvalExecution.update({ status: execution.status }, { transaction });
160
+ };
161
+ this.middleware = async (context, next) => {
162
+ if (!context.action) {
163
+ return;
164
+ }
165
+ const {
166
+ resourceName,
167
+ actionName,
168
+ params: { triggerWorkflows }
169
+ } = context.action;
170
+ if (resourceName === "workflows" && actionName === "trigger") {
171
+ return this.workflowTriggerAction(context, next);
172
+ }
173
+ await next();
174
+ if (!triggerWorkflows || !["create", "update"].includes(actionName)) {
175
+ return;
176
+ }
177
+ this.collectionTriggerAction(context);
178
+ };
180
179
  const { db } = workflow.app;
181
180
  db.on("approvals.afterSave", this.triggerHandler);
182
181
  db.on("executions.afterCreate", this.onExecutionCreate);
@@ -192,7 +191,7 @@ class ApprovalTrigger extends import_module_workflow.Trigger {
192
191
  const workflowRepo = this.workflow.db.getRepository("workflows");
193
192
  const workflows = await workflowRepo.find({
194
193
  filter: {
195
- type: ApprovalTrigger.TYPE,
194
+ type: _ApprovalTrigger.TYPE,
196
195
  key: triggers.map((trigger) => trigger[0]),
197
196
  current: true,
198
197
  enabled: true
@@ -239,7 +238,7 @@ class ApprovalTrigger extends import_module_workflow.Trigger {
239
238
  const triggers = triggerWorkflows.split(",").map((trigger) => trigger.split("!"));
240
239
  const triggersKeysMap = new Map(triggers);
241
240
  const workflows = Array.from(this.workflow.enabledCache.values()).filter(
242
- (item) => item.type === ApprovalTrigger.TYPE && triggersKeysMap.has(item.key)
241
+ (item) => item.type === _ApprovalTrigger.TYPE && triggersKeysMap.has(item.key)
243
242
  );
244
243
  for (const workflow of workflows) {
245
244
  const [dataSourceName, collectionName] = (0, import_data_source.parseCollectionName)(workflow.config.collection);
@@ -315,4 +314,6 @@ class ApprovalTrigger extends import_module_workflow.Trigger {
315
314
  applyForm: result["x-uid"]
316
315
  };
317
316
  }
318
- }
317
+ };
318
+ _ApprovalTrigger.TYPE = "approval";
319
+ let ApprovalTrigger = _ApprovalTrigger;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tachybase/plugin-workflow-approval",
3
3
  "displayName": "Approval",
4
- "version": "0.23.41",
4
+ "version": "0.23.47",
5
5
  "description": "Approval base in Workflow",
6
6
  "keywords": [
7
7
  "Approval",
@@ -25,16 +25,16 @@
25
25
  "sequelize": "^6.37.5"
26
26
  },
27
27
  "peerDependencies": {
28
- "@tachybase/actions": "0.23.41",
29
- "@tachybase/client": "0.23.41",
30
- "@tachybase/components": "0.23.41",
31
- "@tachybase/data-source": "0.23.41",
32
- "@tachybase/database": "0.23.41",
33
- "@tachybase/module-workflow": "0.23.41",
34
- "@tachybase/schema": "0.23.41",
35
- "@tachybase/server": "0.23.41",
36
- "@tachybase/test": "0.23.41",
37
- "@tachybase/utils": "0.23.41"
28
+ "@tachybase/actions": "0.23.47",
29
+ "@tachybase/components": "0.23.47",
30
+ "@tachybase/client": "0.23.47",
31
+ "@tachybase/database": "0.23.47",
32
+ "@tachybase/data-source": "0.23.47",
33
+ "@tachybase/module-workflow": "0.23.47",
34
+ "@tachybase/schema": "0.23.47",
35
+ "@tachybase/server": "0.23.47",
36
+ "@tachybase/utils": "0.23.47",
37
+ "@tachybase/test": "0.23.47"
38
38
  },
39
39
  "description.zh-CN": "审批系统是一个强大的BPM工具,为业务流程自动化提供基础支持,同时具备高度灵活性和可扩展性,确保审批流程的效率和合规性,助力企业释放创新潜力。",
40
40
  "displayName.zh-CN": "审批",