using Cleanuparr.Domain.Enums;
namespace Cleanuparr.Persistence.Models.Configuration.DownloadCleaner;
public interface ISeedingRule : IConfig
{
Guid Id { get; set; }
Guid DownloadClientConfigId { get; set; }
DownloadClientConfig DownloadClientConfig { get; set; }
///
/// Human-readable display label for this rule.
///
string Name { get; set; }
///
/// The torrent categories/labels this rule applies to. At least one must be specified.
///
List Categories { get; set; }
///
/// Tracker domain patterns to filter by (suffix match, case-insensitive).
/// Empty list means match any tracker.
///
List TrackerPatterns { get; set; }
///
/// Evaluation order. Lower value = evaluated first. Auto-assigned on create.
///
int Priority { get; set; }
TorrentPrivacyType PrivacyType { get; set; }
double MaxRatio { get; set; }
double MinSeedTime { get; set; }
double MaxSeedTime { get; set; }
bool DeleteSourceFiles { get; set; }
}