From 6d5a9dc3140e675dd8659cc47a8f397ccd56e540 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Kervella?= Date: Wed, 20 Jun 2018 12:13:23 +0000 Subject: [PATCH] Add missing topologie/server endpoint --- api/serializers.py | 8 ++++++++ api/tests.py | 3 +++ api/urls.py | 1 + api/views.py | 7 +++++++ 4 files changed, 19 insertions(+) diff --git a/api/serializers.py b/api/serializers.py index a1e73091..26abc1c3 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -400,6 +400,14 @@ class SwitchSerializer(NamespacedHMSerializer): 'stack_member_id', 'model', 'switchbay', 'api_url') +class ServerSerializer(NamespacedHMSerializer): + """Serialize `topologie.models.Server` objects + """ + class Meta: + model = topologie.Server + fields = ('user', 'name', 'active', 'api_url') + + class ModelSwitchSerializer(NamespacedHMSerializer): """Serialize `topologie.models.ModelSwitch` objects """ diff --git a/api/tests.py b/api/tests.py index 5c4122bd..3120676a 100644 --- a/api/tests.py +++ b/api/tests.py @@ -120,6 +120,8 @@ class APIEndpointsTestCase(APITestCase): # '/api/topologie/modelswitch//', '/api/topologie/room/', # '/api/topologie/room//', + '/api/topologie/server/', +# '/api/topologie/server//', '/api/topologie/stack/', # '/api/topologie/stack//', '/api/topologie/switch/', @@ -362,6 +364,7 @@ class APIPaginationTestCase(APITestCase): '/api/topologie/constructorswitch/', '/api/topologie/modelswitch/', '/api/topologie/room/', + '/api/topologie/server/', '/api/topologie/stack/', '/api/topologie/switch/', '/api/topologie/switchbay/', diff --git a/api/urls.py b/api/urls.py index 9d6b5f5e..a04d6fbe 100644 --- a/api/urls.py +++ b/api/urls.py @@ -73,6 +73,7 @@ router.register_view(r'preferences/mailmessageoption', views.MailMessageOptionVi router.register_viewset(r'topologie/stack', views.StackViewSet) router.register_viewset(r'topologie/acesspoint', views.AccessPointViewSet) router.register_viewset(r'topologie/switch', views.SwitchViewSet) +router.register_viewset(r'topologie/server', views.ServerViewSet) router.register_viewset(r'topologie/modelswitch', views.ModelSwitchViewSet) router.register_viewset(r'topologie/constructorswitch', views.ConstructorSwitchViewSet) router.register_viewset(r'topologie/switchbay', views.SwitchBayViewSet) diff --git a/api/views.py b/api/views.py index 9ee6ea75..7532aece 100644 --- a/api/views.py +++ b/api/views.py @@ -339,6 +339,13 @@ class SwitchViewSet(viewsets.ReadOnlyModelViewSet): serializer_class = serializers.SwitchSerializer +class ServerViewSet(viewsets.ReadOnlyModelViewSet): + """Exposes list and details of `topologie.models.Server` objects. + """ + queryset = topologie.Server.objects.all() + serializer_class = serializers.ServerSerializer + + class ModelSwitchViewSet(viewsets.ReadOnlyModelViewSet): """Exposes list and details of `topologie.models.ModelSwitch` objects. """