"""Trading Platform REST API.""" from contextlib import asynccontextmanager from fastapi import FastAPI from shared.config import Settings from shared.db import Database from trading_api.routers import portfolio, orders, strategies @asynccontextmanager async def lifespan(app: FastAPI): settings = Settings() app.state.db = Database(settings.database_url) await app.state.db.connect() yield await app.state.db.close() app = FastAPI( title="Trading Platform API", version="0.1.0", lifespan=lifespan, ) app.include_router(portfolio.router, prefix="/api/v1/portfolio", tags=["portfolio"]) app.include_router(orders.router, prefix="/api/v1/orders", tags=["orders"]) app.include_router(strategies.router, prefix="/api/v1/strategies", tags=["strategies"]) @app.get("/health") async def health(): return {"status": "ok"}