blitz_api/app/system/impl/system_base.py
fusion44 40880154eb
feat: implement system/health endpoint
This currently does nothing but return true. This can be used
as a ping endpoint to see if the API is running and reachable.
2024-02-20 19:56:11 +01:00

48 lines
1.2 KiB
Python

from abc import abstractmethod
from typing import Dict
from app.system.models import (
ConnectionInfo,
LoginInput,
RawDebugLogData,
SystemHealthInfo,
SystemInfo,
)
class SystemBase:
@abstractmethod
async def get_system_info(self) -> SystemInfo:
raise NotImplementedError()
@abstractmethod
async def get_system_health(self, verbose: bool) -> SystemHealthInfo:
raise NotImplementedError()
@abstractmethod
async def shutdown(self, reboot: bool) -> bool:
raise NotImplementedError()
@abstractmethod
async def get_connection_info(self) -> ConnectionInfo:
raise NotImplementedError()
@abstractmethod
async def login(self, i: LoginInput) -> Dict[str, str]:
raise NotImplementedError()
@abstractmethod
async def change_password(self, type: str, old_password: str, new_password: str):
raise NotImplementedError()
@abstractmethod
async def get_debug_logs_raw(self) -> RawDebugLogData:
raise NotImplementedError()
@abstractmethod
async def get_hardware_info(self) -> map:
raise NotImplementedError()
@abstractmethod
def get_hardware_info_yield_time(self) -> float:
raise NotImplementedError()