Refactor project structure and update dependencies
This commit is contained in:
22
app/Models/PersonalAccessToken.php
Normal file
22
app/Models/PersonalAccessToken.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Laravel\Sanctum\PersonalAccessToken as SanctumPersonalAccessToken;
|
||||
use Illuminate\Database\Eloquent\Casts\Attribute;
|
||||
|
||||
class PersonalAccessToken extends SanctumPersonalAccessToken
|
||||
{
|
||||
/**
|
||||
* Update the last_used_at field no more than 1 time per minute.
|
||||
* This change increases the performance of HTTP requests requiring sanctum authentication.
|
||||
*/
|
||||
protected function lastUsedAt(): Attribute
|
||||
{
|
||||
return Attribute::make(
|
||||
set: fn (string $value) => $this->getOriginal('last_used_at') < now()->parse($value)->subMinute()
|
||||
? $value
|
||||
: $this->getOriginal('last_used_at'),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -59,6 +59,22 @@ class User extends Authenticatable implements MustVerifyEmail
|
||||
|
||||
public function mustVerifyEmail(): bool
|
||||
{
|
||||
return $this instanceof MustVerifyEmail && !$this->hasVerifiedEmail();
|
||||
return !$this->hasVerifiedEmail();
|
||||
}
|
||||
|
||||
public function createDeviceToken(string $device, string $ip, bool $remember = false): string
|
||||
{
|
||||
$sanctumToken = $this->createToken(
|
||||
$device,
|
||||
['*'],
|
||||
$remember ?
|
||||
now()->addMonth() :
|
||||
now()->addDay()
|
||||
);
|
||||
|
||||
$sanctumToken->accessToken->ip = $ip;
|
||||
$sanctumToken->accessToken->save();
|
||||
|
||||
return $sanctumToken->plainTextToken;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user