@@ -288,6 +288,15 @@ class Operate(serializers.Serializer):
288288 id = serializers .UUIDField (required = True , label = _ ('tool id' ))
289289 workspace_id = serializers .CharField (required = True , label = _ ('workspace id' ))
290290
291+ def is_valid (self , * , raise_exception = False ):
292+ super ().is_valid (raise_exception = True )
293+ workspace_id = self .data .get ('workspace_id' )
294+ query_set = QuerySet (Tool ).filter (id = self .data .get ('id' ))
295+ if workspace_id :
296+ query_set = query_set .filter (workspace_id = workspace_id )
297+ if not query_set .exists ():
298+ raise AppApiException (500 , _ ('Tool id does not exist' ))
299+
291300 def edit (self , instance , with_valid = True ):
292301 if with_valid :
293302 self .is_valid (raise_exception = True )
@@ -425,6 +434,15 @@ class IconOperate(serializers.Serializer):
425434 user_id = serializers .UUIDField (required = True , label = _ ("User ID" ))
426435 image = UploadedImageField (required = True , label = _ ("picture" ))
427436
437+ def is_valid (self , * , raise_exception = False ):
438+ super ().is_valid (raise_exception = True )
439+ workspace_id = self .data .get ('workspace_id' )
440+ query_set = QuerySet (Tool ).filter (id = self .data .get ('id' ))
441+ if workspace_id :
442+ query_set = query_set .filter (workspace_id = workspace_id )
443+ if not query_set .exists ():
444+ raise AppApiException (500 , _ ('Tool id does not exist' ))
445+
428446 def edit (self , with_valid = True ):
429447 if with_valid :
430448 self .is_valid (raise_exception = True )
@@ -480,6 +498,15 @@ class AddInternalTool(serializers.Serializer):
480498 workspace_id = serializers .CharField (required = True , label = _ ("workspace id" ))
481499 tool_id = serializers .UUIDField (required = True , label = _ ("tool id" ))
482500
501+ def is_valid (self , * , raise_exception = False ):
502+ super ().is_valid (raise_exception = True )
503+ workspace_id = self .data .get ('workspace_id' )
504+ query_set = QuerySet (Tool ).filter (id = self .data .get ('tool_id' ))
505+ if workspace_id :
506+ query_set = query_set .filter (workspace_id = workspace_id )
507+ if not query_set .exists ():
508+ raise AppApiException (500 , _ ('Tool id does not exist' ))
509+
483510 def add (self , instance , with_valid = True ):
484511 if with_valid :
485512 self .is_valid (raise_exception = True )
0 commit comments