mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-29 16:15:04 +00:00
feat: add delete property on Event
This commit is contained in:
@@ -25,7 +25,7 @@ class DomainRefreshController extends AbstractController
|
||||
private readonly RDAPService $RDAPService,
|
||||
private readonly RateLimiterFactory $rdapRequestsLimiter,
|
||||
private readonly MessageBusInterface $bus,
|
||||
private readonly LoggerInterface $logger
|
||||
private readonly LoggerInterface $logger, private readonly KernelInterface $kernel
|
||||
) {
|
||||
}
|
||||
|
||||
@@ -55,6 +55,7 @@ class DomainRefreshController extends AbstractController
|
||||
&& !$domain->getDeleted()
|
||||
&& ($domain->getUpdatedAt()->diff(new \DateTimeImmutable('now'))->days < 7)
|
||||
&& !$this->RDAPService::isToBeWatchClosely($domain, $domain->getUpdatedAt())
|
||||
&& !$this->kernel->isDebug()
|
||||
) {
|
||||
$this->logger->info('It is not necessary to update the information of the domain name {idnDomain} with the RDAP protocol.', [
|
||||
'idnDomain' => $idnDomain,
|
||||
|
||||
@@ -100,9 +100,9 @@ class Domain
|
||||
#[Groups(['domain:item'])]
|
||||
private ?Tld $tld = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[ORM\Column(nullable: false)]
|
||||
#[Groups(['domain:item'])]
|
||||
private ?bool $deleted = null;
|
||||
private ?bool $deleted;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
@@ -21,6 +21,15 @@ class Event
|
||||
#[Groups(['event:list'])]
|
||||
private ?\DateTimeImmutable $date = null;
|
||||
|
||||
#[ORM\Column]
|
||||
#[Groups(['event:list'])]
|
||||
private ?bool $deleted;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->deleted = false;
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
{
|
||||
return $this->id;
|
||||
@@ -49,4 +58,16 @@ class Event
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getDeleted(): ?bool
|
||||
{
|
||||
return $this->deleted;
|
||||
}
|
||||
|
||||
public function setDeleted(?bool $deleted): static
|
||||
{
|
||||
$this->deleted = $deleted;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -218,6 +218,11 @@ readonly class RDAPService
|
||||
$this->em->persist($domain);
|
||||
$this->em->flush();
|
||||
|
||||
/** @var DomainEvent $event */
|
||||
foreach ($domain->getEvents()->getIterator() as $event) {
|
||||
$event->setDeleted(true);
|
||||
}
|
||||
|
||||
foreach ($res['events'] as $rdapEvent) {
|
||||
if ($rdapEvent['eventAction'] === EventAction::LastUpdateOfRDAPDatabase->value) {
|
||||
continue;
|
||||
@@ -234,7 +239,9 @@ readonly class RDAPService
|
||||
}
|
||||
$domain->addEvent($event
|
||||
->setAction($rdapEvent['eventAction'])
|
||||
->setDate(new \DateTimeImmutable($rdapEvent['eventDate'])));
|
||||
->setDate(new \DateTimeImmutable($rdapEvent['eventDate']))
|
||||
->setDeleted(false)
|
||||
);
|
||||
}
|
||||
|
||||
if (array_key_exists('entities', $res) && is_array($res['entities'])) {
|
||||
@@ -399,6 +406,14 @@ readonly class RDAPService
|
||||
return $entity;
|
||||
}
|
||||
|
||||
/** @var EntityEvent $event */
|
||||
foreach ($entity->getEvents()->getIterator() as $event) {
|
||||
$event->setDeleted(true);
|
||||
}
|
||||
|
||||
$this->em->persist($entity);
|
||||
$this->em->flush();
|
||||
|
||||
foreach ($rdapEntity['events'] as $rdapEntityEvent) {
|
||||
$eventAction = $rdapEntityEvent['eventAction'];
|
||||
if ($eventAction === EventAction::LastChanged->value || $eventAction === EventAction::LastUpdateOfRDAPDatabase->value) {
|
||||
@@ -410,13 +425,15 @@ readonly class RDAPService
|
||||
]);
|
||||
|
||||
if (null !== $event) {
|
||||
$event->setDeleted(false);
|
||||
continue;
|
||||
}
|
||||
$entity->addEvent(
|
||||
(new EntityEvent())
|
||||
->setEntity($entity)
|
||||
->setAction($rdapEntityEvent['eventAction'])
|
||||
->setDate(new \DateTimeImmutable($rdapEntityEvent['eventDate'])));
|
||||
->setDate(new \DateTimeImmutable($rdapEntityEvent['eventDate']))
|
||||
->setDeleted(false));
|
||||
}
|
||||
|
||||
return $entity;
|
||||
|
||||
Reference in New Issue
Block a user