Fred808's picture
Upload 12 files
92e7857 verified
from fastapi import APIRouter, Depends, HTTPException
from app.services.auth_service import authenticate_user, create_access_token, get_current_user
from app.models.auth import LoginRequest, LoginResponse
from app.db.database import get_db, AsyncSession
router = APIRouter()
@router.post("/login", response_model=LoginResponse)
async def login(
user_data: LoginRequest,
db: AsyncSession = Depends(get_db)
):
user = await authenticate_user(user_data.email, user_data.password, db)
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)
@router.post("/logout")
async def logout(current_user: dict = Depends(get_current_user)):
return {"message": "Successfully logged out"}