blob: 6a08daaf3e74efeba1ae976ba048b4ae47a25e0c [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
17 if 'auth' not in request.DATA
18 return Response(status=status.HTTP_400_BAD_REQUEST)
19 else if 'name' in request.DATA:
20 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