<?php

declare(strict_types=1);

namespace App\Administration\Domain\Exception;

use App\Administration\Domain\Model\User\StatutCompte;
use App\Administration\Domain\Model\User\UserId;
use DomainException;

use function sprintf;

final class UtilisateurNonDeblocableException extends DomainException
{
    public static function carStatutIncompatible(UserId $userId, StatutCompte $statut): self
    {
        return new self(sprintf(
            'Impossible de débloquer l\'utilisateur "%s" : le compte est en statut "%s".',
            $userId,
            $statut->value,
        ));
    }
}
