2022-12-08 03:09:42 +00:00
|
|
|
using System;
|
2018-02-06 23:08:36 +00:00
|
|
|
using NzbDrone.Core.ImportLists;
|
2022-04-28 20:04:09 +00:00
|
|
|
using NzbDrone.Core.Music;
|
2018-02-06 23:08:36 +00:00
|
|
|
|
|
|
|
namespace Lidarr.Api.V1.ImportLists
|
|
|
|
{
|
2021-04-26 20:56:39 +00:00
|
|
|
public class ImportListResource : ProviderResource<ImportListResource>
|
2018-02-06 23:08:36 +00:00
|
|
|
{
|
|
|
|
public bool EnableAutomaticAdd { get; set; }
|
2019-07-25 21:22:38 +00:00
|
|
|
public ImportListMonitorType ShouldMonitor { get; set; }
|
2022-07-18 22:33:41 +00:00
|
|
|
public bool ShouldMonitorExisting { get; set; }
|
2022-07-18 21:51:52 +00:00
|
|
|
public bool ShouldSearch { get; set; }
|
2018-02-06 23:08:36 +00:00
|
|
|
public string RootFolderPath { get; set; }
|
2022-04-28 20:04:09 +00:00
|
|
|
public NewItemMonitorTypes MonitorNewItems { get; set; }
|
2018-04-08 02:28:16 +00:00
|
|
|
public int QualityProfileId { get; set; }
|
2018-02-06 23:08:36 +00:00
|
|
|
public int MetadataProfileId { get; set; }
|
2019-07-27 18:06:18 +00:00
|
|
|
public ImportListType ListType { get; set; }
|
2019-07-28 12:43:14 +00:00
|
|
|
public int ListOrder { get; set; }
|
2022-12-08 03:09:42 +00:00
|
|
|
public TimeSpan MinRefreshInterval { get; set; }
|
2018-02-06 23:08:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public class ImportListResourceMapper : ProviderResourceMapper<ImportListResource, ImportListDefinition>
|
|
|
|
{
|
|
|
|
public override ImportListResource ToResource(ImportListDefinition definition)
|
|
|
|
{
|
|
|
|
if (definition == null)
|
|
|
|
{
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
var resource = base.ToResource(definition);
|
2020-01-03 12:49:24 +00:00
|
|
|
|
2018-02-06 23:08:36 +00:00
|
|
|
resource.EnableAutomaticAdd = definition.EnableAutomaticAdd;
|
|
|
|
resource.ShouldMonitor = definition.ShouldMonitor;
|
2022-07-18 22:33:41 +00:00
|
|
|
resource.ShouldMonitorExisting = definition.ShouldMonitorExisting;
|
2022-07-18 21:51:52 +00:00
|
|
|
resource.ShouldSearch = definition.ShouldSearch;
|
2018-02-06 23:08:36 +00:00
|
|
|
resource.RootFolderPath = definition.RootFolderPath;
|
2022-04-28 20:04:09 +00:00
|
|
|
resource.MonitorNewItems = definition.MonitorNewItems;
|
2018-04-08 02:28:16 +00:00
|
|
|
resource.QualityProfileId = definition.ProfileId;
|
2018-02-06 23:08:36 +00:00
|
|
|
resource.MetadataProfileId = definition.MetadataProfileId;
|
2019-07-27 18:06:18 +00:00
|
|
|
resource.ListType = definition.ListType;
|
2020-01-03 12:49:24 +00:00
|
|
|
resource.ListOrder = (int)definition.ListType;
|
2022-12-08 03:09:42 +00:00
|
|
|
resource.MinRefreshInterval = definition.MinRefreshInterval;
|
2018-02-06 23:08:36 +00:00
|
|
|
|
|
|
|
return resource;
|
|
|
|
}
|
|
|
|
|
2022-05-24 03:41:50 +00:00
|
|
|
public override ImportListDefinition ToModel(ImportListResource resource, ImportListDefinition existingDefinition)
|
2018-02-06 23:08:36 +00:00
|
|
|
{
|
|
|
|
if (resource == null)
|
|
|
|
{
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
2022-05-24 03:41:50 +00:00
|
|
|
var definition = base.ToModel(resource, existingDefinition);
|
2020-01-03 12:49:24 +00:00
|
|
|
|
2018-02-06 23:08:36 +00:00
|
|
|
definition.EnableAutomaticAdd = resource.EnableAutomaticAdd;
|
|
|
|
definition.ShouldMonitor = resource.ShouldMonitor;
|
2022-07-18 22:33:41 +00:00
|
|
|
definition.ShouldMonitorExisting = resource.ShouldMonitorExisting;
|
2022-07-18 21:51:52 +00:00
|
|
|
definition.ShouldSearch = resource.ShouldSearch;
|
2018-02-06 23:08:36 +00:00
|
|
|
definition.RootFolderPath = resource.RootFolderPath;
|
2022-04-28 20:04:09 +00:00
|
|
|
definition.MonitorNewItems = resource.MonitorNewItems;
|
2018-04-08 02:28:16 +00:00
|
|
|
definition.ProfileId = resource.QualityProfileId;
|
2018-02-06 23:08:36 +00:00
|
|
|
definition.MetadataProfileId = resource.MetadataProfileId;
|
2019-07-27 18:06:18 +00:00
|
|
|
definition.ListType = resource.ListType;
|
2022-12-08 03:09:42 +00:00
|
|
|
definition.MinRefreshInterval = resource.MinRefreshInterval;
|
2018-02-06 23:08:36 +00:00
|
|
|
|
|
|
|
return definition;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|