diff --git a/web/src/services/reimbursements.js b/web/src/services/reimbursements.js index c293d9e..daf4de3 100644 --- a/web/src/services/reimbursements.js +++ b/web/src/services/reimbursements.js @@ -8,6 +8,46 @@ export function fetchExpenseClaimDetail(claimId) { return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}`) } +export function createExpenseClaimItem(claimId, payload = {}) { + return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/items`, { + method: 'POST', + body: JSON.stringify(payload) + }) +} + +export function deleteExpenseClaimItem(claimId, itemId) { + return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/items/${encodeURIComponent(String(itemId || '').trim())}`, { + method: 'DELETE' + }) +} + +export function uploadExpenseClaimItemAttachment(claimId, itemId, file) { + const formData = new FormData() + formData.append('file', file) + + return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/items/${encodeURIComponent(String(itemId || '').trim())}/attachment`, { + method: 'POST', + body: formData, + contentType: null + }) +} + +export function fetchExpenseClaimItemAttachmentMeta(claimId, itemId) { + return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/items/${encodeURIComponent(String(itemId || '').trim())}/attachment/meta`) +} + +export function fetchExpenseClaimItemAttachment(claimId, itemId) { + return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/items/${encodeURIComponent(String(itemId || '').trim())}/attachment`, { + responseType: 'blob' + }) +} + +export function deleteExpenseClaimItemAttachment(claimId, itemId) { + return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/items/${encodeURIComponent(String(itemId || '').trim())}/attachment`, { + method: 'DELETE' + }) +} + export function updateExpenseClaimItem(claimId, itemId, payload) { return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/items/${encodeURIComponent(String(itemId || '').trim())}`, { method: 'PATCH',