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.
55 lines
1.7 KiB
55 lines
1.7 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using Lidarr.Api.V1.Artist;
|
|
using Lidarr.Api.V1.CustomFormats;
|
|
using Lidarr.Http.REST;
|
|
using NzbDrone.Core.CustomFormats;
|
|
using NzbDrone.Core.Indexers;
|
|
using NzbDrone.Core.Qualities;
|
|
|
|
namespace Lidarr.Api.V1.Blocklist
|
|
{
|
|
public class BlocklistResource : RestResource
|
|
{
|
|
public int ArtistId { get; set; }
|
|
public List<int> AlbumIds { get; set; }
|
|
public string SourceTitle { get; set; }
|
|
public QualityModel Quality { get; set; }
|
|
public List<CustomFormatResource> CustomFormats { get; set; }
|
|
public DateTime Date { get; set; }
|
|
public DownloadProtocol Protocol { get; set; }
|
|
public string Indexer { get; set; }
|
|
public string Message { get; set; }
|
|
|
|
public ArtistResource Artist { get; set; }
|
|
}
|
|
|
|
public static class BlocklistResourceMapper
|
|
{
|
|
public static BlocklistResource MapToResource(this NzbDrone.Core.Blocklisting.Blocklist model, ICustomFormatCalculationService formatCalculator)
|
|
{
|
|
if (model == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return new BlocklistResource
|
|
{
|
|
Id = model.Id,
|
|
|
|
ArtistId = model.ArtistId,
|
|
AlbumIds = model.AlbumIds,
|
|
SourceTitle = model.SourceTitle,
|
|
Quality = model.Quality,
|
|
CustomFormats = formatCalculator.ParseCustomFormat(model, model.Artist).ToResource(false),
|
|
Date = model.Date,
|
|
Protocol = model.Protocol,
|
|
Indexer = model.Indexer,
|
|
Message = model.Message,
|
|
|
|
Artist = model.Artist.ToResource()
|
|
};
|
|
}
|
|
}
|
|
}
|