
com.safetorun.configuration.BackendResilience.kt Maven / Gradle / Ivy
The newest version!
package com.safetorun.configuration
import com.safetorun.resillience.*
/**
* Safe to run configuration
*/
@kotlinx.serialization.Serializable
data class BackendResilience(
val blacklistedAppCheck: List = emptyList(),
val verifySignatureConfiguration: List = emptyList(),
val installOriginCheck: List = emptyList(),
val osCheckConfiguration: List = emptyList()
)
/**
* Backend resilience builder
*/
class BackendResilienceBuilder internal constructor() {
private val blacklistedAppCheck = mutableListOf()
private val verifySignatureConfiguration = mutableListOf()
private val installOriginCheck = mutableListOf()
private val osCheckConfiguration = mutableListOf()
fun verifySignature(severity: Severity, configuration: VerifySignatureConfigurationBuilder.() -> Unit) {
verifySignatureConfiguration.add(
VerifySignatureConfigurationBuilder(severity)
.apply(configuration)
.build()
)
}
fun installOriginCheck(severity: Severity, installOrigin: InstallOriginBuilder.() -> Unit) {
installOriginCheck.add(
InstallOriginBuilder(severity).apply(installOrigin).build()
)
}
fun oSCheck(osCheckConf: OSCheckConfigurationBuilder.() -> Unit) {
osCheckConfiguration.add(
OSCheckConfigurationBuilder().apply(osCheckConf).build()
)
}
fun blacklistedApp(severity: Severity, blacklistedApp: BlacklistedAppConfigurationBuilder.() -> Unit) {
blacklistedAppCheck.add(
BlacklistedAppConfigurationBuilder(severity).apply(blacklistedApp).build()
)
}
internal fun build() = BackendResilience(
blacklistedAppCheck,
verifySignatureConfiguration,
installOriginCheck,
osCheckConfiguration
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy