Files
Cleanuparr/code/backend/Cleanuparr.Persistence/Models/Configuration/DownloadCleaner/ISeedingRule.cs
2026-04-11 17:13:41 +03:00

44 lines
1.1 KiB
C#

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; }
/// <summary>
/// Human-readable display label for this rule.
/// </summary>
string Name { get; set; }
/// <summary>
/// The torrent categories/labels this rule applies to. At least one must be specified.
/// </summary>
List<string> Categories { get; set; }
/// <summary>
/// Tracker domain patterns to filter by (suffix match, case-insensitive).
/// Empty list means match any tracker.
/// </summary>
List<string> TrackerPatterns { get; set; }
/// <summary>
/// Evaluation order. Lower value = evaluated first. Auto-assigned on create.
/// </summary>
int Priority { get; set; }
TorrentPrivacyType PrivacyType { get; set; }
double MaxRatio { get; set; }
double MinSeedTime { get; set; }
double MaxSeedTime { get; set; }
bool DeleteSourceFiles { get; set; }
}