Selector/Selector.CLI/Options.cs

60 lines
1.4 KiB
C#
Raw Normal View History

2021-10-12 20:23:25 +01:00
using System.Collections.Generic;
2021-10-11 23:19:19 +01:00
namespace Selector.CLI
{
class RootOptions
{
public const string Key = "Selector";
2021-10-11 23:19:19 +01:00
/// <summary>
/// Spotify client ID
/// </summary>
public string ClientId { get; set; }
/// <summary>
/// Spotify app secret
/// </summary>
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;
2021-10-11 23:19:19 +01:00
public List<WatcherInstanceOptions> 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> Consumers { get; set; } = default;
2021-10-12 20:23:25 +01:00
#nullable enable
2021-10-11 23:19:19 +01:00
public string? PlaylistUri { get; set; }
public string? WatcherCollection { get; set; }
2021-10-12 20:23:25 +01:00
#nullable disable
2021-10-11 23:19:19 +01:00
}
enum WatcherType
{
Player, Playlist
}
enum Consumers
{
AudioFeatures
}
}