Skip to content

Commit 9877e17

Browse files
committed
feat: enhance tool data serialization in trigger.py to include workflow information
1 parent 2294bd1 commit 9877e17

1 file changed

Lines changed: 19 additions & 3 deletions

File tree

apps/trigger/serializers/trigger.py

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from common.utils.common import get_file_content
2525
from knowledge.serializers.common import BatchSerializer
2626
from maxkb.conf import PROJECT_DIR
27-
from tools.models import Tool
27+
from tools.models import Tool, ToolWorkflow
2828
from trigger.models import TriggerTypeChoices, Trigger, TriggerTaskTypeChoices, TriggerTask, TaskRecord
2929

3030

@@ -605,8 +605,24 @@ def one(self, with_valid=True):
605605
tool_task_list = []
606606
if tool_ids:
607607
tools = Tool.objects.filter(workspace_id=workspace_id, id__in=tool_ids)
608-
tool_task_list = ToolTriggerTaskSerializer(tools, many=True).data
609-
608+
workflows = ToolWorkflow.objects.filter(
609+
tool_id__in=tools.filter(tool_type='WORKFLOW').values_list('id', flat=True),
610+
is_publish=True
611+
)
612+
workflow_dict = {wf.tool_id: wf.work_flow for wf in workflows}
613+
tool_task_list = []
614+
for tool in tools:
615+
tool_data = {
616+
'id': str(tool.id),
617+
'name': tool.name,
618+
'input_field_list': tool.input_field_list,
619+
'icon': tool.icon,
620+
'tool_type': tool.tool_type
621+
}
622+
# 如果是工作流类型,添加 work_flow 字段
623+
if tool.tool_type == 'WORKFLOW':
624+
tool_data['work_flow'] = workflow_dict.get(tool.id)
625+
tool_task_list.append(tool_data)
610626
return {
611627
**TriggerModelSerializer(trigger).data,
612628
'trigger_task': trigger_task_list,

0 commit comments

Comments
 (0)