import os from contextlib import asynccontextmanager from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from database import engine from models import Base from api.routes import router as api_router @asynccontextmanager async def lifespan(app: FastAPI): os.makedirs("data", exist_ok=True) async with engine.begin() as conn: await conn.run_sync(Base.metadata.create_all) yield await engine.dispose() app = FastAPI( title="Log Analyzer Backend", description="CPU LLM powered firewall & proxy log analyzer.", version="1.0.0", lifespan=lifespan, ) app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(api_router) @app.get("/health") async def health(): return {"status": "ok"}