src/Aqarmap/Bundle/CreditBundle/EventListener/ChurnAndExpiryEventSubscriber.php line 31
<?phpnamespace Aqarmap\Bundle\CreditBundle\EventListener;use Aqarmap\Bundle\CreditBundle\Event\ChurnAndExpiryEvent;use Aqarmap\Bundle\CreditBundle\Services\ChurnAndExpiryManager;use Doctrine\ORM\EntityManagerInterface;use Symfony\Component\EventDispatcher\EventSubscriberInterface;class ChurnAndExpiryEventSubscriber implements EventSubscriberInterface{/*** ChurnAndExpiryListener constructor.*/public function __construct(private readonly EntityManagerInterface $em, private readonly ChurnAndExpiryManager $churnAndExpiryManager){}public function onUserRenewal(ChurnAndExpiryEvent $churnAndExpiryEvent): void{$account = $churnAndExpiryEvent->getUser();$staffHistory = $this->em->getRepository(\Aqarmap\Bundle\CRMBundle\Entity\StaffHistory::class)->findOneBy(['user' => $account], ['createdAt' => 'DESC']);if ($staffHistory) {try {$this->churnAndExpiryManager->updateChurnHistory($account, $staffHistory);} catch (\Exception) {return;}}}public static function getSubscribedEvents(): array{return [ChurnAndExpiryEvent::NAME => 'onUserRenewal',];}}