29 lines
752 B
Python
29 lines
752 B
Python
from fastapi import HTTPException
|
|
from app.models.user import User
|
|
from database.queries.user import get_user_by_email, create_user_db
|
|
|
|
|
|
async def signup(user: User):
|
|
"""
|
|
Verify user credentials
|
|
|
|
Args:
|
|
user (User)
|
|
|
|
Returns:
|
|
dict : full user information besides password
|
|
"""
|
|
result = get_user_by_email(user.email)
|
|
if result:
|
|
raise HTTPException(status_code=409, detail='User already exists.')
|
|
|
|
create_user_db(username=user.username, password=user.password, email=user.email)
|
|
user_info = get_user_by_email(user.email)
|
|
return {
|
|
'info': {
|
|
'id': user_info[0],
|
|
'username': user.username,
|
|
'email': user.email,
|
|
}
|
|
}
|