X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/4c459c790ea52c2df629173946a8ddb80935ea32..572ee91a188114e383712eac2426dab3bcef6c00:/src/catalogue/api/views.py?ds=sidebyside diff --git a/src/catalogue/api/views.py b/src/catalogue/api/views.py index 7457b6f1b..e5005e2de 100644 --- a/src/catalogue/api/views.py +++ b/src/catalogue/api/views.py @@ -226,6 +226,18 @@ class BookList2(ListAPIView): return books +class BookRecommendationsView(ListAPIView): + serializer_class = serializers.BookSerializer2 + pagination_class = None + + def get_queryset(self): + book = get_object_or_404( + Book, + slug=self.kwargs['slug'] + ) + return book.get_recommended(limit=3) + + class BookList11Labs(BookList2): serializer_class = serializers.BookSerializer11Labs @@ -259,7 +271,7 @@ class BookSyncView(RetrieveAPIView): instance = self.get_object() return Response([ {"id": i, "timestamp": ts} - for (i, ts) in json.loads(instance.get_sync()) + for (i, ts) in instance.get_sync() ]) @@ -544,6 +556,15 @@ class BookFragmentView(RetrieveAPIView): return book.choose_fragment() +class BookChildrenView(ListAPIView): + serializer_class = serializers.BookSerializer2 + pagination_class = None + + def get_queryset(self): + book = get_object_or_404(Book, slug=self.kwargs['slug']) + return book.get_children() + + class BookMediaView(ListAPIView): serializer_class = serializers.MediaSerializer2 pagination_class = None