5454from system_manage .serializers .user_resource_permission import UserResourcePermissionSerializer
5555from tools .models import Tool , ToolScope
5656from tools .serializers .tool import ToolExportModelSerializer
57- from trigger .models import TriggerTask
57+ from trigger .models import TriggerTask , Trigger
5858from users .models import User
5959from users .serializers .user import is_workspace_manage
6060
@@ -790,6 +790,8 @@ def get_mcp_servers(self, instance, with_valid=True):
790790 return tools
791791
792792 def delete (self , with_valid = True ):
793+ from trigger .handler .simple_tools import deploy
794+ from trigger .serializers .trigger import TriggerModelSerializer
793795 if with_valid :
794796 self .is_valid ()
795797 application_id = self .data .get ('application_id' )
@@ -798,6 +800,16 @@ def delete(self, with_valid=True):
798800 Q (target_id = application_id ) | Q (source_id = application_id )
799801 ).delete ()
800802 QuerySet (Application ).filter (id = application_id ).delete ()
803+ trigger_ids = list (
804+ QuerySet (TriggerTask ).filter (
805+ source_type = "APPLICATION" , source_id = self .data .get ('id' )
806+ ).values ('trigger_id' ).distinct ()
807+ )
808+ QuerySet (TriggerTask ).filter (source_type = "APPLICATION" , source_id = self .data .get ('id' )).delete ()
809+ for trigger_id in trigger_ids :
810+ trigger = Trigger .objects .filter (id = trigger_id ['trigger_id' ]).first ()
811+ if trigger and trigger .is_active :
812+ deploy (TriggerModelSerializer (trigger ).data , ** {})
801813 return True
802814
803815 def export (self , with_valid = True ):
0 commit comments