From 2b116ac8015b7d47b3309918a7d126c6262bc1c2 Mon Sep 17 00:00:00 2001 From: Aroy-Art Date: Mon, 17 Feb 2025 22:21:30 +0100 Subject: [PATCH] Fix: the creators api views for the last commit --- backend/api/creators/views.py | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/backend/api/creators/views.py b/backend/api/creators/views.py index 5d4f820..7507ceb 100644 --- a/backend/api/creators/views.py +++ b/backend/api/creators/views.py @@ -1,5 +1,5 @@ +from rest_framework.generics import ListAPIView, RetrieveAPIView from rest_framework.response import Response -from rest_framework.views import APIView from rest_framework.exceptions import NotFound from rest_framework.permissions import IsAuthenticated @@ -11,29 +11,28 @@ from .serializers import ( ) -class CreatorListView(APIView): +class CreatorListView(ListAPIView): permission_classes = [IsAuthenticated] + serializer_class = CreatorListSerializer - def get(self, request): - user = request.user.userprofile + def get_queryset(self): + user = self.request.user.userprofile if user.show_mature: - creators = CreatorModel.objects.all() + return CreatorModel.objects.all() else: - creators = CreatorModel.objects.filter(mature=False) - - serializer = CreatorListSerializer(creators, many=True) - return Response(serializer.data) + return CreatorModel.objects.filter(mature=False) -class CreatorDetailsView(APIView): +class CreatorDetailsView(RetrieveAPIView): permission_classes = [IsAuthenticated] + serializer_class = CreatorDetailsSerializer + lookup_field = "creator_id" - def get(self, request, creator_id): - try: - creator = CreatorModel.objects.get(creator_id=creator_id) - except CreatorModel.DoesNotExist: - raise NotFound(detail="Creator not found.") + def get_queryset(self): + user = self.request.user.userprofile - serializer = CreatorDetailsSerializer(creator) - return Response(serializer.data) + if user.show_mature: + return CreatorModel.objects.all() + else: + return CreatorModel.objects.filter(mature=False)