Fixed: Validate metadata and quality profiles for root folders

Don't allow `0` as possible value for metadata and quality profiles, and permit to edit root folders with bad values in UI.
This commit is contained in:
Bogdan 2024-06-30 05:35:37 +03:00
commit e31f2ad253
4 changed files with 15 additions and 12 deletions

View file

@ -48,10 +48,12 @@ namespace Lidarr.Api.V1.RootFolders
SharedValidator.RuleFor(c => c.Name)
.NotEmpty();
SharedValidator.RuleFor(c => c.DefaultMetadataProfileId)
SharedValidator.RuleFor(c => c.DefaultMetadataProfileId).Cascade(CascadeMode.Stop)
.ValidId()
.SetValidator(metadataProfileExistsValidator);
SharedValidator.RuleFor(c => c.DefaultQualityProfileId)
SharedValidator.RuleFor(c => c.DefaultQualityProfileId).Cascade(CascadeMode.Stop)
.ValidId()
.SetValidator(qualityProfileExistsValidator);
}

View file

@ -5,11 +5,11 @@ namespace NzbDrone.Core.Validation
{
public class QualityProfileExistsValidator : PropertyValidator
{
private readonly IQualityProfileService _profileService;
private readonly IQualityProfileService _qualityProfileService;
public QualityProfileExistsValidator(IQualityProfileService profileService)
public QualityProfileExistsValidator(IQualityProfileService qualityProfileService)
{
_profileService = profileService;
_qualityProfileService = qualityProfileService;
}
protected override string GetDefaultMessageTemplate() => "Quality Profile does not exist";
@ -21,7 +21,7 @@ namespace NzbDrone.Core.Validation
return true;
}
return _profileService.Exists((int)context.PropertyValue);
return _qualityProfileService.Exists((int)context.PropertyValue);
}
}
}