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