from fastapi import APIRouter, Depends from app.core.config import Settings, get_settings from app.core.security import AuthUser, require_admin from app.services import costs router = APIRouter(prefix="/admin", tags=["admin"]) @router.get("/costs") async def admin_costs(days: int = 30, _: AuthUser = Depends(require_admin), settings: Settings = Depends(get_settings)) -> dict: return {"budget": await costs.budget_status(), "daily": await costs.daily_costs(days), "by_course": await costs.costs_by_course(), "models": {"primary": settings.MODEL_TUTOR_PRIMARY, "fallback": settings.MODEL_TUTOR_FALLBACK, "reasoning": settings.MODEL_REASONING, "fast": settings.MODEL_FAST, "vision": settings.MODEL_VISION}}