X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/d7b89d3f41ba44a7f327652014e6baff6999f70e..162b0b772d94f0f6b12a63ea2778c1cc0c104027:/src/social/api/serializers.py diff --git a/src/social/api/serializers.py b/src/social/api/serializers.py index 085783f8a..cbaa3bb6a 100644 --- a/src/social/api/serializers.py +++ b/src/social/api/serializers.py @@ -2,6 +2,9 @@ # Copyright © Fundacja Wolne Lektury. See NOTICE for more information. # from rest_framework import serializers +import bookmarks.api.views +import bookmarks.models +import catalogue.api.serializers import catalogue.models from social import models @@ -87,7 +90,20 @@ class UserListItemSerializer(serializers.ModelSerializer): queryset=catalogue.models.Book.objects.all(), source='book', slug_field='slug', - required=False + required=False, + allow_null=True + ) + bookmark = serializers.SlugRelatedField( + queryset=bookmarks.models.Bookmark.objects.all(), + slug_field='uuid', + required=False, + allow_null=True + ) + quote = serializers.SlugRelatedField( + queryset=bookmarks.models.Quote.objects.all(), + slug_field='uuid', + required=False, + allow_null=True ) class Meta: @@ -114,6 +130,28 @@ class UserListItemSerializer(serializers.ModelSerializer): } +class UserListItemReadSerializer(UserListItemSerializer): + book = catalogue.api.serializers.BookSerializer2() + bookmark = bookmarks.api.views.BookmarkSerializer() + class Meta: + model = models.UserListItem + fields = [ + 'client_id', + 'uuid', + 'order', + 'list_slug', + 'timestamp', + 'favorites', + 'deleted', + + 'book', + 'fragment', + 'quote', + 'bookmark', + 'note', + ] + + class UserListSerializerV3(serializers.ModelSerializer): client_id = serializers.CharField(write_only=True, required=False) timestamp = serializers.IntegerField(required=False)