from pydantic import BaseModel, Field from datetime import datetime from typing import Optional class InventoryBase(BaseModel): book_id: int quantity: int = Field(..., ge=0) reserved_quantity: int = Field(default=0, ge=0) reorder_level: int = Field(default=10, ge=0) class InventoryCreate(InventoryBase): pass class InventoryUpdate(BaseModel): quantity: Optional[int] = Field(None, ge=0) reserved_quantity: Optional[int] = Field(None, ge=0) reorder_level: Optional[int] = Field(None, ge=0) class InventoryResponse(InventoryBase): id: int created_at: datetime updated_at: Optional[datetime] = None available_quantity: int class Config: from_attributes = True