"""Authentication and System Control Schemas."""
from __future__ import annotations

from dataclasses import dataclass
from typing import Optional


@dataclass
class TokenResponse:
    access_token: str
    token_type: str = "bearer"
    expires_in: int = 86400
    role: str = "operator"


@dataclass
class LoginRequest:
    username: str
    password: str


@dataclass
class KillSwitchRequest:
    reason: str
    admin_token: Optional[str] = None


@dataclass
class ModeSwitchRequest:
    new_mode: str
    confirmation_phrase: str
    admin_token: str
