3737from common import result
3838from common .cache_data .application_access_token_cache import del_application_access_token
3939from common .database_model_manage .database_model_manage import DatabaseModelManage
40- from common .db .search import native_search , native_page_search
40+ from common .db .search import native_search , native_page_search , page_search
4141from common .exception .app_exception import AppApiException
4242from common .field .common import UploadedFileField
4343from common .utils .common import get_file_content , restricted_loads , generate_uuid , _remove_empty_lines , \
5959from users .serializers .user import is_workspace_manage
6060
6161
62-
6362class TriggerTaskCreateRequest (serializers .Serializer ):
6463 pass
6564
65+
6666class TriggerCreateRequest (serializers .Serializer ):
6767 name = serializers .CharField (required = True , label = _ ('trigger name' ))
6868 desc = serializers .CharField (required = False , allow_null = True , allow_blank = True , label = _ ('trigger description' ))
@@ -73,12 +73,12 @@ class TriggerCreateRequest(serializers.Serializer):
7373 trigger_task = serializers
7474
7575
76-
7776class TriggerResponse (serializers .ModelSerializer ):
7877 class Meta :
7978 model = Trigger
8079 fields = "__all__"
8180
81+
8282class TriggerSerializer (serializers .Serializer ):
8383 workspace_id = serializers .CharField (required = True , label = _ ('workspace id' ))
8484 user_id = serializers .UUIDField (required = True , label = _ ("User ID" ))
@@ -102,24 +102,43 @@ def insert(self, instance, with_valid=True):
102102 )
103103 trigger_model .save ()
104104
105-
106-
107105 return TriggerResponse (trigger_model ).data
108106
107+
109108class TriggerOperateSerializer (serializers .Serializer ):
110- trigger_id = serializers .UUIDField (required = True , label = _ ('trigger id' ))
111- user_id = serializers .UUIDField (required = True , label = _ ("User ID" ))
112- workspace_id = serializers .CharField (required = True , label = _ ('workspace id' ))
109+ trigger_id = serializers .UUIDField (required = True , label = _ ('trigger id' ))
110+ user_id = serializers .UUIDField (required = True , label = _ ("User ID" ))
111+ workspace_id = serializers .CharField (required = True , label = _ ('workspace id' ))
113112
114- def is_valid (self , * , raise_exception = False ):
115- super ().is_valid (raise_exception = True )
116- workspace_id = self .data .get ('workspace_id' )
117- query_set = QuerySet (Trigger ).filter (id = self .data .get ('trigger_id' ))
118- if workspace_id :
119- query_set = query_set .filter (workspace_id = workspace_id )
120- if not query_set .exists ():
121- raise AppApiException (500 , _ ('Trigger id does not exist' ))
113+ def is_valid (self , * , raise_exception = False ):
114+ super ().is_valid (raise_exception = True )
115+ workspace_id = self .data .get ('workspace_id' )
116+ query_set = QuerySet (Trigger ).filter (id = self .data .get ('trigger_id' ))
117+ if workspace_id :
118+ query_set = query_set .filter (workspace_id = workspace_id )
119+ if not query_set .exists ():
120+ raise AppApiException (500 , _ ('Trigger id does not exist' ))
122121
123122
123+ class TriggerQuerySerializer (serializers .Serializer ):
124+ name = serializers .CharField (required = False , allow_null = True , allow_blank = True , label = _ ('Trigger name' ))
125+ type = serializers .CharField (required = False , allow_blank = True , allow_null = True , label = _ ('Trigger type' ))
126+ workspace_id = serializers .CharField (required = True , label = _ ('workspace id' ))
124127
128+ def get_query_set (self ):
129+ query_set = QuerySet (Trigger ).filter (workspace_id = self .data .get ("workspace_id" ))
130+ if self .data .get ("name" ):
131+ query_set = query_set .filter (name__contains = self .data .get ('name' ))
132+ if self .data .get ('type' ):
133+ query_set = query_set .filter (trigger_type = self .data .get ('type' ))
134+ return query_set
125135
136+ def page (self , current_page : int , page_size : int , with_valid = True ):
137+ if with_valid :
138+ self .is_valid (raise_exception = True )
139+ return page_search (current_page , page_size , self .get_query_set (), lambda row : TriggerResponse (data = row ).data )
140+
141+ def list (self , with_valid = True ):
142+ if with_valid :
143+ self .is_valid (raise_exception = True )
144+ return [TriggerResponse (data = row ).data for row in self .get_query_set ()]
0 commit comments