ipns-poc-eval / src /controllers /_file_controller.py
Aryan Jain
add file api
7bd9199
raw
history blame contribute delete
982 Bytes
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")