from fastapi import APIRouter, Depends, status

from app.deps import verify_internal_token
from app.schemas.talent_scouting import TalentScoutRankRequest, TalentScoutRankResponse
from app.services.talent_scouting import TalentScoutingService

router = APIRouter(prefix="/talent-scouting")
_service = TalentScoutingService()


@router.post(
    "/rank",
    response_model=TalentScoutRankResponse,
    status_code=status.HTTP_200_OK,
    summary="Talent Scouting / Candidate Ranking",
    dependencies=[Depends(verify_internal_token)],
)
async def rank_candidates(payload: TalentScoutRankRequest) -> TalentScoutRankResponse:
    return await _service.rank(payload)
