from fastapi import APIRouter, HTTPException

from ..auth import create_token
from ..db import verify_user
from ..models import LoginRequest, LoginResponse

router = APIRouter()


@router.post("/api/auth/login", response_model=LoginResponse)
def login(request: LoginRequest) -> LoginResponse:
    if not verify_user(request.username, request.password):
        raise HTTPException(status_code=401, detail="Invalid credentials")
    return LoginResponse(token=create_token(request.username))
