mirror of
https://github.com/Radarr/Radarr.git
synced 2026-03-28 18:05:41 -04:00
@@ -81,8 +81,8 @@ namespace NzbDrone.Core.Test.Blacklisting
|
||||
|
||||
Subject.DeleteForMovies(new List<int> { _movie1.Id });
|
||||
|
||||
var removedMovieBlacklists = Subject.BlacklistedByMovies(new List<int> { _movie1.Id });
|
||||
var nonRemovedMovieBlacklists = Subject.BlacklistedByMovies(new List<int> { _movie2.Id });
|
||||
var removedMovieBlacklists = Subject.BlacklistedByMovie(_movie1.Id);
|
||||
var nonRemovedMovieBlacklists = Subject.BlacklistedByMovie(_movie2.Id);
|
||||
|
||||
removedMovieBlacklists.Should().HaveCount(0);
|
||||
nonRemovedMovieBlacklists.Should().HaveCount(1);
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace NzbDrone.Core.Blacklisting
|
||||
{
|
||||
List<Blacklist> BlacklistedByTitle(int movieId, string sourceTitle);
|
||||
List<Blacklist> BlacklistedByTorrentInfoHash(int movieId, string torrentInfoHash);
|
||||
List<Blacklist> BlacklistedByMovies(List<int> movieIds);
|
||||
List<Blacklist> BlacklistedByMovie(int movieId);
|
||||
void DeleteForMovies(List<int> movieIds);
|
||||
}
|
||||
|
||||
@@ -30,9 +30,9 @@ namespace NzbDrone.Core.Blacklisting
|
||||
return Query(x => x.MovieId == movieId && x.TorrentInfoHash.Contains(torrentInfoHash));
|
||||
}
|
||||
|
||||
public List<Blacklist> BlacklistedByMovies(List<int> movieIds)
|
||||
public List<Blacklist> BlacklistedByMovie(int movieId)
|
||||
{
|
||||
return Query(x => movieIds.Contains(x.MovieId));
|
||||
return Query(x => x.MovieId == movieId);
|
||||
}
|
||||
|
||||
public void DeleteForMovies(List<int> movieIds)
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace NzbDrone.Core.Blacklisting
|
||||
{
|
||||
bool Blacklisted(int movieId, ReleaseInfo release);
|
||||
PagingSpec<Blacklist> Paged(PagingSpec<Blacklist> pagingSpec);
|
||||
List<Blacklist> GetByMovieId(int movieId);
|
||||
void Delete(int id);
|
||||
}
|
||||
|
||||
@@ -65,6 +66,11 @@ namespace NzbDrone.Core.Blacklisting
|
||||
return _blacklistRepository.GetPaged(pagingSpec);
|
||||
}
|
||||
|
||||
public List<Blacklist> GetByMovieId(int movieId)
|
||||
{
|
||||
return _blacklistRepository.BlacklistedByMovie(movieId);
|
||||
}
|
||||
|
||||
public void Delete(int id)
|
||||
{
|
||||
_blacklistRepository.Delete(id);
|
||||
|
||||
@@ -107,18 +107,19 @@ namespace NzbDrone.Core.CustomFormats
|
||||
|
||||
public List<CustomFormat> ParseCustomFormat(Blacklist blacklist)
|
||||
{
|
||||
var movie = _movieService.GetMovie(blacklist.MovieId);
|
||||
var parsed = _parsingService.ParseMovieInfo(blacklist.SourceTitle, null);
|
||||
|
||||
var info = new ParsedMovieInfo
|
||||
{
|
||||
MovieTitle = blacklist.Movie.Title,
|
||||
MovieTitle = movie.Title,
|
||||
SimpleReleaseTitle = parsed?.SimpleReleaseTitle ?? blacklist.SourceTitle.SimplifyReleaseTitle(),
|
||||
Quality = blacklist.Quality,
|
||||
Languages = blacklist.Languages,
|
||||
ReleaseGroup = parsed?.ReleaseGroup,
|
||||
Edition = parsed?.Edition,
|
||||
Year = blacklist.Movie.Year,
|
||||
ImdbId = blacklist.Movie.ImdbId,
|
||||
Year = movie.Year,
|
||||
ImdbId = movie.ImdbId,
|
||||
ExtraInfo = new Dictionary<string, object>
|
||||
{
|
||||
{ "IndexerFlags", blacklist.IndexerFlags },
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Core.Blacklisting;
|
||||
using NzbDrone.Core.CustomFormats;
|
||||
using NzbDrone.Core.Datastore;
|
||||
using Radarr.Http;
|
||||
using Radarr.Http.REST;
|
||||
|
||||
namespace Radarr.Api.V3.Blacklist
|
||||
{
|
||||
@@ -18,6 +22,8 @@ namespace Radarr.Api.V3.Blacklist
|
||||
|
||||
GetResourcePaged = GetBlacklist;
|
||||
DeleteResource = DeleteBlacklist;
|
||||
|
||||
Get("/movie", x => GetMovieBlacklist());
|
||||
}
|
||||
|
||||
private PagingResource<BlacklistResource> GetBlacklist(PagingResource<BlacklistResource> pagingResource)
|
||||
@@ -27,6 +33,20 @@ namespace Radarr.Api.V3.Blacklist
|
||||
return ApplyToPage(_blacklistService.Paged, pagingSpec, (blacklist) => BlacklistResourceMapper.MapToResource(blacklist, _formatCalculator));
|
||||
}
|
||||
|
||||
private List<BlacklistResource> GetMovieBlacklist()
|
||||
{
|
||||
var queryMovieId = Request.Query.MovieId;
|
||||
|
||||
if (!queryMovieId.HasValue)
|
||||
{
|
||||
throw new BadRequestException("movieId is missing");
|
||||
}
|
||||
|
||||
int movieId = Convert.ToInt32(queryMovieId.Value);
|
||||
|
||||
return _blacklistService.GetByMovieId(movieId).Select(h => BlacklistResourceMapper.MapToResource(h, _formatCalculator)).ToList();
|
||||
}
|
||||
|
||||
private void DeleteBlacklist(int id)
|
||||
{
|
||||
_blacklistService.Delete(id);
|
||||
|
||||
Reference in New Issue
Block a user