using JetBrains.Annotations; using TrashLib.Config.Services; namespace TrashLib.Services.Radarr.Config; [UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public class RadarrConfiguration : ServiceConfiguration { public QualityDefinitionConfig? QualityDefinition { get; init; } public ICollection CustomFormats { get; init; } = new List(); public bool DeleteOldCustomFormats { get; init; } } [UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public class CustomFormatConfig { public ICollection Names { get; init; } = new List(); public ICollection TrashIds { get; init; } = new List(); public ICollection QualityProfiles { get; init; } = new List(); } [UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public class QualityProfileConfig { public string Name { get; init; } = ""; public int? Score { get; init; } public bool ResetUnmatchedScores { get; init; } } [UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public class QualityDefinitionConfig { public string Type { get; init; } = ""; public decimal PreferredRatio { get; set; } = 1.0m; }