from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.core.deps import get_current_user from app.db.session import get_db from app.models import Job, User from app.services.comfy_client import comfy_client router = APIRouter(prefix="/api/admin", tags=["admin"]) @router.get("/health") async def health(_: User = Depends(get_current_user)): return {"api": "ok", "comfyui": await comfy_client.health_check()} @router.get("/queue") async def queue(_: User = Depends(get_current_user)): return await comfy_client.get_queue() @router.get("/jobs-summary") def jobs_summary(db: Session = Depends(get_db), _: User = Depends(get_current_user)): total = db.query(Job).count() active = db.query(Job).filter(Job.status.in_(["validating", "uploading_assets", "queued", "executing", "collecting_outputs"])).count() completed = db.query(Job).filter(Job.status == "completed").count() failed = db.query(Job).filter(Job.status == "failed").count() return {"total": total, "active": active, "completed": completed, "failed": failed}