X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/9b46fa5812ae6d152cef155956b435b4ba034df8..8ecd1d2fd23efe7ca31667890f0963fdcd92fa2e:/src/social/api/views.py diff --git a/src/social/api/views.py b/src/social/api/views.py index 91d882da1..bf3529755 100644 --- a/src/social/api/views.py +++ b/src/social/api/views.py @@ -2,9 +2,8 @@ # Copyright © Fundacja Wolne Lektury. See NOTICE for more information. # from datetime import datetime -from pytz import utc from django.http import Http404 -from django.utils.timezone import now +from django.utils.timezone import now, utc from rest_framework.generics import ListAPIView, ListCreateAPIView, RetrieveAPIView, RetrieveUpdateAPIView, RetrieveUpdateDestroyAPIView, get_object_or_404 from rest_framework.permissions import IsAuthenticated, IsAuthenticatedOrReadOnly from rest_framework.response import Response @@ -238,10 +237,9 @@ class ListView(RetrieveUpdateDestroyAPIView): return Response(self.get_serializer(instance).data) def perform_destroy(self, instance): - instance.update( - deleted=True, - updated_at=now() - ) + instance.deleted = True + instance.updated_at = now() + instance.save() @never_cache @@ -418,6 +416,8 @@ class SyncView(ListAPIView): def post(self, request): new_ids = [] data = request.data + if not isinstance(data, list): + raise serializers.ValidationError('Payload should be a list') for item in data: instance = self.get_instance(request.user, item) ser = self.get_serializer(