package com.kamco.cd.kamcoback.Innopam.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

public class DetectMastDto {

  @Getter
  @Setter
  @NoArgsConstructor
  @AllArgsConstructor
  public static class Basic {

    private Long dtctMstId;
    private String cprsBfYr;
    private String cprsAdYr;
    private Integer dtctSno;
    private String pathNm;
    private String crtEpno;
    private String crtIp;
  }

  @Getter
  @Setter
  @NoArgsConstructor
  @AllArgsConstructor
  public static class DetectMastReq {

    @NotBlank
    @Schema(description = "before 연도", example = "2023")
    private String cprsBfYr;

    @NotBlank
    @Schema(description = "after 연도", example = "2024")
    private String cprsAdYr;

    @NotBlank
    @Schema(description = "차수(회차)", example = "4")
    private Integer dtctSno;

    @NotBlank
    @Schema(description = "파일경로", example = "/app/detect/result/2023_2024/4")
    private String pathNm;

    @NotBlank
    @Schema(description = "사원번호", example = "1234567")
    private String crtEpno;

    @NotBlank
    @Schema(description = "아이피", example = "0.0.0.0")
    private String crtIp;
  }

  @Getter
  @Setter
  @NoArgsConstructor
  @AllArgsConstructor
  public static class DetectMastSearch {

    private String cprsBfYr;
    private String cprsAdYr;
    private Integer dtctSno;
    private String featureId;
  }

  @Getter
  @Setter
  @NoArgsConstructor
  @AllArgsConstructor
  public static class FeaturePnuDto {

    private String featureId; // polygon_id
    private String pnu; // 랜덤 생성
  }
}
