Initial Animatrix import
This commit is contained in:
28
backend/app/api/routes/admin.py
Normal file
28
backend/app/api/routes/admin.py
Normal file
@@ -0,0 +1,28 @@
|
||||
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}
|
||||
Reference in New Issue
Block a user