Files
popa_minecraft_launcher_api/app/models/inventory.py
2025-12-16 00:15:29 +05:00

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