import axiosInstance from './interceptor' import type { Ticket, TicketFilter, TicketListResponse, CreateTicketRequest, UpdateTicketRequest, AIAnalysisResponse, TicketNote, CreateNoteRequest } from '@/types' export function getTicketList(filter: TicketFilter) { return axiosInstance.get('/tickets', { params: filter }) as Promise } export function getTicketDetail(id: number) { return axiosInstance.get(`/tickets/${id}`) as Promise } export function createTicket(data: CreateTicketRequest) { return axiosInstance.post('/tickets', data) as Promise } export function updateTicket(id: number, data: UpdateTicketRequest) { return axiosInstance.put(`/tickets/${id}`, data) as Promise } export function updateTicketStatus(id: number, status: number) { return axiosInstance.put(`/tickets/${id}/status`, { status }) as Promise } export function analyzeTicket(ticketId: number) { return axiosInstance.post(`/tickets/${ticketId}/analyze`) as Promise } export function getAnalysis(ticketId: number) { return axiosInstance.get(`/tickets/${ticketId}/analysis`) as Promise } export function confirmAnalysis(ticketId: number, data: Partial) { return axiosInstance.put(`/tickets/${ticketId}/analysis`, data) as Promise } export function getTicketNotes(ticketId: number) { return axiosInstance.get(`/tickets/${ticketId}/notes`) as Promise } export function createNote(ticketId: number, data: CreateNoteRequest) { return axiosInstance.post(`/tickets/${ticketId}/notes`, data) as Promise } export function getTicketLogs(ticketId: number) { return axiosInstance.get(`/tickets/${ticketId}/logs`) as Promise }