From b596b691ec0b3e0689c53f09e0437eaa5efef140 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Fri, 16 Aug 2024 11:19:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=87=BD=E6=95=B0=E5=BA=93=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=8E=A5=E5=8F=A3=20(#987)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/function_lib/serializers/function_lib_serializer.py | 6 ++++++ apps/function_lib/views/function_lib_views.py | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/apps/function_lib/serializers/function_lib_serializer.py b/apps/function_lib/serializers/function_lib_serializer.py index 1000c2fa9..4e8566cf6 100644 --- a/apps/function_lib/serializers/function_lib_serializer.py +++ b/apps/function_lib/serializers/function_lib_serializer.py @@ -174,6 +174,12 @@ class FunctionLibSerializer(serializers.Serializer): if not QuerySet(FunctionLib).filter(id=self.data.get('id'), user_id=self.data.get('user_id')).exists(): raise AppApiException(500, '函数不存在') + def delete(self, with_valid=True): + if with_valid: + self.is_valid(raise_exception=True) + QuerySet(FunctionLib).filter(id=self.data.get('id')).delete() + return True + def edit(self, instance, with_valid=True): if with_valid: self.is_valid(raise_exception=True) diff --git a/apps/function_lib/views/function_lib_views.py b/apps/function_lib/views/function_lib_views.py index a3c87fb87..2eebe894a 100644 --- a/apps/function_lib/views/function_lib_views.py +++ b/apps/function_lib/views/function_lib_views.py @@ -71,6 +71,15 @@ class FunctionLibView(APIView): FunctionLibSerializer.Operate(data={'user_id': request.user.id, 'id': function_lib_id}).edit( request.data)) + @action(methods=['DELETE'], detail=False) + @swagger_auto_schema(operation_summary="删除函数", + operation_id="删除函数", + tags=['函数库']) + @has_permissions(RoleConstants.ADMIN, RoleConstants.USER) + def delete(self, request: Request, function_lib_id: str): + return result.success( + FunctionLibSerializer.Operate(data={'user_id': request.user.id, 'id': function_lib_id}).delete()) + class Page(APIView): authentication_classes = [TokenAuth]