Fix HTML rendering for service descriptions, allow zero price for services, improve image_url handling
This commit is contained in:
64
backend/check_admin.py
Normal file
64
backend/check_admin.py
Normal file
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Check and create admin user"""
|
||||
|
||||
import asyncio
|
||||
import sys
|
||||
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from sqlalchemy import select
|
||||
import bcrypt
|
||||
from datetime import datetime, timezone
|
||||
|
||||
sys.path.append('/media/pts/Website/PromptTech_Solution_Site/backend')
|
||||
from models import User, UserRole
|
||||
from database import DATABASE_URL
|
||||
|
||||
async def check_and_create_admin():
|
||||
engine = create_async_engine(DATABASE_URL, echo=False)
|
||||
async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)
|
||||
|
||||
async with async_session() as session:
|
||||
# Check for existing admin
|
||||
result = await session.execute(select(User))
|
||||
users = result.scalars().all()
|
||||
|
||||
print(f"\n📊 Current users in database:")
|
||||
for user in users:
|
||||
print(f" - {user.email} (Role: {user.role.value})")
|
||||
|
||||
# Check if admin@prompttech.com exists
|
||||
result = await session.execute(
|
||||
select(User).where(User.email == "admin@prompttech.com")
|
||||
)
|
||||
admin = result.scalar_one_or_none()
|
||||
|
||||
if admin:
|
||||
print(f"\n✅ Admin user already exists: admin@prompttech.com")
|
||||
print(f" If you can't login, the password should be: admin123")
|
||||
else:
|
||||
print(f"\n⚠️ Admin user not found. Creating new admin...")
|
||||
|
||||
# Create admin user
|
||||
email = "admin@prompttech.com"
|
||||
password = "admin123"
|
||||
name = "Admin User"
|
||||
|
||||
hashed_password = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt()).decode('utf-8')
|
||||
|
||||
admin_user = User(
|
||||
email=email,
|
||||
name=name,
|
||||
password=hashed_password,
|
||||
role=UserRole.ADMIN,
|
||||
created_at=datetime.now(timezone.utc)
|
||||
)
|
||||
|
||||
session.add(admin_user)
|
||||
await session.commit()
|
||||
|
||||
print(f"\n✅ Admin user created!")
|
||||
print(f" Email: {email}")
|
||||
print(f" Password: {password}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(check_and_create_admin())
|
||||
Reference in New Issue
Block a user