package dev.lions.unionflow.client.api.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.time.LocalDateTime;
import java.util.UUID;

/**
 * Miroir local de l'entité {@code RapportTrimestrielControleurInterne} backend (P2-NEW-3).
 *
 * <p>Champs JSONB et byte[] omis — récupérés via endpoint PDF dédié.
 *
 * @since 2026-04-25 (Sprint 8)
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public record RapportTrimestrielDto(
    UUID id,
    UUID organisationId,
    Integer annee,
    Integer trimestre,
    LocalDateTime dateGeneration,
    String statut,
    Integer scoreConformite,
    UUID signataireId,
    LocalDateTime dateSignature,
    String hashSha256
) {
  public boolean estDraft() { return "DRAFT".equals(statut); }
  public boolean estSigne() { return "SIGNE".equals(statut); }
  public boolean estArchive() { return "ARCHIVE".equals(statut); }
}
