1818from common .exception .app_exception import AppApiException
1919from common .utils .common import get_file_content
2020from maxkb .conf import PROJECT_DIR
21- from trigger .models import TriggerTask , TaskRecord
21+ from trigger .models import TriggerTask , TaskRecord , Trigger
2222
2323
2424class ChatRecordSerializerModel (serializers .ModelSerializer ):
@@ -38,7 +38,16 @@ class Meta:
3838
3939class TriggerTaskQuerySerializer (serializers .Serializer ):
4040 trigger_id = serializers .CharField (required = True , label = _ ("Trigger ID" ))
41- workspace_id = serializers .CharField (required = True , label = _ ('workspace id' ))
41+ workspace_id = serializers .CharField (required = False , allow_null = True , allow_blank = True , label = _ ("Workspace ID" ))
42+
43+ def is_valid (self , * , raise_exception = False ):
44+ super ().is_valid (raise_exception = True )
45+ workspace_id = self .data .get ('workspace_id' )
46+ query_set = QuerySet (Trigger ).filter (id = self .data .get ('trigger_id' ))
47+ if workspace_id :
48+ query_set = query_set .filter (workspace_id = workspace_id )
49+ if not query_set .exists ():
50+ raise AppApiException (500 , _ ('Trigger id does not exist' ))
4251
4352 def get_query_set (self ):
4453 query_set = QuerySet (TriggerTask ).filter (workspace_id = self .data .get ("workspace_id" )).filter (
@@ -53,10 +62,19 @@ def list(self, with_valid=True):
5362
5463class TriggerTaskRecordOperateSerializer (serializers .Serializer ):
5564 trigger_id = serializers .CharField (required = True , label = _ ("Trigger ID" ))
56- workspace_id = serializers .CharField (required = True , label = _ ('workspace id' ))
65+ workspace_id = serializers .CharField (required = False , allow_null = True , allow_blank = True , label = _ ("Workspace ID" ))
5766 trigger_task_id = serializers .CharField (required = True , label = _ ("Trigger task ID" ))
5867 trigger_task_record_id = serializers .CharField (required = True , label = _ ("Trigger task record ID" ))
5968
69+ def is_valid (self , * , raise_exception = False ):
70+ super ().is_valid (raise_exception = True )
71+ workspace_id = self .data .get ('workspace_id' )
72+ query_set = QuerySet (Trigger ).filter (id = self .data .get ('trigger_id' ))
73+ if workspace_id :
74+ query_set = query_set .filter (workspace_id = workspace_id )
75+ if not query_set .exists ():
76+ raise AppApiException (500 , _ ('Trigger id does not exist' ))
77+
6078 def get_execution_details (self , is_valid = True ):
6179 if is_valid :
6280 self .is_valid (raise_exception = True )
@@ -75,11 +93,20 @@ def get_execution_details(self, is_valid=True):
7593
7694class TriggerTaskRecordQuerySerializer (serializers .Serializer ):
7795 trigger_id = serializers .CharField (required = True , label = _ ("Trigger ID" ))
78- workspace_id = serializers .CharField (required = True , label = _ ('workspace id' ))
96+ workspace_id = serializers .CharField (required = False , allow_null = True , allow_blank = True , label = _ ("Workspace ID" ))
7997 state = serializers .CharField (required = False , allow_blank = True , allow_null = True , label = _ ('Trigger state' ))
8098 name = serializers .CharField (required = False , allow_blank = True , allow_null = True , label = _ ('Trigger name' ))
8199 order = serializers .CharField (required = False , allow_null = True , allow_blank = True , label = _ ('Order field' ))
82100
101+ def is_valid (self , * , raise_exception = False ):
102+ super ().is_valid (raise_exception = True )
103+ workspace_id = self .data .get ('workspace_id' )
104+ query_set = QuerySet (Trigger ).filter (id = self .data .get ('trigger_id' ))
105+ if workspace_id :
106+ query_set = query_set .filter (workspace_id = workspace_id )
107+ if not query_set .exists ():
108+ raise AppApiException (500 , _ ('Trigger id does not exist' ))
109+
83110 def get_query_set (self ):
84111 trigger_query_set = QuerySet (
85112 model = get_dynamics_model ({
0 commit comments