Spaces:
No application file
No application file
mautic
/
app
/bundles
/IntegrationsBundle
/Sync
/Notification
/Handler
/CompanyNotificationHandler.php
declare(strict_types=1); | |
namespace Mautic\IntegrationsBundle\Sync\Notification\Handler; | |
use Mautic\IntegrationsBundle\Sync\DAO\Sync\Order\NotificationDAO; | |
use Mautic\IntegrationsBundle\Sync\Notification\Helper\CompanyHelper; | |
use Mautic\IntegrationsBundle\Sync\Notification\Helper\UserNotificationHelper; | |
use Mautic\IntegrationsBundle\Sync\Notification\Writer; | |
use Mautic\IntegrationsBundle\Sync\SyncDataExchange\MauticSyncDataExchange; | |
class CompanyNotificationHandler implements HandlerInterface | |
{ | |
public function __construct( | |
private Writer $writer, | |
private UserNotificationHelper $userNotificationHelper, | |
private CompanyHelper $companyHelper | |
) { | |
} | |
public function getIntegration(): string | |
{ | |
return MauticSyncDataExchange::NAME; | |
} | |
public function getSupportedObject(): string | |
{ | |
return MauticSyncDataExchange::OBJECT_COMPANY; | |
} | |
/** | |
* @throws \Doctrine\ORM\ORMException | |
* @throws \Mautic\IntegrationsBundle\Sync\Exception\ObjectNotSupportedException | |
*/ | |
public function writeEntry(NotificationDAO $notificationDAO, string $integrationDisplayName, string $objectDisplayName): void | |
{ | |
$this->writer->writeAuditLogEntry( | |
$notificationDAO->getIntegration(), | |
$notificationDAO->getMauticObject(), | |
$notificationDAO->getMauticObjectId(), | |
'sync', | |
[ | |
'integrationObject' => $notificationDAO->getIntegrationObject(), | |
'integrationObjectId' => $notificationDAO->getIntegrationObjectId(), | |
'message' => $notificationDAO->getMessage(), | |
] | |
); | |
$this->userNotificationHelper->writeNotification( | |
$notificationDAO->getMessage(), | |
$integrationDisplayName, | |
$objectDisplayName, | |
$notificationDAO->getMauticObject(), | |
$notificationDAO->getMauticObjectId(), | |
(string) $this->companyHelper->getCompanyName($notificationDAO->getMauticObjectId()) | |
); | |
} | |
public function finalize(): void | |
{ | |
// Nothing to do | |
} | |
} | |