0e59936e34
Co-authored-by: Cursor <cursoragent@cursor.com>
26 lines
664 B
Python
26 lines
664 B
Python
from contextlib import asynccontextmanager
|
|
|
|
from fastapi import FastAPI
|
|
|
|
from app.api.public import router as public_router
|
|
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.include_router(public_router)
|
|
|
|
|
|
@app.get("/api/health")
|
|
def health():
|
|
return {"ok": True, "name": "MincedPad"}
|