"""API геймификации (ТЗ 3.13): XP, уровень, прогресс, события начисления."""
from typing import Any
from fastapi import APIRouter
from app.dependencies import DbDep, UserDep
from app.services.xp import xp_events, xp_summary
router = APIRouter(prefix="/api/xp", tags=["xp"])
@router.get("")
async def get_xp(db: DbDep, user: UserDep) -> dict[str, Any]:
"""Сводка: суммарный XP, уровень, прогресс до следующего."""
return xp_summary(db)
@router.get("/events")
async def get_xp_events(db: DbDep, user: UserDep) -> list[dict[str, Any]]:
"""Все события начисления: редкость растения, признак «из 3 вариантов», даты."""
return xp_events(db)