Parcourir la source

Converted device component views to a router

Jeremy Stretch il y a 8 ans
Parent
commit
7beac0b105
3 fichiers modifiés avec 37 ajouts et 36 suppressions
  1. 29 28
      netbox/dcim/api/urls.py
  2. 7 7
      netbox/dcim/api/views.py
  3. 1 1
      netbox/ipam/api/views.py

+ 29 - 28
netbox/dcim/api/urls.py

@@ -4,26 +4,54 @@ from rest_framework import routers
 
 from extras.models import GRAPH_TYPE_INTERFACE, GRAPH_TYPE_SITE
 from extras.api.views import GraphListView, TopologyMapView
-from ipam.api.views import ChildServiceViewSet
+from ipam.api.views import ServiceViewSet, DeviceServiceViewSet
 
 from . import views
 
 
 router = routers.DefaultRouter()
+
+# Sites
 router.register(r'sites', views.SiteViewSet)
+
+# Racks
 router.register(r'rack-groups', views.RackGroupViewSet)
 router.register(r'rack-roles', views.RackRoleViewSet)
 router.register(r'racks', views.RackViewSet)
+
+# Device types
 router.register(r'manufacturers', views.ManufacturerViewSet)
 router.register(r'device-types', views.DeviceTypeViewSet)
+
+# Devices
 router.register(r'device-roles', views.DeviceRoleViewSet)
 router.register(r'platforms', views.PlatformViewSet)
 router.register(r'devices', views.DeviceViewSet)
+router.register(r'console-ports', views.ConsolePortViewSet)
+router.register(r'console-server-ports', views.ConsoleServerPortViewSet)
+router.register(r'power-ports', views.PowerPortViewSet)
+router.register(r'power-outlets', views.PowerOutletViewSet)
+router.register(r'interfaces', views.InterfaceViewSet)
 router.register(r'interface-connections', views.InterfaceConnectionViewSet)
+router.register(r'device-bays', views.DeviceBayViewSet)
+router.register(r'modules', views.ModuleViewSet)
+router.register(r'services', ServiceViewSet)
+
+# Device components
+device_router = routers.DefaultRouter()
+device_router.register(r'console-ports', views.DeviceConsolePortViewSet, base_name='consoleport')
+device_router.register(r'console-server-ports', views.DeviceConsoleServerPortViewSet, base_name='consoleserverport')
+device_router.register(r'power-ports', views.DevicePowerPortViewSet, base_name='powerport')
+device_router.register(r'power-outlets', views.DevicePowerOutletViewSet, base_name='poweroutlet')
+device_router.register(r'interfaces', views.DeviceInterfaceViewSet, base_name='interface')
+device_router.register(r'device-bays', views.DeviceDeviceBayViewSet, base_name='devicebay')
+device_router.register(r'modules', views.DeviceModuleViewSet, base_name='module')
+device_router.register(r'services', DeviceServiceViewSet, base_name='service')
 
 urlpatterns = [
 
     url(r'', include(router.urls)),
+    url(r'^devices/(?P<pk>\d+)/', include(device_router.urls)),
 
     # Sites
     url(r'^sites/(?P<pk>\d+)/graphs/$', GraphListView.as_view(), {'type': GRAPH_TYPE_SITE}, name='site_graphs'),
@@ -36,38 +64,11 @@ urlpatterns = [
 
     # Devices
     url(r'^devices/(?P<pk>\d+)/lldp-neighbors/$', views.LLDPNeighborsView.as_view(), name='device_lldp-neighbors'),
-    url(r'^devices/(?P<pk>\d+)/console-ports/$', views.ChildConsolePortViewSet.as_view({'get': 'list'}), name='consoleport-list'),
-    url(r'^devices/(?P<pk>\d+)/console-server-ports/$', views.ChildConsoleServerPortViewSet.as_view({'get': 'list'}), name='consoleserverport-list'),
-    url(r'^devices/(?P<pk>\d+)/power-ports/$', views.ChildPowerPortViewSet.as_view({'get': 'list'}), name='powerport-list'),
-    url(r'^devices/(?P<pk>\d+)/power-outlets/$', views.ChildPowerOutletViewSet.as_view({'get': 'list'}), name='poweroutlet-list'),
-    url(r'^devices/(?P<pk>\d+)/interfaces/$', views.ChildInterfaceViewSet.as_view({'get': 'list'}), name='interface-list'),
-    url(r'^devices/(?P<pk>\d+)/device-bays/$', views.ChildDeviceBayViewSet.as_view({'get': 'list'}), name='devicebay-list'),
-    url(r'^devices/(?P<pk>\d+)/modules/$', views.ChildModuleViewSet.as_view({'get': 'list'}), name='module-list'),
-    url(r'^devices/(?P<pk>\d+)/services/$', ChildServiceViewSet.as_view({'get': 'list'}), name='service-list'),
-
-    # Console ports
-    url(r'^console-ports/(?P<pk>\d+)/$', views.ConsolePortViewSet.as_view({'get': 'retrieve'}), name='consoleport-detail'),
-
-    # Console server ports
-    url(r'^console-server-ports/(?P<pk>\d+)/$', views.ConsoleServerPortViewSet.as_view({'get': 'retrieve'}), name='consoleserverport-detail'),
-
-    # Power ports
-    url(r'^power-ports/(?P<pk>\d+)/$', views.PowerPortViewSet.as_view({'get': 'retrieve'}), name='powerport-detail'),
-
-    # Power outlets
-    url(r'^power-outlets/(?P<pk>\d+)/$', views.PowerOutletViewSet.as_view({'get': 'retrieve'}), name='poweroutlet-detail'),
 
     # Interfaces
-    url(r'^interfaces/(?P<pk>\d+)/$', views.InterfaceViewSet.as_view({'get': 'retrieve'}), name='interface-detail'),
     url(r'^interfaces/(?P<pk>\d+)/graphs/$', GraphListView.as_view(), {'type': GRAPH_TYPE_INTERFACE},
         name='interface_graphs'),
 
-    # Device bays
-    url(r'^device-bays/(?P<pk>\d+)/$', views.DeviceBayViewSet.as_view({'get': 'retrieve'}), name='devicebay-detail'),
-
-    # Modules
-    url(r'^modules/(?P<pk>\d+)/$', views.ModuleViewSet.as_view({'get': 'retrieve'}), name='module-detail'),
-
     # Miscellaneous
     url(r'^related-connections/$', views.RelatedConnectionsView.as_view(), name='related_connections'),
     url(r'^topology-maps/(?P<slug>[\w-]+)/$', TopologyMapView.as_view(), name='topology_map'),

+ 7 - 7
netbox/dcim/api/views.py

@@ -150,7 +150,7 @@ class ConsolePortViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin
     serializer_class = serializers.ConsolePortSerializer
 
 
-class ChildConsolePortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
+class DeviceConsolePortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
     serializer_class = serializers.DeviceConsolePortSerializer
 
     def get_queryset(self):
@@ -168,7 +168,7 @@ class ConsoleServerPortViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyMode
     serializer_class = serializers.ConsoleServerPortSerializer
 
 
-class ChildConsoleServerPortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
+class DeviceConsoleServerPortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
     serializer_class = serializers.DeviceConsoleServerPortSerializer
 
     def get_queryset(self):
@@ -186,7 +186,7 @@ class PowerPortViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin,
     serializer_class = serializers.PowerPortSerializer
 
 
-class ChildPowerPortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
+class DevicePowerPortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
     serializer_class = serializers.DevicePowerPortSerializer
 
     def get_queryset(self):
@@ -204,7 +204,7 @@ class PowerOutletViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin
     serializer_class = serializers.PowerOutletSerializer
 
 
-class ChildPowerOutletViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
+class DevicePowerOutletViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
     serializer_class = serializers.DevicePowerOutletSerializer
 
     def get_queryset(self):
@@ -222,7 +222,7 @@ class InterfaceViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin,
     serializer_class = serializers.InterfaceSerializer
 
 
-class ChildInterfaceViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
+class DeviceInterfaceViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
     serializer_class = serializers.DeviceInterfaceSerializer
     filter_class = filters.InterfaceFilter
 
@@ -242,7 +242,7 @@ class DeviceBayViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin,
     serializer_class = serializers.DeviceBaySerializer
 
 
-class ChildDeviceBayViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
+class DeviceDeviceBayViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
     serializer_class = serializers.ChildDeviceBaySerializer
 
     def get_queryset(self):
@@ -259,7 +259,7 @@ class ModuleViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin, Wri
     serializer_class = serializers.ModuleSerializer
 
 
-class ChildModuleViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
+class DeviceModuleViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
     serializer_class = serializers.ChildModuleSerializer
 
     def get_queryset(self):

+ 1 - 1
netbox/ipam/api/views.py

@@ -100,7 +100,7 @@ class ServiceViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin, Wr
     serializer_class = serializers.ServiceSerializer
 
 
-class ChildServiceViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
+class DeviceServiceViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet):
     serializer_class = serializers.ChildServiceSerializer
 
     def get_queryset(self):