import mysql.connector
from config import Config

def get_db_connection():
    return mysql.connector.connect(
        host=Config.DB_HOST,
        user=Config.DB_USER,
        password=Config.DB_PASS,
        database=Config.DB_NAME
    )

def add_user(telegram_id, api_key):
    conn = get_db_connection()
    cursor = conn.cursor()
    try:
        query = "INSERT INTO users (telegram_id, api_key) VALUES (%s, %s) ON DUPLICATE KEY UPDATE api_key = %s"
        cursor.execute(query, (telegram_id, api_key, api_key))
        conn.commit()
        return True
    except Exception as e:
        print(f"DB Error: {e}")
        return False
    finally:
        cursor.close()
        conn.close()

def get_api_key(telegram_id):
    conn = get_db_connection()
    cursor = conn.cursor()
    try:
        query = "SELECT api_key FROM users WHERE telegram_id = %s"
        cursor.execute(query, (telegram_id,))
        result = cursor.fetchone()
        if result:
            return result[0]
        return None
    except Exception as e:
        print(f"DB Error: {e}")
        return None
    finally:
        cursor.close()
        conn.close()

def remove_user(telegram_id):
    conn = get_db_connection()
    cursor = conn.cursor()
    try:
        query = "DELETE FROM users WHERE telegram_id = %s"
        cursor.execute(query, (telegram_id,))
        conn.commit()
        return True
    except Exception as e:
        print(f"DB Error: {e}")
        return False
    finally:
        cursor.close()
        conn.close()