src/EventSubscriber/CreateInternalCalendarSubscriber.php line 42

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Harmonizely\EventSubscriber;
  4. use FOS\UserBundle\Event\GetResponseUserEvent;
  5. use FOS\UserBundle\FOSUserEvents;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. use Harmonizely\Calendar\Connector\InternalCalendarConnectorInterface;
  8. class CreateInternalCalendarSubscriber implements EventSubscriberInterface
  9. {
  10.     /**
  11.      * @var InternalCalendarConnectorInterface
  12.      */
  13.     private InternalCalendarConnectorInterface $internalCalendarConnector;
  14.     /**
  15.      * @param InternalCalendarConnectorInterface $internalCalendarConnector
  16.      */
  17.     public function __construct(InternalCalendarConnectorInterface $internalCalendarConnector)
  18.     {
  19.         $this->internalCalendarConnector $internalCalendarConnector;
  20.     }
  21.     /**
  22.      * {@inheritdoc}
  23.      */
  24.     public static function getSubscribedEvents(): array
  25.     {
  26.         return [
  27.             FOSUserEvents::REGISTRATION_CONFIRM => 'createInternalCalendar',
  28.         ];
  29.     }
  30.     /**
  31.      * @param GetResponseUserEvent $event
  32.      * @return void
  33.      */
  34.     public function createInternalCalendar(GetResponseUserEvent $event): void
  35.     {
  36.         $this->internalCalendarConnector->connect($event->getUser());
  37.     }
  38. }