MCPcopy Index your code
hub / github.com/1Panel-dev/MaxKB / one

Method one

apps/trigger/serializers/trigger.py:586–635  ·  view source on GitHub ↗
(self, with_valid=True)

Source from the content-addressed store, hash-verified

584 return True
585
586 def one(self, with_valid=True):
587 if with_valid:
588 self.is_valid()
589 trigger_id = self.data.get('trigger_id')
590 workspace_id = self.data.get('workspace_id')
591 trigger = QuerySet(Trigger).filter(workspace_id=workspace_id, id=trigger_id).first()
592
593 trigger_tasks = list(QuerySet(TriggerTask).filter(trigger_id=trigger_id))
594
595 application_ids = []
596 tool_ids = []
597 for task in trigger_tasks:
598 if task.source_type == TriggerTaskTypeChoices.APPLICATION:
599 application_ids.append(task.source_id)
600 elif task.source_type == TriggerTaskTypeChoices.TOOL:
601 tool_ids.append(task.source_id)
602
603 trigger_task_list = TriggerTaskModelSerializer(trigger_tasks, many=True).data
604
605 application_task_list = []
606 if application_ids:
607 applications = Application.objects.filter(workspace_id=workspace_id, id__in=application_ids)
608 application_task_list = ApplicationTriggerTaskSerializer(applications, many=True).data
609 tool_task_list = []
610 if tool_ids:
611 tools = Tool.objects.filter(workspace_id=workspace_id, id__in=tool_ids)
612 workflows = ToolWorkflow.objects.filter(
613 tool_id__in=tools.filter(tool_type='WORKFLOW').values_list('id', flat=True),
614 is_publish=True
615 )
616 workflow_dict = {wf.tool_id: wf.work_flow for wf in workflows}
617 tool_task_list = []
618 for tool in tools:
619 tool_data = {
620 'id': str(tool.id),
621 'name': tool.name,
622 'input_field_list': tool.input_field_list,
623 'icon': tool.icon,
624 'tool_type': tool.tool_type
625 }
626 # 如果是工作流类型,添加 work_flow 字段
627 if tool.tool_type == 'WORKFLOW':
628 tool_data['work_flow'] = workflow_dict.get(tool.id)
629 tool_task_list.append(tool_data)
630 return {
631 **TriggerModelSerializer(trigger).data,
632 'trigger_task': trigger_task_list,
633 'application_task_list': application_task_list,
634 'tool_task_list': tool_task_list,
635 }
636
637
638class TriggerQuerySerializer(serializers.Serializer):

Callers 3

editMethod · 0.95
getMethod · 0.45
getMethod · 0.45

Calls 6

is_validMethod · 0.95
getMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected