<?php
declare(strict_types=1);
namespace App\EventsSubscriber\Activity;
use App\Event\Campaign\CompletedEvent as CampaignCompleteEvent;
use App\Messenger\Campaign\CampaignCompleteMessage;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Messenger\MessageBusInterface;
class CompleteEventSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
CampaignCompleteEvent::class => [
['completeAll', -255],
],
];
}
public function __construct(
private MessageBusInterface $bus,
) {
}
public function completeAll(CampaignCompleteEvent $event): void
{
$this->bus->dispatch(new CampaignCompleteMessage($event->getCampaign()->getId()));
}
}