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