deepshield / api /v1 /stats.py
ar07xd's picture
Sync from GitHub via hub-sync
26f3f24 verified
raw
history blame contribute delete
722 Bytes
from datetime import datetime, timedelta
from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from sqlalchemy import func
from api.deps import get_current_user
from db.database import get_db
from db.models import AnalysisRecord
from db.models import User
router = APIRouter(prefix="/stats", tags=["stats"])
@router.get("/recent")
def get_recent_stats(user: User = Depends(get_current_user), db: Session = Depends(get_db)):
"""Phase 20.4 — Live Engagement Counter."""
twenty_four_hours_ago = datetime.utcnow() - timedelta(hours=24)
count = db.query(func.count(AnalysisRecord.id)).filter(AnalysisRecord.created_at >= twenty_four_hours_ago).scalar()
return {"count_24h": count or 0}