"""Wartungs-Endpoints: Update-Badge, OS-/Engine-Update, Reboot, Restart, Logs.""" from fastapi import APIRouter, HTTPException from pydantic import BaseModel from services import maintenance router = APIRouter(prefix="/api") @router.get("/maintenance/updates") def updates() -> dict: return maintenance.updates() @router.post("/maintenance/os-update") def os_update() -> dict: return {"job_id": maintenance.os_update_job()} @router.post("/maintenance/engine-update") def engine_update() -> dict: job = maintenance.engine_update_job() if not job: raise HTTPException(400, "Kein Engine-Update-Befehl gesetzt (MC_ENGINE_UPDATE_CMD).") return {"job_id": job} @router.post("/maintenance/reboot") def reboot() -> dict: return maintenance.reboot() class RestartReq(BaseModel): service: str @router.post("/maintenance/restart") def restart(body: RestartReq) -> dict: return maintenance.restart_service(body.service) @router.get("/maintenance/logs") def logs(service: str, lines: int = 200) -> dict: return maintenance.logs(service, lines)