table_game/backend/app/schemas/game_info.py
2025-03-10 08:35:19 +08:00

79 lines
1.7 KiB
Python

from pydantic import BaseModel, condecimal, conint, Field
from typing import Optional
from datetime import date, datetime
from decimal import Decimal
from typing import Literal
class GameListRequest(BaseModel):
token: str
class GameCreate(BaseModel):
game_name: str
game_type: int
description: str
min_players: int
max_players: int
duration: str
price: float
difficulty_level: int
is_available: int
quantity: int
long_description: str
class GameCreateRequest(GameCreate):
token: str
class GameListResponse(BaseModel):
game_id: int
game_name: str
game_type: int
description: str
min_players: int
max_players: int
duration: str
price: float
difficulty_level: int
is_available: int
quantity: int
class GamePhotoRequest(BaseModel):
game_id: int
photo_url: str
token: str
class TagCreateRequest(BaseModel):
tag_name: str = Field(..., min_length=1, max_length=50, example="亲子游戏")
token: str # 管理员权限验证
class GameTagLinkRequest(BaseModel):
tag_id: int = Field(..., gt=0, example=1)
game_ids: list[int] = Field(..., min_items=1, example=[1,2,3])
token: str # 管理员权限验证
class GameTagUnLinkRequest(BaseModel):
tag_id: int = Field(..., gt=0, example=1)
game_id: int
token: str # 管理员权限验证
class GetGameTagsRequest(BaseModel):
tag_id: int = Field(..., gt=0, example=1)
token: str
class DeleteTagRequest(BaseModel):
tag_id: int = Field(
...,
gt=0,
example=1,
description="要删除的标签ID"
)
token: str = Field(
...,
example="your_jwt_token_here",
description="管理员身份验证令牌"
)