From 330e34f0cd40c2b789dc504ca693d5e792564afc Mon Sep 17 00:00:00 2001 From: Aman Tahiliani <65684756+AmanTahiliani@users.noreply.github.com> Date: Mon, 22 Apr 2024 09:57:12 -0400 Subject: [PATCH] Added Support to get User files (#22) --- backend/api/urls.py | 1 + backend/api/views.py | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/backend/api/urls.py b/backend/api/urls.py index 2ecfb97..8392492 100644 --- a/backend/api/urls.py +++ b/backend/api/urls.py @@ -68,4 +68,5 @@ urlpatterns = [ path("api/report_user/", views.ReportUserView.as_view(), name="report-user"), path("api/register/", views.RegisterFile.as_view(), name="file-register"), path("api/files/filter/", views.FileFilterView.as_view(), name="file-filter-view"), + path("api/get-peer-files/", views.UserFilesView.as_view(), name="user-files-view"), ] diff --git a/backend/api/views.py b/backend/api/views.py index 1f5ceae..7100e7d 100644 --- a/backend/api/views.py +++ b/backend/api/views.py @@ -319,6 +319,29 @@ class FileFilterView(APIView): ) +class UserFilesView(APIView): + authentication_classes = [TokenAuthentication] + permission_classes = [IsAuthenticated] + + def get(self, request): + user = request.user + + owned_files = user.owned_files.all() + shared_files = user.shared_files.all() + + all_user_files = owned_files.union(shared_files) + + serializer = FileSerializer(all_user_files, many=True) + + try: + return Response(serializer.data, status=status.HTTP_200_OK) + except Exception as e: + print(f"Error: {e}") + return Response( + {"error": f"An error occured {e}"}, status=status.HTTP_400_BAD_REQUEST + ) + + class ReportUserView(APIView): authentication_classes = [TokenAuthentication] permission_classes = [IsAuthenticated]