From 75dd560baf60f9d64506f66f6e9f33daffb4db24 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 6 Aug 2026 16:23:31 +0000 Subject: [PATCH] feat(auth): call ensure_default_admin on startup --- backend/app/main.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/backend/app/main.py b/backend/app/main.py index c74832c..403d3c7 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -1,7 +1,10 @@ +from contextlib import asynccontextmanager + from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware -from app.database import Base, engine +from app.auth import ensure_default_admin +from app.database import Base, engine, SessionLocal from app.routes.auth import router as auth_router from app.routers.inventory import router as inventory_router from app.routers.relations import router as relations_router @@ -10,10 +13,21 @@ from app.routers.jobs import router as jobs_router from app.routers.objects import router as objects_router from app.routers.health import router as health_router -# Create all tables on startup -Base.metadata.create_all(bind=engine) -app = FastAPI(title="NetMapper API", version="0.1.0") +@asynccontextmanager +async def lifespan(app: FastAPI): + # Create all tables + Base.metadata.create_all(bind=engine) + # Seed default users if DB is empty + db = SessionLocal() + try: + ensure_default_admin(db) + finally: + db.close() + yield + + +app = FastAPI(title="NetMapper API", version="0.1.0", lifespan=lifespan) app.add_middleware( CORSMiddleware,