from fastapi import APIRouter, Depends, status

from app.deps import verify_internal_token
from app.schemas.reports import (
    EvaluationReportRequest,
    EvaluationReportResponse,
    PanelistNotesRequest,
    PanelistNotesResponse,
)
from app.services.reports import ReportsService

router = APIRouter(prefix="/reports")
_service = ReportsService()


@router.post(
    "/panelist-notes",
    response_model=PanelistNotesResponse,
    status_code=status.HTTP_200_OK,
    summary="AI Panelist Notes",
    dependencies=[Depends(verify_internal_token)],
)
async def panelist_notes(payload: PanelistNotesRequest) -> PanelistNotesResponse:
    return await _service.panelist_notes(payload)


@router.post(
    "/evaluation-pdf",
    response_model=EvaluationReportResponse,
    status_code=status.HTTP_200_OK,
    summary="PDF Evaluation Report",
    dependencies=[Depends(verify_internal_token)],
)
async def evaluation_pdf(payload: EvaluationReportRequest) -> EvaluationReportResponse:
    return await _service.evaluation_pdf(payload)
