27 lines
828 B
Python
27 lines
828 B
Python
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
|