import os from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.staticfiles import StaticFiles from .config import settings from .db import Base, engine from .api import api_router def create_app() -> FastAPI: app = FastAPI(title=settings.app_name) # CORS app.add_middleware( CORSMiddleware, allow_origins=settings.cors_origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Static for photos os.makedirs(settings.uploads_graves_dir, exist_ok=True) app.mount("/static/graves", StaticFiles(directory=settings.uploads_graves_dir), name="graves") # Routers app.include_router(api_router, prefix="/api") # Healthcheck endpoint @app.get("/api/health") def healthcheck() -> dict[str, str]: return {"status": "ok"} return app app = create_app() # create tables for MVP (later use Alembic) Base.metadata.create_all(bind=engine)