Initial certificate system
This commit is contained in:
22
backend/app/api/routes/admin_dashboard.py
Normal file
22
backend/app/api/routes/admin_dashboard.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.api.deps import require_roles
|
||||
from app.db.session import get_db
|
||||
from app.models import AdminUser, Certificate, ImportBatch, Learner
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/summary")
|
||||
def get_summary(
|
||||
db: Session = Depends(get_db),
|
||||
_: AdminUser = Depends(require_roles("system_admin", "certificate_admin", "readonly")),
|
||||
) -> dict[str, int]:
|
||||
return {
|
||||
"learner_count": db.query(Learner).count(),
|
||||
"certificate_count": db.query(Certificate).count(),
|
||||
"valid_certificate_count": db.query(Certificate).filter(Certificate.status == "valid").count(),
|
||||
"voided_certificate_count": db.query(Certificate).filter(Certificate.status == "voided").count(),
|
||||
"recent_import_count": db.query(ImportBatch).count(),
|
||||
}
|
||||
Reference in New Issue
Block a user