keepme-backend / src /controllers /_file_controller.py
ramanjitsingh1368's picture
Refactor Dockerfile and clean up unused schemas; update Redis client initialization and environment configuration
a3aa6c1
raw
history blame contribute delete
827 Bytes
from fastapi import APIRouter, HTTPException, Request
from src.config import logger
from src.services import FileService
from src.schemas import InsertFileSchema
class FileController:
def __init__(self):
self.service = FileService
self.api_router = APIRouter()
self.api_router.add_api_route("/files", self.insert_file, methods=["POST"])
async def insert_file(self, request: Request, data: InsertFileSchema):
try:
user_id = request.state.user["user_id"]
file = data.file
async with self.service() as service:
return await service.insert_file(file=file, user_id=user_id)
except Exception as e:
logger.error(f"Error while inserting file: {str(e)}")
raise HTTPException(status_code=500, detail=str(e))