feat(backend): add API routes

This commit is contained in:
2025-04-20 17:52:49 +01:00
parent 43f9384721
commit 4483c60ba6
6 changed files with 319 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
from collections.abc import AsyncGenerator
from typing import Annotated
from fastapi import APIRouter, Depends
from sqlalchemy.ext.asyncio import AsyncSession
from src.db.database import get_db
from src.schemas import StatsResponse
from src.services import StatsService
router = APIRouter()
async def get_stats_service(
db: Annotated[AsyncSession, Depends(get_db)],
) -> AsyncGenerator[StatsService, None]:
"""Dependency for StatsService."""
yield StatsService(db)
@router.get("", response_model=StatsResponse)
async def get_stats(
service: Annotated[StatsService, Depends(get_stats_service)],
) -> StatsResponse:
"""Get question counts by difficulty, category, and pattern."""
return await service.get_stats()