import apiClient from './client'; import type { PricingMode, LineItemSource } from '@proposal-system/api-contracts'; export interface LineItem { id: string; proposalId: string; description: string; quantity: number; unit: string; unitPrice: number | null; totalPrice: number; pricingMode: PricingMode; sortOrder: number; source: LineItemSource; createdAt: string; updatedAt: string; } export interface UpdateLineItemEntry { id: string | null; description: string; quantity: number; unit: string; unitPrice: number | null; totalPrice: number; pricingMode: PricingMode; sortOrder: number; source: LineItemSource; } export const lineItemsApi = { getAll: async (proposalId: string): Promise => { const res = await apiClient.get(`/proposals/${proposalId}/line-items`); return res.data; }, bulkUpdate: async ( proposalId: string, lineItems: UpdateLineItemEntry[], ): Promise => { const res = await apiClient.put(`/proposals/${proposalId}/line-items`, { lineItems, }); return res.data; }, delete: async (proposalId: string, itemId: string): Promise => { await apiClient.delete(`/proposals/${proposalId}/line-items/${itemId}`); }, };