From 134747cfdc6dbe0224a49705e0ab1785409bd4e7 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Thu, 29 Feb 2024 16:40:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E3=80=90=E6=9D=83=E9=99=90=E3=80=91?= =?UTF-8?q?=E6=9C=89=E7=9F=A5=E8=AF=86=E5=BA=93=E7=9A=84=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=9D=83=E9=99=90=EF=BC=8C=E4=BD=86=E6=98=AF=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E7=9F=A5=E8=AF=86=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dataset/views/dataset.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/dataset/views/dataset.py b/apps/dataset/views/dataset.py index b6e63948b..96106ff86 100644 --- a/apps/dataset/views/dataset.py +++ b/apps/dataset/views/dataset.py @@ -13,7 +13,8 @@ from rest_framework.views import APIView from rest_framework.views import Request from common.auth import TokenAuth, has_permissions -from common.constants.permission_constants import PermissionConstants, CompareConstants, Permission, Group, Operate +from common.constants.permission_constants import PermissionConstants, CompareConstants, Permission, Group, Operate, \ + ViewPermission, RoleConstants from common.response import result from common.response.result import get_page_request_params, get_page_api_response, get_api_response from common.swagger_api.common_api import CommonApi @@ -32,10 +33,12 @@ class Dataset(APIView): manual_parameters=DataSetSerializers.SyncWeb.get_request_params_api(), responses=result.get_default_response(), tags=["知识库"]) - @has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE, - dynamic_tag=keywords.get('dataset_id')), - lambda r, k: Permission(group=Group.DATASET, operate=Operate.DELETE, - dynamic_tag=k.get('dataset_id')), compare=CompareConstants.AND) + @has_permissions(ViewPermission( + [RoleConstants.ADMIN, RoleConstants.USER], + [lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE, + dynamic_tag=keywords.get('dataset_id'))], + compare=CompareConstants.AND), PermissionConstants.DATASET_EDIT, + compare=CompareConstants.AND) def put(self, request: Request, dataset_id: str): return result.success(DataSetSerializers.SyncWeb( data={'sync_type': request.query_params.get('sync_type'), 'id': dataset_id,