From 509231966b26f79f9959d14ae601eb0d03940c7e Mon Sep 17 00:00:00 2001 From: dvirlabs <114520947+dvirlabs@users.noreply.github.com> Date: Sun, 10 May 2026 10:06:03 +0300 Subject: [PATCH] Fix admin email logoc --- backend/app/main.py | 34 ++++++++++++++++++++++++---------- backend/requirements.txt | 3 ++- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/backend/app/main.py b/backend/app/main.py index 255325e..ecdbe3e 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -29,22 +29,33 @@ def create_admin_user(): db = SessionLocal() try: + # First, delete any old admin users with different emails + old_admins = db.query(User).filter( + User.is_admin == True, + User.email != settings.admin_email + ).all() + + if old_admins: + print(f"đŸ—‘ī¸ Removing old admin users...") + for old_admin in old_admins: + print(f" - Deleting old admin: {old_admin.email}") + db.delete(old_admin) + db.commit() + # Check if admin with current email exists admin = db.query(User).filter(User.email == settings.admin_email).first() if admin: - # Admin exists, update password if needed + # Admin exists, update password and details admin.hashed_password = get_password_hash(settings.admin_password) admin.full_name = settings.admin_full_name + admin.is_active = True + admin.is_admin = True db.commit() - print(f"â„šī¸ Admin user updated: {settings.admin_email}") + print(f"✅ Admin user updated: {settings.admin_email}") + print(f"📧 Email: {settings.admin_email}") + print(f"🔐 Password: {settings.admin_password}") else: - # Delete any other admin users (old ones with different emails) - old_admins = db.query(User).filter(User.is_admin == True).all() - for old_admin in old_admins: - db.delete(old_admin) - db.commit() - # Create new admin user admin = User( email=settings.admin_email, @@ -52,14 +63,17 @@ def create_admin_user(): hashed_password=get_password_hash(settings.admin_password), is_admin=True, is_active=True, - must_change_password=True # Force password change on first login + must_change_password=False # Let user decide when to change ) db.add(admin) db.commit() print(f"✅ Admin user created: {settings.admin_email}") - print(f"âš ī¸ Default password: {settings.admin_password} (CHANGE THIS!)") + print(f"📧 Email: {settings.admin_email}") + print(f"🔐 Password: {settings.admin_password}") except Exception as e: print(f"❌ Error creating admin user: {e}") + import traceback + traceback.print_exc() db.rollback() finally: db.close() diff --git a/backend/requirements.txt b/backend/requirements.txt index 6a093da..378b505 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -7,5 +7,6 @@ pydantic>=2.5.0 pydantic-settings>=2.1.0 python-multipart>=0.0.6 python-jose[cryptography]>=3.3.0 -passlib[bcrypt]>=1.7.4 +passlib>=1.7.4 +bcrypt>=3.2.0,<5.0.0 email-validator>=2.1.0