from fastapi import FastAPI from routes.category import router # routes.py must be in same folder from routes.question import askMe from routes.wa_gateway import wa_router from dotenv import load_dotenv import asyncio from nuse_modules.headlines_generator import generate_and_store_headlines from fastapi.middleware.cors import CORSMiddleware load_dotenv() app = FastAPI() app.include_router(router) app.include_router(askMe) app.include_router(wa_router) app.add_middleware( CORSMiddleware, allow_origins=["*"], # Or restrict to your frontend domain allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.on_event("startup") def fetch_and_cache_articles() -> None: loop = asyncio.get_event_loop() # Run in default thread-pool executor loop.run_in_executor(None, generate_and_store_headlines) @app.get("/health") def health_check(): return {"status": "ok"}