27 lines
557 B
PHP
27 lines
557 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class AdminLoginBlock extends Model
|
|
{
|
|
protected $guarded = [];
|
|
|
|
protected $casts = [
|
|
'last_failed_at' => 'datetime',
|
|
'blocked_until' => 'datetime',
|
|
];
|
|
|
|
public function isBlocked(): bool
|
|
{
|
|
return $this->blocked_until !== null && $this->blocked_until->isFuture();
|
|
}
|
|
|
|
public function scopeActive(Builder $query): Builder
|
|
{
|
|
return $query->where('blocked_until', '>', now());
|
|
}
|
|
}
|