mirror of
https://github.com/fergalmoran/ferglie.git
synced 2026-01-04 15:45:18 +00:00
MVP Done
This commit is contained in:
44
shortio/api.py
Executable file
44
shortio/api.py
Executable file
@@ -0,0 +1,44 @@
|
||||
from rest_framework import generics, permissions
|
||||
|
||||
from shorts.permissions import UrlAuthorCanEditPermission
|
||||
from .models import User, Url
|
||||
from .serializers import UserSerializer, UrlSerializer
|
||||
|
||||
|
||||
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'))
|
||||
Reference in New Issue
Block a user