MCPcopy
hub / github.com/1Panel-dev/MaxKB / delete

Method delete

apps/tools/serializers/tool.py:703–727  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

701
702 @transaction.atomic
703 def delete(self):
704 from trigger.handler.simple_tools import deploy
705 from trigger.serializers.trigger import TriggerModelSerializer
706
707 self.is_valid(raise_exception=True)
708 tool = QuerySet(Tool).filter(id=self.data.get("id")).first()
709 if tool.template_id is None and tool.icon != "":
710 QuerySet(File).filter(id=tool.icon.split("/")[-1]).delete()
711 if tool.tool_type == ToolType.SKILL:
712 QuerySet(File).filter(id=tool.code).delete()
713 QuerySet(WorkspaceUserResourcePermission).filter(target=tool.id).delete()
714 QuerySet(Tool).filter(id=self.data.get("id")).delete()
715 ResourceMapping.objects.filter(Q(target_id=self.data.get("id")) | Q(source_id=self.data.get("id"))).delete()
716 QuerySet(ToolRecord).filter(tool_id=self.data.get("id")).delete()
717 trigger_ids = list(
718 QuerySet(TriggerTask)
719 .filter(source_type="TOOL", source_id=self.data.get("id"))
720 .values("trigger_id")
721 .distinct()
722 )
723 QuerySet(TriggerTask).filter(source_type="TOOL", source_id=self.data.get("id")).delete()
724 for trigger_id in trigger_ids:
725 trigger = Trigger.objects.filter(id=trigger_id["trigger_id"]).first()
726 if trigger and trigger.is_active:
727 deploy(TriggerModelSerializer(trigger).data, **{})
728
729 def one(self):
730 self.is_one_valid(raise_exception=True)

Callers 3

editMethod · 0.45
editMethod · 0.45
batch_deleteMethod · 0.45

Calls 4

is_validMethod · 0.95
deployFunction · 0.90
getMethod · 0.45

Tested by

no test coverage detected