8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-27 07:02:26 +00:00

Exposition des sshfpr via api rest

This commit is contained in:
Gabriel Detraz 2018-07-29 17:03:51 +02:00 committed by Maël Kervella
parent fe50f23ea1
commit 86d80521c0
2 changed files with 20 additions and 2 deletions

View file

@ -716,6 +716,21 @@ class CNAMERecordSerializer(serializers.ModelSerializer):
fields = ('alias', 'hostname', 'extension') fields = ('alias', 'hostname', 'extension')
class SSHFPRRecordSerializer(serializers.ModelSerializer):
class Meta:
model = machines.SshFingerprint
fields = ('algo_id', 'hash')
class SSHFPRInterfaceSerializer(serializers.ModelSerializer):
hostname = serializers.CharField(source='domain.name', read_only=True)
sshfpr = SSHFPRRecordSerializer(source='machine.sshfingerprint_set', many=True, read_only=True)
class Meta:
model = machines.Interface
fields = ('hostname', 'sshfpr')
class DNSZonesSerializer(serializers.ModelSerializer): class DNSZonesSerializer(serializers.ModelSerializer):
"""Serialize the data about DNS Zones. """Serialize the data about DNS Zones.
""" """
@ -729,12 +744,13 @@ class DNSZonesSerializer(serializers.ModelSerializer):
a_records = ARecordSerializer(many=True, source='get_associated_a_records') a_records = ARecordSerializer(many=True, source='get_associated_a_records')
aaaa_records = AAAARecordSerializer(many=True, source='get_associated_aaaa_records') aaaa_records = AAAARecordSerializer(many=True, source='get_associated_aaaa_records')
cname_records = CNAMERecordSerializer(many=True, source='get_associated_cname_records') cname_records = CNAMERecordSerializer(many=True, source='get_associated_cname_records')
sshfpr_records = SSHFPRInterfaceSerializer(many=True, source='get_associated_sshfpr')
class Meta: class Meta:
model = machines.Extension model = machines.Extension
fields = ('name', 'soa', 'ns_records', 'originv4', 'originv6', fields = ('name', 'soa', 'ns_records', 'originv4', 'originv6',
'mx_records', 'txt_records', 'srv_records', 'a_records', 'mx_records', 'txt_records', 'srv_records', 'a_records',
'aaaa_records', 'cname_records') 'aaaa_records', 'cname_records', 'sshfpr_records')
# MAILING # MAILING

View file

@ -636,7 +636,9 @@ class Extension(RevMixin, AclMixin, models.Model):
from re2o.utils import all_active_assigned_interfaces from re2o.utils import all_active_assigned_interfaces
return (all_active_assigned_interfaces() return (all_active_assigned_interfaces()
.filter(type__ip_type__extension=self) .filter(type__ip_type__extension=self)
.filter(machine)) .filter(
machine__id__in=SshFingerprint.objects.values('machine')
))
def get_associated_a_records(self): def get_associated_a_records(self):
from re2o.utils import all_active_assigned_interfaces from re2o.utils import all_active_assigned_interfaces