import psycopg2
import os
from dotenv import load_dotenv

load_dotenv()

def add_is_admin():
    db_url = os.getenv("DATABASE_URL")
    if not db_url:
        print("DATABASE_URL not found in .env")
        return

    try:
        conn = psycopg2.connect(db_url)
        conn.autocommit = True
        cur = conn.cursor()
        
        try:
            cur.execute("ALTER TABLE users ADD COLUMN is_admin BOOLEAN DEFAULT FALSE;")
            print("Successfully added is_admin column to users table.")
        except Exception as e:
            print(f"Adding is_admin column failed (maybe already exists): {e}")

        try:
            # Set all existing users to admin for now so the current user doesn't get locked out
            cur.execute("UPDATE users SET is_admin = TRUE;")
            print("Set existing users to admin.")
        except Exception as e:
            print(f"Setting admins failed: {e}")
            
        cur.close()
        conn.close()
    except Exception as e:
        print(f"Connection failed: {e}")

if __name__ == "__main__":
    add_is_admin()
