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 java.time.LocalDateTime
import java.util.UUID

@Schema(description = "Маршрут расчета динамического плана")
@JsonIgnoreProperties(ignoreUnknown = true)
data class DynamicPlanRouteDTO(
    @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("satelliteId")
    @param:JsonProperty("satelliteId")
    val satelliteId: Long,

    @get:JsonProperty("startTime")
    @param:JsonProperty("startTime")
    val startTime: LocalDateTime,

    @get:JsonProperty("endTime")
    @param:JsonProperty("endTime")
    val endTime: LocalDateTime,

    @get:JsonProperty("duration")
    @param:JsonProperty("duration")
    val duration: Double,

    @get:JsonProperty("revolution")
    @param:JsonProperty("revolution")
    val revolution: Long,

    @get:JsonProperty("roll")
    @param:JsonProperty("roll")
    val roll: Double,

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