mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Add WirelessLink model
This commit is contained in:
@@ -5,12 +5,21 @@ from wireless.models import *
|
||||
|
||||
__all__ = (
|
||||
'NestedWirelessLANSerializer',
|
||||
'NestedWirelessLinkSerializer',
|
||||
)
|
||||
|
||||
|
||||
class NestedWirelessLANSerializer(WritableNestedSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:ssid-detail')
|
||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslan-detail')
|
||||
|
||||
class Meta:
|
||||
model = WirelessLAN
|
||||
fields = ['id', 'url', 'display', 'ssid']
|
||||
|
||||
|
||||
class NestedWirelessLinkSerializer(WritableNestedSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslink-detail')
|
||||
|
||||
class Meta:
|
||||
model = WirelessLink
|
||||
fields = ['id', 'url', 'display', 'ssid']
|
||||
|
@@ -1,16 +1,19 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from dcim.api.serializers import NestedInterfaceSerializer
|
||||
from ipam.api.serializers import NestedVLANSerializer
|
||||
from netbox.api.serializers import PrimaryModelSerializer
|
||||
from wireless.models import *
|
||||
from .nested_serializers import *
|
||||
|
||||
__all__ = (
|
||||
'WirelessLANSerializer',
|
||||
'WirelessLinkSerializer',
|
||||
)
|
||||
|
||||
|
||||
class WirelessLANSerializer(PrimaryModelSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:ssid-detail')
|
||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslan-detail')
|
||||
vlan = NestedVLANSerializer(required=False, allow_null=True)
|
||||
|
||||
class Meta:
|
||||
@@ -18,3 +21,15 @@ class WirelessLANSerializer(PrimaryModelSerializer):
|
||||
fields = [
|
||||
'id', 'url', 'display', 'ssid', 'description', 'vlan',
|
||||
]
|
||||
|
||||
|
||||
class WirelessLinkSerializer(PrimaryModelSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslink-detail')
|
||||
interface_a = NestedInterfaceSerializer()
|
||||
interface_b = NestedInterfaceSerializer()
|
||||
|
||||
class Meta:
|
||||
model = WirelessLAN
|
||||
fields = [
|
||||
'id', 'url', 'display', 'interface_a', 'interface_b', 'ssid', 'description',
|
||||
]
|
||||
|
@@ -6,6 +6,7 @@ router = OrderedDefaultRouter()
|
||||
router.APIRootView = views.WirelessRootView
|
||||
|
||||
router.register('wireless-lans', views.WirelessLANViewSet)
|
||||
router.register('wireless-links', views.WirelessLinkViewSet)
|
||||
|
||||
app_name = 'wireless-api'
|
||||
urlpatterns = router.urls
|
||||
|
@@ -14,11 +14,13 @@ class WirelessRootView(APIRootView):
|
||||
return 'Wireless'
|
||||
|
||||
|
||||
#
|
||||
# Providers
|
||||
#
|
||||
|
||||
class WirelessLANViewSet(CustomFieldModelViewSet):
|
||||
queryset = WirelessLAN.objects.prefetch_related('tags')
|
||||
queryset = WirelessLAN.objects.prefetch_related('vlan', 'tags')
|
||||
serializer_class = serializers.WirelessLANSerializer
|
||||
filterset_class = filtersets.WirelessLANFilterSet
|
||||
|
||||
|
||||
class WirelessLinkViewSet(CustomFieldModelViewSet):
|
||||
queryset = WirelessLink.objects.prefetch_related('interface_a', 'interface_b', 'tags')
|
||||
serializer_class = serializers.WirelessLinkSerializer
|
||||
filterset_class = filtersets.WirelessLinkFilterSet
|
||||
|
Reference in New Issue
Block a user