simplified how the download client selection works (#22)

This commit is contained in:
Marius Nechifor
2024-12-15 18:37:32 +02:00
parent 74c49f041d
commit 0a6ec21c95
14 changed files with 41 additions and 85 deletions
@@ -4,19 +4,12 @@ public sealed record DelugeConfig : IConfig
{
public const string SectionName = "Deluge";
public required bool Enabled { get; init; }
public Uri? Url { get; init; }
public string? Password { get; init; }
public void Validate()
{
if (!Enabled)
{
return;
}
if (Url is null)
{
throw new ArgumentNullException(nameof(Url));
@@ -4,8 +4,6 @@ public sealed class QBitConfig : IConfig
{
public const string SectionName = "qBittorrent";
public required bool Enabled { get; init; }
public Uri? Url { get; init; }
public string? Username { get; init; }
@@ -14,11 +12,6 @@ public sealed class QBitConfig : IConfig
public void Validate()
{
if (!Enabled)
{
return;
}
if (Url is null)
{
throw new ArgumentNullException(nameof(Url));
@@ -1,11 +1,9 @@
namespace Common.Configuration.DownloadClient;
public record TransmissionConfig
public record TransmissionConfig : IConfig
{
public const string SectionName = "Transmission";
public required bool Enabled { get; init; }
public Uri? Url { get; init; }
public string? Username { get; init; }
@@ -14,11 +12,6 @@ public record TransmissionConfig
public void Validate()
{
if (!Enabled)
{
return;
}
if (Url is null)
{
throw new ArgumentNullException(nameof(Url));
@@ -0,0 +1,6 @@
namespace Common.Configuration;
public static class EnvironmentVariables
{
public const string DownloadClient = "DOWNLOAD_CLIENT";
}