from drf_spectacular.types import OpenApiTypes from drf_spectacular.utils import OpenApiParameter from common.mixins.api_mixin import APIMixin from common.result import DefaultResultSerializer from knowledge.serializers.common import BatchSerializer from knowledge.serializers.tag import TagCreateSerializer, TagEditSerializer class TagCreateAPI(APIMixin): @staticmethod def get_parameters(): return [ OpenApiParameter( name="workspace_id", description="工作空间id", type=OpenApiTypes.STR, location='path', required=True, ), OpenApiParameter( name="knowledge_id", description="知识库id", type=OpenApiTypes.STR, location='path', required=True, ), ] @staticmethod def get_request(): return TagCreateSerializer @staticmethod def get_response(): return DefaultResultSerializer class TagDeleteAPI(APIMixin): @staticmethod def get_parameters(): return [ OpenApiParameter( name="workspace_id", description="工作空间id", type=OpenApiTypes.STR, location='path', required=True, ), OpenApiParameter( name="knowledge_id", description="知识库id", type=OpenApiTypes.STR, location='path', required=True, ), OpenApiParameter( name="tag_id", description="标签id", type=OpenApiTypes.STR, location='path', required=True, ), ] @staticmethod def get_request(): return None @staticmethod def get_response(): return DefaultResultSerializer class DocsTagDeleteAPI(APIMixin): @staticmethod def get_parameters(): return [ OpenApiParameter( name="workspace_id", description="工作空间id", type=OpenApiTypes.STR, location='path', required=True, ), OpenApiParameter( name="knowledge_id", description="知识库id", type=OpenApiTypes.STR, location='path', required=True, ), OpenApiParameter( name="tag_id", description="标签id", type=OpenApiTypes.STR, location='path', required=True, ), ] @staticmethod def get_request(): return BatchSerializer @staticmethod def get_response(): return DefaultResultSerializer class TagEditAPI(APIMixin): @staticmethod def get_parameters(): return [ OpenApiParameter( name="workspace_id", description="工作空间id", type=OpenApiTypes.STR, location='path', required=True, ), OpenApiParameter( name="knowledge_id", description="知识库id", type=OpenApiTypes.STR, location='path', required=True, ), OpenApiParameter( name="tag_id", description="标签id", type=OpenApiTypes.STR, location='path', required=True, ), ] @staticmethod def get_request(): return TagEditSerializer @staticmethod def get_response(): return DefaultResultSerializer