Introduce ModulesConfig for easier configurations of modules.

This commit is contained in:
Benoit Marty 2024-09-24 12:26:48 +02:00
parent fa558d3ece
commit f119b09644
3 changed files with 55 additions and 9 deletions

View file

@ -0,0 +1,23 @@
/*
* Copyright 2024 New Vector Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only
* Please see LICENSE in the repository root for full details.
*/
package config
sealed interface AnalyticsConfig {
data class Enabled(
val withPosthog: Boolean,
val withSentry: Boolean,
) : AnalyticsConfig {
init {
require(withPosthog || withSentry) {
"At least one analytics provider must be enabled"
}
}
}
object Disabled : AnalyticsConfig
}