mirror of
https://github.com/Sonarr/Sonarr.git
synced 2026-04-18 21:35:27 -04:00
Skip duplicate import list exclusions
This commit is contained in:
@@ -21,7 +21,10 @@ namespace Sonarr.Api.V3.ImportLists
|
||||
{
|
||||
_importListExclusionService = importListExclusionService;
|
||||
|
||||
SharedValidator.RuleFor(c => c.TvdbId).NotEmpty().SetValidator(importListExclusionExistsValidator);
|
||||
SharedValidator.RuleFor(c => c.TvdbId).Cascade(CascadeMode.Stop)
|
||||
.NotEmpty()
|
||||
.SetValidator(importListExclusionExistsValidator);
|
||||
|
||||
SharedValidator.RuleFor(c => c.Title).NotEmpty();
|
||||
}
|
||||
|
||||
|
||||
+8
-2
@@ -1,6 +1,7 @@
|
||||
using FluentValidation.Validators;
|
||||
using NzbDrone.Core.ImportLists.Exclusions;
|
||||
|
||||
namespace NzbDrone.Core.ImportLists.Exclusions
|
||||
namespace Sonarr.Api.V3.ImportLists
|
||||
{
|
||||
public class ImportListExclusionExistsValidator : PropertyValidator
|
||||
{
|
||||
@@ -20,7 +21,12 @@ namespace NzbDrone.Core.ImportLists.Exclusions
|
||||
return true;
|
||||
}
|
||||
|
||||
return !_importListExclusionService.All().Exists(s => s.TvdbId == (int)context.PropertyValue);
|
||||
if (context.InstanceToValidate is not ImportListExclusionResource listExclusionResource)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return !_importListExclusionService.All().Exists(v => v.TvdbId == (int)context.PropertyValue && v.Id != listExclusionResource.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user