api: check hoster state

This commit is contained in:
Laura Klünder 2016-09-29 19:35:08 +02:00
parent 3707469eed
commit 8e5b0d8afc

View file

@ -1,4 +1,5 @@
from django.http import Http404
from rest_framework.decorators import detail_route
from rest_framework.response import Response
from rest_framework.viewsets import ViewSet
@ -11,11 +12,17 @@ class HosterViewSet(ViewSet):
Get Package Hosters
"""
def list(self, request, version=None):
serializer = HosterSerializer(hosters.values(), many=True, context={'request': request})
serializer = HosterSerializer(hosters.values(), many=True)
return Response(serializer.data)
def retrieve(self, request, pk=None, version=None):
if pk not in hosters:
raise Http404
serializer = HosterSerializer(hosters[pk], context={'request': request})
serializer = HosterSerializer(hosters[pk])
return Response(serializer.data)
@detail_route(methods=['get'])
def state(self, request, pk=None, version=None):
if pk not in hosters:
raise Http404
return Response(hosters[pk].get_state(request))