import uvicorn from fastapi import FastAPI, APIRouter from starlette.middleware.cors import CORSMiddleware from app.user.handlers import router as user_router from app.auth.handlers import router as auth_router from app.init import init_root_user, init_admin_role def main_router() -> APIRouter: router = APIRouter() router.include_router(user_router, tags=["users"], prefix="/users") router.include_router(auth_router, tags=["auth"]) return router app = FastAPI(title="cognio ID API") app.add_event_handler("startup", init_admin_role) app.add_event_handler("startup", init_root_user) app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"] ) app.include_router(main_router()) if __name__ == "__main__": uvicorn.run("app.main:app")