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

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.SuperBuilder;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;

@Getter
@ToString
@SuperBuilder
@Schema(name = "DocumentConfNvSt")
@NoArgsConstructor
public class DocumentConfNvSt {


//    @NotEmpty(message = "전자문서 제목은 필수 입력값 입니다.")
//    @Length(max = 40, message = "전자문서 제목의 최대 길이를 초과 했습니다.")
//    @Schema(required = true, title = "전자문서 제목", example = " ")
//    private String title;

//    @NotEmpty(message = "원문 데이터는 필수 입력값 입니다.")
//    @Length(max = 1000, message = "원문 데이터의 최대 길이를 초과 했습니다.")
//    @Schema(required = true, title = "원문 데이터", example = " ")
//    private String message;

//    @Length(max = 8, message = "고지서 열람 유효시간(초)의 최대 길이를 초과 했습니다.")
    @Schema(required = false, title = "고지서 열람 유효시간(초)-상대시간", example = "2592000")
    private Long valid_duration;

    @Schema(required = false, title = "고지서 열람 유효시간(초)-절대시간", example = "1617202800")
    private Long valid_duration_at;

//    @NotEmpty(message = "리다이렉트URL은 필수 입력값 입니다.")
    @Length(max = 1000, message = "리다이렉트URL의 최대 길이를 초과 했습니다.")
    @Schema(required = true, title = "인증 후 리다이렉트할 URL", example = "http://www.xit.co.kr")
    private String redirect_url;

    @NotEmpty(message = "전자문서 유통정보 등록여부는 필수 입력값 입니다.")
    @Length(max = 1, message = "전자문서 유통정보 등록여부의 최대 길이를 초과 했습니다.")
    @Schema(required = true, title = "공인전자문서 유통정보 등록 필요 여부(y/n)", example = "y")
    private String publish_document_yn;

    @Length(max = 99, message = "본문 해쉬값의 최대 길이를 초과 했습니다.")
    @Schema(required = false, title = "본문 해쉬값", example = " ")
    private String document_hash;

//    @NotEmpty(message = "고객센터 전화번호는 필수 입력값 입니다.")
    @Length(max = 20, message = "고객센터 전화번호의 최대 길이를 초과 했습니다.")
    @Schema(required = true, title = "고객센터 전화번호", example = " ")
    private String call_center_no;

    @Length(max = 50, message = "하위 기관명의 최대 길이를 초과 했습니다.")
    @Schema(required = false, title = "하위 기관명", example = " ")
    private String org_id;

    @NotEmpty(message = "본인인증 사용여부는 필수 입력값 입니다.")
    @Length(max = 1, message = "본인인증 사용여부의 최대 길이를 초과 했습니다.")
    @Schema(required = true, title = "고지서 열람 시 본인인증 사용 여부", example = "y")
    private String auth_require_yn;

    @Length(max = 3000, message = "알람 관련 설정값의 최대 길이를 초과 했습니다.")
    @Schema(required = false, title = "알람 관련 설정값", example = " ")
    private String notification;

    @Length(min = 5, max = 10, message = "정산 키는 5~10 자 입니다.")
    @Schema(required = false, title = "정산 키(정규식: [a-zA-Z0-9\\_\\-]{5,10}", example = "2204-001")
    private String calculation_key;

    @Length(min = 5, max = 10, message = "서식 키는 5~10 자 입니다.")
    @Schema(required = false, title = "서식 키(정규식: [a-zA-Z0-9\\_\\-]{5,10}", example = "2204_00a")
    private String category_key;

    @Length(min = 5, max = 10, message = "문서 키는 5~10 자 입니다.")
    @Schema(required = false, title = "문서 키(정규식: [a-zA-Z0-9\\_\\-]{5,10}", example = "car_check")
    private String document_key;

}
