from fastapi import HTTPException from app.models.login import Login from database.queries.user import get_user_by_email async def login(login_info: Login): """ Verify user credentials Args: login_info (Login) Returns: dict : full user information besides password """ result = get_user_by_email(login_info.email) if not result: raise HTTPException(status_code=404, detail='User not in system.') id, username, password, email = result[0], result[1], result[2], result[3] if login_info.email != email or login_info.password != password: raise HTTPException(status_code=401, detail="Invalid credentials.") return { 'info': { 'id': id, 'username': username, 'email': email, } }