New: Bulk remove from Blacklist

Fixes #5194

Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
This commit is contained in:
Qstick
2020-10-16 22:45:23 -04:00
parent e82f0c01d8
commit 6d452d8479
9 changed files with 217 additions and 12 deletions

View File

@@ -18,6 +18,7 @@ namespace NzbDrone.Core.Blacklisting
PagingSpec<Blacklist> Paged(PagingSpec<Blacklist> pagingSpec);
List<Blacklist> GetByMovieId(int movieId);
void Delete(int id);
void Delete(List<int> ids);
}
public class BlacklistService : IBlacklistService,
@@ -76,6 +77,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 Radarr.Api.V3.Blacklist
{
public class BlacklistBulkResource
{
public List<int> Ids { get; set; }
}
}

View File

@@ -5,6 +5,7 @@ using NzbDrone.Core.Blacklisting;
using NzbDrone.Core.CustomFormats;
using NzbDrone.Core.Datastore;
using Radarr.Http;
using Radarr.Http.Extensions;
using Radarr.Http.REST;
namespace Radarr.Api.V3.Blacklist
@@ -24,6 +25,7 @@ namespace Radarr.Api.V3.Blacklist
DeleteResource = DeleteBlacklist;
Get("/movie", x => GetMovieBlacklist());
Delete("/bulk", x => Remove());
}
private PagingResource<BlacklistResource> GetBlacklist(PagingResource<BlacklistResource> pagingResource)
@@ -51,5 +53,14 @@ namespace Radarr.Api.V3.Blacklist
{
_blacklistService.Delete(id);
}
private object Remove()
{
var resource = Request.Body.FromJson<BlacklistBulkResource>();
_blacklistService.Delete(resource.Ids);
return new object();
}
}
}