from fastapi import APIRouter, HTTPException from fastapi.responses import JSONResponse from src.utils import logger from src.services import DatabaseService class DatabaseController: def __init__(self): self.database_service = DatabaseService self.router = APIRouter(prefix="/update_database", tags=["database"]) self.router.add_api_route("/", self.update_database, methods=["POST"]) async def update_database(self, urls: list[str] = ["https://sifars.com/"], knowledge_base: bool = False): try: async with self.database_service() as database_service: response = await database_service._update_database(urls=urls, knowledge_base=knowledge_base) return JSONResponse({ "status": "success", "data": {"message": response} }) except Exception as e: logger.error(e) raise HTTPException(status_code=500, detail=str(e))