Heat / main.py
GitHub Actions
Auto-deploy from GitHub
2b80161
Raw
History Blame Contribute Delete
1.02 kB
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from contextlib import asynccontextmanager
from core.config import settings
from database.connection import db_client
from api.v1 import documents
@asynccontextmanager
async def lifespan(app: FastAPI):
# Connect to MongoDB at startup
db_client.connect()
yield
# Disconnect from MongoDB at shutdown
db_client.disconnect()
app = FastAPI(
title=settings.PROJECT_NAME,
openapi_url=f"{settings.API_V1_STR}/openapi.json",
lifespan=lifespan
)
# Connect the backend to the TanStack Start frontend (allowing CORS)
app.add_middleware(
CORSMiddleware,
allow_origins=settings.BACKEND_CORS_ORIGINS,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Include Routers
app.include_router(
documents.router,
prefix=settings.API_V1_STR,
tags=["Documents"]
)
@app.get("/health")
async def health_check():
return {"status": "healthy", "service": settings.PROJECT_NAME}