package incheon.ags.mrb.share.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * 레시피 공유 그룹 멤버 VO
 * - 레시피 공유 그룹 멤버 정보 관리
 */
@lombok.Getter @lombok.Setter
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class RecipeShrnGroupMbrVO {

    /** 그룹 ID */
    @NotNull(message = "그룹 ID는 필수입니다")
    private Integer groupId;

    /** 사용자 ID */
    @NotBlank(message = "사용자 ID는 필수입니다")
    private String userId;

    /** 활성화 여부 */
    private Boolean actvtnEn;

    /** 가입일시 */
    private LocalDateTime joinYmd;

    /** 탈퇴일시 */
    private LocalDateTime whdwlYmd;

    /** 최초등록일시 */
    private LocalDateTime frstRegDt;

    /** 최초등록자 ID */
    private String frstRegId;

    /** 최종수정일시 */
    private LocalDateTime lastMdfcnDt;

    /** 최종수정자 ID */
    private String lastMdfcnId;

    // ========================================
    // 조인 필드 (사용자 정보 등)
    // ========================================

    /** 사용자명 */
    private String userNm;

    /** 사용자 이메일 */
    private String userEmail;

    /** 그룹명 */
    private String groupNm;

    /** 부서명 */
    private String deptNm;
}
