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

32 lines
1.0 KiB
Python

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_ips: 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_ips: Optional[List[str]] = None
image_url: Optional[str] = None # 🔹 Можно менять картинку
items: Optional[List[CaseItem]] = None