Using Piston auth in DRF views. Replacing API views.
[wolnelektury.git] / src / catalogue / api / views.py
1 from django.http import HttpResponse
2 from rest_framework.generics import ListAPIView, RetrieveAPIView
3 from paypal.permissions import IsSubscribed
4 from . import serializers
5 from catalogue.models import Book, Collection
6
7
8 class CollectionList(ListAPIView):
9     queryset = Collection.objects.all()
10     serializer_class = serializers.CollectionListSerializer
11
12
13 class CollectionDetail(RetrieveAPIView):
14     queryset = Collection.objects.all()
15     lookup_field = 'slug'
16     serializer_class = serializers.CollectionSerializer
17
18
19 class BookDetail(RetrieveAPIView):
20     queryset = Book.objects.all()
21     lookup_field = 'slug'
22     serializer_class = serializers.BookDetailSerializer
23
24
25 class EpubView(RetrieveAPIView):
26     queryset = Book.objects.all()
27     lookup_field = 'slug'
28     permission_classes = [IsSubscribed]
29
30     def get(self, *args, **kwargs):
31         return HttpResponse(self.get_object().get_media('epub'))