package space.nstart.pcp.complan.types

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

@Schema(description = "Интервал расчета динамического плана")
@JsonIgnoreProperties(ignoreUnknown = true)
data class DynamicPlanIntervalDTO(
    @get:JsonProperty("id")
    @param:JsonProperty("id")
    val id: Long,

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

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

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

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

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

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

    @get:JsonProperty("observationParametersCount")
    @param:JsonProperty("observationParametersCount")
    val observationParametersCount: Int
)
