<?php
namespace App\EventSubscriber\Course;
use App\Event\Course\PublishEvent;
use App\Message\Course\Publish;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Messenger\MessageBusInterface;
class PublishSubscriber implements EventSubscriberInterface
{
private MessageBusInterface $bus;
public function __construct(MessageBusInterface $bus)
{
$this->bus = $bus;
}
public static function getSubscribedEvents()
{
return [
PublishEvent::NAME => 'publish',
];
}
public function publish(PublishEvent $even): void
{
$this->bus->dispatch(new Publish($even->getCourse(), $even->getRequest()));
}
}