diff --git a/apps/application/views/application_access_token.py b/apps/application/views/application_access_token.py index ebf7da12e9f..f178447c9bd 100644 --- a/apps/application/views/application_access_token.py +++ b/apps/application/views/application_access_token.py @@ -1,11 +1,12 @@ # coding=utf-8 """ - @project: MaxKB - @Author:虎虎 - @file: application_token.py - @date:2025/6/9 17:42 - @desc: +@project: MaxKB +@Author:虎虎 +@file: application_token.py +@date:2025/6/9 17:42 +@desc: """ + from django.db.models import QuerySet from django.utils.translation import gettext_lazy as _ from drf_spectacular.utils import extend_schema @@ -24,12 +25,11 @@ from common.auth.struct.aggregate_permission import ViewPermission from common.log.log import log + def get_application_operation_object(application_id): application_model = QuerySet(model=Application).filter(id=application_id).first() if application_model is not None: - return { - "name": application_model.name - } + return {"name": application_model.name} return {} @@ -37,43 +37,55 @@ class AccessToken(APIView): authentication_classes = [TokenAuth] @extend_schema( - methods=['PUT'], + methods=["PUT"], description=_("Modify application access restriction information"), summary=_("Modify application access restriction information"), operation_id=_("Modify application access restriction information"), # type: ignore parameters=ApplicationAccessTokenAPI.get_parameters(), request=ApplicationAccessTokenAPI.get_request(), - tags=[_('Application')] # type: ignore + tags=[_("Application")], # type: ignore + ) + @log( + menu="Application", + operate="Modify application access token", + get_operation_object=lambda r, k: get_application_operation_object((k.get("application_id"))), + ) + @has_permissions( + PermissionConstants.APPLICATION_OVERVIEW_PUBLIC.get_workspace_application_permission(), + PermissionConstants.APPLICATION_OVERVIEW_PUBLIC.get_workspace_permission_workspace_manage_role(), + ViewPermission( + [RoleConstants.USER.get_workspace_role()], + [PermissionConstants.APPLICATION.get_workspace_application_permission()], + compare=CompareConstants.AND, + ), + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ) - @log(menu='Application', operate="Modify application access token", - get_operation_object= lambda r,k: get_application_operation_object((k.get('application_id'))) - ) - @has_permissions(PermissionConstants.APPLICATION_OVERVIEW_ACCESS.get_workspace_application_permission(), - PermissionConstants.APPLICATION_OVERVIEW_ACCESS.get_workspace_permission_workspace_manage_role(), - ViewPermission([RoleConstants.USER.get_workspace_role()], - [PermissionConstants.APPLICATION.get_workspace_application_permission()], - compare=CompareConstants.AND), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role()) def put(self, request: Request, workspace_id: str, application_id: str): return result.success( - AccessTokenSerializer(data={'workspace_id': workspace_id, 'application_id': application_id}).edit( - request.data)) + AccessTokenSerializer(data={"workspace_id": workspace_id, "application_id": application_id}).edit( + request.data + ) + ) @extend_schema( - methods=['GET'], + methods=["GET"], description=_("Get application access restriction information"), summary=_("Get application access restriction information"), operation_id=_("Get application access restriction information"), # type: ignore parameters=ApplicationAccessTokenAPI.get_parameters(), - tags=[_('Application')] # type: ignore + tags=[_("Application")], # type: ignore + ) + @has_permissions( + PermissionConstants.APPLICATION_READ.get_workspace_application_permission(), + PermissionConstants.APPLICATION_READ.get_workspace_permission_workspace_manage_role(), + ViewPermission( + [RoleConstants.USER.get_workspace_role()], + [PermissionConstants.APPLICATION.get_workspace_application_permission()], + compare=CompareConstants.AND, + ), + RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), ) - @has_permissions(PermissionConstants.APPLICATION_READ.get_workspace_application_permission(), - PermissionConstants.APPLICATION_READ.get_workspace_permission_workspace_manage_role(), - ViewPermission([RoleConstants.USER.get_workspace_role()], - [PermissionConstants.APPLICATION.get_workspace_application_permission()], - compare=CompareConstants.AND), - RoleConstants.WORKSPACE_MANAGE.get_workspace_role() - ) def get(self, request: Request, workspace_id: str, application_id: str): return result.success( - AccessTokenSerializer(data={'workspace_id': workspace_id, 'application_id': application_id}).one()) + AccessTokenSerializer(data={"workspace_id": workspace_id, "application_id": application_id}).one() + )