diff --git a/src/Guard.php b/src/Guard.php index 8ea038d..f000784 100644 --- a/src/Guard.php +++ b/src/Guard.php @@ -77,16 +77,7 @@ public function __invoke(Request $request) event(new TokenAuthenticated($accessToken)); - 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(); - - $accessToken->getConnection()->setRecordModificationState($hasModifiedRecords); - }); - } else { - $accessToken->forceFill(['last_used_at' => now()])->save(); - } + $this->updateLastUsedAt($accessToken); return $tokenable; } @@ -183,4 +174,23 @@ protected function hasValidProvider($tokenable) return $tokenable instanceof $model; } + + /** + * Store the time the token was last used. + * + * @param \Laravel\Sanctum\PersonalAccessToken $accessToken + * @return void + */ + protected function updateLastUsedAt($accessToken) + { + if (method_exists($accessToken->getConnection(), 'hasModifiedRecords') && + method_exists($accessToken->getConnection(), 'setRecordModificationState')) { + $hasModifiedRecords = $accessToken->getConnection()->hasModifiedRecords(); + $accessToken->forceFill(['last_used_at' => now()])->save(); + + $accessToken->getConnection()->setRecordModificationState($hasModifiedRecords); + } else { + $accessToken->forceFill(['last_used_at' => now()])->save(); + } + } }