package space.nstart.pcp.complan.types

import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.databind.annotation.JsonSerialize
import io.swagger.v3.oas.annotations.media.Schema
import space.nstart.pcp.pcp_types_lib.dto.ballistics.RevolutionSign
import space.nstart.pcp.pcp_types_lib.dto.ballistics.SquareViewParamDTO
import java.util.*

@Schema(description = "Интервал")
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonSerialize
data class IntervalItemDTO(
    @get:JsonProperty("id")
    @param:JsonProperty("id")
    val id : UUID = UUID.randomUUID(),

    @get:JsonProperty("regionId")
    @param:JsonProperty("regionId")
    val regionId : UUID,

    @get:JsonProperty("revSign")
    @param:JsonProperty("revSign")
    val revSign : RevolutionSign,

    @get:JsonProperty("geometry")
    @param:JsonProperty("geometry")
    val geometry: String,

    @get:JsonProperty("mpl")
    @param:JsonProperty("mpl")
    val mpl: MutableList<SquareViewParamDTO> = mutableListOf()
)
