FinMK / backend /finance /upload_views.py
Kumar
Refactor: Exclude PDF and CSV files from Git to fix HF push error
24e6f5b
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status, permissions
from rest_framework.parsers import MultiPartParser, FormParser
from .services import parse_and_import_transactions
class TransactionUploadView(APIView):
permission_classes = [permissions.IsAuthenticated]
parser_classes = (MultiPartParser, FormParser)
def post(self, request):
if 'file' not in request.FILES:
return Response({"error": "No file passed"}, status=status.HTTP_400_BAD_REQUEST)
from .utils_mongo import get_user_db_id
file = request.FILES['file']
count, error = parse_and_import_transactions(file, get_user_db_id(request.user))
if error:
return Response({"error": error}, status=status.HTTP_400_BAD_REQUEST)
return Response({"message": f"Successfully processed {count} transactions."}, status=status.HTTP_201_CREATED)