"""Errores de validación alineados a reglas CSV / catálogos (HTTP 422)."""

from typing import Any, Dict, List


class CatalogValidationError(Exception):
    """Lista de errores tipo {line, col, msg} como en import CSV."""

    def __init__(self, errors: List[Dict[str, Any]]):
        self.errors = errors or []
        first = self.errors[0].get("msg", "Validación de catálogo") if self.errors else "Validación de catálogo"
        super().__init__(first)
