Skip to content

Commit 6dfc222

Browse files
committed
fix: The resource-side trigger adds current resource validation.
1 parent 369ea22 commit 6dfc222

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

apps/trigger/serializers/task_source_trigger.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ def insert(self, instance, with_valid=True):
5353
self.is_valid(raise_exception=True)
5454
if not len(instance.get("trigger_task")) == 1:
5555
raise AppApiException(500, _('Trigger task number must be one'))
56+
source_id = instance.get('source_id')
57+
source_type = instance.get('source_type')
58+
source_trigger_task = instance.get('trigger_task')[0]
59+
if not (instance.get('source_id') == source_id and source_trigger_task.get('source_type') == source_type):
60+
raise AppApiException(500, _('Incorrect trigger task'))
5661

5762
return TriggerSerializer(data={
5863
'workspace_id': self.data.get('workspace_id'),
@@ -135,11 +140,11 @@ def delete(self):
135140
source_id = self.data.get('source_id')
136141
source_type = self.data.get('source_type')
137142

138-
trigger = Trigger.objects.filter(workspace_id=workspace_id,id=trigger_id).first()
143+
trigger = Trigger.objects.filter(workspace_id=workspace_id, id=trigger_id).first()
139144
if not trigger:
140145
raise AppApiException(404, _('Trigger not found'))
141146
delete_count = TriggerTask.objects.filter(trigger_id=trigger_id, source_id=source_id,
142-
source_type=source_type).delete()[0]
147+
source_type=source_type).delete()[0]
143148
if delete_count == 0:
144149
raise AppApiException(404, _('Task not found'))
145150
has_other_tasks = TriggerTask.objects.filter(trigger_id=trigger_id).exists()
@@ -148,6 +153,7 @@ def delete(self):
148153
trigger.delete()
149154
return True
150155

156+
151157
class TaskSourceTriggerListSerializer(serializers.Serializer):
152158
workspace_id = serializers.CharField(required=True, label=_('workspace id'))
153159
source_type = serializers.CharField(required=True, label=_('source type'))

0 commit comments

Comments
 (0)