File size: 618 Bytes
1a4facd
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from fastapi import APIRouter, Depends, HTTPException
from app.services.auth_service import authenticate_user, create_access_token
from app.models.auth import LoginRequest, LoginResponse

router = APIRouter()

@router.post("/login", response_model=LoginResponse)
async def login(user_data: LoginRequest):
    user = await authenticate_user(user_data.email, user_data.password)
    if not user:
        raise HTTPException(status_code=401, detail="Invalid credentials")
    access_token = create_access_token(data={"sub": user.email})
    return LoginResponse(access_token=access_token, token_type="bearer", user=user)