21 lines
460 B
PHP
21 lines
460 B
PHP
<?php
|
|
|
|
namespace App\Domains\Auth\Exceptions;
|
|
|
|
use Carbon\CarbonImmutable;
|
|
use RuntimeException;
|
|
|
|
class AccountLockedException extends RuntimeException
|
|
{
|
|
public function __construct(
|
|
public readonly CarbonImmutable $lockedUntil,
|
|
) {
|
|
parent::__construct('The account is temporarily locked.');
|
|
}
|
|
|
|
public function retryAfterSeconds(): int
|
|
{
|
|
return max(1, (int) now()->diffInSeconds($this->lockedUntil, false));
|
|
}
|
|
}
|