NutritionAIAPI / create_admin.py
Sakshi
nutrition
96f792c
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])