From 4cf6073fbebc0919e3c0d81cc243decac5f429f9 Mon Sep 17 00:00:00 2001 From: Thomas Boksberger Date: Fri, 3 Apr 2026 13:31:00 +0200 Subject: [PATCH] structure config --- src/main/kotlin/ch/ergon/anytask/Main.kt | 2 +- .../config/{AppConfig.kt => Configuration.kt} | 16 +++++++++++----- src/main/resources/anytask.yaml | 3 ++- 3 files changed, 14 insertions(+), 7 deletions(-) rename src/main/kotlin/ch/ergon/anytask/config/{AppConfig.kt => Configuration.kt} (66%) diff --git a/src/main/kotlin/ch/ergon/anytask/Main.kt b/src/main/kotlin/ch/ergon/anytask/Main.kt index 30ad86a..9155e50 100644 --- a/src/main/kotlin/ch/ergon/anytask/Main.kt +++ b/src/main/kotlin/ch/ergon/anytask/Main.kt @@ -28,7 +28,7 @@ fun main() { ) val config = remember { loadConfig() } - val client = remember { AnyTypeApi(apiKey = config.apiKey, spaceId = config.spaceId) } + val client = remember { AnyTypeApi(baseUrl = config.connection.baseUrl, apiKey = config.connection.apiKey, spaceId = config.spaceId) } LaunchedEffect(Unit) { HotkeyManager.start(onHotkey = { isVisible = !isVisible }) diff --git a/src/main/kotlin/ch/ergon/anytask/config/AppConfig.kt b/src/main/kotlin/ch/ergon/anytask/config/Configuration.kt similarity index 66% rename from src/main/kotlin/ch/ergon/anytask/config/AppConfig.kt rename to src/main/kotlin/ch/ergon/anytask/config/Configuration.kt index 9939595..20cad4f 100644 --- a/src/main/kotlin/ch/ergon/anytask/config/AppConfig.kt +++ b/src/main/kotlin/ch/ergon/anytask/config/Configuration.kt @@ -5,14 +5,20 @@ import kotlinx.serialization.Serializable import java.io.File @Serializable -data class AppConfig( +data class Connection( val apiKey: String = "", + val baseUrl: String = "http://localhost:31009", +) + +@Serializable +data class Configuration( + val connection: Connection = Connection(), val spaceId: String = "", ) -fun loadConfig(): AppConfig { +fun loadConfig(): Configuration { val yaml = Yaml.default - val serializer = AppConfig.serializer() + val serializer = Configuration.serializer() // External files take precedence (production use) val externalLocations = listOf( @@ -24,9 +30,9 @@ fun loadConfig(): AppConfig { } // Fallback: classpath resource (development) - AppConfig::class.java.getResourceAsStream("/anytask.yaml")?.let { + Configuration::class.java.getResourceAsStream("/anytask.yaml")?.let { return yaml.decodeFromString(serializer, it.bufferedReader().readText()) } - return AppConfig() + return Configuration() } diff --git a/src/main/resources/anytask.yaml b/src/main/resources/anytask.yaml index be13d17..1c81f3a 100644 --- a/src/main/resources/anytask.yaml +++ b/src/main/resources/anytask.yaml @@ -1,2 +1,3 @@ -apiKey: 2tkMSzFegWwzsQ+n9SpGwVjychEkCESWjV1/ftytXG4= +connection: + apiKey: 2tkMSzFegWwzsQ+n9SpGwVjychEkCESWjV1/ftytXG4= spaceId: bafyreiafzvfsrurvx4gvr2wwysgp5uugujzmbdg5hxnjlahfmx3ww6kxfy.172mmtcppmjtt