package cokr.xit.ens.modules.ktsigntalk.gibis.model.config;

import cokr.xit.ens.modules.ktsigntalk.gibis.code.KtGibisStatusCd;
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 = "KtGibisStat")
public class KtGibisStat {

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

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

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

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

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

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

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

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

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

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

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


}
