diff --git a/src/Bundle/ChillMainBundle/Doctrine/Event/TrackCreateUpdateSubscriber.php b/src/Bundle/ChillMainBundle/Doctrine/Event/TrackCreateUpdateSubscriber.php index 52221c421..ed630c6c8 100644 --- a/src/Bundle/ChillMainBundle/Doctrine/Event/TrackCreateUpdateSubscriber.php +++ b/src/Bundle/ChillMainBundle/Doctrine/Event/TrackCreateUpdateSubscriber.php @@ -15,15 +15,17 @@ use Chill\MainBundle\Doctrine\Model\TrackCreationInterface; use Chill\MainBundle\Doctrine\Model\TrackUpdateInterface; use Chill\MainBundle\Entity\User; use Doctrine\Common\EventSubscriber; +use Doctrine\ORM\Event\PrePersistEventArgs; +use Doctrine\ORM\Event\PreUpdateEventArgs; use Doctrine\ORM\Events; use Doctrine\Persistence\Event\LifecycleEventArgs; use Symfony\Bundle\SecurityBundle\Security; -class TrackCreateUpdateSubscriber implements EventSubscriber +readonly class TrackCreateUpdateSubscriber implements EventSubscriber { - public function __construct(private readonly Security $security) {} + public function __construct(private Security $security) {} - public function getSubscribedEvents() + public function getSubscribedEvents(): array { return [ Events::prePersist, @@ -31,22 +33,22 @@ class TrackCreateUpdateSubscriber implements EventSubscriber ]; } - public function prePersist(LifecycleEventArgs $args): void + public function prePersist(PrePersistEventArgs $args): void { $object = $args->getObject(); if ($object instanceof TrackCreationInterface) { - $object->setCreatedAt(new \DateTimeImmutable('now')); + $object->setCreatedAt(new \DateTimeImmutable()); - if ($this->security->getUser() instanceof User) { - $object->setCreatedBy($this->security->getUser()); + if (($user = $this->security->getUser()) instanceof User) { + $object->setCreatedBy($user); } } - $this->onUpdate($object); + $this->onUpdate($object, $args); } - public function preUpdate(LifecycleEventArgs $args): void + public function preUpdate(PreUpdateEventArgs $args): void { $object = $args->getObject(); @@ -56,10 +58,10 @@ class TrackCreateUpdateSubscriber implements EventSubscriber protected function onUpdate(object $object): void { if ($object instanceof TrackUpdateInterface) { - $object->setUpdatedAt(new \DateTimeImmutable('now')); + $object->setUpdatedAt(new \DateTimeImmutable()); - if ($this->security->getUser() instanceof User) { - $object->setUpdatedBy($this->security->getUser()); + if (($user = $this->security->getUser()) instanceof User) { + $object->setUpdatedBy($user); } } }