test cases

This commit is contained in:
2025-12-07 01:04:04 +05:00
parent 8f0a5abfb3
commit 26a96468cc
3 changed files with 277 additions and 0 deletions

32
app/models/case.py Normal file
View File

@ -0,0 +1,32 @@
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