<?php
namespace App\EventSubscriber;
use App\Entity\User;
use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityUpdatedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class ResetTotpTokenSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents()
{
return [
BeforeEntityUpdatedEvent::class => 'beforeEntityUpdated'
];
}
public function beforeEntityUpdated(BeforeEntityUpdatedEvent $event)
{
$entity = $event->getEntityInstance();
if (!$entity instanceof User) {
return;
}
if ($entity->getResetTotp()) {
$entity->setTotpSecret(null);
}
}
}