from pydantic import BaseModel, Field from typing import List, Optional, Dict class CaseItemMeta(BaseModel): display_name: Optional[str] = None lore: Optional[List[str]] = None enchants: Optional[Dict[str, int]] = None durability: Optional[int] = None class CaseItem(BaseModel): id: Optional[str] = None name: str material: str amount: int = 1 weight: int = 1 meta: Optional[CaseItemMeta] = None class CaseCreate(BaseModel): name: str description: Optional[str] = None price: int = Field(gt=0) server_ids: List[str] = Field(default_factory=lambda: ["*"]) image_url: Optional[str] = None # πŸ”Ή ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° кСйса items: List[CaseItem] class CaseUpdate(BaseModel): name: Optional[str] = None description: Optional[str] = None price: Optional[int] = Field(default=None, gt=0) server_ids: Optional[List[str]] = None image_url: Optional[str] = None # πŸ”Ή МоТно ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ items: Optional[List[CaseItem]] = None