Spaces:
Sleeping
Sleeping
| from app.database import SessionLocal | |
| from app import models | |
| from app.auth import get_password_hash | |
| def create_admin(username, email, password): | |
| db = SessionLocal() | |
| try: | |
| # Check if user exists | |
| existing_user = db.query(models.User).filter(models.User.username == username).first() | |
| if existing_user: | |
| print(f"User {username} already exists.") | |
| return | |
| existing_email = db.query(models.User).filter(models.User.email == email).first() | |
| if existing_email: | |
| print(f"Email {email} already registered.") | |
| return | |
| # Create admin user | |
| hashed_password = get_password_hash(password) | |
| db_user = models.User( | |
| username=username, | |
| email=email, | |
| hashed_password=hashed_password, | |
| role=models.UserRole.ADMIN | |
| ) | |
| db.add(db_user) | |
| db.commit() | |
| db.refresh(db_user) | |
| print(f"Admin user '{username}' created successfully.") | |
| except Exception as e: | |
| print(f"Error creating admin: {e}") | |
| finally: | |
| db.close() | |
| if __name__ == "__main__": | |
| import sys | |
| if len(sys.argv) != 4: | |
| print("Usage: python create_admin.py <username> <email> <password>") | |
| else: | |
| create_admin(sys.argv[1], sys.argv[2], sys.argv[3]) | |