from fastapi import APIRouter, Depends from typing import Annotated from dependencies import get_current_user from adapters.registry import GameAdapterRegistry router = APIRouter(prefix="/system", tags=["system"]) @router.get("/health") def health(): return {"status": "ok"} @router.get("/status") def system_status(_user: Annotated[dict, Depends(get_current_user)]): from sqlalchemy import text from database import get_engine with get_engine().connect() as db: running = db.execute( text("SELECT COUNT(*) FROM servers WHERE status IN ('running','starting')") ).fetchone()[0] total = db.execute(text("SELECT COUNT(*) FROM servers")).fetchone()[0] return { "success": True, "data": { "version": "1.0.0", "running_servers": running, "total_servers": total, "supported_games": [a.game_type for a in GameAdapterRegistry.all()], }, }