gault-millau/apps/collection/views/common.py
2019-08-21 12:09:21 +03:00

104 lines
3.2 KiB
Python

from rest_framework import generics
from rest_framework import permissions
from collection import models
from collection.serializers import common as serializers
# Mixins
class CollectionViewMixin(generics.GenericAPIView):
"""Mixin for Collection view"""
model = models.Collection
queryset = models.Collection.objects.all()
class CollectionItemViewMixin(generics.GenericAPIView):
"""Mixin for CollectionItem view"""
model = models.CollectionItem
queryset = models.CollectionItem.objects.all()
class GuideViewMixin(generics.GenericAPIView):
"""Mixin for Guide view"""
model = models.Guide
queryset = models.Guide.objects.all()
# Views
class CollectionListView(CollectionViewMixin, generics.ListAPIView):
"""List Collection view"""
permission_classes = (permissions.AllowAny,)
serializer_class = serializers.CollectionSerializer
class CollectionRetrieveView(CollectionViewMixin, generics.RetrieveAPIView):
"""Retrieve Collection view"""
serializer_class = serializers.CollectionSerializer
class CollectionCreateView(CollectionViewMixin, generics.CreateAPIView):
"""Create Collection view"""
serializer_class = serializers.CollectionSerializer
class CollectionDestroyView(CollectionViewMixin, generics.DestroyAPIView):
"""Destroy Collection view"""
serializer_class = serializers.CollectionSerializer
class CollectionUpdateView(CollectionViewMixin, generics.UpdateAPIView):
"""Update Collection view"""
serializer = serializers.CollectionSerializer
class CollectionItemListView(CollectionItemViewMixin, generics.ListAPIView):
"""List CollectionItem view"""
permission_classes = (permissions.AllowAny,)
serializer_class = serializers.CollectionItemSerializer
class CollectionItemRetrieveView(CollectionItemViewMixin, generics.RetrieveAPIView):
"""Retrieve CollectionItem view"""
serializer_class = serializers.CollectionItemSerializer
class CollectionItemCreateView(CollectionItemViewMixin, generics.CreateAPIView):
"""Create CollectionItem view"""
serializer_class = serializers.CollectionItemSerializer
class CollectionItemDestroyView(CollectionItemViewMixin, generics.DestroyAPIView):
"""Destroy CollectionItem view"""
serializer_class = serializers.CollectionItemSerializer
class CollectionItemUpdateView(CollectionItemViewMixin, generics.UpdateAPIView):
"""Update CollectionItem view"""
serializer = serializers.CollectionItemSerializer
class GuideListView(GuideViewMixin, generics.ListAPIView):
"""List Guide view"""
permission_classes = (permissions.AllowAny,)
serializer_class = serializers.GuideSerializer
class GuideRetrieveView(GuideViewMixin, generics.RetrieveAPIView):
"""Retrieve Guide view"""
serializer_class = serializers.GuideSerializer
class GuideCreateView(GuideViewMixin, generics.CreateAPIView):
"""Create Guide view"""
serializer_class = serializers.GuideSerializer
class GuideDestroyView(GuideViewMixin, generics.DestroyAPIView):
"""Destroy Guide view"""
serializer_class = serializers.GuideSerializer
class GuideUpdateView(GuideViewMixin, generics.UpdateAPIView):
"""Update Guide view"""
serializer = serializers.GuideSerializer