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=["*"], | |
) | |
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) | |
def health_check(): | |
return {"status": "ok"} | |