diff --git a/src/Controller/WatchListController.php b/src/Controller/WatchListController.php index 72dea43..4a230b1 100644 --- a/src/Controller/WatchListController.php +++ b/src/Controller/WatchListController.php @@ -291,16 +291,21 @@ class WatchListController extends AbstractController foreach ($watchList->getDomains()->getIterator() as $domain) { $attendees = []; - /** @var DomainEntity $entity */ - foreach ($domain->getDomainEntities()->toArray() as $entity) { - $vCard = Reader::readJson($entity->getEntity()->getJCard()); - if (isset($vCard->EMAIL) && isset($vCard->FN)) { - $email = (string) $vCard->EMAIL; - if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { - continue; - } - $attendees[] = (new Attendee(new EmailAddress($email)))->setDisplayName((string) $vCard->FN); + /* @var DomainEntity $entity */ + foreach ($domain->getDomainEntities()->filter(fn (DomainEntity $domainEntity) => !$domainEntity->getDeleted())->getIterator() as $domainEntity) { + $vCardData = Reader::readJson($domainEntity->getEntity()->getJCard()); + + if (empty($vCardData->EMAIL) || empty($vCardData->FN)) { + continue; } + + $email = (string) $vCardData->EMAIL; + + if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { + continue; + } + + $attendees[] = (new Attendee(new EmailAddress($email)))->setDisplayName((string) $vCardData->FN); } /** @var DomainEvent $event */ diff --git a/src/Service/RDAPService.php b/src/Service/RDAPService.php index c755e1c..8d9befe 100644 --- a/src/Service/RDAPService.php +++ b/src/Service/RDAPService.php @@ -252,6 +252,9 @@ readonly class RDAPService ->setDate(new \DateTimeImmutable($rdapEvent['eventDate'])) ->setDeleted(false) ); + + $this->em->persist($domain); + $this->em->flush(); } }