"""Settings domain models."""

from __future__ import annotations

from dataclasses import dataclass


@dataclass(slots=True)
class ChatSettings:
    chat_id: int
    values: dict[str, str]

    def get_bool(self, key: str, default: bool = False) -> bool:
        value = self.values.get(key)

        if value is None:
            return default

        return value.lower() in {"1", "true", "yes", "on"}

    def get_str(self, key: str, default: str = "") -> str:
        return self.values.get(key, default)
