*/ class UserDeletedListener implements IEventListener { public function __construct( private LoggerInterface $logger, private AppointmentConfigService $appointmentConfigService, private BookingService $bookingService, private ProposalService $proposalService, ) { } #[\Override] public function handle(Event $event): void { if (!($event instanceof UserDeletedEvent)) { return; } $this->bookingService->deleteByUser($event->getUser()); $this->appointmentConfigService->deleteByUser($event->getUser()); $this->proposalService->deleteProposalsByUser($event->getUser()->getUID()); $this->logger->info('Calendar appointments cleaned up for deleted user ' . $event->getUser()->getUID()); } }