from fastapi import APIRouter, Depends, status

from app.deps import verify_internal_token
from app.schemas.progress_analytics import (
    ProgressAnalyticsRequest,
    ProgressAnalyticsResponse,
)
from app.services.progress_analytics import ProgressAnalyticsService

router = APIRouter(prefix="/progress-analytics")
_service = ProgressAnalyticsService()


@router.post(
    "/analyze",
    response_model=ProgressAnalyticsResponse,
    status_code=status.HTTP_200_OK,
    summary="Progress / Improvement Analytics",
    dependencies=[Depends(verify_internal_token)],
)
async def analyze_progress(
    payload: ProgressAnalyticsRequest,
) -> ProgressAnalyticsResponse:
    return await _service.analyze(payload)
