package com.dbs.consentServer.DTO;

import javax.validation.Valid;
import javax.validation.constraints.Min;
// import javax.validation.constraints.NotBlank;

import com.dbs.consentServer.constraint.IUserValidate;

import org.hibernate.validator.constraints.NotBlank;
import org.springframework.validation.annotation.Validated;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

public class User {
  /**
   * 사용자 즐겨찾기 정보에 사용되는 Data Transfer Object(DTO)
   */
  @Getter @Setter
  @AllArgsConstructor
  public static class UserSet {
    @NotBlank(message = "병원근무지기관코드는 필수 항목 입니다.")
    private String instCd;

    @NotBlank(message = "상태코드는 필수 항목 입니다.")
    private String status;

    @NotBlank(message = "사용자 ID 는 필수 항목 입니다.")
    private String userId;
  }

  /**
   * 로그인에 사용되는 DTO
   */
  @Getter @Setter
  @AllArgsConstructor
  public static class UserLogin{
    @IUserValidate
    @NotBlank(message = "사용자 아이디는 필수 항목 입니다")
    private String userId;

    @Min(value = 4)
    @NotBlank(message = "사용자 패스워드는 필수 항목 입니다")
    private String passwd;

    @NotBlank(message = "근무지기관코드는 필수 항목 입니다")
    private String instcd;

    @NotBlank(message = "공인인증사용유무는 필수 항목 입니다")
    private String useCert;
  }
}