22 lines
659 B
Python
22 lines
659 B
Python
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):
|
|
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,
|
|
}
|
|
}
|