import os import sqlite3 DATA_DIR = "/data" DB_PATH = os.path.join(DATA_DIR, "data.db") def get_db_connection(): return sqlite3.connect(DB_PATH) def initialize_data_storage(): with get_db_connection() as con: cur = con.cursor() cur.execute("CREATE TABLE IF NOT EXISTS user_rosters( user_id INTEGER, position_id TEXT, player_id TEXT)") cur.execute("CREATE TABLE IF NOT EXISTS users( user_id INTEGER PRIMARY KEY ASC, email TEXT, name TEXT)") def update_selection(user_id: str, position_id: str, player_id: str): with get_db_connection() as con: cur = con.cursor() cur.execute( f"""REPLACE INTO user_rosters (user_id, position_id, player_id ) VALUES({user_id}, '{position_id}', '{player_id}') """ ) def get_user_team(user_id): with get_db_connection() as con: cur = con.cursor() team = cur.execute(f"select * from user_rosters where user_id = {user_id}").fetchall() if team: return {x[1]: x[2] for x in team} else: return {} def add_new_user(email: str, name: str): with get_db_connection() as con: cur = con.cursor() cur.execute( f"""INSERT INTO users (email, name ) VALUES('{email.lower()}', '{name}') """ ) def get_user(user_id: int): with get_db_connection() as con: cur = con.cursor() user_data = cur.execute(f"select * from users where user_id = {user_id}").fetchone() if not user_data: return {} return { "user_id": user_data[0], "email": user_data[1], "name": user_data[2], } def get_user_id_if_email_exists(email: str) -> int | None: with get_db_connection() as con: cur = con.cursor() query_result = cur.execute(f"select user_id from users where email = '{email.lower()}'").fetchone() if query_result: user_id = query_result[0] else: user_id = None return user_id