modified: netbox_dns_bridge/__init__.py

modified:   netbox_dns_bridge/catalog_zone_manager.py
modified:   netbox_dns_bridge/dns_server.py
modified:   netbox_dns_bridge/logger.py
new file:   netbox_dns_bridge/migrations/0002_alter_integerkeyvaluesetting_options_and_more.py
modified:   netbox_dns_bridge/models.py
new file:   netbox_dns_bridge/notify_handler.py
modified:   netbox_dns_bridge/request_handler.py
modified:   netbox_dns_bridge/signals/__init__.py
new file:   netbox_dns_bridge/signals/netbox_dns_zones.py
deleted:    netbox_dns_bridge/signals/transfer_endpoint.py
modified:   netbox_dns_bridge/utils.py

Implement notify mechanism
This commit is contained in:
Sven Luethi committed 2026-06-11 00:32:26 +02:00
1 parent a4036c285c
commit 3eef3b4d7b
12 files changed
+227 -114

No files matched your search

+30 -4
View File
@@ -1,20 +1,22 @@
from django.db import models
import netbox.models
# import netbox.models
import netbox_dns.models
class IntegerKeyValueSetting(models.Model):
_netbox_private = True
key = models.CharField(max_length=64)
value = models.IntegerField()
def __str__(self):
return f"{self.key}: {str(self.value)}"
class Meta:
default_permissions = ()
class CatalogZoneMemberIdentifier(models.Model):
_netbox_private = True
name = models.CharField(
max_length=26,
unique=True,
@@ -31,3 +33,27 @@ class CatalogZoneMemberIdentifier(models.Model):
def __str__(self):
return self.name
class SeenTransferClients(models.Model):
_netbox_private = True
source_ip = models.GenericIPAddressField()
last_seen = models.DateTimeField()
view = models.ForeignKey(
to=netbox_dns.models.View,
on_delete=models.PROTECT,
related_name="seen_transfer_clients",
)
def __str__(self):
return f"{self.source_ip} ({self.view.name})"
class Meta:
ordering = ("source_ip",)
constraints = [
models.UniqueConstraint(
fields=["source_ip", "view"],
name="unique_ip_view_seen_client",
),
]