description instanceof TranslatableInterface ? $event->description->trans($this->translator) : $event->description; $subjectBag = $this->subjectConverterManager->getSubjectsForEntity($event->mainSubject, true); foreach ($event->subjects as $target) { $subjectBag->append($this->subjectConverterManager->getSubjectsForEntity($target, false)); } $user = $this->security->getUser(); return new AuditTrail( Uuid::uuid7(), $event->action, $this->clock->now(), $user instanceof User ? $user : null, $description, $subjectBag->subject->asArray(), array_map(fn (Subject $subject) => $subject->asArray(), $subjectBag->associatedSubjects), $event->metadata, ); } }