from fastapi import APIRouter, HTTPException
from pydantic import BaseModel, Field
from services.lang_detector import LangDetector

router = APIRouter(prefix="/detect-language", tags=["detect-language"])


class DetectRequest(BaseModel):
    text: str = Field(..., min_length=3, max_length=2000)


class DetectResponse(BaseModel):
    language: str
    confidence: float


@router.post("/", response_model=DetectResponse)
async def detect_language(req: DetectRequest):
    try:
        detector = LangDetector()
        result   = detector.detect(req.text)
        return DetectResponse(**result)
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))
