src/App/Subscriber/MembershipCancelSubscriber.php line 15

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace App\Subscriber;
  3. use App\Entity\User;
  4. use App\Event\Recurring\MembershipCancel;
  5. use App\Event\UserRolesChangedEvent;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. use Symfony\Component\Validator\Exception\UnexpectedTypeException;
  8. use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
  9. class MembershipCancelSubscriber implements EventSubscriberInterface
  10. {
  11.     public function onCancel(MembershipCancel $addEventstring $eventNameEventDispatcherInterface $eventDispatcher): void
  12.     {
  13.         $user $addEvent->getUser();
  14.         if (!$user instanceof User) {
  15.             throw new UnexpectedTypeException($userUser::class);
  16.         }
  17.         $eventDispatcher->dispatch(new UserRolesChangedEvent($user));
  18.     }
  19.     /**
  20.      * @return array<string, array<int|string, array<int|string, int|string>|int|string>|string>
  21.      */
  22.     public static function getSubscribedEvents(): array
  23.     {
  24.         return [
  25.             MembershipCancel::class => 'onCancel',
  26.         ];
  27.     }
  28. }