from typing import List, Optional from pydantic import BaseModel, Field from app.schemas.product import Product class CartItemBase(BaseModel): product_id: str quantity: int = Field(..., gt=0) class CartItemCreate(CartItemBase): pass class CartItemUpdate(BaseModel): quantity: int = Field(..., gt=0) class CartItem(CartItemBase): id: str user_id: str product: Optional[Product] = None class Config: orm_mode = True class Cart(BaseModel): items: List[CartItem] = [] total: float = 0 class Config: orm_mode = True