from typing import * from uuid import UUID from enum import Enum from pydantic import BaseModel class FrontendToken(BaseModel): type: Literal["frontend"] class ComputerToken(BaseModel): type: Literal["computer"] uuid: UUID ComputerType = Literal["computer", "turtle", "pocket"] class Computer(BaseModel): type: ComputerType is_advanced: bool uuid: UUID label: Optional[str] group: str # uUiD iS nOt JsOn SeRiAlIzAbLe def dict(self): data = super().dict() data["uuid"] = str(data["uuid"]) return data class DynamicComputerState(BaseModel): is_online: bool class StateItem(BaseModel): static: Computer dynamic: DynamicComputerState class State: computers: List[StateItem]