using System.Collections.Generic; namespace Selector.CLI { class RootOptions { public const string Key = "Selector"; /// /// Spotify client ID /// public string ClientId { get; set; } /// /// Spotify app secret /// public string ClientSecret { get; set; } public WatcherOptions WatcherOptions { get; set; } = new(); public EqualityChecker Equality { get; set; } = EqualityChecker.Uri; } enum EqualityChecker { Uri, String } class WatcherOptions { public const string Key = "Watcher"; public bool Enabled { get; set; } = true; public List Instances { get; set; } = new(); } class WatcherInstanceOptions { public const string Key = "Instances"; public string Name { get; set; } public string AccessKey { get; set; } public string RefreshKey { get; set; } public int PollPeriod { get; set; } = 5000; public WatcherType Type { get; set; } = WatcherType.Player; public List Consumers { get; set; } = default; #nullable enable public string? PlaylistUri { get; set; } public string? WatcherCollection { get; set; } #nullable disable } enum WatcherType { Player, Playlist } enum Consumers { AudioFeatures } }