integrationDisplayName = $integrationDisplayName; $this->objectDisplayName = $objectDisplayName; $this->writer->writeAuditLogEntry( $notificationDAO->getIntegration(), $notificationDAO->getMauticObject(), $notificationDAO->getMauticObjectId(), 'sync', [ 'integrationObject' => $notificationDAO->getIntegrationObject(), 'integrationObjectId' => $notificationDAO->getIntegrationObjectId(), 'message' => $notificationDAO->getMessage(), ] ); $this->writeEventLogEntry($notificationDAO->getIntegration(), $notificationDAO->getMauticObjectId(), $notificationDAO->getMessage()); // Store these so we can send one notice to the user $this->userNotificationHelper->storeSummaryNotification($integrationDisplayName, $objectDisplayName, $notificationDAO->getMauticObjectId()); } public function finalize(): void { $this->userNotificationHelper->writeNotifications( Contact::NAME, 'mautic.integration.sync.user_notification.contact_message' ); } /** * @throws \Doctrine\ORM\ORMException */ private function writeEventLogEntry(string $integration, int $contactId, string $message): void { $eventLog = new LeadEventLog(); $eventLog ->setLead($this->em->getReference(Lead::class, $contactId)) ->setBundle('integrations') ->setObject($integration) ->setAction('sync') ->setProperties( [ 'message' => $message, 'integration' => $this->integrationDisplayName, 'object' => $this->objectDisplayName, ] ); $this->leadEventRepository->saveEntity($eventLog); $this->leadEventRepository->detachEntity($eventLog); } }