<?php
namespace App\Listener;
use App\Event\UserEvent;
use App\Message\MessagebirdMessage;
use App\Message\ZapierMessage;
use App\Service\ConsentAcceptor;
use Psr\Log\LoggerInterface;
use Symfony\Component\Messenger\MessageBusInterface;
class UserListener
{
public function __construct(
private ConsentAcceptor $ca,
private LoggerInterface $logger,
private MessageBusInterface $bus
){}
public function onRegistrationSuccess(UserEvent $event)
{
$user = $event->getUser();
try {
$this->ca->acceptConsentPages($user);
// $this->bus->dispatch(new MessagebirdMessage($user->getId()));
$this->bus->dispatch(new ZapierMessage(['user_id' => $user->getId(), 'type' => ZapierMessage::USER_REGISTERED]));
} catch (\Exception $e) {
$this->logger->error($e->getMessage());
}
}
}