import logging
from rest_framework.views import APIView
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework import status
from django.shortcuts import get_object_or_404

from apps.support.models import SupportTicket
from apps.support.serializers import SupportTicketDetailSerializer


logger = logging.getLogger(__name__)


class SupportTicketDetailView(APIView):
    """
    Retrieve a single support ticket with full detail.
    """
    permission_classes = [IsAuthenticated]

    def get(self, request, ticket_id):
        print(self.request.data)
        ticket = get_object_or_404(
            SupportTicket.objects.prefetch_related("images"),
            id=ticket_id,
            user=request.user,
        )

        serializer = SupportTicketDetailSerializer(ticket)
        return Response(serializer.data, status=status.HTTP_200_OK)
