Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI | |
| from fastapi.middleware.cors import CORSMiddleware | |
| import os | |
| import sys | |
| from pathlib import Path | |
| # ------------------------------------------------------------ | |
| # Fix Python paths so imports like backend.api.routes.agent work | |
| # ------------------------------------------------------------ | |
| root_dir = Path(__file__).resolve().parents[2] | |
| sys.path.insert(0, str(root_dir)) | |
| # ------------------------------------------------------------ | |
| # Import ALL routers correctly | |
| # ------------------------------------------------------------ | |
| from backend.api.routes.agent import router as agent_router | |
| from backend.api.routes.admin import router as admin_router | |
| from backend.api.routes.rag import router as rag_router | |
| from backend.api.routes.web import router as web_router | |
| from backend.api.routes.analytics import router as analytics_router | |
| # ------------------------------------------------------------ | |
| # Main FastAPI app | |
| # ------------------------------------------------------------ | |
| app = FastAPI(title="IntegraChat API", version="1.0.0") | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| # ------------------------------------------------------------ | |
| # Route Registration (THIS FIXES YOUR 404) | |
| # ------------------------------------------------------------ | |
| app.include_router(agent_router, prefix="/agent", tags=["Agent"]) | |
| app.include_router(admin_router, prefix="/admin", tags=["Admin"]) | |
| app.include_router(rag_router, prefix="/rag", tags=["RAG"]) | |
| app.include_router(web_router, prefix="/web", tags=["Web"]) | |
| app.include_router(analytics_router, prefix="/analytics", tags=["Analytics"]) | |
| # ------------------------------------------------------------ | |
| # Health Check | |
| # ------------------------------------------------------------ | |
| def health(): | |
| return {"status": "ok", "version": "1.0.0"} | |
| # ------------------------------------------------------------ | |
| # Local Run | |
| # ------------------------------------------------------------ | |
| if __name__ == "__main__": | |
| import uvicorn | |
| port = int(os.getenv("API_PORT", "8000")) | |
| uvicorn.run("backend.api.main:app", host="0.0.0.0", port=port, reload=True) | |