<?php

declare(strict_types=1);

namespace App\Administration\Domain\Exception;

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

use function sprintf;

final class MaxGuardiansReachedException extends DomainException
{
    public static function pourEleve(UserId $studentId): self
    {
        return new self(sprintf(
            'Un élève ne peut avoir que %d parents/tuteurs liés maximum (élève : %s).',
            StudentGuardian::MAX_GUARDIANS_PER_STUDENT,
            $studentId,
        ));
    }
}
