feat: update module and tool delete APIs to use DefaultResultSerializer for responses

This commit is contained in:
CaptainB 2025-04-18 19:10:45 +08:00
parent 7c15082e53
commit 2c0cb5b6e6
4 changed files with 12 additions and 8 deletions

View File

@ -3,7 +3,7 @@ from drf_spectacular.types import OpenApiTypes
from drf_spectacular.utils import OpenApiParameter from drf_spectacular.utils import OpenApiParameter
from common.mixins.api_mixin import APIMixin from common.mixins.api_mixin import APIMixin
from common.result import ResultSerializer from common.result import ResultSerializer, DefaultResultSerializer
from modules.models.module import ModuleCreateRequest, ModuleEditRequest from modules.models.module import ModuleCreateRequest, ModuleEditRequest
from modules.serializers.module import ModuleSerializer from modules.serializers.module import ModuleSerializer
@ -84,7 +84,9 @@ class ModuleEditAPI(ModuleReadAPI):
class ModuleDeleteAPI(ModuleReadAPI): class ModuleDeleteAPI(ModuleReadAPI):
pass @staticmethod
def get_response():
return DefaultResultSerializer
class ModuleTreeReadAPI(APIMixin): class ModuleTreeReadAPI(APIMixin):

View File

@ -6,7 +6,7 @@ from rest_framework.views import APIView
from common.auth import TokenAuth from common.auth import TokenAuth
from common.auth.authentication import has_permissions from common.auth.authentication import has_permissions
from common.constants.permission_constants import Permission, Group, Operate from common.constants.permission_constants import Permission, Group, Operate
from common.result import result, DefaultResultSerializer from common.result import result
from modules.api.module import ModuleCreateAPI, ModuleEditAPI, ModuleReadAPI, ModuleTreeReadAPI, ModuleDeleteAPI from modules.api.module import ModuleCreateAPI, ModuleEditAPI, ModuleReadAPI, ModuleTreeReadAPI, ModuleDeleteAPI
from modules.serializers.module import ModuleSerializer, ModuleTreeSerializer from modules.serializers.module import ModuleSerializer, ModuleTreeSerializer
@ -65,7 +65,7 @@ class ModuleView(APIView):
description=_('Delete module'), description=_('Delete module'),
operation_id=_('Delete module'), operation_id=_('Delete module'),
parameters=ModuleDeleteAPI.get_parameters(), parameters=ModuleDeleteAPI.get_parameters(),
responses=DefaultResultSerializer, responses=ModuleDeleteAPI.get_response(),
tags=[_('Module')]) tags=[_('Module')])
@has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.DELETE, @has_permissions(lambda r, kwargs: Permission(group=Group(kwargs.get('source')), operate=Operate.DELETE,
resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}")) resource_path=f"/WORKSPACE/{kwargs.get('workspace_id')}"))

View File

@ -3,7 +3,7 @@ from drf_spectacular.types import OpenApiTypes
from drf_spectacular.utils import OpenApiParameter from drf_spectacular.utils import OpenApiParameter
from common.mixins.api_mixin import APIMixin from common.mixins.api_mixin import APIMixin
from common.result import ResultSerializer from common.result import ResultSerializer, DefaultResultSerializer
from tools.serializers.tool import ToolModelSerializer, ToolCreateRequest from tools.serializers.tool import ToolModelSerializer, ToolCreateRequest
@ -67,7 +67,9 @@ class ToolEditAPI(ToolReadAPI):
class ToolDeleteAPI(ToolReadAPI): class ToolDeleteAPI(ToolReadAPI):
pass @staticmethod
def get_response():
return DefaultResultSerializer
class ToolTreeReadAPI(APIMixin): class ToolTreeReadAPI(APIMixin):

View File

@ -6,7 +6,7 @@ from rest_framework.views import APIView
from common.auth import TokenAuth from common.auth import TokenAuth
from common.auth.authentication import has_permissions from common.auth.authentication import has_permissions
from common.constants.permission_constants import PermissionConstants from common.constants.permission_constants import PermissionConstants
from common.result import result, DefaultResultSerializer from common.result import result
from tools.api.tool import ToolCreateAPI, ToolEditAPI, ToolReadAPI, ToolDeleteAPI, ToolTreeReadAPI from tools.api.tool import ToolCreateAPI, ToolEditAPI, ToolReadAPI, ToolDeleteAPI, ToolTreeReadAPI
from tools.serializers.tool import ToolSerializer, ToolTreeSerializer from tools.serializers.tool import ToolSerializer, ToolTreeSerializer
@ -60,7 +60,7 @@ class ToolView(APIView):
description=_('Delete tool'), description=_('Delete tool'),
operation_id=_('Delete tool'), operation_id=_('Delete tool'),
parameters=ToolDeleteAPI.get_parameters(), parameters=ToolDeleteAPI.get_parameters(),
responses=DefaultResultSerializer, responses=ToolDeleteAPI.get_response(),
tags=[_('Tool')]) tags=[_('Tool')])
@has_permissions(PermissionConstants.TOOL_DELETE.get_workspace_permission()) @has_permissions(PermissionConstants.TOOL_DELETE.get_workspace_permission())
def delete(self, request: Request, workspace_id: str, tool_id: str): def delete(self, request: Request, workspace_id: str, tool_id: str):