blob: ef4849966f19768ec1009ec85984e195506e2d22 [file] [log] [blame]
Tony Mack316210e2013-04-09 09:50:36 -04001from django.http import Http404
2from rest_framework.views import APIView
3from rest_framework.response import Response
4from rest_framework import status
5
Tony Mackf1c12242013-04-09 16:08:43 -04006from plstackapi.core.api.flavors import add_flavor, delete_flavor, get_flavors
7from plstackapi.core.serializers import FlavorSerializer
Tony Mack316210e2013-04-09 09:50:36 -04008from plstackapi.util.request import parse_request
9
10
11class FlavorListCreate(APIView):
12 """
13 List all flavors or create a new flavor.
14 """
15
16 def post(self, request, format = None):
17 data = parse_request(request.DATA)
18 if 'auth' not in data:
19 return Response(status=status.HTTP_400_BAD_REQUEST)
20 elif 'flavor' in data:
21 """Not Implemented"""
22 return Response(status=status.HTTP_404_NOT_FOUND)
23 else:
24 flavors = get_flavors(data['auth'])
25 serializer = FlavorSerializer(flavors, many=True)
26 return Response(serializer.data)
27
28
29class FlavorRetrieveUpdateDestroy(APIView):
30 """
31 Retrieve, update or delete an flavor
32 """
33
34 def post(self, request, pk, format=None):
35 """Retrieve an flavor """
36 data = parse_request(request.DATA)
37 if 'auth' not in data:
38 return Response(status=status.HTTP_400_BAD_REQUEST)
39 flavors = get_flavors(data['auth'], {'id': pk})
40 if not flavors:
41 return Response(status=status.HTTP_404_NOT_FOUND)
42 serializer = FlavorSerializer(flavors[0])
43 return Response(serializer.data)
44
45 def put(self, request, pk, format=None):
46 """update flavor not implemnted"""
47 return Response(status=status.HTTP_404_NOT_FOUND)
48
49 def delete(self, request, pk, format=None):
50 """delete flavor not implemnted"""
51 return Response(status=status.HTTP_404_NOT_FOUND)
52
53
54
55