"""System domain DTOS."""
from dataclasses import dataclass
from typing import Annotated, Literal
from litestar.dto import DataclassDTO
from byte_bot.server.lib import dto, settings
__all__ = ["SystemHealth", "SystemHealthDTO"]
[docs]
@dataclass
class SystemHealth:
    """System Health."""
    database_status: Literal["online", "offline", "degraded"]
    byte_status: Literal["online", "offline", "degraded"]
    overall_status: Literal["healthy", "offline", "degraded"]
    app: str = settings.project.NAME
    version: str = settings.project.BUILD_NUMBER 
SystemHealthDTO = DataclassDTO[Annotated[SystemHealth, dto.config()]]