namespace Common.Configuration.DownloadClient;
///
/// Configuration for a specific download client
///
public sealed record ClientConfig
{
///
/// Unique identifier for this client
///
public string Id { get; init; } = Guid.NewGuid().ToString("N");
///
/// Friendly name for this client
///
public string Name { get; init; } = string.Empty;
///
/// Type of download client
///
public Common.Enums.DownloadClient Type { get; init; } = Common.Enums.DownloadClient.None;
///
/// Host address for the download client
///
public string Host { get; init; } = string.Empty;
///
/// Port for the download client
///
public int Port { get; init; }
///
/// Username for authentication
///
public string Username { get; init; } = string.Empty;
///
/// Password for authentication
///
public string Password { get; init; } = string.Empty;
///
/// Default category to use
///
public string Category { get; init; } = string.Empty;
///
/// Path to download directory
///
public string Path { get; init; } = string.Empty;
///
/// Whether this client is enabled
///
public bool Enabled { get; init; } = true;
}