taiga-back/greenmine/wiki/api.py

34 lines
1.1 KiB
Python

from rest_framework import generics
from greenmine.wiki.serializers import WikiPageSerializer, WikiPageAttachmentSerializer
from greenmine.wiki.models import WikiPage, WikiPageAttachment
from greenmine.wiki.permissions import WikiPageDetailPermission, WikiPageAttachmentDetailPermission
class WikiPageList(generics.ListCreateAPIView):
model = WikiPage
serializer_class = WikiPageSerializer
def get_queryset(self):
return self.model.objects.filter(project__members=self.request.user)
class WikiPageDetail(generics.RetrieveUpdateDestroyAPIView):
model = WikiPage
serializer_class = WikiPageSerializer
permission_classes = (WikiPageDetailPermission,)
class WikiPageAttachmentList(generics.ListCreateAPIView):
model = WikiPageAttachment
serializer_class = WikiPageAttachmentSerializer
def get_queryset(self):
return self.model.objects.filter(wikipage__project__members=self.request.user)
class WikiPageAttachmentDetail(generics.RetrieveUpdateDestroyAPIView):
model = WikiPageAttachment
serializer_class = WikiPageAttachmentSerializer
permission_classes = (WikiPageAttachmentDetailPermission,)