from contextlib import asynccontextmanager from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from app.api.v1.router import api_router from app.config import settings from app.db import init_db, run_migrations from app.seed import seed_db @asynccontextmanager async def lifespan(app: FastAPI): init_db() run_migrations() seed_db() yield app = FastAPI(title="WealthySmart API", version="0.1.0", lifespan=lifespan) app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(api_router) @app.get("/") def root(): return {"app": "WealthySmart", "version": "0.1.0"}