package dev.lions.unionflow.server.api.dto.ayantdroit;

import dev.lions.unionflow.server.api.enums.ayantdroit.LienParente;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Past;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AyantDroitRequest {

    @NotBlank(message = "L'Id du membre principal rattaché est obligatoire")
    private String membrePrincipalId;

    @NotBlank(message = "Le prénom est obligatoire")
    private String prenom;

    @NotBlank(message = "Le nom est obligatoire")
    private String nom;

    @NotNull(message = "La date de naissance est obligatoire pour l'âge limite")
    @Past(message = "La date de naissance doit être dans le passé")
    private LocalDate dateNaissance;

    private String sexe;

    private String pieceIdentite;

    @NotNull(message = "Le lien de parenté / bénéfice est requis")
    private LienParente lienParente;

    // Id document du livret de famille ou certificat médical / scolaire
    private String justificatifLienId;
}
