# main.py from fastapi import FastAPI, Depends from core.database import get_engine, Base from modules.auth.api import router as auth_router from modules.user.api import router as user_router from modules.admin.api import router as admin_router from modules.auth.dependencies import admin_only import logging from modules.auth.security import get_current_user logging.getLogger('passlib').setLevel(logging.ERROR) # fix bc package logging is broken # Create DB tables (remove in production; use migrations instead) def lifespan(app): # Base.metadata.drop_all(bind=get_engine()) Base.metadata.create_all(bind=get_engine()) yield app = FastAPI(lifespan=lifespan) # Include all module routers app.include_router(auth_router, prefix="/api/auth") app.include_router(user_router, prefix="/api/user") app.include_router(admin_router, prefix="/api/admin", dependencies=[Depends(admin_only)])