from datetime import datetime from typing import Optional from pydantic import BaseModel class ItemBase(BaseModel): """Base schema for Item""" name: str description: Optional[str] = None is_active: bool = True class ItemCreate(ItemBase): """Schema for creating an Item""" pass class ItemUpdate(ItemBase): """Schema for updating an Item""" name: Optional[str] = None is_active: Optional[bool] = None class ItemInDBBase(ItemBase): """Base schema for Item in DB""" id: int created_at: datetime updated_at: datetime class Config: from_attributes = True class Item(ItemInDBBase): """Schema for Item response""" pass class ItemInDB(ItemInDBBase): """Schema for Item in DB (for internal use)""" pass