From 85961687576415be369a59c919520d0efb885d4e Mon Sep 17 00:00:00 2001 From: Robert Dailey Date: Fri, 4 Aug 2023 09:23:39 -0500 Subject: [PATCH] feat: Add Allowed flag for QP upgrades --- schemas/config-schema.json | 7 +- .../.idea/runConfigurations/sync.xml | 2 +- src/Recyclarr.Cli/CompositionRoot.cs | 7 -- .../QualityProfileTransactionPhase.cs | 10 +- .../QualityProfileExtensions.cs | 14 +-- .../QualityProfile/UpdatedQualityProfile.cs | 4 +- .../UpdatedQualityProfileValidator.cs | 56 ++++++--- .../FluentValidation/IManualValidator.cs | 9 -- .../Sonarr/SonarrCapabilityEnforcer.cs | 2 +- .../Config/ConfigAutofacModule.cs | 7 +- .../Config/Parsing/ConfigYamlDataObjects.cs | 3 +- .../ConfigYamlDataObjectsValidation.cs | 60 +++++---- .../Config/Parsing/ConfigYamlMapperProfile.cs | 5 +- .../Config/Services/ServiceConfiguration.cs | 2 +- .../UpdatedQualityProfileTest.cs | 115 +++++++++++++++++- .../ConfigYamlDataObjectsValidationTest.cs | 67 +++++----- 16 files changed, 243 insertions(+), 127 deletions(-) delete mode 100644 src/Recyclarr.Common/FluentValidation/IManualValidator.cs diff --git a/schemas/config-schema.json b/schemas/config-schema.json index f6be283c..df8aae67 100644 --- a/schemas/config-schema.json +++ b/schemas/config-schema.json @@ -116,11 +116,14 @@ "description": "If set to true, enables setting scores to 0 in quality profiles where either a CF was not mentioned in the trash_ids array or it was in that list but did not get a score (e.g. no score in guide).", "default": false }, - "upgrades_allowed": { + "upgrade": { "type": "object", "additionalProperties": false, - "required": ["until_quality"], + "required": ["allowed"], "properties": { + "allowed": { + "type": "boolean" + }, "until_quality": { "type": "string" }, diff --git a/src/.idea/.idea.Recyclarr/.idea/runConfigurations/sync.xml b/src/.idea/.idea.Recyclarr/.idea/runConfigurations/sync.xml index 3d8f0bc3..e881b66d 100644 --- a/src/.idea/.idea.Recyclarr/.idea/runConfigurations/sync.xml +++ b/src/.idea/.idea.Recyclarr/.idea/runConfigurations/sync.xml @@ -1,6 +1,6 @@ -