31 lines
837 B
Python
31 lines
837 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 create_user(user: User):
|
|
"""
|
|
Creates a user
|
|
|
|
Args:
|
|
user (User)
|
|
|
|
Returns:
|
|
complete user information, including id, if successful
|
|
"""
|
|
result = get_user_by_email(user.email)
|
|
if result:
|
|
raise HTTPException(status_code=409, detail='User already exists.')
|
|
|
|
print(user.username, user.email, user.password)
|
|
|
|
create_user_db(username=user.username, password=user.password, email=user.email)
|
|
created_user = get_user_by_email(user.email)
|
|
created_user_dict = {
|
|
"username": created_user[1],
|
|
"password": created_user[2],
|
|
"email": created_user[3],
|
|
}
|
|
|
|
return {'user': created_user_dict}
|