Refactor project structure and update dependencies

This commit is contained in:
2025-05-11 16:17:40 +02:00
parent 81d692a19b
commit 813f7b18d8
73 changed files with 10156 additions and 7756 deletions

View 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'),
);
}
}

View File

@@ -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;
}
}