# apps/support/urls.py """ URL configuration for the Support domain. DRF (sync) routes mounted at /api/v1/support/ via backend/urls.py. Async Ninja routes are registered in backend/ninja_api.py. """ from django.urls import path from apps.support.apis.sync import ( SupportTicketListCreateView, SupportTicketDetailView, TicketMessageView, TicketStatusUpdateView, TicketEscalateView, ) from apps.support.apis.sync.support_views import AdminTicketQueueView app_name = "support" urlpatterns = [ # ── Client Ticket Endpoints ─────────────────────────────────────────────── # GET /api/v1/support/tickets/ — list user tickets # POST /api/v1/support/tickets/ — open new ticket path("tickets/", SupportTicketListCreateView.as_view(), name="ticket-list-create"), # GET /api/v1/support/tickets// — ticket detail + thread path("tickets//", SupportTicketDetailView.as_view(), name="ticket-detail"), # POST /api/v1/support/tickets//messages/ — add thread reply path("tickets//messages/", TicketMessageView.as_view(), name="ticket-messages"), # ── Staff Endpoints (IsAdminUser guard) ─────────────────────────────────── # PATCH /api/v1/support/tickets//status/ — update status path("tickets//status/", TicketStatusUpdateView.as_view(), name="ticket-status"), # POST /api/v1/support/tickets//escalate/ — escalate ticket path("tickets//escalate/", TicketEscalateView.as_view(), name="ticket-escalate"), # GET /api/v1/support/admin/queue/ — staff ticket queue (all users) path("admin/queue/", AdminTicketQueueView.as_view(), name="admin-queue"), ]