import asyncio from motor.motor_asyncio import AsyncIOMotorClient from passlib.context import CryptContext import os from dotenv import load_dotenv from pathlib import Path # Load environment variables ROOT_DIR = Path(__file__).parent load_dotenv(ROOT_DIR / '.env') # Password hashing pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto") async def update_admin_password(): # Connect to MongoDB mongo_url = os.environ['MONGO_URL'] client = AsyncIOMotorClient(mongo_url) db = client[os.environ['DB_NAME']] # New password new_password = "Joker1974!!!" new_password_hash = pwd_context.hash(new_password) # Update admin password result = await db.admin_users.update_one( {"email": "admin@epictravel.com"}, {"$set": {"password_hash": new_password_hash}} ) if result.modified_count > 0: print(f"✓ Admin password updated successfully!") print(f"✓ Email: admin@epictravel.com") print(f"✓ New Password: {new_password}") else: print("✗ Failed to update password or admin user not found") client.close() if __name__ == "__main__": asyncio.run(update_admin_password())