From 8a3d7219ac3e428612097d2c0eb53b92c8fc80b8 Mon Sep 17 00:00:00 2001 From: farhad Date: Mon, 23 Dec 2024 23:13:07 +0330 Subject: [PATCH 1/2] Defer updating of last_used_at --- src/Guard.php | 4 ++-- tests/Feature/GuardTest.php | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Guard.php b/src/Guard.php index 8ea038dd..a45552fa 100644 --- a/src/Guard.php +++ b/src/Guard.php @@ -80,12 +80,12 @@ public function __invoke(Request $request) if (method_exists($accessToken->getConnection(), 'hasModifiedRecords') && method_exists($accessToken->getConnection(), 'setRecordModificationState')) { tap($accessToken->getConnection()->hasModifiedRecords(), function ($hasModifiedRecords) use ($accessToken) { - $accessToken->forceFill(['last_used_at' => now()])->save(); + defer(fn() => $accessToken->forceFill(['last_used_at' => now()])->save())->always(); $accessToken->getConnection()->setRecordModificationState($hasModifiedRecords); }); } else { - $accessToken->forceFill(['last_used_at' => now()])->save(); + defer(fn() => $accessToken->forceFill(['last_used_at' => now()])->save())->always(); } return $tokenable; diff --git a/tests/Feature/GuardTest.php b/tests/Feature/GuardTest.php index ab0102ef..f5a5f239 100644 --- a/tests/Feature/GuardTest.php +++ b/tests/Feature/GuardTest.php @@ -157,6 +157,7 @@ public function test_authentication_with_token_succeeds_if_expires_at_not_passed 'expires_at' => now()->addMinutes(60), ]); + $this->withoutDefer(); $returnedUser = $guard->__invoke($request); $this->assertEquals($user->id, $returnedUser->id); @@ -187,6 +188,7 @@ public function test_authentication_is_successful_with_token_if_no_session_prese 'name' => 'Test', ]); + $this->withoutDefer(); $returnedUser = $guard->__invoke($request); $this->assertEquals($user->id, $returnedUser->id); @@ -331,6 +333,7 @@ public function test_authentication_is_successful_with_token_in_custom_header() return $request->header('X-Auth-Token'); }); + $this->withoutDefer(); $returnedUser = $guard->__invoke($request); $this->assertEquals($user->id, $returnedUser->id); From c59d3be565cdfaf0771f92230eaba384ea442fce Mon Sep 17 00:00:00 2001 From: farhad Date: Mon, 23 Dec 2024 23:19:47 +0330 Subject: [PATCH 2/2] Fix styling. --- src/Guard.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Guard.php b/src/Guard.php index a45552fa..9a1f597a 100644 --- a/src/Guard.php +++ b/src/Guard.php @@ -80,12 +80,12 @@ public function __invoke(Request $request) if (method_exists($accessToken->getConnection(), 'hasModifiedRecords') && method_exists($accessToken->getConnection(), 'setRecordModificationState')) { tap($accessToken->getConnection()->hasModifiedRecords(), function ($hasModifiedRecords) use ($accessToken) { - defer(fn() => $accessToken->forceFill(['last_used_at' => now()])->save())->always(); + defer(fn () => $accessToken->forceFill(['last_used_at' => now()])->save())->always(); $accessToken->getConnection()->setRecordModificationState($hasModifiedRecords); }); } else { - defer(fn() => $accessToken->forceFill(['last_used_at' => now()])->save())->always(); + defer(fn () => $accessToken->forceFill(['last_used_at' => now()])->save())->always(); } return $tokenable;