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}