From 59b11f122533f06eb57957a03f0593ca87e9eae0 Mon Sep 17 00:00:00 2001 From: matthieu Date: Sun, 15 Mar 2026 19:47:06 +0100 Subject: [PATCH] feat(notification) : hook NotificationService into ticket processors --- src/State/ClientTicketNumberProcessor.php | 4 ++++ src/State/ClientTicketStatusProcessor.php | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/State/ClientTicketNumberProcessor.php b/src/State/ClientTicketNumberProcessor.php index 2f1cae1..acfd677 100644 --- a/src/State/ClientTicketNumberProcessor.php +++ b/src/State/ClientTicketNumberProcessor.php @@ -9,6 +9,7 @@ use ApiPlatform\State\ProcessorInterface; use App\Entity\ClientTicket; use App\Entity\User; use App\Repository\ClientTicketRepository; +use App\Service\NotificationService; use DateTimeImmutable; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\SecurityBundle\Security; @@ -24,6 +25,7 @@ final readonly class ClientTicketNumberProcessor implements ProcessorInterface private EntityManagerInterface $entityManager, private Security $security, private ClientTicketRepository $clientTicketRepository, + private NotificationService $notificationService, ) {} public function process(mixed $data, Operation $operation, array $uriVariables = [], array $context = []): ClientTicket @@ -56,6 +58,8 @@ final readonly class ClientTicketNumberProcessor implements ProcessorInterface $this->entityManager->persist($data); $this->entityManager->flush(); + $this->notificationService->createForTicketCreated($data); + return $data; } } diff --git a/src/State/ClientTicketStatusProcessor.php b/src/State/ClientTicketStatusProcessor.php index 271834a..2b229f1 100644 --- a/src/State/ClientTicketStatusProcessor.php +++ b/src/State/ClientTicketStatusProcessor.php @@ -7,6 +7,7 @@ namespace App\State; use ApiPlatform\Metadata\Operation; use ApiPlatform\State\ProcessorInterface; use App\Entity\ClientTicket; +use App\Service\NotificationService; use DateTimeImmutable; use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; @@ -23,6 +24,7 @@ final readonly class ClientTicketStatusProcessor implements ProcessorInterface public function __construct( private EntityManagerInterface $entityManager, + private NotificationService $notificationService, ) {} public function process(mixed $data, Operation $operation, array $uriVariables = [], array $context = []): ClientTicket @@ -51,6 +53,8 @@ final readonly class ClientTicketStatusProcessor implements ProcessorInterface $this->entityManager->persist($data); $this->entityManager->flush(); + $this->notificationService->createForStatusChange($data); + return $data; } }