from fastapi import APIRouter, HTTPException, Query, Path, UploadFile, File from pydantic import BaseModel from typing import List, Optional from uuid import UUID from datetime import datetime from src.config import logger from src.services import FileService import io class Response(BaseModel): status: str data: str class FileController: def __init__(self): self.service = FileService self.router = APIRouter() self.router.add_api_route( "/files", self.get_files_extrcated_text, methods=["POST"], tags=["Files"], ) async def get_files_extrcated_text(self, file: UploadFile = File(...)): try: async with self.service() as service: result = await service.extract_file(file=file) return result except Exception as e: logger.error(e) raise HTTPException(status_code=500, detail="Error processing file")