<?php

declare(strict_types=1);

namespace App\Scolarite\Domain\Exception;

use RuntimeException;

final class CreneauHoraireInvalideException extends RuntimeException
{
    public static function finAvantDebut(string $startTime, string $endTime): self
    {
        return new self("L'heure de fin ($endTime) doit être après l'heure de début ($startTime).");
    }

    public static function dureeTropCourte(int $minutes): self
    {
        return new self("La durée du créneau ($minutes min) est inférieure au minimum de 5 minutes.");
    }

    public static function formatInvalide(string $time): self
    {
        return new self("Le format de l'heure '$time' est invalide. Format attendu : HH:MM.");
    }
}
