diff --git a/apps/application/workflow/nodes/application_node/application_node.py b/apps/application/workflow/nodes/application_node/application_node.py index 0e008dc4163..e94f1d8186d 100644 --- a/apps/application/workflow/nodes/application_node/application_node.py +++ b/apps/application/workflow/nodes/application_node/application_node.py @@ -7,6 +7,7 @@ """ import uuid_utils.compat as uuid +from django.db import connection from django.db.models import QuerySet from django.utils.translation import gettext_lazy as _ from rest_framework import serializers @@ -19,6 +20,7 @@ from application.workflow.status import Status from application.workflow.workflow_manage import WorkflowManage, CallBack from chat.serializers.chat_history import ChatHistory +from common.exception.app_exception import AppApiException def string_to_uuid(input_str): @@ -36,6 +38,13 @@ class ApplicationNodeSerializer(serializers.Serializer): video_list = serializers.ListField(required=False, label=_("Video")) node_data = serializers.DictField(required=False, allow_null=True, label=_("Form Data")) + def is_valid(self, *, raise_exception=False): + super().is_valid(raise_exception=True) + application_id = self.data.get("application_id") + f_app = QuerySet(Application).filter(id=application_id).first() + if f_app is None: + raise AppApiException(500, _("The application has been deleted")) + class ApplicationNode(INode): serializer_class = ApplicationNodeSerializer