feat(auth): call ensure_default_admin on startup
This commit is contained in:
+18
-4
@@ -1,7 +1,10 @@
|
|||||||
|
from contextlib import asynccontextmanager
|
||||||
|
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
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.routes.auth import router as auth_router
|
||||||
from app.routers.inventory import router as inventory_router
|
from app.routers.inventory import router as inventory_router
|
||||||
from app.routers.relations import router as relations_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.objects import router as objects_router
|
||||||
from app.routers.health import router as health_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(
|
app.add_middleware(
|
||||||
CORSMiddleware,
|
CORSMiddleware,
|
||||||
|
|||||||
Reference in New Issue
Block a user