mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-29 16:15:04 +00:00
fix: fake handle in case it does not exist
This commit is contained in:
@@ -106,6 +106,9 @@ class Domain
|
|||||||
#[Groups(['domain:item', 'domain:list', 'watchlist:item', 'watchlist:list'])]
|
#[Groups(['domain:item', 'domain:list', 'watchlist:item', 'watchlist:list'])]
|
||||||
private ?bool $deleted;
|
private ?bool $deleted;
|
||||||
|
|
||||||
|
#[Groups(['domain:item'])]
|
||||||
|
private ?RdapServer $rdapServer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var Collection<int, DomainStatus>
|
* @var Collection<int, DomainStatus>
|
||||||
*/
|
*/
|
||||||
@@ -423,4 +426,14 @@ class Domain
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getRdapServer(): ?RdapServer
|
||||||
|
{
|
||||||
|
return $this->rdapServer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setRdapServer(?RdapServer $rdapServer): void
|
||||||
|
{
|
||||||
|
$this->rdapServer = $rdapServer;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,12 +5,14 @@ namespace App\Entity;
|
|||||||
use App\Repository\RdapServerRepository;
|
use App\Repository\RdapServerRepository;
|
||||||
use Doctrine\DBAL\Types\Types;
|
use Doctrine\DBAL\Types\Types;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
use Symfony\Component\Serializer\Attribute\Groups;
|
||||||
|
|
||||||
#[ORM\Entity(repositoryClass: RdapServerRepository::class)]
|
#[ORM\Entity(repositoryClass: RdapServerRepository::class)]
|
||||||
class RdapServer
|
class RdapServer
|
||||||
{
|
{
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
#[ORM\Column(length: 255)]
|
#[ORM\Column(length: 255)]
|
||||||
|
#[Groups(['domain:item'])]
|
||||||
private ?string $url = null;
|
private ?string $url = null;
|
||||||
|
|
||||||
#[ORM\Column(type: Types::DATE_IMMUTABLE)]
|
#[ORM\Column(type: Types::DATE_IMMUTABLE)]
|
||||||
|
|||||||
@@ -144,6 +144,8 @@ readonly class RDAPService
|
|||||||
$domain = $this->initNewDomain($idnDomain, $tld);
|
$domain = $this->initNewDomain($idnDomain, $tld);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$domain->setRdapServer($rdapServer);
|
||||||
|
|
||||||
$this->updateDomainStatus($domain, $rdapData);
|
$this->updateDomainStatus($domain, $rdapData);
|
||||||
|
|
||||||
if (in_array('free', $domain->getStatus())) {
|
if (in_array('free', $domain->getStatus())) {
|
||||||
@@ -488,7 +490,8 @@ readonly class RDAPService
|
|||||||
* If there is no number to identify the entity, one is generated from the domain name and the roles associated with this entity
|
* If there is no number to identify the entity, one is generated from the domain name and the roles associated with this entity
|
||||||
*/
|
*/
|
||||||
if (!array_key_exists('handle', $rdapEntity) || '' === $rdapEntity['handle'] || in_array($rdapEntity['handle'], self::ENTITY_HANDLE_BLACKLIST)) {
|
if (!array_key_exists('handle', $rdapEntity) || '' === $rdapEntity['handle'] || in_array($rdapEntity['handle'], self::ENTITY_HANDLE_BLACKLIST)) {
|
||||||
$rdapEntity['handle'] = 'DW-FAKEHANDLE-'.$domain.'-'.join(',', $roles);
|
sort($roles);
|
||||||
|
$rdapEntity['handle'] = 'DW-FAKEHANDLE-'.$domain.'-'.implode(',', $roles);
|
||||||
|
|
||||||
$this->logger->warning('The entity {handle} has no handle key.', [
|
$this->logger->warning('The entity {handle} has no handle key.', [
|
||||||
'handle' => $rdapEntity['handle'],
|
'handle' => $rdapEntity['handle'],
|
||||||
|
|||||||
Reference in New Issue
Block a user