src/EventSubscriber/LabelSequenceEventSubscriber.php line 28
<?phpdeclare(strict_types=1);namespace App\EventSubscriber;use ApiPlatform\Core\EventListener\EventPriorities;use App\Entity\Label;use App\Service\Label\LabelSequenceCalculatorService;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpKernel\Event\ViewEvent;use Symfony\Component\HttpKernel\KernelEvents;final class LabelSequenceEventSubscriber implements EventSubscriberInterface{public function __construct(private readonly LabelSequenceCalculatorService $labelSequenceCalculatorService){}public static function getSubscribedEvents(): array{return [KernelEvents::VIEW => ['createLabelSequence', EventPriorities::PRE_WRITE]];}public function createLabelSequence(ViewEvent $event): void{$entity = $event->getControllerResult();if (!$entity instanceof Label||$event->getRequest()->getMethod() !== Request::METHOD_POST) {return;}$entity->setSequence($this->labelSequenceCalculatorService->calculateNextLevelSequence($entity));}}