<?php

declare(strict_types=1);

namespace App\Shared\Domain\Exception;

/**
 * Levee quand le type MIME detecte server-side n'appartient pas a la whitelist
 * du FileUploader (PDF + images). Traduite en HTTP 422 par le processor.
 */
final class UnsupportedMimeTypeException extends FileUploadException
{
    /**
     * @param list<string> $allowed Types MIME autorises
     */
    public function __construct(string $mimeType, array $allowed)
    {
        parent::__construct(sprintf(
            'Le type de fichier « %s » n\'est pas autorisé. Types acceptés : %s.',
            $mimeType,
            implode(', ', $allowed),
        ));
    }
}
