Spaces:
Sleeping
Sleeping
| 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)) |