file attechment for ticket

This commit is contained in:
Parsa Nazer
2025-02-23 14:34:42 +03:30
parent f9daff02d5
commit 362777bf7c
5 changed files with 101 additions and 5 deletions
+25 -1
View File
@@ -2,9 +2,33 @@ from rest_framework import generics, permissions
from rest_framework.response import Response
from rest_framework.views import APIView
from .models import Ticket, Message
from .serializers import TicketListSerializer, MessageSerializer, TicketSerializer
from .serializers import TicketListSerializer, MessageSerializer, TicketSerializer, AttachmentSerializer
from utils.pagination import StructurePagination
from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes
from rest_framework.permissions import IsAuthenticated
from rest_framework.parsers import MultiPartParser, FormParser
from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiExample, OpenApiTypes, OpenApiResponse
from rest_framework import status
class AttachmentUploadView(APIView):
permission_classes = [IsAuthenticated]
parser_classes = [MultiPartParser, FormParser]
@extend_schema(
request=AttachmentSerializer,
responses={201: AttachmentSerializer},
description="upload an attachment (file).",
)
def post(self, request, *args, **kwargs):
serializer = AttachmentSerializer(data=request.data, context={'request': request})
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
class TicketCreateView(generics.CreateAPIView):
queryset = Ticket.objects.all()