from db.database import conn, cursor


def add_admin(user_id, nama):
    cursor.execute(
        "INSERT OR IGNORE INTO admins (id, nama) VALUES (?, ?)",
        (user_id, nama)
    )
    conn.commit()
    return cursor.rowcount > 0


def remove_admin(user_id):
    cursor.execute("DELETE FROM admins WHERE id = ?", (user_id,))
    conn.commit()
    return cursor.rowcount > 0


def get_admins():
    cursor.execute("SELECT * FROM admins")
    return [dict(r) for r in cursor.fetchall()]


def is_admin_id(user_id):
    cursor.execute("SELECT 1 FROM admins WHERE id = ?", (user_id,))
    return cursor.fetchone() is not None


def get_admin_by_id(user_id):
    cursor.execute("SELECT * FROM admins WHERE id = ?", (user_id,))
    row = cursor.fetchone()
    return dict(row) if row else None


def get_vs_enabled_admins():
    cursor.execute("SELECT * FROM admins WHERE vs_enabled = 1")
    return [dict(r) for r in cursor.fetchall()]


def set_vs_status(user_id, status):
    cursor.execute(
        "UPDATE admins SET vs_enabled = ? WHERE id = ?",
        (1 if status else 0, user_id)
    )
    conn.commit()
    return cursor.rowcount > 0


def toggle_vs_admin(user_id: int):
    cursor.execute(
        "UPDATE admins SET vs_enabled = NOT vs_enabled WHERE id = ?",
        (user_id,)
    )
    conn.commit()
    return cursor.rowcount > 0
