ATLAS-Backend / backend /app /initial_data.py
Anish-530
feat: Day 3 Implemented JWT auth and user CRUD
cc52e6b
Raw History Blame Contribute Delete
1.08 kB
import asyncio
import logging
from sqlalchemy.ext.asyncio import AsyncSession
from app.database.session import AsyncSessionLocal
from app.core.config import settings
from app.crud.user import get_user_by_username, create_user
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
async def init_db() -> None:
async with AsyncSessionLocal() as session:
user = await get_user_by_username(session, username=settings.ADMIN_USERNAME)
if not user:
logger.info(f"Creating default admin user '{settings.ADMIN_USERNAME}'")
await create_user(
session,
username=settings.ADMIN_USERNAME,
password=settings.ADMIN_PASSWORD
)
logger.info("Admin user created successfully.")
else:
logger.info(f"Admin user '{settings.ADMIN_USERNAME}' already exists.")
async def main() -> None:
logger.info("Creating initial data...")
await init_db()
logger.info("Initial data created.")
if __name__ == "__main__":
asyncio.run(main())