diff --git a/api/serializers.py b/api/serializers.py index 9b425c4d..a9c05978 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -660,10 +660,19 @@ class ServiceRegenSerializer(NamespacedHMSerializer): # Switches et ports +class VlanPortSerializer(NamespacedHMSerializer): + class Meta: + model = machines.Vlan + fields = ('vlan_id', 'name') + + class ProfilSerializer(NamespacedHMSerializer): + vlan_untagged = VlanSerializer(read_only=True) + vlan_tagged = VlanPortSerializer(read_only=True, many=True) + class Meta: model = topologie.PortProfile - fields = ('name', 'profil_default', 'vlan_untagged', 'vlan_tagged', 'radius_type', 'radius_mode', 'speed', 'mac_limit', 'flow_control', 'dhcp_snooping', 'dhcpv6_snooping', 'arp_protect', 'ra_guard', 'loop_protect') + fields = ('name', 'profil_default', 'vlan_untagged', 'vlan_tagged', 'radius_type', 'radius_mode', 'speed', 'mac_limit', 'flow_control', 'dhcp_snooping', 'dhcpv6_snooping', 'arp_protect', 'ra_guard', 'loop_protect', 'vlan_untagged', 'vlan_tagged') class ModelSwitchSerializer(NamespacedHMSerializer): @@ -683,17 +692,20 @@ class PortsSerializer(NamespacedHMSerializer): """ get_port_profil = ProfilSerializer(read_only=True) + class Meta: model = topologie.Port fields = ('state', 'port', 'get_port_profil') + class SwitchPortSerializer(serializers.ModelSerializer): """Serialize the data about the switches""" ports = PortsSerializer(many=True, read_only=True) model = ModelSwitchSerializer(read_only=True) switchbay = SwitchBaySerializer(read_only=True) + class Meta: model = topologie.Switch fields = ('short_name', 'model', 'switchbay', 'ports', 'subnet', 'subnet6')