summaryrefslogtreecommitdiffstats
path: root/dashboard/src/api
diff options
context:
space:
mode:
authorSawyer Bergeron <sbergeron@iol.unh.edu>2018-02-16 15:50:22 -0500
committerSawyer Bergeron <sbergeron@iol.unh.edu>2018-02-16 15:50:22 -0500
commit3979c0cc8fc863b1661353e96e17ffa166abfa96 (patch)
treed68e8231d67f086724ef3a3617252048f7c91c84 /dashboard/src/api
parent7734f7abbf16bc2b86c93d4b8cc510b1d86862c4 (diff)
Expose Limited User Info Through API
Jira: PHAROS-362 Exposes info such as username and user email throught the API to facilitate better backend integration Change-Id: I8948f399000ffe41d5b75941f4a4195caaea91f4 Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
Diffstat (limited to 'dashboard/src/api')
-rw-r--r--dashboard/src/api/serializers.py7
-rw-r--r--dashboard/src/api/urls.py1
-rw-r--r--dashboard/src/api/views.py5
3 files changed, 13 insertions, 0 deletions
diff --git a/dashboard/src/api/serializers.py b/dashboard/src/api/serializers.py
index 1cc621a..10e1975 100644
--- a/dashboard/src/api/serializers.py
+++ b/dashboard/src/api/serializers.py
@@ -10,6 +10,7 @@
from rest_framework import serializers
+from account.models import UserProfile
from notifier.models import Notifier
from booking.models import Booking
from dashboard.models import Server, Resource, ResourceStatus
@@ -44,3 +45,9 @@ class NotifierSerializer(serializers.ModelSerializer):
class Meta:
model = Notifier
fields = ('id', 'title', 'content', 'user', 'sender', 'message_type', 'msg_sent')
+
+class UserSerializer(serializers.ModelSerializer):
+ username = serializers.CharField(source='user.username')
+ class Meta:
+ model = UserProfile
+ fields = ('user', 'username', 'ssh_public_key', 'pgp_public_key', 'email_addr')
diff --git a/dashboard/src/api/urls.py b/dashboard/src/api/urls.py
index 71cd3ef..c2cd510 100644
--- a/dashboard/src/api/urls.py
+++ b/dashboard/src/api/urls.py
@@ -34,6 +34,7 @@ router.register(r'servers', ServerViewSet)
router.register(r'bookings', BookingViewSet)
router.register(r'resource_status', ResourceStatusViewSet)
router.register(r'notifier', NotifierViewSet)
+router.register(r'user', UserViewSet)
urlpatterns = [
url(r'^', include(router.urls)),
diff --git a/dashboard/src/api/views.py b/dashboard/src/api/views.py
index c16d57d..b873ef1 100644
--- a/dashboard/src/api/views.py
+++ b/dashboard/src/api/views.py
@@ -16,6 +16,7 @@ from rest_framework import viewsets
from rest_framework.authtoken.models import Token
from api.serializers import *
+from account.models import UserProfile
from booking.models import Booking
from dashboard.models import Resource, Server, ResourceStatus
@@ -45,6 +46,10 @@ class NotifierViewSet(viewsets.ModelViewSet):
queryset = Notifier.objects.none()
serializer_class = NotifierSerializer
+class UserViewSet(viewsets.ModelViewSet):
+ queryset = UserProfile.objects.all()
+ serializer_class = UserSerializer
+
@method_decorator(login_required, name='dispatch')
class GenerateTokenView(View):
def get(self, request, *args, **kwargs):