Files
ferglie/shorts/api.py
Fergal Moran 4333677844 Initial commit
2017-05-03 21:31:11 +01:00

46 lines
1021 B
Python
Executable File

from rest_framework import generics, permissions
from .serializers import UrlSerializer
from .models import Url
from shorts.permissions import UrlAuthorCanEditPermission
"""
class UserList(generics.ListCreateAPIView):
model = User
serializer_class = UserSerializer
permissions_classess = [
permissions.AllowAny
]
class UserDetail(generics.RetrieveAPIView):
model = User
serializer_class = UserSerializer
lookup_field = 'username'
"""
class UrlMixin(object):
model = Url
serializer_class = UrlSerializer
permission_classes = [
UrlAuthorCanEditPermission
]
class UrlList(UrlMixin, generics.ListCreateAPIView):
pass
class UrlDetail(UrlMixin, generics.RetrieveUpdateDestroyAPIView):
pass
class UserUrlList(generics.ListAPIView):
model = Url
serializer_class = UrlSerializer
def get_queryset(self):
queryset = super(UserUrlList, self).get_queryset()
return queryset.filter(user__username=self.kwargs.get('username'))