Spaces:
Sleeping
Sleeping
| import os | |
| from fastapi import FastAPI, Depends | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from backend.app.routes import users_route, events_route, travels_route | |
| from backend.app.helper.security import get_api_key | |
| from backend.app.config import get_settings | |
| from backend.app.routes import chatbot_route | |
| settings = get_settings() | |
| app = FastAPI( | |
| title="AI API", | |
| description="API for AI micro services", | |
| version="1.0.0" | |
| ) | |
| # Add CORS middleware | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| # Add health check endpoint | |
| async def root(): | |
| return {"status": "alive", "message": "API is running"} | |
| # avoiding the conflictions | |
| os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE' | |
| async def startup_event(): | |
| print("Application startup...") | |
| # asyncio.create_task(run_embedding_worker_loop(interval_seconds=30)) | |
| async def shutdown_event(): | |
| print("Application shutdown...") | |
| users_route.user_db.db.close() | |
| events_route.event_db.db.close() | |
| travels_route.travel_db.db.close() | |
| # Include routers with API key dependency | |
| app.include_router( | |
| events_route.router, | |
| prefix="/events", | |
| tags=["events"], | |
| dependencies=[Depends(get_api_key)] | |
| ) | |
| app.include_router( | |
| travels_route.router, | |
| prefix="/travels", | |
| tags=["travels"], | |
| dependencies=[Depends(get_api_key)] | |
| ) | |
| app.include_router( | |
| users_route.router, | |
| prefix="/users", | |
| tags=["users"], | |
| dependencies=[Depends(get_api_key)] | |
| ) | |
| app.include_router( | |
| chatbot_route.router, | |
| prefix="/chatbot", | |
| tags=["chatbot"], | |
| dependencies=[Depends(get_api_key)] | |
| ) | |