package br.gov.sigefp.treasury.api.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.UUID;

/**
 * DTO para transferência de dados de lote de pagamento.
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PaymentBatchDTO {

    private UUID id;

    @NotNull(message = "ID do período é obrigatório")
    private Long periodId;

    @NotNull(message = "ID do ministério é obrigatório")
    private UUID ministryId;

    private LocalDateTime createdAt;

    private UUID createdBy;

    @NotBlank(message = "Status é obrigatório")
    private String status; // CREATED, SENT_TO_BANK, CONFIRMED, REJECTED
}

