Files
tfm_ainventory/backend/scripts/reset_admin.py

42 lines
1.2 KiB
Python

import os
import sys
from sqlalchemy.orm import Session
from passlib.context import CryptContext
from ..database import SessionLocal
from .. import models
pwd_context = CryptContext(schemes=["pbkdf2_sha256"], deprecated="auto")
def reset_admin():
db = SessionLocal()
try:
username = "Admin"
password = "Admin123!"
hashed_password = pwd_context.hash(password)
user = db.query(models.User).filter(models.User.username == username).first()
if user:
user.hashed_password = hashed_password
user.role = "admin"
print(f"✅ User '{username}' found. Password has been reset to: {password}")
else:
new_user = models.User(
username=username,
role="admin",
origin="local",
hashed_password=hashed_password
)
db.add(new_user)
print(f"✅ User '{username}' not found. Created new admin with password: {password}")
db.commit()
print("💾 Changes saved to database.")
except Exception as e:
print(f"❌ Error resetting admin: {e}")
db.rollback()
finally:
db.close()
if __name__ == "__main__":
reset_admin()