refactor(suspensions): change method signature to support null argument for suspension duration

This commit is contained in:
Miguel Nogueira 2022-08-19 02:55:22 +01:00
parent 697547f42d
commit 980f3a2ee0
No known key found for this signature in database
GPG Key ID: 3C6A7E29AF26D370

View File

@ -18,12 +18,12 @@ class AccountSuspensionService
* Suspends a user account, with given $reason.
* Permanent if no duration given.
*
* @param string $reason Suspension reason.
* @param int $duration Duration in days
* @param User $target Who to suspend.
* @param string $reason Suspension reason.
* @param int|null $duration Duration in days
* @return Ban The ban itself
*/
public function suspend(User $target, string $reason, int $duration = 0): Ban {
public function suspend(User $target, string $reason, int $duration = null): Ban {
Log::alert("An user account has just been suspended.", [
'taget_email' => $target->email,
@ -125,7 +125,7 @@ class AccountSuspensionService
}
public function getSuspensionDuration(User $user): string|null {
if ($this->isSuspended($user)) {
if ($this->isSuspended($user) && !is_null($user->bans->bannedUntil)) {
return $user->bans->bannedUntil->diffForHumans();
}