<?php

declare(strict_types=1);

namespace Fennec\Exception;

/**
 * Données entrantes invalides — mappée sur le code HTTP 422 par l'ExceptionHandler.
 *
 * Porte les erreurs champ par champ, destinées à être lues telles quelles par le client
 * (contrairement au message technique, cf. Fennec-conventions-de-codage.md §6).
 */
class ValidationException extends FennecException
{
    /**
     * @param array<string, string>|null $details Message d'erreur par champ.
     */
    public function __construct(string $message, private readonly ?array $details = null)
    {
        parent::__construct($message);
    }

    /**
     * @return array<string, string>|null
     */
    public function getDetails(): ?array
    {
        return $this->details;
    }
}
