Add: option to skip automatic redownload when removing from queue (#734)

* Add: option to skip automatic redownload when removing from queue

* Add tests for RedownloadFailedDownloadService

* Fix formatting

* Make re-download dialog conditional
This commit is contained in:
ta264
2019-06-10 19:56:44 +01:00
committed by GitHub
parent 0f6a3bca0c
commit 8cd9ab4a9f
13 changed files with 230 additions and 35 deletions

View File

@@ -77,8 +77,9 @@ namespace Lidarr.Api.V1.Queue
private Response Remove(int id)
{
var blacklist = Request.GetBooleanQueryParameter("blacklist");
var skipReDownload = Request.GetBooleanQueryParameter("skipredownload");
var trackedDownload = Remove(id, blacklist);
var trackedDownload = Remove(id, blacklist, skipReDownload);
if (trackedDownload != null)
{
@@ -91,13 +92,14 @@ namespace Lidarr.Api.V1.Queue
private Response Remove()
{
var blacklist = Request.GetBooleanQueryParameter("blacklist");
var skipReDownload = Request.GetBooleanQueryParameter("skipredownload");
var resource = Request.Body.FromJson<QueueBulkResource>();
var trackedDownloadIds = new List<string>();
foreach (var id in resource.Ids)
{
var trackedDownload = Remove(id, blacklist);
var trackedDownload = Remove(id, blacklist, skipReDownload);
if (trackedDownload != null)
{
@@ -110,7 +112,7 @@ namespace Lidarr.Api.V1.Queue
return new object().AsResponse();
}
private TrackedDownload Remove(int id, bool blacklist)
private TrackedDownload Remove(int id, bool blacklist, bool skipReDownload)
{
var pendingRelease = _pendingReleaseService.FindPendingQueueItem(id);
@@ -139,7 +141,7 @@ namespace Lidarr.Api.V1.Queue
if (blacklist)
{
_failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId);
_failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId, skipReDownload);
}
return trackedDownload;