from django_core.mixins import BaseViewSetMixin from drf_spectacular.utils import extend_schema from rest_framework.permissions import AllowAny from rest_framework.viewsets import ReadOnlyModelViewSet, ModelViewSet from rest_framework.parsers import FormParser, MultiPartParser from core.apps.evaluation.models import DocumentModel, ValuationDocumentModel from core.apps.evaluation.serializers.document import ( CreateDocumentSerializer, CreateValuationdocumentSerializer, ListDocumentSerializer, ListValuationdocumentSerializer, RetrieveDocumentSerializer, RetrieveValuationdocumentSerializer, ) @extend_schema(tags=["ValuationDocument"]) class ValuationDocumentView(BaseViewSetMixin, ReadOnlyModelViewSet): queryset = ValuationDocumentModel.objects.all() serializer_class = ListValuationdocumentSerializer permission_classes = [AllowAny] action_permission_classes = {} action_serializer_class = { "list": ListValuationdocumentSerializer, "retrieve": RetrieveValuationdocumentSerializer, "create": CreateValuationdocumentSerializer, } @extend_schema(tags=["Document"]) class DocumentView(BaseViewSetMixin, ModelViewSet): queryset = DocumentModel.objects.all() serializer_class = ListDocumentSerializer permission_classes = [AllowAny] parser_classes = [FormParser, MultiPartParser] action_permission_classes = {} action_serializer_class = { "list": ListDocumentSerializer, "retrieve": RetrieveDocumentSerializer, "create": CreateDocumentSerializer, }