blitz_api/app/system/impl/system_base.py

46 lines
1.3 KiB
Python
Raw Permalink Normal View History

from abc import abstractmethod
from typing import Dict
from app.api.error_report.report import Report
from app.external.result_type.src.result.result import Err, Result
from app.system.models import (
ConnectionInfo,
LoginInput,
RawDebugLogData,
SystemInfo,
)
class SystemBase:
@abstractmethod
async def get_system_info(self) -> SystemInfo:
raise NotImplementedError()
@abstractmethod
async def shutdown(self, reboot: bool) -> bool:
raise NotImplementedError()
@abstractmethod
async def get_connection_info(self) -> Result[ConnectionInfo, Report]:
Err(Report("not implemented", error=NotImplementedError()))
@abstractmethod
async def login(self, i: LoginInput) -> Result[Dict[str, str], Report]:
Err(Report("not implemented", error=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()