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
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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;