Spaces:
Paused
Paused
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)
|