using System.Text.Json.Serialization; namespace Omika.HfSqlProbe; /// /// Root configuration for local HFSQL test databases. /// Never serialize this object — it contains credentials. /// public sealed class HfSqlTestConfiguration { [JsonPropertyName("Server")] public string Server { get; set; } = string.Empty; [JsonPropertyName("Port")] public int Port { get; set; } [JsonPropertyName("Batik")] public HfSqlTestDatabaseConfiguration Batik { get; set; } = new(); [JsonPropertyName("Omika")] public HfSqlTestDatabaseConfiguration Omika { get; set; } = new(); public HfSqlTestDatabaseConfiguration Resolve(string databaseKey) { return databaseKey.ToLowerInvariant() switch { "batik" => Batik, "omika" => Omika, _ => throw new ArgumentException( $"Unknown database key '{databaseKey}'. Expected 'batik' or 'omika'.") }; } }