26 lines
946 B
Python
26 lines
946 B
Python
from datetime import datetime, timedelta
|
|
|
|
from fastapi import APIRouter, Depends, Query
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
from app.database import get_db
|
|
from app.dependencies import get_current_admin
|
|
from app.services.admin_service import list_admin_matches
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("")
|
|
async def get_matches(
|
|
user_id: int | None = Query(default=None),
|
|
start_date: str | None = Query(default=None),
|
|
end_date: str | None = Query(default=None),
|
|
admin_payload: dict = Depends(get_current_admin),
|
|
session: AsyncSession = Depends(get_db),
|
|
) -> dict:
|
|
_ = admin_payload
|
|
parsed_start = datetime.fromisoformat(start_date) if start_date else None
|
|
parsed_end = datetime.fromisoformat(end_date) + timedelta(days=1) if end_date else None
|
|
data = await list_admin_matches(session, user_id=user_id, start_date=parsed_start, end_date=parsed_end)
|
|
return {"code": 0, "message": "ok", "data": data}
|