You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.3 KiB
35 lines
1.3 KiB
using System.Collections.Generic;
|
|
using NzbDrone.Core.Download;
|
|
|
|
namespace Lidarr.Api.V1.DownloadClient
|
|
{
|
|
public class DownloadClientBulkResource : ProviderBulkResource<DownloadClientBulkResource>
|
|
{
|
|
public bool? Enable { get; set; }
|
|
public int? Priority { get; set; }
|
|
public bool? RemoveCompletedDownloads { get; set; }
|
|
public bool? RemoveFailedDownloads { get; set; }
|
|
}
|
|
|
|
public class DownloadClientBulkResourceMapper : ProviderBulkResourceMapper<DownloadClientBulkResource, DownloadClientDefinition>
|
|
{
|
|
public override List<DownloadClientDefinition> UpdateModel(DownloadClientBulkResource resource, List<DownloadClientDefinition> existingDefinitions)
|
|
{
|
|
if (resource == null)
|
|
{
|
|
return new List<DownloadClientDefinition>();
|
|
}
|
|
|
|
existingDefinitions.ForEach(existing =>
|
|
{
|
|
existing.Enable = resource.Enable ?? existing.Enable;
|
|
existing.Priority = resource.Priority ?? existing.Priority;
|
|
existing.RemoveCompletedDownloads = resource.RemoveCompletedDownloads ?? existing.RemoveCompletedDownloads;
|
|
existing.RemoveFailedDownloads = resource.RemoveFailedDownloads ?? existing.RemoveFailedDownloads;
|
|
});
|
|
|
|
return existingDefinitions;
|
|
}
|
|
}
|
|
}
|