#!/usr/bin/env python3 """ Create admin account script Creates admin/password123 account for testing """ import os import sys from pathlib import Path # Add current directory to path sys.path.insert(0, str(Path(__file__).parent)) def create_admin_account(): """Create admin account with credentials admin/password123""" # Set up environment os.environ['POSTGRES_HOST'] = 'localhost' os.environ['POSTGRES_USER'] = 'balanceboard' os.environ['POSTGRES_PASSWORD'] = 'balanceboard123' os.environ['POSTGRES_DB'] = 'balanceboard' os.environ['SECRET_KEY'] = 'dev-secret-key-change-in-production' try: from app import app, db from models import User with app.app_context(): # Check if admin user already exists existing_admin = User.query.filter_by(username='admin').first() if existing_admin: print("✓ Admin account 'admin' already exists") return True # Create admin user admin_user = User( username='admin', email='admin@balanceboard.local', password='password123', is_admin=True ) db.session.add(admin_user) db.session.commit() print("✓ Admin account created successfully!") print(" Username: admin") print(" Password: password123") print(" Email: admin@balanceboard.local") return True except Exception as e: print(f"✗ Failed to create admin account: {e}") return False if __name__ == '__main__': success = create_admin_account() sys.exit(0 if success else 1)