Files
2024-01-13 12:59:19 +02:00

114 lines
2.5 KiB
Python

from database import postgresql_db_handler
def get_user_by_id(user_id):
"""
Creates the conversation identifier for two users.
Args:
user_id (str): user id
Returns:
User: information about the user if exists
"""
query = """
SELECT * FROM users WHERE id = %s;
"""
params = (user_id,)
result = postgresql_db_handler.execute_query(query, params, fetchall=True)
if result:
user_data = result[0]
return user_data
else:
return None
def get_user_by_email(email):
"""
Creates the conversation identifier for two users.
Args:
email (str): email of the user
Returns:
User: information about the user if exists
"""
query = """
SELECT * FROM users WHERE email = %s;
"""
params = (email,)
result = postgresql_db_handler.execute_query(query, params, fetchall=True)
if result:
user_data = result[0]
return user_data
else:
return None
def create_user_db(username, password, email):
"""
Creates used based on provided information
Args:
username (str)
password (str)
email (str)
Returns:
Nothing
"""
query = """
INSERT INTO users (username, password, email)
VALUES (%s, %s, %s);
"""
params = (username, password, email)
postgresql_db_handler.execute_query(query, params)
def update_user_db(user_id, new_username, new_password, new_email):
"""
Updates user based on the new information
Args:
user_id (int)
new_username (str)
new_password (str)
new_email (str)
Returns:
Nothing
"""
query = """
UPDATE users
SET username = %s, password = %s, email = %s
WHERE id = %s;
"""
params = (new_username, new_password, new_email, user_id)
postgresql_db_handler.execute_query(query, params)
print(f"User with ID {user_id} updated successfully.")
def delete_user_db(user_id):
"""
Deletes a user
Args:
user_id: int
Returns:
Nothing
"""
query = """
DELETE FROM users WHERE id = %s;
"""
params = (user_id,)
postgresql_db_handler.execute_query(query, params)
print(f"User with ID {user_id} deleted successfully.")
def get_all_users_db():
query = "SELECT * FROM users;"
users = postgresql_db_handler.execute_query(query, fetchall=True)
return {"users": users}