Query lists for book.
[wolnelektury.git] / src / social / api / views.py
index 6cae38a..2a57ad3 100644 (file)
@@ -212,6 +212,32 @@ class ListItemListViewV3(ListCreateAPIView):
         serializer.save(list=lst)
 
 
+@never_cache
+class ListItemsForBook(ListAPIView):
+    permission_classes = [IsAuthenticated]
+    serializer_class = serializers.UserListItemReadSerializer
+
+    def get_queryset(self):
+        book = get_object_or_404(catalogue.models.Book, slug=self.kwargs['book'])
+        return models.UserListItem.objects.filter(
+            list__user=self.request.user,
+            book=book,
+        )
+
+
+class ListItemsView(APIView):
+    permission_classes = [IsAuthenticated]
+
+    def delete(self, request):
+        if not isinstance(self.request.data, list):
+            return Response({"error": "no data"}, status=400)
+        models.UserListItem.objects.filter(
+            list__user=self.request.user,
+            uuid__in=self.request.data
+        ).delete()
+        return Response({})
+
+
 @never_cache
 class ListItemViewV3(RetrieveUpdateDestroyAPIView):
     permission_classes = [IsAuthenticated]