diff --git a/frontend/services/task-documents.ts b/frontend/services/task-documents.ts index 87dd5ae..2afc99c 100644 --- a/frontend/services/task-documents.ts +++ b/frontend/services/task-documents.ts @@ -28,6 +28,26 @@ export function useTaskDocumentService() { }) } + async function uploadForTicket(clientTicketId: number, file: File): Promise { + const formData = new FormData() + formData.append('file', file) + formData.append('clientTicket', `/api/client_tickets/${clientTicketId}`) + + return await $fetch(`${baseURL}/task_documents`, { + method: 'POST', + body: formData, + credentials: 'include', + // Do NOT set Content-Type — browser sets multipart boundary automatically + }) + } + + async function getByTicket(clientTicketId: number): Promise { + const data = await api.get>('/task_documents', { + clientTicket: `/api/client_tickets/${clientTicketId}`, + }) + return extractHydraMembers(data) + } + async function remove(id: number): Promise { await api.delete(`/task_documents/${id}`, {}, { toastSuccessKey: 'taskDocuments.deleted', @@ -38,5 +58,5 @@ export function useTaskDocumentService() { return `${baseURL}/task_documents/${id}/download` } - return { getByTask, upload, remove, getDownloadUrl } + return { getByTask, upload, uploadForTicket, getByTicket, remove, getDownloadUrl } }