import { apiRequest } from './api.js' export function fetchExpenseClaims() { return apiRequest('/reimbursements/claims') } 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', body: JSON.stringify(payload) }) } export function submitExpenseClaim(claimId) { return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}/submit`, { method: 'POST', body: JSON.stringify({}) }) } export function deleteExpenseClaim(claimId) { return apiRequest(`/reimbursements/claims/${encodeURIComponent(String(claimId || '').trim())}`, { method: 'DELETE' }) }