from fastapi import APIRouter, Depends, status

from app.deps import verify_internal_token
from app.schemas.candidate_scoring import (
    CandidateScoringRequest,
    CandidateScoringResponse,
)
from app.services.candidate_scoring import CandidateScoringService

router = APIRouter()
_service = CandidateScoringService()


@router.post(
    "/candidate-scoring",
    response_model=CandidateScoringResponse,
    status_code=status.HTTP_200_OK,
    summary="Combined Candidate Scoring",
    dependencies=[Depends(verify_internal_token)],
)
async def score_candidate(
    payload: CandidateScoringRequest,
) -> CandidateScoringResponse:
    return await _service.evaluate(payload)
