import { apiClient } from './client' import type { PSAResource, PSATicketCreated, PSATicketStatusUpdate, TicketCreationPayload, AiParseResponse, TicketListResponse, PSAPriority, } from '@/types/tickets' export const ticketsApi = { listResources: (ticketId: number): Promise => apiClient.get(`/integrations/psa/tickets/${ticketId}/resources`).then(r => r.data), addResource: (ticketId: number, memberId: number): Promise => apiClient.post(`/integrations/psa/tickets/${ticketId}/resources?member_id=${memberId}`).then(r => r.data), removeResource: (ticketId: number, memberId: number): Promise => apiClient.delete(`/integrations/psa/tickets/${ticketId}/resources/${memberId}`).then(() => undefined), updateStatus: (ticketId: number, statusId: number): Promise => apiClient.patch(`/integrations/psa/tickets/${ticketId}/status?status_id=${statusId}`).then(r => r.data), createTicket: (payload: TicketCreationPayload): Promise => apiClient.post('/integrations/psa/tickets', payload).then(r => r.data), aiParse: (prompt: string): Promise => apiClient.post('/integrations/psa/tickets/ai-parse', { prompt }).then(r => r.data), listPriorities: (): Promise => apiClient.get('/integrations/psa/priorities').then(r => r.data), searchTickets: (params: { query?: string board_id?: number | null status_id?: number | null status_name?: string | null include_closed?: boolean assigned_to_me?: boolean unassigned?: boolean board_ids?: string priority?: string | null company_id?: number | null page?: number page_size?: number }): Promise => apiClient.get('/integrations/psa/tickets/search', { params }).then(r => r.data), }