package org.nstart.dep265.requestservice.entity

import jakarta.persistence.Column
import jakarta.persistence.Entity
import jakarta.persistence.EnumType
import jakarta.persistence.Enumerated
import jakarta.persistence.Id
import jakarta.persistence.Table
import java.util.UUID

@Entity
@Table(name = "request_rsa_params")
class RequestRsaParamsEntity(
    @Id
    @Column(name = "request_id", nullable = false)
    var requestId: UUID,

    @Enumerated(EnumType.STRING)
    @Column(name = "result_type", nullable = false, length = 32)
    var resultType: RsaResultType,

    @Column(name = "interferometry", nullable = false)
    var interferometry: Boolean = false,

    @Enumerated(EnumType.STRING)
    @Column(name = "polarisation", nullable = false, length = 8)
    var polarisation: RsaPolarisation,

    @Column(name = "resolution", nullable = false)
    var resolution: Double,
)

/**
 * Тип аппаратуры РСА.
 */
enum class RsaResultType {
    /** Spotlight режим. */
    SPOTLIGHT,

    /** Stripmap режим. */
    STRIPMAP,

    /** ScanSAR режим. */
    SCANSAR,
}

/**
 * Тип поляризации РСА.
 */
enum class RsaPolarisation {
    /** Горизонтальная передача и горизонтальный прием. */
    HH,

    /** Вертикальная передача и вертикальный прием. */
    VV,
}
