<?php
namespace Nellapp\Bundle\SDKBundle\ReverseSync\EventSubscriber;
use Nellapp\Bundle\SDKBundle\ReverseSync\Messenger\SenderService;
use Symfony\Component\Console\ConsoleEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\TerminateEvent;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Contracts\EventDispatcher\Event;
class ReverseSyncSubscriber implements EventSubscriberInterface
{
public function __construct(
private SenderService $senderService,
) {}
public static function getSubscribedEvents(): array
{
return [
KernelEvents::TERMINATE => 'sendTracked',
ConsoleEvents::TERMINATE => 'sendTracked',
];
}
public function sendTracked(Event $event): void
{
if ($event instanceof TerminateEvent && !$event->isMainRequest()) {
return;
}
$this->senderService->send();
}
}