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

import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.Digits;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
import java.util.UUID;
import lombok.Builder;

/**
 * Requête de mise à jour d'une écriture comptable.
 *
 * @author UnionFlow Team
 * @version 1.0
 */
@Builder
public record UpdateEcritureComptableRequest(
        String numeroPiece,
        LocalDate dateEcriture,
        String libelle,
        String reference,
        String lettrage,
        Boolean pointe,

        @DecimalMin(value = "0.0") @Digits(integer = 12, fraction = 2) BigDecimal montantDebit,
        @DecimalMin(value = "0.0") @Digits(integer = 12, fraction = 2) BigDecimal montantCredit,

        String commentaire,
        UUID journalId,
        UUID paiementId,

        List<UpdateLigneEcritureRequest> lignes) {
}
