structure config

This commit is contained in:
Thomas Boksberger committed 2026-04-03 13:31:00 +02:00
1 parent 71408e5328
commit 4cf6073fbe
3 files changed
+14 -7

No files matched your search

@@ -0,0 +1,38 @@
package ch.ergon.anytask.config
import com.charleskorn.kaml.Yaml
import kotlinx.serialization.Serializable
import java.io.File
@Serializable
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(): Configuration {
val yaml = Yaml.default
val serializer = Configuration.serializer()
// External files take precedence (production use)
val externalLocations = listOf(
File(System.getProperty("user.home"), ".anytask/anytask.yaml"),
File("anytask.yaml"),
)
externalLocations.firstOrNull { it.exists() }?.let {
return yaml.decodeFromString(serializer, it.readText())
}
// Fallback: classpath resource (development)
Configuration::class.java.getResourceAsStream("/anytask.yaml")?.let {
return yaml.decodeFromString(serializer, it.bufferedReader().readText())
}
return Configuration()
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.