New: Bulk remove from Blacklist

Signed-off-by: Robin Dadswell <robin@dadswell.email>
This commit is contained in:
Mark McDowall
2020-10-11 15:28:32 -07:00
committed by Qstick
parent 267bdb4cdf
commit 05bc9f11ee
9 changed files with 218 additions and 12 deletions

View File

@@ -17,6 +17,7 @@ namespace NzbDrone.Core.Blacklisting
bool Blacklisted(int authorId, ReleaseInfo release);
PagingSpec<Blacklist> Paged(PagingSpec<Blacklist> pagingSpec);
void Delete(int id);
void Delete(List<int> ids);
}
public class BlacklistService : IBlacklistService,
@@ -70,6 +71,11 @@ namespace NzbDrone.Core.Blacklisting
_blacklistRepository.Delete(id);
}
public void Delete(List<int> ids)
{
_blacklistRepository.DeleteMany(ids);
}
private bool SameNzb(Blacklist item, ReleaseInfo release)
{
if (item.PublishedDate == release.PublishDate)

View File

@@ -0,0 +1,9 @@
using System.Collections.Generic;
namespace Readarr.Api.V1.Blacklist
{
public class BlacklistBulkResource
{
public List<int> Ids { get; set; }
}
}

View File

@@ -1,6 +1,7 @@
using NzbDrone.Core.Blacklisting;
using NzbDrone.Core.Datastore;
using Readarr.Http;
using Readarr.Http.Extensions;
namespace Readarr.Api.V1.Blacklist
{
@@ -13,6 +14,8 @@ namespace Readarr.Api.V1.Blacklist
_blacklistService = blacklistService;
GetResourcePaged = GetBlacklist;
DeleteResource = DeleteBlacklist;
Delete("/bulk", x => Remove());
}
private PagingResource<BlacklistResource> GetBlacklist(PagingResource<BlacklistResource> pagingResource)
@@ -26,5 +29,14 @@ namespace Readarr.Api.V1.Blacklist
{
_blacklistService.Delete(id);
}
private object Remove()
{
var resource = Request.Body.FromJson<BlacklistBulkResource>();
_blacklistService.Delete(resource.Ids);
return new object();
}
}
}