X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/078017198692badda854eb70f7a5431112aed007..f5743451874346b0dcca3fc18f767ef1d153e84d:/src/social/api/views.py diff --git a/src/social/api/views.py b/src/social/api/views.py index cad07df05..4661df0c9 100644 --- a/src/social/api/views.py +++ b/src/social/api/views.py @@ -23,6 +23,20 @@ import bookmarks.models from bookmarks.api.views import BookmarkSerializer +class SettingsSerializer(serializers.ModelSerializer): + class Meta: + model = models.UserProfile + fields = ['notifications'] + + +class SettingsView(RetrieveUpdateAPIView): + permission_classes = [IsAuthenticated] + serializer_class = SettingsSerializer + + def get_object(self): + return models.UserProfile.get_for(self.request.user) + + @never_cache class LikeView(APIView): permission_classes = [IsAuthenticated] @@ -404,6 +418,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(