Skip to content
Snippets Groups Projects
Commit 5a756194 authored by Anders Harrisson's avatar Anders Harrisson
Browse files

Modify Interface serializer to support multiple MACAddresses

parent 86eb971d
No related branches found
No related tags found
1 merge request!21Move to NetBox 4.x
......@@ -66,16 +66,27 @@ class PrefixSerializer(serializers.BaseSerializer):
class InterfaceSerializer(serializers.BaseSerializer):
def to_representation(self, instance):
mac_addresses = []
for mac_address in instance.mac_addresses.all():
serializer = MACAddressSerializer(mac_address)
mac_addresses.append(serializer.data)
ip_addresses = []
for ip in instance.ip_addresses.all():
serializer = IPAddressSerializer(ip)
ip_addresses.append(serializer.data)
return {
"name": instance.name,
"mac": str(instance.mac_address) if instance.mac_address else None,
"primary_mac_address": str(instance.primary_mac_address) if instance.primary_mac_address else None,
"mac_addresses": mac_addresses,
"ip_addresses": ip_addresses
}
class MACAddressSerializer(serializers.BaseSerializer):
def to_representation(self, instance):
return {
"mac_address": str(instance.mac_address)
}
class IPAddressSerializer(serializers.BaseSerializer):
def to_representation(self, instance):
return {
......@@ -102,13 +113,18 @@ class DeviceSerializer(serializers.BaseSerializer):
class VMInterfaceSerializer(serializers.BaseSerializer):
def to_representation(self, instance):
mac_addresses = []
for mac_address in instance.mac_addresses.all():
serializer = MACAddressSerializer(mac_address)
mac_addresses.append(serializer.data)
ip_addresses = []
for ip in instance.ip_addresses.all():
serializer = IPAddressSerializer(ip)
ip_addresses.append(serializer.data)
return {
"name": instance.name,
"mac": str(instance.mac_address) if instance.mac_address else None,
"primary_mac_address": str(instance.primary_mac_address) if instance.primary_mac_address else None,
"mac_addresses": mac_addresses,
"ip_addresses": ip_addresses
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment