<?php
namespace App\EventSubscriber\PsRequest;
use App\Event\PsRequestCreatedEvent;
use App\Service\MailerService;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Twig\Environment;
class PsRequestCreatedEventSubscriber implements EventSubscriberInterface
{
public function __construct(private string $reversionMailAddress, private MailerService $mailerService, private Environment $twig)
{
}
public static function getSubscribedEvents(): array
{
return [
PsRequestCreatedEvent::class => 'onPsRequestCreatedEvent',
];
}
public function onPsRequestCreatedEvent(PsRequestCreatedEvent $createdEvent): void
{
$psRequest = $createdEvent->getPsRequest();
$psAmount = $psRequest->getAmount();
$iban = $psRequest->getIban();
$user = $psRequest->getPlayer()->getUser();
$emailTemplate = $this->twig->render('emails/ps-request/created-ps-request.mjml.twig', ['username' => $user->getUserIdentifier(), 'psAmount' => $psAmount, 'iban' => $iban]);
// send mail to reversion address mail
$this->mailerService->send($this->reversionMailAddress, 'Une nouvelle demande de reversion à été créée.', $emailTemplate);
}
}