from .router import router, bot from .cms_router import cms_router import os # if databases folder not exist create one def create_app(): from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware app = FastAPI( title="Trade Bot API", description="Generate response from The RAG chatbot based on user query", version="0.1.0", openapi_url="/api/openapi.json", docs_url="/api/docs", redoc_url="/api/redoc", ) if not os.path.exists("databases"): os.makedirs("databases") app.max_request_size = 200 * 1024 * 1024 # Set up CORS middleware app.add_middleware( CORSMiddleware, allow_origins=["null", "*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(router, tags=["Trade Bot"], prefix="/api") app.include_router(cms_router, tags=["Trade Bot CMS"], prefix="/cms") # Register the shutdown event @app.on_event("shutdown") async def shutdown_event(): bot.shutdown() # Call the shutdown method on the Tradebot instance return app