Files
NetMapper2026/backend/app/main.py
T

52 lines
1.4 KiB
Python
Raw Normal View History

from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.auth import ensure_default_admin
from app.database import Base, engine, SessionLocal
2026-08-04 20:21:34 +00:00
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
from app.routers.discoveries import router as discoveries_router
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
@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,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
2026-08-04 20:21:34 +00:00
app.include_router(auth_router)
app.include_router(health_router)
app.include_router(inventory_router)
app.include_router(relations_router)
app.include_router(discoveries_router)
app.include_router(jobs_router)
app.include_router(objects_router)
@app.get("/health")
2026-08-04 20:21:34 +00:00
async def health():
return {"status": "ok"}