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

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

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;

@Getter
@ToString
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "Document")
public class Document extends DocumentConfKtGbs {

    @Length(max = 50, message = "고지서 고유식별자(외부)의 최대 길이를 초과 했습니다.")
    @NotEmpty(message = "고지서 고유식별자(외부)는 필수 입력값 입니다.")
    @Schema(required = true, title = "고지서 고유식별자(외부)", example = " ")
    private String linkedUuid;

    @Length(max = 128, message = "아이판CI값의 최대 길이를 초과 했습니다.")
    @Schema(required = false, title = "아이핀CI값", example = " ")
    private String ci;

    @Valid
    @Schema(required = false)
    private XitProperty xit_property;
}
