<?php
namespace App\EventSubscriber;
use App\Entity\Doctor;
use App\Entity\DoctorInterface;
use Boab\CmsBundle\Event\AccountTerminatedEvent;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class UserAccountSubscriber implements EventSubscriberInterface
{
public function __construct(private EntityManagerInterface $entityManager)
{
}
public function onUserAccountTerminated(AccountTerminatedEvent $event): void
{
$user = $event->getUser();
if($user instanceof DoctorInterface){
foreach ($user->getTimeSlots() as $timeSlot) {
//$this->entityManager->remove($timeSlot);
}
dump($user->getTimeSlots());
$this->entityManager->remove($user);
}
}
public static function getSubscribedEvents(): array
{
return [
'user.account_terminated' => 'onUserAccountTerminated',
];
}
}