from fastapi import APIRouter, Depends, status

from app.deps import verify_internal_token
from app.schemas.coding import CodingJudgeRequest, CodingJudgeResponse
from app.services.coding import CodingService

router = APIRouter(prefix="/coding")
_service = CodingService()


@router.post(
    "/judge",
    response_model=CodingJudgeResponse,
    status_code=status.HTTP_200_OK,
    summary="Coding Challenge AI Judge",
    dependencies=[Depends(verify_internal_token)],
)
async def judge_code(payload: CodingJudgeRequest) -> CodingJudgeResponse:
    return await _service.judge(payload)
