# stock.py - Remove business logic validation constraints from datetime import datetime from typing import List, Optional from pydantic import BaseModel, ConfigDict, Field class StockBase(BaseModel): gtin: str = Field(..., description="GTIN identifier") location: str = Field(..., description="Storage location") class StockCreate(StockBase): quantity: int = Field(..., description="Initial stock quantity") # Removed: ge=0 constraint - let service handle negative validation class StockAdd(StockBase): quantity: int = Field(..., description="Quantity to add/remove") # Removed: gt=0 constraint - let service handle zero/negative validation class StockUpdate(BaseModel): quantity: int = Field(..., description="New stock quantity") # Removed: ge=0 constraint - let service handle negative validation class StockResponse(BaseModel): model_config = ConfigDict(from_attributes=True) id: int gtin: str location: str quantity: int created_at: datetime updated_at: datetime class StockLocationResponse(BaseModel): location: str quantity: int class StockSummaryResponse(BaseModel): gtin: str total_quantity: int locations: List[StockLocationResponse] product_title: Optional[str] = None