Source code for asyncpixel.models.status

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

from pydantic import BaseModel, ConfigDict, field_validator

from asyncpixel.constants import GameType
from asyncpixel.utils import validate_game_type

from .utils import to_camel


[docs]class Status(BaseModel): """Status data object. Args: online (bool): Whether 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 @field_validator("game_type", mode="before") @classmethod def _validate_game_type(cls, v: str) -> GameType: """Validate game type.""" return validate_game_type(v) model_config = ConfigDict(alias_generator=to_camel)