@@ -43,6 +43,7 @@ def is_valid(self, *, model=None, raise_exception=False):
4343 raise AppApiException (500 , _ ('The following id does not exist: {error_id_list}' ).format (
4444 error_id_list = error_id_list ))
4545
46+
4647class InputField (serializers .Serializer ):
4748 source = serializers .CharField (required = True , label = _ ("source" ), validators = [
4849 validators .RegexValidator (regex = re .compile ("^custom|reference$" ),
@@ -121,6 +122,7 @@ def validate(self, attrs):
121122
122123 return attrs
123124
125+
124126class TriggerTaskEditRequest (serializers .Serializer ):
125127 source_type = serializers .ChoiceField (required = False , choices = TriggerTaskTypeChoices )
126128 source_id = serializers .CharField (required = False , label = _ ('source_id' ))
@@ -142,6 +144,7 @@ def validate(self, attrs):
142144
143145 return attrs
144146
147+
145148class TriggerEditRequest (serializers .Serializer ):
146149 name = serializers .CharField (required = False , label = _ ('trigger name' ))
147150 desc = serializers .CharField (required = False , allow_null = True , allow_blank = True , label = _ ('trigger description' ))
@@ -392,9 +395,11 @@ def batch_switch(self, instance: Dict, with_valid=True):
392395 workspace_id = self .data .get ("workspace_id" )
393396 trigger_id_list = instance .get ("id_list" )
394397 is_active = instance .get ("is_active" )
395- Trigger .objects .filter (workspace_id = workspace_id , id__in = trigger_id_list , is_active = not is_active ).update (is_active = is_active )
398+ Trigger .objects .filter (workspace_id = workspace_id , id__in = trigger_id_list , is_active = not is_active ).update (
399+ is_active = is_active )
396400 return True
397401
402+
398403class TriggerOperateSerializer (serializers .Serializer ):
399404 trigger_id = serializers .UUIDField (required = True , label = _ ('trigger id' ))
400405 user_id = serializers .UUIDField (required = True , label = _ ("User ID" ))
@@ -426,9 +431,9 @@ def edit(self, instance: Dict, with_valid=True):
426431 trigger .__setattr__ (field , instance .get (field ))
427432 trigger .save ()
428433 # 处理trigger task
429- TriggerTask .objects .filter (trigger_id = trigger_id ).delete ()
430434 trigger_tasks = instance .get ('trigger_task' )
431435 if trigger_tasks :
436+ TriggerTask .objects .filter (trigger_id = trigger_id ).delete ()
432437 trigger_task_model_list = [TriggerTask (
433438 id = uuid .uuid7 (),
434439 trigger_id = trigger_id ,
@@ -453,18 +458,20 @@ def one(self, with_valid=True):
453458 if with_valid :
454459 self .is_valid ()
455460 trigger_id = self .data .get ('trigger_id' )
456- trigger = QuerySet (Trigger ).filter (id = trigger_id ).first ()
461+ workspace_id = self .data .get ('workspace_id' )
462+ trigger = QuerySet (Trigger ).filter (workspace_id = workspace_id , id = trigger_id ).first ()
457463
458464 trigger_tasks = QuerySet (TriggerTask ).filter (trigger_id = trigger_id )
459465 application_ids = [str (task .source_id ) for task in trigger_tasks if
460466 task .source_type == TriggerTaskTypeChoices .APPLICATION ]
461467 tool_ids = [str (task .source_id ) for task in trigger_tasks if task .source_type == TriggerTaskTypeChoices .TOOL ]
462468
463- trigger_task_list = [TriggerTaskModelSerializer (task ).data for task in trigger_tasks ]
469+ trigger_task_list = [TriggerTaskModelSerializer (task ).data for task in trigger_tasks ]
464470 application_task_list = [ApplicationTriggerTaskSerializer (application ).data for application in
465- QuerySet (Application ).filter (id__in = application_ids )]
471+ QuerySet (Application ).filter (workspace_id = workspace_id , id__in = application_ids )]
466472
467- tool_task_list = [ToolTriggerTaskSerializer (tool ).data for tool in QuerySet (Tool ).filter (id__in = tool_ids )]
473+ tool_task_list = [ToolTriggerTaskSerializer (tool ).data for tool in
474+ QuerySet (Tool ).filter (workspace_id = workspace_id , id__in = tool_ids )]
468475
469476 return {
470477 ** TriggerModelSerializer (trigger ).data ,
@@ -477,7 +484,7 @@ def one(self, with_valid=True):
477484class TriggerQuerySerializer (serializers .Serializer ):
478485 name = serializers .CharField (required = False , allow_null = True , allow_blank = True , label = _ ('Trigger name' ))
479486 type = serializers .CharField (required = False , allow_blank = True , allow_null = True , label = _ ('Trigger type' ))
480- is_active = serializers .BooleanField (required = False ,allow_null = True , label = _ ('Is active' ))
487+ is_active = serializers .BooleanField (required = False , allow_null = True , label = _ ('Is active' ))
481488 task = serializers .CharField (required = False , allow_blank = True , allow_null = True , label = _ ('Trigger task' ))
482489 create_user = serializers .CharField (required = False , allow_blank = True , allow_null = True , label = _ ('Create user' ))
483490 workspace_id = serializers .CharField (required = True , label = _ ('workspace id' ))
@@ -488,34 +495,35 @@ def get_query_set(self):
488495 'name' : models .CharField (),
489496 'trigger_type' : models .CharField (),
490497 't.workspace_id' : models .CharField (),
491- 'is_active' : models .BooleanField (),
492- 'task_str' : models .CharField (),
493- 'create_user' : models .CharField (),
498+ 't.is_active' : models .BooleanField (),
499+ 't.user_id' : models .CharField (),
494500 }))
495- trigger_query_set = trigger_query_set .filter (** {'t.workspace_id' :self .data .get ("workspace_id" )})
496- user_query_set = QuerySet (model = get_dynamics_model ({'nick_name' : models .CharField ()}))
501+ task_query_set = QuerySet (model = get_dynamics_model ({
502+ 'trigger_task_str' : models .CharField (),
503+ }))
504+ trigger_query_set = trigger_query_set .filter (** {'t.workspace_id' : self .data .get ("workspace_id" )})
497505 if self .data .get ("name" ):
498506 trigger_query_set = trigger_query_set .filter (name__contains = self .data .get ("name" ))
499507 if self .data .get ("type" ):
500508 trigger_query_set = trigger_query_set .filter (trigger_type = self .data .get ("type" ))
501509 if self .data .get ("is_active" ) is not None :
502- trigger_query_set = trigger_query_set .filter (is_active = self .data .get ("is_active" ))
510+ trigger_query_set = trigger_query_set .filter (** { "t. is_active" : self .data .get ("is_active" )} )
503511 if self .data .get ("task" ):
504- trigger_query_set = trigger_query_set .filter (task_str__icontains = self .data .get ("task" ))
512+ task_query_set = task_query_set .filter (trigger_task_str__icontains = self .data .get ("task" ))
505513 if self .data .get ("create_user" ):
506- user_query_set = user_query_set .filter (create_user__icontains = self .data .get ("create_user" ))
514+ trigger_query_set = trigger_query_set .filter (** { "t.user_id" : self .data .get ("create_user" )} )
507515
508- return {"trigger_query_set" : trigger_query_set , "user_query_set " : user_query_set }
516+ return {"trigger_query_set" : trigger_query_set , "task_query_set " : task_query_set }
509517
510518 def page (self , current_page : int , page_size : int , with_valid = True ):
511519 if with_valid :
512520 self .is_valid (raise_exception = True )
513- return native_page_search (current_page , page_size , self .get_query_set (),get_file_content (
514- os .path .join (PROJECT_DIR , "apps" ,"trigger" ,"sql" ,"get_trigger_page_list.sql" )
521+ return native_page_search (current_page , page_size , self .get_query_set (), get_file_content (
522+ os .path .join (PROJECT_DIR , "apps" , "trigger" , "sql" , "get_trigger_page_list.sql" )
515523 ))
516524
517525 def list (self , with_valid = True ):
518526 if with_valid :
519527 self .is_valid (raise_exception = True )
520- return native_search (self .get_query_set (),select_string = get_file_content (
521- os .path .join (PROJECT_DIR , "apps" ,"trigger" ,"sql" ,"get_trigger_page_list.sql" )))
528+ return native_search (self .get_query_set (), select_string = get_file_content (
529+ os .path .join (PROJECT_DIR , "apps" , "trigger" , "sql" , "get_trigger_page_list.sql" )))
0 commit comments