Finsight-Backend / main.py
elampt's picture
Added db wake up endpoint
ee2ab1e
raw
history blame contribute delete
831 Bytes
from fastapi import FastAPI, Request
import models, schemas
from database.connection import engine
from routers import user, holdings
from slowapi import Limiter, _rate_limit_exceeded_handler
from slowapi.util import get_remote_address
models.Base.metadata.create_all(bind=engine)
# Set up rate limiter based on IP
limiter = Limiter(key_func=get_remote_address)
# Create the FastAPI app
app = FastAPI()
app.state.limiter = limiter
app.add_exception_handler(429, _rate_limit_exceeded_handler)
@app.middleware("http")
@limiter.limit("15/minute") # Limit to 15 requests per minute
async def global_rate_limiter(request: Request, call_next):
return await call_next(request)
app.include_router(user.router)
app.include_router(holdings.router)
@app.get("/")
async def root():
return {"message": "Welcome to FinSight-AI"}