from pydantic import BaseModel, Field from typing import Dict, Any, Optional, List from datetime import datetime class InventoryItemCreate(BaseModel): username: str server_ip: str item_data: Dict[str, Any] source: Dict[str, Any] # например {"type":"case","case_id": "...", "case_name": "...", "rarity": "..."} created_at: datetime = Field(default_factory=datetime.utcnow) class InventoryItem(BaseModel): id: str username: str server_ip: str item_data: Dict[str, Any] source: Dict[str, Any] status: str = "stored" # stored | withdrawing | delivered | failed created_at: datetime delivered_at: Optional[datetime] = None withdraw_operation_id: Optional[str] = None class InventoryWithdrawRequest(BaseModel): username: str item_id: str server_ip: str