using System; using System.Collections.Generic; using NzbDrone.Core.CustomFormats; using NzbDrone.Core.Indexers; using NzbDrone.Core.Languages; using NzbDrone.Core.Qualities; using Radarr.Api.V3.CustomFormats; using Radarr.Api.V3.Movies; using Radarr.Http.REST; namespace Radarr.Api.V3.Blacklist { public class BlacklistResource : RestResource { public int MovieId { get; set; } public string SourceTitle { get; set; } public List Languages { get; set; } public QualityModel Quality { get; set; } public List CustomFormats { get; set; } public DateTime Date { get; set; } public DownloadProtocol Protocol { get; set; } public string Indexer { get; set; } public string Message { get; set; } public MovieResource Movie { get; set; } } public static class BlacklistResourceMapper { public static BlacklistResource MapToResource(this NzbDrone.Core.Blacklisting.Blacklist model, ICustomFormatCalculationService formatCalculator) { if (model == null) { return null; } return new BlacklistResource { Id = model.Id, MovieId = model.MovieId, SourceTitle = model.SourceTitle, Languages = model.Languages, Quality = model.Quality, CustomFormats = formatCalculator.ParseCustomFormat(model).ToResource(), Date = model.Date, Protocol = model.Protocol, Indexer = model.Indexer, Message = model.Message, Movie = model.Movie.ToResource(0) }; } } }