package space.nstart.pcp_tgu_service.dto

import java.time.LocalDateTime
import java.util.UUID

/** Допустимые значения [CreateDraftRequest.mode]; та же строка уходит на mission-planing. */
object DraftMode {
    const val REPLACE = "replace"
    const val FORK_FORWARD = "fork-forward"
}

data class CreateDraftRequest(
    /** [DraftMode.REPLACE] — черновик в том же слоте; [DraftMode.FORK_FORWARD] — черновик на следующей ЗРВ. */
    val mode: String,
    /** Начало окна целевой ЗРВ (naive, локальное время). Обязательно для fork-forward. */
    val windowStart: LocalDateTime? = null,
    /** Конец окна целевой ЗРВ (naive, локальное время). Обязательно для fork-forward. */
    val windowStop: LocalDateTime? = null,
    /** КПП целевой ЗРВ. Обязательно для fork-forward. */
    val windowKppId: String? = null
)

data class CreateDraftResponse(val draftPlanId: UUID)
