42 lines
1.2 KiB
Python
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()
|