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

import dev.lions.unionflow.server.api.enums.comptabilite.TypeJournalComptable;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.time.LocalDate;
import lombok.Builder;

/**
 * Requête de création d'un journal comptable.
 *
 * @author UnionFlow Team
 * @version 1.0
 */
@Builder
public record CreateJournalComptableRequest(
        @NotBlank(message = "Le code du journal est obligatoire") String code,
        @NotBlank(message = "Le libellé est obligatoire") String libelle,
        @NotNull(message = "Le type de journal est obligatoire") TypeJournalComptable typeJournal,
        LocalDate dateDebut,
        LocalDate dateFin,
        String statut,
        String description) {
}
