diff --git a/src/Listeners/CharacterFilterDataUpdatedSquads.php b/src/Listeners/CharacterFilterDataUpdatedSquads.php index 82d810e62..eec0e6c22 100644 --- a/src/Listeners/CharacterFilterDataUpdatedSquads.php +++ b/src/Listeners/CharacterFilterDataUpdatedSquads.php @@ -22,6 +22,7 @@ namespace Seat\Web\Listeners; +use Seat\Eveapi\Models\RefreshToken; use Seat\Web\Events\CharacterFilterDataUpdate; use Seat\Web\Models\Squads\Squad; @@ -29,7 +30,9 @@ class CharacterFilterDataUpdatedSquads { public static function handle(CharacterFilterDataUpdate $event) { - $user = $event->character->user; + $user = RefreshToken::where('character_id', $event->character->character_id)->withTrashed()->first()?->user()->with('squads')->first(); + if (! $user) + return; $member_squads = $user->squads; diff --git a/src/Observers/RefreshTokenObserver.php b/src/Observers/RefreshTokenObserver.php index 1cd581baa..63f1af8e6 100644 --- a/src/Observers/RefreshTokenObserver.php +++ b/src/Observers/RefreshTokenObserver.php @@ -25,6 +25,7 @@ use Exception; use Seat\Eveapi\Bus\Character; use Seat\Eveapi\Models\RefreshToken; +use Seat\Web\Events\CharacterFilterDataUpdate; /** * Class RefreshTokenObserver. @@ -58,4 +59,12 @@ public function restored(RefreshToken $token) logger()->error($e->getMessage()); } } + + /** + * @param \Seat\Eveapi\Models\RefreshToken $token + */ + public function deleted(RefreshToken $token) + { + event(new CharacterFilterDataUpdate($token->character)); + } }