Files
Classeo/backend/src/Scolarite/Domain/Exception/PieceJointeInvalideException.php
Mathias STRASSER e9efb90f59
Some checks failed
CI / Backend Tests (push) Has been cancelled
CI / Frontend Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Naming Conventions (push) Has been cancelled
CI / Build Check (push) Has been cancelled
feat: Permettre aux enseignants de créer et gérer les devoirs
Les enseignants avaient besoin d'un outil pour créer des devoirs assignés
à leurs classes, avec filtrage automatique par matière selon la classe
sélectionnée. Le système valide que la date d'échéance tombe un jour
ouvrable (lundi-vendredi) et empêche les dates dans le passé.

Le domaine modélise le devoir comme un agrégat avec pièces jointes,
statut brouillon/publié, et événements métier (création, modification,
suppression). Les handlers de notification écoutent ces événements pour
les futurs envois aux parents et élèves.
2026-03-14 00:33:49 +01:00

38 lines
914 B
PHP

<?php
declare(strict_types=1);
namespace App\Scolarite\Domain\Exception;
use DomainException;
use function sprintf;
final class PieceJointeInvalideException extends DomainException
{
public static function fichierTropGros(int $fileSize, int $maxSize): self
{
return new self(sprintf(
'Le fichier fait %d octets, la taille maximum est de %d octets (10 Mo).',
$fileSize,
$maxSize,
));
}
public static function typeFichierNonAutorise(string $mimeType): self
{
return new self(sprintf(
'Le type de fichier "%s" n\'est pas autorisé. Types acceptés : PDF, JPEG, PNG.',
$mimeType,
));
}
public static function lectureFichierImpossible(string $filename): self
{
return new self(sprintf(
'Impossible de lire le fichier "%s".',
$filename,
));
}
}