<?php
namespace App\EventSubscriber;
use App\Event\CreateApplicationConfigurationEvent;
use App\Message\CreateApplicationConfigurationMessage;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Messenger\MessageBusInterface;
class ApplicationConfigurationSubscriber implements EventSubscriberInterface
{
protected MessageBusInterface $bus;
/**
* @param MessageBusInterface $bus
*/
public function __construct(MessageBusInterface $bus)
{
$this->bus = $bus;
}
public static function getSubscribedEvents(): array
{
return [
CreateApplicationConfigurationEvent::NAME => 'onCreateApplicationConfiguration',
];
}
public function onCreateApplicationConfiguration(CreateApplicationConfigurationEvent $event): void
{
$payload = [
'applicationConfiguration' => $event->getApplicationConfiguration(),
];
$message = new CreateApplicationConfigurationMessage($payload);
$this->bus->dispatch($message);
}
}