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

Method batch_delete

apps/tools/serializers/tool.py:1631–1665  ·  view source on GitHub ↗
(self, instance: Dict, with_valid=True)

Source from the content-addressed store, hash-verified

1629
1630 @transaction.atomic
1631 def batch_delete(self, instance: Dict, with_valid=True):
1632 from knowledge.serializers.common import BatchSerializer
1633 from trigger.handler.simple_tools import deploy
1634 from trigger.serializers.trigger import TriggerModelSerializer
1635
1636 if with_valid:
1637 BatchSerializer(data=instance).is_valid(model=Tool, raise_exception=True)
1638 self.is_valid(raise_exception=True)
1639 id_list = instance.get("id_list")
1640 workspace_id = self.data.get("workspace_id")
1641
1642 tool_query_set = QuerySet(Tool).filter(id__in=id_list, workspace_id=workspace_id)
1643
1644 for tool in tool_query_set:
1645 if tool.template_id is None and tool.icon != "":
1646 QuerySet(File).filter(id=tool.icon.split("/")[-1]).delete()
1647 if tool.tool_type == ToolType.SKILL:
1648 QuerySet(File).filter(id=tool.code).delete()
1649
1650 QuerySet(WorkspaceUserResourcePermission).filter(target__in=id_list).delete()
1651 QuerySet(ResourceMapping).filter(Q(target_id__in=id_list) | Q(source_id__in=id_list)).delete()
1652 QuerySet(ToolRecord).filter(tool_id__in=id_list).delete()
1653
1654 trigger_ids = list(
1655 QuerySet(TriggerTask).filter(source_type="TOOL", source_id__in=id_list).values("trigger_id").distinct()
1656 )
1657
1658 QuerySet(TriggerTask).filter(source_type="TOOL", source_id__in=id_list).delete()
1659 for trigger_id in trigger_ids:
1660 trigger = Trigger.objects.filter(id=trigger_id["trigger_id"]).first()
1661 if trigger and trigger.is_active:
1662 deploy(TriggerModelSerializer(trigger).data, **{})
1663
1664 tool_query_set.delete()
1665 return True
1666
1667 def batch_move(self, instance: Dict, with_valid=True):
1668 from knowledge.serializers.common import BatchMoveSerializer

Callers 1

innerMethod · 0.45

Calls 7

is_validMethod · 0.95
BatchSerializerClass · 0.90
deployFunction · 0.90
is_validMethod · 0.45
getMethod · 0.45
deleteMethod · 0.45

Tested by

no test coverage detected