From: Radek Czajka Date: Fri, 24 Apr 2026 09:57:41 +0000 (+0200) Subject: Allow bulk list item delete X-Git-Url: https://git.mdrn.pl/wolnelektury.git/commitdiff_plain/54b3d528298bc6387e88dd48b634c94d350f1c7b Allow bulk list item delete --- diff --git a/src/social/api/urls2.py b/src/social/api/urls2.py index 7f6ab6542..f66223e1b 100644 --- a/src/social/api/urls2.py +++ b/src/social/api/urls2.py @@ -18,6 +18,7 @@ urlpatterns = [ path('lists/', views.ListsView.as_view()), path('lists//', views.ListView.as_view()), path('lists//items/', views.ListItemListViewV3.as_view()), + path('list-items/', views.ListItemsView.as_view()), path('list-items//', views.ListItemViewV3.as_view()), path('lists///', views.ListItemViewV2.as_view()), diff --git a/src/social/api/views.py b/src/social/api/views.py index 6cae38ae4..0ea769c4e 100644 --- a/src/social/api/views.py +++ b/src/social/api/views.py @@ -212,6 +212,19 @@ class ListItemListViewV3(ListCreateAPIView): serializer.save(list=lst) +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]