Spaces:
No application file
No application file
declare(strict_types=1); | |
namespace Mautic\MessengerBundle\Controller; | |
use Mautic\CoreBundle\Controller\AjaxController as CommonAjaxController; | |
use Mautic\MessengerBundle\Service\TestMessageFactory; | |
use Symfony\Component\HttpFoundation\Request; | |
use Symfony\Component\HttpFoundation\Response; | |
use Symfony\Component\Messenger\MessageBusInterface; | |
class AjaxController extends CommonAjaxController | |
{ | |
public function sendTestMessageAction( | |
Request $request, | |
MessageBusInterface $bus, | |
TestMessageFactory $messageFactory, | |
): Response { | |
try { | |
$message = $messageFactory->crateMessageByDsnKey((string) $request->request->get('key')); | |
} catch (\InvalidArgumentException) { | |
return $this->notFound(); | |
} | |
$data = [ | |
'success' => 1, | |
'message' => $this->translator->trans('mautic.core.success'), | |
]; | |
try { | |
$bus->dispatch($message); | |
} catch (\Throwable $e) { | |
$data['success'] = 0; | |
$data['message'] = $this->translator->trans('mautic.messenger.config.dsn.test_message_failed', ['%message%' => $e->getMessage()]); | |
} | |
return $this->sendJsonResponse($data); | |
} | |
} | |