gault-millau/apps/news/views/common.py

38 lines
1.2 KiB
Python

from rest_framework import generics, permissions
from news.models import News
from news.serializers import common as serializers
from utils.views import JWTViewMixin
class NewsList(JWTViewMixin, generics.ListAPIView):
"""News list view."""
queryset = News.objects.all()
permission_classes = (permissions.AllowAny, )
serializer_class = serializers.NewsSerializer
class NewsCreate(generics.CreateAPIView):
"""News list view."""
queryset = News.objects.all()
permission_classes = (permissions.IsAuthenticated, )
serializer_class = serializers.NewsCreateUpdateSerializer
class NewsDetail(generics.RetrieveAPIView):
"""News detail view."""
queryset = News.objects.all()
permission_classes = (permissions.AllowAny, )
serializer_class = serializers.NewsSerializer
class NewsDelete(generics.DestroyAPIView):
"""News delete view."""
queryset = News.objects.all()
permission_classes = (permissions.IsAuthenticated, )
class NewsUpdate(generics.UpdateAPIView):
"""News update view."""
queryset = News.objects.all()
permission_classes = (permissions.IsAuthenticated, )
serializer_class = serializers.NewsCreateUpdateSerializer