Spaces:
No application file
No application file
File size: 1,960 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
<?php
declare(strict_types=1);
namespace Mautic\MessengerBundle\MessageHandler;
use Doctrine\ORM\EntityManagerInterface;
use Mautic\CoreBundle\Model\NotificationModel;
use Mautic\MessengerBundle\Message\TestEmail;
use Mautic\MessengerBundle\Message\TestFailed;
use Mautic\MessengerBundle\Message\TestHit;
use Mautic\UserBundle\Entity\User;
use Symfony\Component\Messenger\Handler\MessageSubscriberInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
/**
* @deprecated since Mautic 5.0, to be removed in 6.0 with no replacement.
*/
class TestHandler implements MessageSubscriberInterface
{
public function __construct(
private NotificationModel $notificationModel,
private EntityManagerInterface $entityManager,
private TranslatorInterface $translator,
) {
}
/**
* @return iterable<class-string, array<string, string>>
*/
public static function getHandledMessages(): iterable
{
yield TestEmail::class => ['method' => 'handleEmail'];
yield TestHit::class => ['method' => 'handleHit'];
yield TestFailed::class => ['method' => 'handleFailed'];
}
public function handleEmail(TestEmail $message): void
{
$this->sendNotification($message->userId, 'email');
}
public function handleHit(TestHit $message): void
{
$this->sendNotification($message->userId, 'hit');
}
public function handleFailed(TestFailed $message): void
{
$this->sendNotification($message->userId, 'failed');
}
private function sendNotification(int $userId, string $type): void
{
$this->notificationModel->addNotification(
$this->translator->trans('mautic.messenger.config.dsn.test_message_processed', ['%type%' => $type]),
null,
false,
null,
null,
null,
$this->entityManager->getReference(User::class, $userId),
);
}
}
|