mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Initial work on API v2.0
This commit is contained in:
@@ -6,11 +6,11 @@ from .views import *
|
||||
urlpatterns = [
|
||||
|
||||
# Tenant groups
|
||||
url(r'^tenant-groups/$', TenantGroupListView.as_view(), name='tenantgroup_list'),
|
||||
url(r'^tenant-groups/(?P<pk>\d+)/$', TenantGroupDetailView.as_view(), name='tenantgroup_detail'),
|
||||
url(r'^tenant-groups/$', TenantGroupViewSet.as_view({'get': 'list'}), name='tenantgroup_list'),
|
||||
url(r'^tenant-groups/(?P<pk>\d+)/$', TenantGroupViewSet.as_view({'get': 'retrieve'}), name='tenantgroup_detail'),
|
||||
|
||||
# Tenants
|
||||
url(r'^tenants/$', TenantListView.as_view(), name='tenant_list'),
|
||||
url(r'^tenants/(?P<pk>\d+)/$', TenantDetailView.as_view(), name='tenant_detail'),
|
||||
url(r'^tenants/$', TenantViewSet.as_view({'get': 'list'}), name='tenant_list'),
|
||||
url(r'^tenants/(?P<pk>\d+)/$', TenantViewSet.as_view({'get': 'retrieve'}), name='tenant_detail'),
|
||||
|
||||
]
|
||||
|
@@ -1,40 +1,32 @@
|
||||
from rest_framework import generics
|
||||
from rest_framework.viewsets import ModelViewSet
|
||||
|
||||
from tenancy.models import Tenant, TenantGroup
|
||||
from tenancy.filters import TenantFilter
|
||||
|
||||
from extras.api.views import CustomFieldModelAPIView
|
||||
from extras.api.views import CustomFieldModelViewSet
|
||||
from . import serializers
|
||||
|
||||
|
||||
class TenantGroupListView(generics.ListAPIView):
|
||||
#
|
||||
# Tenant Groups
|
||||
#
|
||||
|
||||
class TenantGroupViewSet(ModelViewSet):
|
||||
"""
|
||||
List all tenant groups
|
||||
List and retrieve tenant groups
|
||||
"""
|
||||
queryset = TenantGroup.objects.all()
|
||||
serializer_class = serializers.TenantGroupSerializer
|
||||
|
||||
|
||||
class TenantGroupDetailView(generics.RetrieveAPIView):
|
||||
"""
|
||||
Retrieve a single circuit type
|
||||
"""
|
||||
queryset = TenantGroup.objects.all()
|
||||
serializer_class = serializers.TenantGroupSerializer
|
||||
#
|
||||
# Tenants
|
||||
#
|
||||
|
||||
|
||||
class TenantListView(CustomFieldModelAPIView, generics.ListAPIView):
|
||||
class TenantViewSet(CustomFieldModelViewSet):
|
||||
"""
|
||||
List tenants (filterable)
|
||||
List and retrieve tenants
|
||||
"""
|
||||
queryset = Tenant.objects.select_related('group').prefetch_related('custom_field_values__field')
|
||||
queryset = Tenant.objects.select_related('group')
|
||||
serializer_class = serializers.TenantSerializer
|
||||
filter_class = TenantFilter
|
||||
|
||||
|
||||
class TenantDetailView(CustomFieldModelAPIView, generics.RetrieveAPIView):
|
||||
"""
|
||||
Retrieve a single tenant
|
||||
"""
|
||||
queryset = Tenant.objects.select_related('group').prefetch_related('custom_field_values__field')
|
||||
serializer_class = serializers.TenantSerializer
|
||||
|
Reference in New Issue
Block a user