fix: fake handle in case it does not exist

This commit is contained in:
Maël Gangloff
2024-12-29 13:47:19 +01:00
parent 4761c982ad
commit 7275859bd6
3 changed files with 19 additions and 1 deletions

View File

@@ -106,6 +106,9 @@ class Domain
#[Groups(['domain:item', 'domain:list', 'watchlist:item', 'watchlist:list'])]
private ?bool $deleted;
#[Groups(['domain:item'])]
private ?RdapServer $rdapServer;
/**
* @var Collection<int, DomainStatus>
*/
@@ -423,4 +426,14 @@ class Domain
return $this;
}
public function getRdapServer(): ?RdapServer
{
return $this->rdapServer;
}
public function setRdapServer(?RdapServer $rdapServer): void
{
$this->rdapServer = $rdapServer;
}
}

View File

@@ -5,12 +5,14 @@ namespace App\Entity;
use App\Repository\RdapServerRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Attribute\Groups;
#[ORM\Entity(repositoryClass: RdapServerRepository::class)]
class RdapServer
{
#[ORM\Id]
#[ORM\Column(length: 255)]
#[Groups(['domain:item'])]
private ?string $url = null;
#[ORM\Column(type: Types::DATE_IMMUTABLE)]

View File

@@ -144,6 +144,8 @@ readonly class RDAPService
$domain = $this->initNewDomain($idnDomain, $tld);
}
$domain->setRdapServer($rdapServer);
$this->updateDomainStatus($domain, $rdapData);
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 (!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.', [
'handle' => $rdapEntity['handle'],