60 lines
917 B
Python
60 lines
917 B
Python
from __future__ import annotations
|
|
|
|
from pydantic import BaseModel as PydanticBaseModel
|
|
|
|
|
|
class BaseModel(PydanticBaseModel):
|
|
class Config:
|
|
orm_mode = True
|
|
|
|
|
|
class PingResponse(BaseModel):
|
|
message: str
|
|
|
|
|
|
class BoardDto(BaseModel):
|
|
width: int
|
|
height: int
|
|
|
|
|
|
class PositionDto(BaseModel):
|
|
x: int
|
|
y: int
|
|
|
|
|
|
class PlayerDto(BaseModel):
|
|
uuid: str
|
|
active: bool
|
|
position: PositionDto
|
|
move_count: int
|
|
move_attempt_count: int
|
|
|
|
|
|
class DestinationDto(BaseModel):
|
|
position: PositionDto
|
|
|
|
|
|
class StartGameRequestDto(BaseModel):
|
|
player_name: str
|
|
|
|
|
|
class GameInfoDto(BaseModel):
|
|
board: BoardDto
|
|
destination: DestinationDto
|
|
|
|
|
|
class StartGameResponseDto(GameInfoDto):
|
|
player: PlayerDto
|
|
|
|
|
|
class MovePlayerResponseDto(BaseModel):
|
|
player: PlayerDto
|
|
|
|
|
|
class PlayerInfoResponseDto(MovePlayerResponseDto):
|
|
...
|
|
|
|
|
|
class ErrorResponseDto(BaseModel):
|
|
detail: str
|