Skip to content

Commit dbddd1b

Browse files
committed
fix: Cancel deployment when deleting applications
1 parent 5d6b1f6 commit dbddd1b

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

apps/application/serializers/application.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
from system_manage.serializers.user_resource_permission import UserResourcePermissionSerializer
5555
from tools.models import Tool, ToolScope
5656
from tools.serializers.tool import ToolExportModelSerializer
57-
from trigger.models import TriggerTask
57+
from trigger.models import TriggerTask, Trigger
5858
from users.models import User
5959
from 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

Comments
 (0)