From 0f9fe8648e0b0e73e42ac9ea855793a936f2b732 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 26 Jan 2017 15:34:07 -0500 Subject: [PATCH] Converted static URL definitions to routers --- netbox/circuits/api/urls.py | 23 +++++++------- netbox/dcim/api/urls.py | 60 +++++++++++++++++-------------------- netbox/ipam/api/urls.py | 56 ++++++++++++---------------------- netbox/secrets/api/urls.py | 21 +++++++++---- netbox/tenancy/api/urls.py | 18 +++++------ 5 files changed, 83 insertions(+), 95 deletions(-) diff --git a/netbox/circuits/api/urls.py b/netbox/circuits/api/urls.py index 956b87207..58c370449 100644 --- a/netbox/circuits/api/urls.py +++ b/netbox/circuits/api/urls.py @@ -1,25 +1,24 @@ -from django.conf.urls import url +from django.conf.urls import include, url + +from rest_framework import routers from extras.models import GRAPH_TYPE_PROVIDER from extras.api.views import GraphListView -from .views import * +from .views import CircuitViewSet, CircuitTypeViewSet, ProviderViewSet +router = routers.DefaultRouter() +router.register(r'providers', ProviderViewSet) +router.register(r'circuit-types', CircuitTypeViewSet) +router.register(r'circuits', CircuitViewSet) + urlpatterns = [ + url(r'', include(router.urls)), + # Providers - url(r'^providers/$', ProviderViewSet.as_view({'get': 'list'}), name='provider_list'), - url(r'^providers/(?P\d+)/$', ProviderViewSet.as_view({'get': 'retrieve'}), name='provider_detail'), url(r'^providers/(?P\d+)/graphs/$', GraphListView.as_view(), {'type': GRAPH_TYPE_PROVIDER}, name='provider_graphs'), - # Circuit types - url(r'^circuit-types/$', CircuitTypeViewSet.as_view({'get': 'list'}), name='circuittype_list'), - url(r'^circuit-types/(?P\d+)/$', CircuitTypeViewSet.as_view({'get': 'retrieve'}), name='circuittype_detail'), - - # Circuits - url(r'^circuits/$', CircuitViewSet.as_view({'get': 'list'}), name='circuit_list'), - url(r'^circuits/(?P\d+)/$', CircuitViewSet.as_view({'get': 'retrieve'}), name='circuit_detail'), - ] diff --git a/netbox/dcim/api/urls.py b/netbox/dcim/api/urls.py index a0ea5796b..d31d901c6 100644 --- a/netbox/dcim/api/urls.py +++ b/netbox/dcim/api/urls.py @@ -1,50 +1,45 @@ -from django.conf.urls import url +from django.conf.urls import include, url + +from rest_framework import routers from extras.models import GRAPH_TYPE_INTERFACE, GRAPH_TYPE_SITE from extras.api.views import GraphListView, TopologyMapView -from .views import * +from .views import ( + # Viewsets + ConsolePortViewSet, ConsoleServerPortViewSet, DeviceViewSet, DeviceBayViewSet, DeviceRoleViewSet, DeviceTypeViewSet, + InterfaceViewSet, ManufacturerViewSet, ModuleViewSet, PlatformViewSet, PowerPortViewSet, PowerOutletViewSet, + RackViewSet, RackGroupViewSet, RackRoleViewSet, SiteViewSet, + + # Legacy views + ConsolePortView, InterfaceConnectionView, InterfaceConnectionListView, InterfaceDetailView, PowerPortView, + LLDPNeighborsView, RackUnitListView, RelatedConnectionsView, +) + + +router = routers.DefaultRouter() +router.register(r'sites', SiteViewSet) +router.register(r'rack-groups', RackGroupViewSet) +router.register(r'rack-roles', RackRoleViewSet) +router.register(r'racks', RackViewSet) +router.register(r'manufacturers', ManufacturerViewSet) +router.register(r'device-types', DeviceTypeViewSet) +router.register(r'device-roles', DeviceRoleViewSet) +router.register(r'platforms', PlatformViewSet) +router.register(r'devices', DeviceViewSet) urlpatterns = [ + url(r'', include(router.urls)), + # Sites - url(r'^sites/$', SiteViewSet.as_view({'get': 'list'}), name='site_list'), - url(r'^sites/(?P\d+)/$', SiteViewSet.as_view({'get': 'retrieve'}), name='site_detail'), url(r'^sites/(?P\d+)/graphs/$', GraphListView.as_view(), {'type': GRAPH_TYPE_SITE}, name='site_graphs'), - # Rack groups - url(r'^rack-groups/$', RackGroupViewSet.as_view({'get': 'list'}), name='rackgroup_list'), - url(r'^rack-groups/(?P\d+)/$', RackGroupViewSet.as_view({'get': 'retrieve'}), name='rackgroup_detail'), - - # Rack roles - url(r'^rack-roles/$', RackRoleViewSet.as_view({'get': 'list'}), name='rackrole_list'), - url(r'^rack-roles/(?P\d+)/$', RackRoleViewSet.as_view({'get': 'retrieve'}), name='rackrole_detail'), - # Racks - url(r'^racks/$', RackViewSet.as_view({'get': 'list'}), name='rack_list'), - url(r'^racks/(?P\d+)/$', RackViewSet.as_view({'get': 'retrieve'}), name='rack_detail'), url(r'^racks/(?P\d+)/rack-units/$', RackUnitListView.as_view(), name='rack_units'), - # Manufacturers - url(r'^manufacturers/$', ManufacturerViewSet.as_view({'get': 'list'}), name='manufacturer_list'), - url(r'^manufacturers/(?P\d+)/$', ManufacturerViewSet.as_view({'get': 'retrieve'}), name='manufacturer_detail'), - - # Device types - url(r'^device-types/$', DeviceTypeViewSet.as_view({'get': 'list'}), name='devicetype_list'), - url(r'^device-types/(?P\d+)/$', DeviceTypeViewSet.as_view({'get': 'retrieve'}), name='devicetype_detail'), - - # Device roles - url(r'^device-roles/$', DeviceRoleViewSet.as_view({'get': 'list'}), name='devicerole_list'), - url(r'^device-roles/(?P\d+)/$', DeviceRoleViewSet.as_view({'get': 'retrieve'}), name='devicerole_detail'), - - # Platforms - url(r'^platforms/$', PlatformViewSet.as_view({'get': 'list'}), name='platform_list'), - url(r'^platforms/(?P\d+)/$', PlatformViewSet.as_view({'get': 'retrieve'}), name='platform_detail'), - # Devices - url(r'^devices/$', DeviceViewSet.as_view({'get': 'list'}), name='device_list'), - url(r'^devices/(?P\d+)/$', DeviceViewSet.as_view({'get': 'retrieve'}), name='device_detail'), url(r'^devices/(?P\d+)/lldp-neighbors/$', LLDPNeighborsView.as_view(), name='device_lldp-neighbors'), url(r'^devices/(?P\d+)/console-ports/$', ConsolePortViewSet.as_view({'get': 'list'}), name='device_consoleports'), url(r'^devices/(?P\d+)/console-server-ports/$', ConsoleServerPortViewSet.as_view({'get': 'list'}), name='device_consoleserverports'), @@ -53,6 +48,7 @@ urlpatterns = [ url(r'^devices/(?P\d+)/interfaces/$', InterfaceViewSet.as_view({'get': 'list'}), name='device_interfaces'), url(r'^devices/(?P\d+)/device-bays/$', DeviceBayViewSet.as_view({'get': 'list'}), name='device_devicebays'), url(r'^devices/(?P\d+)/modules/$', ModuleViewSet.as_view({'get': 'list'}), name='device_modules'), + # TODO: Services # Console ports url(r'^console-ports/(?P\d+)/$', ConsolePortView.as_view(), name='consoleport'), diff --git a/netbox/ipam/api/urls.py b/netbox/ipam/api/urls.py index 19aef2798..b74739d0d 100644 --- a/netbox/ipam/api/urls.py +++ b/netbox/ipam/api/urls.py @@ -1,44 +1,26 @@ -from django.conf.urls import url +from django.conf.urls import include, url -from .views import * +from rest_framework import routers +from .views import ( + AggregateViewSet, IPAddressViewSet, PrefixViewSet, RIRViewSet, RoleViewSet, ServiceViewSet, VLANViewSet, + VLANGroupViewSet, VRFViewSet, +) + + +router = routers.DefaultRouter() +router.register(r'vrfs', VRFViewSet) +router.register(r'rirs', RIRViewSet) +router.register(r'aggregates', AggregateViewSet) +router.register(r'roles', RoleViewSet) +router.register(r'prefixes', PrefixViewSet) +router.register(r'ip-addresses', IPAddressViewSet) +router.register(r'vlan-groups', VLANGroupViewSet) +router.register(r'vlans', VLANViewSet) +router.register(r'services', ServiceViewSet) urlpatterns = [ - # VRFs - url(r'^vrfs/$', VRFViewSet.as_view({'get': 'list'}), name='vrf_list'), - url(r'^vrfs/(?P\d+)/$', VRFViewSet.as_view({'get': 'retrieve'}), name='vrf_detail'), - - # Roles - url(r'^roles/$', RoleViewSet.as_view({'get': 'list'}), name='role_list'), - url(r'^roles/(?P\d+)/$', RoleViewSet.as_view({'get': 'retrieve'}), name='role_detail'), - - # RIRs - url(r'^rirs/$', RIRViewSet.as_view({'get': 'list'}), name='rir_list'), - url(r'^rirs/(?P\d+)/$', RIRViewSet.as_view({'get': 'retrieve'}), name='rir_detail'), - - # Aggregates - url(r'^aggregates/$', AggregateViewSet.as_view({'get': 'list'}), name='aggregate_list'), - url(r'^aggregates/(?P\d+)/$', AggregateViewSet.as_view({'get': 'retrieve'}), name='aggregate_detail'), - - # Prefixes - url(r'^prefixes/$', PrefixViewSet.as_view({'get': 'list'}), name='prefix_list'), - url(r'^prefixes/(?P\d+)/$', PrefixViewSet.as_view({'get': 'retrieve'}), name='prefix_detail'), - - # IP addresses - url(r'^ip-addresses/$', IPAddressViewSet.as_view({'get': 'list'}), name='ipaddress_list'), - url(r'^ip-addresses/(?P\d+)/$', IPAddressViewSet.as_view({'get': 'retrieve'}), name='ipaddress_detail'), - - # VLAN groups - url(r'^vlan-groups/$', VLANGroupViewSet.as_view({'get': 'list'}), name='vlangroup_list'), - url(r'^vlan-groups/(?P\d+)/$', VLANGroupViewSet.as_view({'get': 'retrieve'}), name='vlangroup_detail'), - - # VLANs - url(r'^vlans/$', VLANViewSet.as_view({'get': 'list'}), name='vlan_list'), - url(r'^vlans/(?P\d+)/$', VLANViewSet.as_view({'get': 'retrieve'}), name='vlan_detail'), - - # Services - url(r'^services/$', ServiceViewSet.as_view({'get': 'list'}), name='service_list'), - url(r'^services/(?P\d+)/$', ServiceViewSet.as_view({'get': 'retrieve'}), name='service_detail'), + url(r'', include(router.urls)), ] diff --git a/netbox/secrets/api/urls.py b/netbox/secrets/api/urls.py index 2ad2abc1e..14579dd3f 100644 --- a/netbox/secrets/api/urls.py +++ b/netbox/secrets/api/urls.py @@ -1,13 +1,24 @@ -from django.conf.urls import url +from django.conf.urls import include, url -from .views import * +from rest_framework import routers +from .views import ( + + # Viewsets + SecretRoleViewSet, + + # Legacy views + RSAKeyGeneratorView, SecretDetailView, SecretListView, + +) + + +router = routers.DefaultRouter() +router.register(r'secret-roles', SecretRoleViewSet) urlpatterns = [ - # Secret roles - url(r'^secret-roles/$', SecretRoleViewSet.as_view({'get': 'list'}), name='secretrole_list'), - url(r'^secret-roles/(?P\d+)/$', SecretRoleViewSet.as_view({'get': 'retrieve'}), name='secretrole_detail'), + url(r'', include(router.urls)), # Secrets url(r'^secrets/$', SecretListView.as_view(), name='secret_list'), diff --git a/netbox/tenancy/api/urls.py b/netbox/tenancy/api/urls.py index 457327855..c21e8ccda 100644 --- a/netbox/tenancy/api/urls.py +++ b/netbox/tenancy/api/urls.py @@ -1,16 +1,16 @@ -from django.conf.urls import url +from django.conf.urls import include, url -from .views import * +from rest_framework import routers +from views import TenantViewSet, TenantGroupViewSet + + +router = routers.DefaultRouter() +router.register(r'tenant-groups', TenantGroupViewSet) +router.register(r'tenants', TenantViewSet) urlpatterns = [ - # Tenant groups - url(r'^tenant-groups/$', TenantGroupViewSet.as_view({'get': 'list'}), name='tenantgroup_list'), - url(r'^tenant-groups/(?P\d+)/$', TenantGroupViewSet.as_view({'get': 'retrieve'}), name='tenantgroup_detail'), - - # Tenants - url(r'^tenants/$', TenantViewSet.as_view({'get': 'list'}), name='tenant_list'), - url(r'^tenants/(?P\d+)/$', TenantViewSet.as_view({'get': 'retrieve'}), name='tenant_detail'), + url(r'', include(router.urls)), ]