From 380efc56b168c09ffe7c96c5329b4667cf477298 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 28 Nov 2024 13:03:39 +0100 Subject: [PATCH] Fix: missing dispatch call for the releaseEvents for fireing the EmailChanged event (#87) * fix: missing release of registered evenrts * chore: format * fix: dispatch the released events * chore: format --- src/Jobs/CheckAndUpdateUserEmail.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Jobs/CheckAndUpdateUserEmail.php b/src/Jobs/CheckAndUpdateUserEmail.php index 81b0756..cdfbb99 100644 --- a/src/Jobs/CheckAndUpdateUserEmail.php +++ b/src/Jobs/CheckAndUpdateUserEmail.php @@ -15,6 +15,7 @@ use Flarum\User\User; use Flarum\User\UserValidator; use Illuminate\Bus\Queueable; +use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\SerializesModels; @@ -51,7 +52,7 @@ public function __construct(string $providerName, $identifier, ?string $provided $this->providedEmail = $providedEmail; } - public function handle(UserValidator $validator) + public function handle(UserValidator $validator, Dispatcher $events) { $provider = LoginProvider::where('provider', $this->providerName)->where('identifier', $this->identifier)->first(); @@ -76,7 +77,9 @@ public function handle(UserValidator $validator) $user->changeEmail($this->providedEmail); $user->save(); - $user->releaseEvents(); + foreach ($user->releaseEvents() as $event) { + $events->dispatch($event); + } } } }