# app/schemas/user.py from pydantic import BaseModel, EmailStr from datetime import datetime from typing import Optional class UserBase(BaseModel): username: str email: EmailStr class UserCreate(UserBase): password: str class UserUpdate(BaseModel): username: Optional[str] = None email: Optional[EmailStr] = None password: Optional[str] = None class UserInDB(UserBase): id: int is_active: bool created_at: datetime updated_at: datetime class Config: from_attributes = True class UserResponse(UserInDB): pass # app/schemas/item.py from pydantic import BaseModel from datetime import datetime from typing import Optional from .user import UserResponse class ItemBase(BaseModel): name: str description: Optional[str] = None price: int = 0 class ItemCreate(ItemBase): pass class ItemUpdate(BaseModel): name: Optional[str] = None description: Optional[str] = None price: Optional[int] = None class ItemInDB(ItemBase): id: int owner_id: Optional[int] = None created_at: datetime updated_at: datetime class Config: from_attributes = True class ItemResponse(ItemInDB): owner: Optional[UserResponse] = None