From 83cc0a77ee403aa09257ba02666cbc0bc639e7e7 Mon Sep 17 00:00:00 2001 From: Robert Dailey Date: Mon, 31 Jul 2023 20:10:40 -0500 Subject: [PATCH] refactor: Address resharper warnings --- .../Config/Parsing/ConfigYamlDataObjects.cs | 59 +++++++++++-------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/src/Recyclarr.TrashLib/Config/Parsing/ConfigYamlDataObjects.cs b/src/Recyclarr.TrashLib/Config/Parsing/ConfigYamlDataObjects.cs index 83709400..577fb435 100644 --- a/src/Recyclarr.TrashLib/Config/Parsing/ConfigYamlDataObjects.cs +++ b/src/Recyclarr.TrashLib/Config/Parsing/ConfigYamlDataObjects.cs @@ -5,30 +5,35 @@ using YamlDotNet.Serialization; namespace Recyclarr.TrashLib.Config.Parsing; +[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public record QualityScoreConfigYaml { - public string? Name { get; [UsedImplicitly] init; } - public int? Score { get; [UsedImplicitly] init; } + public string? Name { get; init; } + public int? Score { get; init; } } +[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public record CustomFormatConfigYaml { - public IReadOnlyCollection? TrashIds { get; [UsedImplicitly] init; } - public IReadOnlyCollection? QualityProfiles { get; [UsedImplicitly] init; } + public IReadOnlyCollection? TrashIds { get; init; } + public IReadOnlyCollection? QualityProfiles { get; init; } } +[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public record QualitySizeConfigYaml { - public string? Type { get; [UsedImplicitly] init; } - public decimal? PreferredRatio { get; [UsedImplicitly] init; } + public string? Type { get; init; } + public decimal? PreferredRatio { get; init; } } +[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public record QualityProfileFormatUpgradeYaml { public int? UntilScore { get; init; } public string? UntilQuality { get; init; } } +[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public record QualityProfileQualityConfigYaml { public string? Name { get; init; } @@ -36,58 +41,64 @@ public record QualityProfileQualityConfigYaml public IReadOnlyCollection? Qualities { get; init; } } +[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public record QualityProfileConfigYaml { - public string? Name { get; [UsedImplicitly] init; } + public string? Name { get; init; } public QualityProfileFormatUpgradeYaml? UpgradesAllowed { get; init; } public int? MinFormatScore { get; init; } - public bool ResetUnmatchedScores { get; [UsedImplicitly] init; } + public bool ResetUnmatchedScores { get; init; } public QualitySortAlgorithm? QualitySort { get; init; } public IReadOnlyCollection? Qualities { get; init; } } +[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public record ServiceConfigYaml { - public string? ApiKey { get; [UsedImplicitly] init; } + public string? ApiKey { get; init; } [SuppressMessage("Design", "CA1056:URI-like properties should not be strings")] - public string? BaseUrl { get; [UsedImplicitly] init; } + public string? BaseUrl { get; init; } - public bool DeleteOldCustomFormats { get; [UsedImplicitly] init; } - public bool ReplaceExistingCustomFormats { get; [UsedImplicitly] init; } + public bool DeleteOldCustomFormats { get; init; } + public bool ReplaceExistingCustomFormats { get; init; } - public IReadOnlyCollection? CustomFormats { get; [UsedImplicitly] init; } - public QualitySizeConfigYaml? QualityDefinition { get; [UsedImplicitly] init; } - public IReadOnlyCollection? QualityProfiles { get; [UsedImplicitly] init; } + public IReadOnlyCollection? CustomFormats { get; init; } + public QualitySizeConfigYaml? QualityDefinition { get; init; } + public IReadOnlyCollection? QualityProfiles { get; init; } } +[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public record ReleaseProfileFilterConfigYaml { - public IReadOnlyCollection? Include { get; [UsedImplicitly] init; } - public IReadOnlyCollection? Exclude { get; [UsedImplicitly] init; } + public IReadOnlyCollection? Include { get; init; } + public IReadOnlyCollection? Exclude { get; init; } } +[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public record ReleaseProfileConfigYaml { - public IReadOnlyCollection? TrashIds { get; [UsedImplicitly] init; } - public bool StrictNegativeScores { get; [UsedImplicitly] init; } - public IReadOnlyCollection? Tags { get; [UsedImplicitly] init; } - public ReleaseProfileFilterConfigYaml? Filter { get; [UsedImplicitly] init; } + public IReadOnlyCollection? TrashIds { get; init; } + public bool StrictNegativeScores { get; init; } + public IReadOnlyCollection? Tags { get; init; } + public ReleaseProfileFilterConfigYaml? Filter { get; init; } } // This is usually empty (or the same as ServiceConfigYaml) on purpose. // If empty, it is kept around to make it clear that this one is dedicated to Radarr. public record RadarrConfigYaml : ServiceConfigYaml; +[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public record SonarrConfigYaml : ServiceConfigYaml { - public IReadOnlyCollection? ReleaseProfiles { get; [UsedImplicitly] init; } + public IReadOnlyCollection? ReleaseProfiles { get; init; } } +[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)] public record RootConfigYaml { - public IReadOnlyDictionary? Radarr { get; [UsedImplicitly] init; } - public IReadOnlyDictionary? Sonarr { get; [UsedImplicitly] init; } + public IReadOnlyDictionary? Radarr { get; init; } + public IReadOnlyDictionary? Sonarr { get; init; } // This exists for validation purposes only. [YamlIgnore]