package incheon.sgp.thm.dto;

import com.fasterxml.jackson.annotation.JsonRawValue;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

@Setter
@Getter
@ToString
@NoArgsConstructor
public class SgpThmSubwayDto {
    /** 지하철ID */
    private Integer subwayId;
    /** 지하철이름 */
    private String subwayNm;
    /** 지하철코드 */
    private String subwayCd;
    /** 노선명한국어 */
    private String rteNmKlang;
    /** 노선명영어 */
    private String rteNmEngl;

    /** 공간데이터 */
    @JsonRawValue
    private String geom;

    /** 하위 역사 형태 */
    private SgpThmStationShpDto[] stationShps;

    /** 하위 역사 */
    private SgpThmStationDto[] stations;

    /** 출구 리스트 */
    private SgpThmSubwayExitDto[] exits;

    @Setter
    @Getter
    @ToString
    @NoArgsConstructor
    public static class SgpThmSubwayExitDto {
        /** 출구ID */
        private Integer extId;
        /** 출구명 */
        private String extNm;

        /** 공간 데이터(POINT) */
        private JsonNode geom;
    }
}
