blob: 5a0fb41cf6700197504b0d12b2f0958f6bde37b4 [file] [log] [blame]
Tony Mack78174092013-04-07 20:17:38 -04001from django.http import Http404
2from rest_framework.views import APIView
3from rest_framework.response import Response
4from rest_framework import status
5
Tony Mack9f237972013-04-07 23:43:11 -04006from plstackapi.planetstack.api.roles import add_role, delete_role, get_roles
7from plstackapi.planetstack.serializers import RoleSerializer
Tony Mack78174092013-04-07 20:17:38 -04008
9
10class RoleListCreate(APIView):
11 """
12 List all roles or create a new role.
13 """
14
15 def post(self, request, format = None):
Tony Mack9f237972013-04-07 23:43:11 -040016
Tony Mackdca8dab2013-04-08 00:24:43 -040017 if 'auth' not in request.DATA:
Tony Mack9f237972013-04-07 23:43:11 -040018 return Response(status=status.HTTP_400_BAD_REQUEST)
Tony Macked069ac2013-04-08 00:26:13 -040019 elif 'name' in request.DATA:
Tony Mack9f237972013-04-07 23:43:11 -040020 role = add_role(request.DATA['auth'], request.DATA['name'])
21 serializer = RoleSerializer(data=role)
22 return Response(serializer.data, status=status.HTTP_201_CREATED)
23 else:
24 roles = get_roles(request.DATA['auth'])
25 serializer = RoleSerializer(roles, many=True)
26 return Response(Serializer.data)
27
28
29
30
31
Tony Mack78174092013-04-07 20:17:38 -040032