from fastapi import APIRouter, Depends
from sqlmodel import Session

from app.auth import get_current_user
from app.database import get_session
from app.repositories.user import UserRepository
from app.schemas.auth import CurrentUser
from app.schemas.user import LanguageUpdateRequest

router = APIRouter()


@router.post("/user/language")
async def update_user_language(
    body: LanguageUpdateRequest,
    current_user: CurrentUser = Depends(get_current_user),
    session: Session = Depends(get_session),
):
    """Update user's language preference. Requires JWT."""
    UserRepository(session).update_language(current_user.sub, body.language)
    return {"status": "ok"}
