from pydantic import BaseModel from typing import Optional class InvoiceItemBase(BaseModel): description: str quantity: float = 1.0 unit_price: float notes: Optional[str] = None class InvoiceItemCreate(InvoiceItemBase): pass class InvoiceItemUpdate(BaseModel): description: Optional[str] = None quantity: Optional[float] = None unit_price: Optional[float] = None notes: Optional[str] = None class InvoiceItemResponse(InvoiceItemBase): id: int invoice_id: int total_price: float class Config: from_attributes = True