from contextlib import asynccontextmanager from fastapi import FastAPI from app.config import settings from app.db import Base, engine from app import models # noqa: F401 — register models with Base.metadata @asynccontextmanager async def lifespan(_app: FastAPI): settings.data_dir.mkdir(parents=True, exist_ok=True) settings.uploads_dir.mkdir(parents=True, exist_ok=True) Base.metadata.create_all(bind=engine) yield app = FastAPI(title="MincedPad", lifespan=lifespan) @app.get("/api/health") def health(): return {"ok": True, "name": "MincedPad"}