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

import dev.lions.unionflow.server.api.enums.solidarite.StatutEvaluation;
import jakarta.validation.constraints.DecimalMax;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.Size;
import java.util.Map;
import lombok.Builder;

/**
 * Requête de mise à jour d'une évaluation d'aide.
 */
@Builder
public record UpdateEvaluationAideRequest(
        @DecimalMin(value = "1.0", message = "La note doit être au moins 1") @DecimalMax(value = "5.0", message = "La note ne peut pas dépasser 5") Double noteGlobale,

        Map<String, Double> notesDetaillees,

        @Size(min = 10, max = 1000, message = "Le commentaire doit contenir entre 10 et 1000 caractères") String commentairePrincipal,

        String pointsPositifs,
        String pointsAmelioration,
        String recommandations,
        Boolean recommande,
        Boolean aideUtile,
        Boolean problemeResolu,
        Double noteDelaiReponse,
        Double noteCommunication,
        Double noteProfessionnalisme,
        Double noteRespectEngagements,
        Boolean estPublique,
        Boolean estAnonyme,
        StatutEvaluation statut) {
}
