help-desk/backend/helpdesk/views/ticket_views.py

19 lines
930 B
Python

from rest_framework import viewsets
from helpdesk.services.ticket_service import ticket_service
from helpdesk.serializers.ticket_list_serializers import TicketListSerializer
from rest_framework.permissions import IsAuthenticated
from drf_spectacular.utils import extend_schema, extend_schema_view
@extend_schema_view(
list=extend_schema(tags=['2. Application Service']),
create=extend_schema(tags=['2. Application Service']),
)
class TicketViewSet(viewsets.ReadOnlyModelViewSet):
"""View สำหรับดึงรายการ Ticket ทั้งหมด (Unified Inbox List)"""
serializer_class = TicketListSerializer
permission_classes = [IsAuthenticated] # กำหนดให้เฉพาะผู้ที่ล็อกอินแล้วเท่านั้น
# 1. Viewset เรียก Service Layer
def get_queryset(self):
return ticket_service.get_inbox_summary()