Initial YakPanel commit
This commit is contained in:
35
YakPanel-server/backend/scripts/seed_admin.py
Normal file
35
YakPanel-server/backend/scripts/seed_admin.py
Normal file
@@ -0,0 +1,35 @@
|
||||
"""Seed admin user for YakPanel"""
|
||||
import asyncio
|
||||
import sys
|
||||
import os
|
||||
|
||||
# Run from backend directory
|
||||
backend_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
os.chdir(backend_dir)
|
||||
sys.path.insert(0, backend_dir)
|
||||
|
||||
from sqlalchemy import select
|
||||
from app.core.database import AsyncSessionLocal, init_db
|
||||
from app.core.security import get_password_hash
|
||||
from app.models.user import User
|
||||
|
||||
|
||||
async def seed():
|
||||
await init_db()
|
||||
async with AsyncSessionLocal() as db:
|
||||
result = await db.execute(select(User).where(User.username == "admin"))
|
||||
if result.scalar_one_or_none():
|
||||
print("Admin user already exists")
|
||||
return
|
||||
admin = User(
|
||||
username="admin",
|
||||
password=get_password_hash("admin"),
|
||||
is_superuser=True,
|
||||
)
|
||||
db.add(admin)
|
||||
await db.commit()
|
||||
print("Admin user created: username=admin, password=admin")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(seed())
|
||||
Reference in New Issue
Block a user