test cases
This commit is contained in:
32
app/models/case.py
Normal file
32
app/models/case.py
Normal 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
|
||||
Reference in New Issue
Block a user