1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

59 lines
1.7 KiB
Python
Raw Normal View History

2016-03-01 11:23:03 -05:00
from rest_framework import generics
from circuits.models import Provider, CircuitType, Circuit
from circuits.filters import CircuitFilter
2016-05-18 15:17:58 -04:00
2016-08-22 13:20:30 -04:00
from extras.api.views import CustomFieldModelAPIView
2016-05-18 15:17:58 -04:00
from . import serializers
2016-03-01 11:23:03 -05:00
2016-08-22 13:20:30 -04:00
class ProviderListView(CustomFieldModelAPIView, generics.ListAPIView):
2016-03-01 11:23:03 -05:00
"""
List all providers
"""
2016-08-22 15:16:49 -04:00
queryset = Provider.objects.prefetch_related('custom_field_values__field')
2016-05-18 15:17:58 -04:00
serializer_class = serializers.ProviderSerializer
2016-03-01 11:23:03 -05:00
2016-08-22 13:20:30 -04:00
class ProviderDetailView(CustomFieldModelAPIView, generics.RetrieveAPIView):
2016-03-01 11:23:03 -05:00
"""
Retrieve a single provider
"""
2016-08-22 15:16:49 -04:00
queryset = Provider.objects.prefetch_related('custom_field_values__field')
2016-05-18 15:17:58 -04:00
serializer_class = serializers.ProviderSerializer
2016-03-01 11:23:03 -05:00
class CircuitTypeListView(generics.ListAPIView):
"""
List all circuit types
"""
queryset = CircuitType.objects.all()
2016-05-18 15:17:58 -04:00
serializer_class = serializers.CircuitTypeSerializer
2016-03-01 11:23:03 -05:00
class CircuitTypeDetailView(generics.RetrieveAPIView):
"""
Retrieve a single circuit type
"""
queryset = CircuitType.objects.all()
2016-05-18 15:17:58 -04:00
serializer_class = serializers.CircuitTypeSerializer
2016-03-01 11:23:03 -05:00
2016-08-22 13:20:30 -04:00
class CircuitListView(CustomFieldModelAPIView, generics.ListAPIView):
2016-03-01 11:23:03 -05:00
"""
List circuits (filterable)
"""
queryset = Circuit.objects.select_related('type', 'tenant', 'provider')\
2016-08-22 15:16:49 -04:00
.prefetch_related('custom_field_values__field')
2016-05-18 15:17:58 -04:00
serializer_class = serializers.CircuitSerializer
2016-03-01 11:23:03 -05:00
filter_class = CircuitFilter
2016-08-22 13:20:30 -04:00
class CircuitDetailView(CustomFieldModelAPIView, generics.RetrieveAPIView):
2016-03-01 11:23:03 -05:00
"""
Retrieve a single circuit
"""
queryset = Circuit.objects.select_related('type', 'tenant', 'provider')\
2016-08-22 15:16:49 -04:00
.prefetch_related('custom_field_values__field')
2016-05-18 15:17:58 -04:00
serializer_class = serializers.CircuitSerializer