from fastapi import APIRouter, Depends, status

from app.deps import verify_internal_token
from app.schemas.candidate_profiles import (
    CandidateProfileSummarizeRequest,
    CandidateProfileSummarizeResponse,
)
from app.services.candidate_profiles import CandidateProfilesService

router = APIRouter(prefix="/candidate-profiles")
_service = CandidateProfilesService()


@router.post(
    "/summarize",
    response_model=CandidateProfileSummarizeResponse,
    status_code=status.HTTP_200_OK,
    summary="AI Candidate Profile Summary",
    dependencies=[Depends(verify_internal_token)],
)
async def summarize_profile(
    payload: CandidateProfileSummarizeRequest,
) -> CandidateProfileSummarizeResponse:
    return await _service.summarize(payload)
