from fastapi import APIRouter, Depends, status

from app.deps import verify_internal_token
from app.schemas.transcription import TranscriptionRequest, TranscriptionResponse
from app.services.transcription import TranscriptionService

router = APIRouter()
_service = TranscriptionService()


@router.post(
    "/transcription",
    response_model=TranscriptionResponse,
    status_code=status.HTTP_200_OK,
    summary="Voice Transcription",
    dependencies=[Depends(verify_internal_token)],
)
async def transcribe(payload: TranscriptionRequest) -> TranscriptionResponse:
    return await _service.transcribe(payload)
