From ca1fb636041cc748073a8326425f56947f40f783 Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Tue, 28 Mar 2023 23:22:39 +0300 Subject: [PATCH] Ported EventListener\* (without service registration). --- .../UserSubscribersUpdatedListener.php | 30 ---------- .../EventListener/UsersRenamedListener.php | 30 ---------- .../UserSubscribersUpdatedListener.php | 20 +++++++ src/EventListener/UsersRenamedListener.php | 20 +++++++ .../EventListener/UsersUpdatedSubscriber.php | 59 ++++++++----------- 5 files changed, 64 insertions(+), 95 deletions(-) delete mode 100644 old/src/PointToolsBundle/EventListener/UserSubscribersUpdatedListener.php delete mode 100644 old/src/PointToolsBundle/EventListener/UsersRenamedListener.php create mode 100644 src/EventListener/UserSubscribersUpdatedListener.php create mode 100644 src/EventListener/UsersRenamedListener.php rename {old/src/PointToolsBundle => src}/EventListener/UsersUpdatedSubscriber.php (53%) diff --git a/old/src/PointToolsBundle/EventListener/UserSubscribersUpdatedListener.php b/old/src/PointToolsBundle/EventListener/UserSubscribersUpdatedListener.php deleted file mode 100644 index 3918b60..0000000 --- a/old/src/PointToolsBundle/EventListener/UserSubscribersUpdatedListener.php +++ /dev/null @@ -1,30 +0,0 @@ -notifier = $notifier; - } - - public function onAppUserSubscribersUpdated(UserSubscribersUpdatedEvent $event): void - { - $this->notifier->sendUserSubscribersUpdatedNotification($event->getUser(), $event->getSubscribedUsers(), $event->getUnsubscribedUsers()); - } -} \ No newline at end of file diff --git a/old/src/PointToolsBundle/EventListener/UsersRenamedListener.php b/old/src/PointToolsBundle/EventListener/UsersRenamedListener.php deleted file mode 100644 index 6363fb6..0000000 --- a/old/src/PointToolsBundle/EventListener/UsersRenamedListener.php +++ /dev/null @@ -1,30 +0,0 @@ -notifier = $notifier; - } - - public function onAppUsersRenamed(UsersRenamedEvent $event): void - { - $this->notifier->sendUsersRenamedNotification($event->getRenames()); - } -} \ No newline at end of file diff --git a/src/EventListener/UserSubscribersUpdatedListener.php b/src/EventListener/UserSubscribersUpdatedListener.php new file mode 100644 index 0000000..27793b4 --- /dev/null +++ b/src/EventListener/UserSubscribersUpdatedListener.php @@ -0,0 +1,20 @@ +notifier->sendUserSubscribersUpdatedNotification($event->user, $event->subscribed, $event->unsubscribed); + } +} \ No newline at end of file diff --git a/src/EventListener/UsersRenamedListener.php b/src/EventListener/UsersRenamedListener.php new file mode 100644 index 0000000..c5e7e40 --- /dev/null +++ b/src/EventListener/UsersRenamedListener.php @@ -0,0 +1,20 @@ +notifier->sendUsersRenamedNotification($event->renames); + } +} diff --git a/old/src/PointToolsBundle/EventListener/UsersUpdatedSubscriber.php b/src/EventListener/UsersUpdatedSubscriber.php similarity index 53% rename from old/src/PointToolsBundle/EventListener/UsersUpdatedSubscriber.php rename to src/EventListener/UsersUpdatedSubscriber.php index 62d0ed3..1a829c0 100644 --- a/old/src/PointToolsBundle/EventListener/UsersUpdatedSubscriber.php +++ b/src/EventListener/UsersUpdatedSubscriber.php @@ -1,39 +1,27 @@ eventDispatcher = $eventDispatcher; + public function __construct( + private readonly EventDispatcherInterface $eventDispatcher, + ) { } public function getSubscribedEvents(): array @@ -54,27 +42,28 @@ class UsersUpdatedSubscriber implements EventSubscriber } if ($event->hasChangedField('login')) { - $this->renames[] = new UserRenameEvent($entity, $event->getOldValue('login')); + $this->renameEntities[] = new RenameEventEntity($entity, $event->getOldValue('login')); } } + /** TODO: try to avoid double flush or no? */ public function postFlush(PostFlushEventArgs $event): void { - if (0 !== count($this->renames)) { + if (0 !== count($this->renameEntities)) { // Creating event for dispatch - $usersRenamedEvent = new UsersRenamedEvent($this->renames); + $usersRenamedEvent = new UsersRenamedEvent($this->renameEntities); - $em = $event->getEntityManager(); + $om = $event->getObjectManager(); - foreach ($this->renames as $item) { - $em->persist($item); + foreach ($this->renameEntities as $item) { + $om->persist($item); } - $this->renames = []; + $this->renameEntities = []; - $em->flush(); + $om->flush(); - $this->eventDispatcher->dispatch(UsersRenamedEvent::NAME, $usersRenamedEvent); + $this->eventDispatcher->dispatch($usersRenamedEvent, UsersRenamedEvent::NAME); } } -} \ No newline at end of file +}