tldtest.net/tldtester/models.py

70 lines
2.1 KiB
Python

from django.db import models
class TLD(models.Model):
"""
Model for the TLDs validation
"""
DNSSECALGOS = (
(0, "Delete DS"),
(1, "RSA/MD5"),
(2, "Diffie-Hellman"),
(3, "DSA/SHA1"),
(5, "RSA/SHA-1"),
(6, "DSA-NSEC3-SHA1"),
(7, "RSASHA1-NSEC3-SHA1"),
(8, "RSA/SHA-256"),
(10, "RSA/SHA-512"),
(12, "GOST R 34.10-2001"),
(13, "ECDSA Curve P-256 with SHA-256"),
(14, "ECDSA Curve P-384 with SHA-384"),
(15, "Ed25519"),
(16, "Ed448"),
(17, "SM2 signing algorithm with SM3 hashing algorithm"),
(23, "GOST R 34.10-2012"),
(252, "Reserved for Indirect Keys"),
(253, "private algorithm"),
(254, "private algorithm OID"),
(300, "Unknown"),
(400, "None"),
)
tld = models.CharField(max_length=100, primary_key=True)
unicodetld = models.CharField(max_length=100)
nsamount = models.IntegerField(default=0)
v4nsamount = models.IntegerField(default=0)
v6nsamount = models.IntegerField(default=0)
dnssec = models.IntegerField(default=300, choices=DNSSECALGOS)
amountofkeys = models.IntegerField(default=0)
lastEdition = models.DateTimeField(auto_now=True)
organisation = models.CharField(max_length=100)
rdap = models.CharField(max_length=10, default="No")
link = models.CharField(max_length=800, default="https://tldtest.net/")
atlasv4 = models.IntegerField(blank=True, null=True)
atlasv6 = models.IntegerField(blank=True, null=True)
def __str__(self):
return self.tld
class Meta:
indexes = [
models.Index(fields=["tld"]),
models.Index(fields=["dnssec"]),
models.Index(fields=["nsamount"]),
]
class RootZone(models.Model):
name = models.CharField(max_length=50)
rectype = models.CharField(max_length=10)
value = models.CharField(max_length=4096)
lastEdition = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
class Meta:
indexes = [
models.Index(fields=["name"]),
models.Index(fields=["rectype"]),
]