from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app.api import ecg, streaming, dashboard from app.db.session import close_engine, init_db app = FastAPI(title="Sundew Health API", version="0.1.0") app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.on_event("startup") def on_startup() -> None: init_db() @app.on_event("shutdown") def on_shutdown() -> None: close_engine() @app.get("/health", tags=["meta"]) async def health_check() -> dict: return {"status": "ok"} app.include_router(ecg.router, prefix="/ecg", tags=["ecg"]) app.include_router(streaming.router, tags=["streaming"]) app.include_router(dashboard.router, prefix="/dashboard", tags=["dashboard"])