from fastapi import APIRouter, Depends, Query
from sqlalchemy.orm import Session

from app.api.deps import require_super_admin
from app.db.session import get_db
from app.schemas.user_context import CurrentUser
from app.services.parser_performance_service import ParserPerformanceService

router = APIRouter()


@router.get("/performance")
def get_parser_performance(
    agency_id: int | None = Query(default=None),
    current_user: CurrentUser = Depends(require_super_admin),
    db: Session = Depends(get_db),
):
    service = ParserPerformanceService(db)
    if agency_id is not None:
        return service.get_performance(agency_id)
    return service.get_platform_performance()
