2024-04-26 15:29:07 -03:00
|
|
|
import uuid
|
|
|
|
|
|
2025-03-01 19:10:15 -03:00
|
|
|
from django.db import models
|
2026-03-24 16:00:58 -03:00
|
|
|
from django.utils.translation import gettext_lazy as _
|
2025-03-01 19:10:15 -03:00
|
|
|
|
2024-04-26 15:29:07 -03:00
|
|
|
|
|
|
|
|
class DNSSettings(models.Model):
|
|
|
|
|
name = models.CharField(default='dns_settings', max_length=100)
|
|
|
|
|
dns_primary = models.GenericIPAddressField(blank=True, null=True, default='1.1.1.1')
|
|
|
|
|
dns_secondary = models.GenericIPAddressField(blank=True, null=True, default='1.0.0.1')
|
|
|
|
|
pending_changes = models.BooleanField(default=True)
|
|
|
|
|
|
|
|
|
|
created = models.DateTimeField(auto_now_add=True)
|
|
|
|
|
updated = models.DateTimeField(auto_now=True)
|
|
|
|
|
uuid = models.UUIDField(unique=True, default=uuid.uuid4, editable=False)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class StaticHost(models.Model):
|
|
|
|
|
hostname = models.CharField(max_length=100, unique=True)
|
|
|
|
|
ip_address = models.GenericIPAddressField()
|
|
|
|
|
|
|
|
|
|
created = models.DateTimeField(auto_now_add=True)
|
|
|
|
|
updated = models.DateTimeField(auto_now=True)
|
|
|
|
|
uuid = models.UUIDField(unique=True, default=uuid.uuid4, editable=False)
|
|
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
|
return self.hostname
|
2025-03-01 19:10:15 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class DNSFilterList(models.Model):
|
2026-03-24 16:00:58 -03:00
|
|
|
LIST_FORMAT_CHOICES = [
|
|
|
|
|
('', _('Unknown')),
|
|
|
|
|
('hosts', 'Hosts'),
|
|
|
|
|
('dnsmasq', 'Dnsmasq'),
|
|
|
|
|
('unsupported', _('Unsupported')),
|
|
|
|
|
]
|
|
|
|
|
|
2025-03-01 19:10:15 -03:00
|
|
|
name = models.SlugField(max_length=100, unique=True)
|
|
|
|
|
description = models.CharField(max_length=100)
|
|
|
|
|
enabled = models.BooleanField(default=False)
|
|
|
|
|
list_url = models.URLField()
|
|
|
|
|
last_updated = models.DateTimeField(blank=True, null=True)
|
|
|
|
|
host_count = models.IntegerField(default=0)
|
2025-03-01 21:42:23 -03:00
|
|
|
recommended = models.BooleanField(default=False)
|
2026-03-24 16:00:58 -03:00
|
|
|
list_format = models.CharField(max_length=15, choices=LIST_FORMAT_CHOICES, default='')
|
2025-03-01 19:10:15 -03:00
|
|
|
|
|
|
|
|
created = models.DateTimeField(auto_now_add=True)
|
|
|
|
|
updated = models.DateTimeField(auto_now=True)
|
|
|
|
|
uuid = models.UUIDField(unique=True, default=uuid.uuid4, editable=False)
|
|
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
|
return self.name
|