package incheon.cmm.g2f.layer.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.util.Set;

@Getter
@Setter
@Schema(description = "항공 사진 레이어 다운로드 요청")
public class FlightPhotoLayerDownloadRequestDTO {

    @Schema(description = "항공 사진 레이어 ID 리스트")
    @NotNull
    Set<Integer> layerIds;

    @Schema(description = "좌표계", example = "5186")
    @NotNull
    Integer srid;

    @Schema(description = "최소 x 좌표")
    @NotNull
    Double minx;

    @Schema(description = "최소 y 좌표")
    @NotNull
    Double miny;

    @Schema(description = "최대 x 좌표")
    @NotNull
    Double maxx;

    @Schema(description = "최대 y 좌표")
    @NotNull
    Double maxy;

    @Schema(description = "사진 너비 좌표")
    @Min(256)
    @Max(4000)
    Integer width;

    @Schema(description = "사진 높이 좌표")
    @Min(256)
    @Max(4000)
    Integer height;
}
