Coverage for circuits/api/views.py: 98%
53 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
1from rest_framework.routers import APIRootView
3from circuits import filtersets
4from circuits.models import *
5from dcim.api.views import PassThroughPortMixin
6from netbox.api.viewsets import NetBoxModelViewSet
8from . import serializers
11class CircuitsRootView(APIRootView):
12 """
13 Circuits API root view
14 """
15 def get_view_name(self):
16 return 'Circuits'
19#
20# Providers
21#
23class ProviderViewSet(NetBoxModelViewSet):
24 queryset = Provider.objects.all()
25 serializer_class = serializers.ProviderSerializer
26 filterset_class = filtersets.ProviderFilterSet
29#
30# Circuit Types
31#
33class CircuitTypeViewSet(NetBoxModelViewSet):
34 queryset = CircuitType.objects.all()
35 serializer_class = serializers.CircuitTypeSerializer
36 filterset_class = filtersets.CircuitTypeFilterSet
39#
40# Circuits
41#
43class CircuitViewSet(NetBoxModelViewSet):
44 queryset = Circuit.objects.all()
45 serializer_class = serializers.CircuitSerializer
46 filterset_class = filtersets.CircuitFilterSet
49#
50# Circuit Terminations
51#
53class CircuitTerminationViewSet(PassThroughPortMixin, NetBoxModelViewSet):
54 queryset = CircuitTermination.objects.all()
55 serializer_class = serializers.CircuitTerminationSerializer
56 filterset_class = filtersets.CircuitTerminationFilterSet
59#
60# Circuit Groups
61#
63class CircuitGroupViewSet(NetBoxModelViewSet):
64 queryset = CircuitGroup.objects.all()
65 serializer_class = serializers.CircuitGroupSerializer
66 filterset_class = filtersets.CircuitGroupFilterSet
69#
70# Circuit Group Assignments
71#
73class CircuitGroupAssignmentViewSet(NetBoxModelViewSet):
74 queryset = CircuitGroupAssignment.objects.all()
75 serializer_class = serializers.CircuitGroupAssignmentSerializer
76 filterset_class = filtersets.CircuitGroupAssignmentFilterSet
79#
80# Provider accounts
81#
83class ProviderAccountViewSet(NetBoxModelViewSet):
84 queryset = ProviderAccount.objects.all()
85 serializer_class = serializers.ProviderAccountSerializer
86 filterset_class = filtersets.ProviderAccountFilterSet
89#
90# Provider networks
91#
93class ProviderNetworkViewSet(NetBoxModelViewSet):
94 queryset = ProviderNetwork.objects.all()
95 serializer_class = serializers.ProviderNetworkSerializer
96 filterset_class = filtersets.ProviderNetworkFilterSet
99#
100# Virtual circuit types
101#
103class VirtualCircuitTypeViewSet(NetBoxModelViewSet):
104 queryset = VirtualCircuitType.objects.all()
105 serializer_class = serializers.VirtualCircuitTypeSerializer
106 filterset_class = filtersets.VirtualCircuitTypeFilterSet
109#
110# Virtual circuits
111#
113class VirtualCircuitViewSet(NetBoxModelViewSet):
114 queryset = VirtualCircuit.objects.all()
115 serializer_class = serializers.VirtualCircuitSerializer
116 filterset_class = filtersets.VirtualCircuitFilterSet
119#
120# Virtual circuit terminations
121#
123class VirtualCircuitTerminationViewSet(PassThroughPortMixin, NetBoxModelViewSet):
124 queryset = VirtualCircuitTermination.objects.all()
125 serializer_class = serializers.VirtualCircuitTerminationSerializer
126 filterset_class = filtersets.VirtualCircuitTerminationFilterSet