package cokr.xit.ens.modules.nvsigntalk.model.config;

import cokr.xit.ens.modules.nvsigntalk.code.NvSigntalkStatusCd;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.gson.annotations.Expose;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;

import javax.persistence.EnumType;
import javax.persistence.Enumerated;

@Getter
@ToString
@Builder
@Schema(name = "NvSigntalkStat")
public class NvSigntalkStat {

    @Expose
    @JsonIgnore
    @Schema(required = false, title = "발송상세ID", example = " ")
    private Long sendDetailId;

    @Schema(required = false, title = "문서식별번호(외부)", example = " ")
    private String clientDocId;

    @Schema(required = true, title = "문서식별번호(내부)", example = " ")
    private String docId;

    @Enumerated(EnumType.STRING)
    @Schema(required = true, title = "진행 상태", example = " ")
    private NvSigntalkStatusCd nvDocStat;

    @Schema(required = false, title = "송신 시간(yyyyMMddHHmmss)", example = " ")
    private String nvDocSentDt;

    @Schema(required = false, title = "수신 시간(yyyyMMddHHmmss)", example = " ")
    private String nvDocReceivedDt;

    @Schema(required = false, title = "열람 인증을 성공한 최초 시간(yyyyMMddHHmmss)", example = " ")
    private String nvDocAuthFrstDt;

    @Schema(required = false, title = "OTT 검증을 성공한 최초 시간(yyyyMMddHHmmss)", example = " ")
    private String nvDocTokenVrfyFrstDt;

    @Schema(required = false, title = "최초 열람 시간(yyyyMMddHHmmss)", example = " ")
    private String nvDocReadFrstDt;

    @Schema(required = false, title = "에러코드", example = " ")
    private String errorCode;

    @Schema(required = false, title = "에러메시지", example = " ")
    private String errorMessage;


}
