package space.nstart.pcp.pcp_coverage_scheme_service.configuration

import org.springframework.boot.context.properties.ConfigurationProperties

@ConfigurationProperties("coverage-scheme")
data class CoverageSchemeProperties(
    val ballisticsServiceUrl: String = "http://localhost:7003",
    val complexMissionServiceUrl: String = "http://localhost:7002",
    val satelliteCatalogServiceUrl: String = complexMissionServiceUrl,
    val defaultRollStepDegrees: Double = 5.0,
    val defaultMinimumTechnologyOverlap: Double = 0.05,
    val defaultAllowPartialCoverage: Boolean = true,
    val boundaryTouchBuffer: Double = 0.05,
    val continuityGapTolerance: Double = 0.000001,
    val defaultOrientationToleranceDegrees: Double = 15.0,
    val maxRollSamplesPerWindow: Int = 7,
    val flightLinePaddingSeconds: Long = 120,
    val webClientResponseTimeoutSeconds: Long = 30,
    val webClientInMemorySizeMb: Int = 20,
    val fallbackSwathWidthDegrees: Double = 1.0,
    val fallbackShiftPerRollDegree: Double = 0.02,
    val defaultMinimumTimeBetweenModesSeconds: Long = 0
)
