diff --git a/api/serializers.py b/api/serializers.py index c58a0e1f..f6348086 100644 --- a/api/serializers.py +++ b/api/serializers.py @@ -732,6 +732,30 @@ class SwitchPortSerializer(serializers.ModelSerializer): 'interfaces_subnet', 'interfaces6_subnet', 'automatic_provision', 'rest_enabled', 'web_management_enabled', 'get_radius_key_value', 'get_management_cred_value') +#Firewall + +class FirewallPortListSerializer(serializers.ModelSerializer): + class Meta: + model = machines.OuverturePort + fields = ('begin', 'end', 'protocole', 'io') + +class FirewallOuverturePortListSerializer(serializers.ModelSerializer): + tcp_ports_in = FirewallPortListSerializer(many=True, read_only=True) + udp_ports_in = FirewallPortListSerializer(many=True, read_only=True) + tcp_ports_out = FirewallPortListSerializer(many=True, read_only=True) + udp_ports_out = FirewallPortListSerializer(many=True, read_only=True) + + class Meta: + model = machines.OuverturePortList + fields = ('tcp_ports_in', 'udp_ports_in', 'tcp_ports_out', 'udp_ports_out') + +class SubnetPortsOpenSerializer(serializers.ModelSerializer): + ouverture_ports = FirewallOuverturePortListSerializer(read_only=True) + + class Meta: + model = machines.IpType + fields = ('type', 'domaine_ip_start', 'domaine_ip_stop', 'prefix_v6', 'ouverture_ports') + # DHCP diff --git a/api/urls.py b/api/urls.py index 83b1108c..4e3f9725 100644 --- a/api/urls.py +++ b/api/urls.py @@ -104,6 +104,8 @@ router.register_view(r'switchs/ports-config', views.SwitchPortView), router.register_view(r'switchs/role', views.RoleView), # Reminder router.register_view(r'reminder/get-users', views.ReminderView), +# Firewall +router.register_view(r'firewall/subnet-ports', views.SubnetPortsOpenView), # DNS router.register_view(r'dns/zones', views.DNSZonesView), # MAILING diff --git a/api/views.py b/api/views.py index 55b4fd6a..9c2bd444 100644 --- a/api/views.py +++ b/api/views.py @@ -541,6 +541,12 @@ class HostMacIpView(generics.ListAPIView): serializer_class = serializers.HostMacIpSerializer +#Firewall + +class SubnetPortsOpenView(generics.ListAPIView): + queryset = machines.IpType.objects.all() + serializer_class = serializers.SubnetPortsOpenSerializer + # DNS class DNSZonesView(generics.ListAPIView):