blitz_api/app/system/impl/system_base.py
fusion44 2b98912796 feat: replace call_script func with better func
use exec_bash_command instead

refs #123
2025-05-06 09:16:46 +02:00

51 lines
1.5 KiB
Python

from abc import abstractmethod
from logging import error
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,
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) -> 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()