feat: use batch save for invoice items

This commit is contained in:
Your Name
2026-02-20 14:55:17 +02:00
parent 37751eb0c8
commit 349b9eb95d

View File

@@ -112,15 +112,20 @@ export const useInvoicesStore = defineStore('invoices', () => {
}
}
async function saveInvoiceItems(invoiceId: number, items: { description: string; quantity: number; unit_price: number }[]): Promise<void> {
for (const item of items) {
await createInvoiceItem({
invoice_id: invoiceId,
async function saveInvoiceItems(invoiceId: number, items: { description: string; quantity: number; unit_price: number; time_entry_id?: number }[]): Promise<void> {
try {
await invoke('save_invoice_items_batch', {
invoiceId,
items: items.map(item => ({
description: item.description,
quantity: item.quantity,
rate: item.unit_price,
amount: item.quantity * item.unit_price,
unit_price: item.unit_price,
time_entry_id: item.time_entry_id || null,
})),
})
} catch (error) {
handleInvokeError(error, 'Failed to save invoice items')
throw error
}
}