domainRepository->findOneBy(["ldhName" => $ldhName]); $attendees = []; /** @var DomainEntity $entity */ foreach ($domain->getDomainEntities()->toArray() as $entity) { $vCard = Reader::readJson($entity->getEntity()->getJCard()); $email = (string)$vCard->EMAIL; if (!filter_var($email, FILTER_VALIDATE_EMAIL)) continue; $attendees[] = (new Attendee(new EmailAddress($email)))->setDisplayName((string)$vCard->FN); } /** @var DomainEvent $event */ foreach ($domain->getEvents()->toArray() as $event) { $calendar->addEvent((new Event()) ->setSummary($domain->getLdhName() . ' (' . $event->getAction()->value . ')') ->addCategory(new Category($event->getAction()->value)) ->setAttendees($attendees) ->setOccurrence(new SingleDay(new Date($event->getDate()))) ); } return new Response((new CalendarFactory())->createCalendar($calendar), Response::HTTP_OK, [ "Content-Type" => 'text/calendar; charset=utf-8' ]); } }