mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-18 18:25:37 +00:00
fix: duplicate NS violates unique constraint
This commit is contained in:
parent
79a5a1d35a
commit
500b901b7a
@ -315,19 +315,20 @@ readonly class RDAPService
|
|||||||
'ldhName' => strtolower($rdapNameserver['ldhName']),
|
'ldhName' => strtolower($rdapNameserver['ldhName']),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$domainNS = $domain->getNameservers()->findFirst(fn (int $key, Nameserver $ns) => $ns->getLdhName() === $rdapNameserver['ldhName']);
|
$existingDomainNS = $domain->getNameservers()->findFirst(fn (int $key, Nameserver $ns) => $ns->getLdhName() === $rdapNameserver['ldhName']);
|
||||||
|
|
||||||
if (null !== $domainNS) {
|
if (null !== $existingDomainNS) {
|
||||||
$nameserver = $domainNS;
|
$nameserver = $existingDomainNS;
|
||||||
}
|
} elseif (null === $nameserver) {
|
||||||
if (null === $nameserver) {
|
|
||||||
$nameserver = new Nameserver();
|
$nameserver = new Nameserver();
|
||||||
}
|
}
|
||||||
|
|
||||||
$nameserver->setLdhName($rdapNameserver['ldhName']);
|
$nameserver->setLdhName($rdapNameserver['ldhName']);
|
||||||
|
|
||||||
if (!array_key_exists('entities', $rdapNameserver) || !is_array($rdapNameserver['entities'])) {
|
if (!array_key_exists('entities', $rdapNameserver) || !is_array($rdapNameserver['entities'])) {
|
||||||
|
if (!$domain->getNameservers()->contains($nameserver)) {
|
||||||
$domain->addNameserver($nameserver);
|
$domain->addNameserver($nameserver);
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,8 +366,10 @@ readonly class RDAPService
|
|||||||
->setRoles($roles));
|
->setRoles($roles));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$domain->getNameservers()->contains($nameserver)) {
|
||||||
$domain->addNameserver($nameserver);
|
$domain->addNameserver($nameserver);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$this->logger->warning('The domain name {idnDomain} has no nameservers.', [
|
$this->logger->warning('The domain name {idnDomain} has no nameservers.', [
|
||||||
'idnDomain' => $idnDomain,
|
'idnDomain' => $idnDomain,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user