Source code for asyncpixel.models.status

"""Status data class."""
from typing import Optional

from asyncpixel.constants import get_game_types
from pydantic import BaseModel
from pydantic import validator

from .game_type import GameType
from .utils import to_camel


[docs]class Status(BaseModel): """Status data object. Args: online (bool): Wether player is online. game_type (Optional[GameType]): Current game player is playing. Defaults to None. mode (Optional[str]): Mode of current game. Defaults to None. """ online: bool = False game_type: Optional[GameType] = None mode: Optional[str] = None @validator("game_type", pre=True) def validate_game_type(cls, v: str) -> GameType: # noqa: B902, N805, D102 game_type = [game for game in get_game_types() if game.type_name == v][0] return game_type class Config: """Config.""" alias_generator = to_camel