Spaces:
No application file
No application file
File size: 876 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 |
<?php
declare(strict_types=1);
namespace Mautic\MessengerBundle\Service;
use Mautic\CoreBundle\Helper\UserHelper;
use Mautic\MessengerBundle\Message\TestEmail;
use Mautic\MessengerBundle\Message\TestFailed;
use Mautic\MessengerBundle\Message\TestHit;
class TestMessageFactory
{
public function __construct(
private UserHelper $userHelper
) {
}
public function crateMessageByDsnKey(string $key): object
{
return match ($key) {
'messenger_dsn_email' => new TestEmail($this->userHelper->getUser()->getId()),
'messenger_dsn_hit' => new TestHit($this->userHelper->getUser()->getId()),
'messenger_dsn_failed' => new TestFailed($this->userHelper->getUser()->getId()),
default => throw new \InvalidArgumentException(sprintf('Unsupported key: "%s"', $key)),
};
}
}
|