from fastapi import APIRouter, Depends, status

from app.deps import verify_internal_token
from app.schemas.extra import ScorecardGenerateRequest, ScorecardGenerateResponse
from app.services.extra import ScorecardsService

router = APIRouter(prefix="/scorecards")
_service = ScorecardsService()


@router.post(
    "/generate",
    response_model=ScorecardGenerateResponse,
    status_code=status.HTTP_200_OK,
    summary="Interview Scorecard Generator",
    dependencies=[Depends(verify_internal_token)],
)
async def generate_scorecard(
    payload: ScorecardGenerateRequest,
) -> ScorecardGenerateResponse:
    return await _service.generate(payload)
