package dev.lions.unionflow.server.api.dto.reference.request;

import jakarta.validation.constraints.Size;

/**
 * Requête de mise à jour d'une donnée de référence.
 *
 * <p>
 * Tous les champs sont optionnels : seuls les
 * champs renseignés seront mis à jour (patch
 * partiel).
 *
 * @author UnionFlow Team
 * @version 3.0
 * @since 2026-02-21
 */
public record UpdateTypeReferenceRequest(

                /** Nouveau code (optionnel). */
                @Size(max = 50) String code,

                /** Nouveau libellé (optionnel). */
                @Size(max = 200) String libelle,

                /** Nouvelle description (optionnel). */
                @Size(max = 1000) String description,

                /** Nouvelle icône (optionnel). */
                @Size(max = 100) String icone,

                /** Nouvelle couleur (optionnel). */
                @Size(max = 50) String couleur,

                /** Nouvelle sévérité (optionnel). */
                @Size(max = 20) String severity,

                /** Nouvel ordre d'affichage (optionnel). */
                Integer ordreAffichage,

                /** Nouveau flag par défaut (optionnel). */
                Boolean estDefaut,

                /** Nouvel état actif/inactif (optionnel). */
                Boolean actif) {
}
