from pydantic import BaseModel from typing import Optional # --- Categories --- class CategoryBase(BaseModel): name: str description: Optional[str] = None class CategoryCreate(CategoryBase): pass class Category(CategoryBase): id: int class Config: from_attributes = True # --- Colors --- class ColorBase(BaseModel): name: str class ColorCreate(ColorBase): pass class Color(ColorBase): id: int class Config: from_attributes = True # --- Items --- class ItemBase(BaseModel): name: str category: str category_id: Optional[int] = None type: Optional[str] = None barcode: str part_number: Optional[str] = None color: Optional[str] = None description: Optional[str] = None connector: Optional[str] = None size: Optional[str] = None ocr_text: Optional[str] = None specs: Optional[str] = None quantity: float = 0.0 min_quantity: float = 1.0 image_url: Optional[str] = None box_label: Optional[str] = None labels_data: Optional[str] = None class ItemCreate(ItemBase): pass class Item(ItemBase): id: int class Config: from_attributes = True