From d5addfa12f5763849fc011d90b5242e15db2cdd4 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sat, 14 Nov 2020 22:34:05 -0500 Subject: [PATCH] Fixed: Disabled List items show up in Discovery Fixes #5328 --- .../ImportListMovies/ImportListMovieRepository.cs | 6 +++--- .../ImportListMovies/ImportListMovieService.cs | 10 +++++----- .../ImportLists/ImportListMoviesModule.cs | 6 +++++- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/NzbDrone.Core/ImportLists/ImportListMovies/ImportListMovieRepository.cs b/src/NzbDrone.Core/ImportLists/ImportListMovies/ImportListMovieRepository.cs index 78afa8586..73ffc15d5 100644 --- a/src/NzbDrone.Core/ImportLists/ImportListMovies/ImportListMovieRepository.cs +++ b/src/NzbDrone.Core/ImportLists/ImportListMovies/ImportListMovieRepository.cs @@ -6,7 +6,7 @@ namespace NzbDrone.Core.ImportLists.ImportListMovies { public interface IImportListMovieRepository : IBasicRepository { - List GetAllForList(int listId); + List GetAllForLists(List listIds); } public class ImportListMovieRepository : BasicRepository, IImportListMovieRepository @@ -16,9 +16,9 @@ public ImportListMovieRepository(IMainDatabase database, IEventAggregator eventA { } - public List GetAllForList(int listId) + public List GetAllForLists(List listIds) { - return Query(x => x.ListId == listId); + return Query(x => listIds.Contains(x.ListId)); } } } diff --git a/src/NzbDrone.Core/ImportLists/ImportListMovies/ImportListMovieService.cs b/src/NzbDrone.Core/ImportLists/ImportListMovies/ImportListMovieService.cs index 0cc7c5b38..b16b6f01b 100644 --- a/src/NzbDrone.Core/ImportLists/ImportListMovies/ImportListMovieService.cs +++ b/src/NzbDrone.Core/ImportLists/ImportListMovies/ImportListMovieService.cs @@ -9,7 +9,7 @@ namespace NzbDrone.Core.ImportLists.ImportListMovies public interface IImportListMovieService { List GetAllListMovies(); - List GetAllForList(int listId); + List GetAllForLists(List listIds); ImportListMovie AddListMovie(ImportListMovie listMovie); List AddListMovies(List listMovies); List SyncMoviesForList(List listMovies, int listId); @@ -43,7 +43,7 @@ public List AddListMovies(List listMovies) public List SyncMoviesForList(List listMovies, int listId) { - var existingListMovies = GetAllForList(listId); + var existingListMovies = GetAllForLists(new List { listId }); listMovies.ForEach(l => l.Id = existingListMovies.FirstOrDefault(e => e.TmdbId == l.TmdbId)?.Id ?? 0); @@ -59,9 +59,9 @@ public List GetAllListMovies() return _importListMovieRepository.All().ToList(); } - public List GetAllForList(int listId) + public List GetAllForLists(List listIds) { - return _importListMovieRepository.GetAllForList(listId).ToList(); + return _importListMovieRepository.GetAllForLists(listIds).ToList(); } public void RemoveListMovie(ImportListMovie listMovie) @@ -76,7 +76,7 @@ public ImportListMovie GetById(int id) public void HandleAsync(ProviderDeletedEvent message) { - var moviesOnList = _importListMovieRepository.GetAllForList(message.ProviderId); + var moviesOnList = _importListMovieRepository.GetAllForLists(new List { message.ProviderId }); _importListMovieRepository.DeleteMany(moviesOnList); } } diff --git a/src/Radarr.Api.V3/ImportLists/ImportListMoviesModule.cs b/src/Radarr.Api.V3/ImportLists/ImportListMoviesModule.cs index 602faf89b..a02361405 100644 --- a/src/Radarr.Api.V3/ImportLists/ImportListMoviesModule.cs +++ b/src/Radarr.Api.V3/ImportLists/ImportListMoviesModule.cs @@ -2,6 +2,7 @@ using System.Linq; using NzbDrone.Common.Extensions; using NzbDrone.Core.Configuration; +using NzbDrone.Core.ImportLists; using NzbDrone.Core.ImportLists.ImportExclusions; using NzbDrone.Core.ImportLists.ImportListMovies; using NzbDrone.Core.Languages; @@ -20,6 +21,7 @@ public class ImportListMoviesModule : RadarrRestModule private readonly IProvideMovieInfo _movieInfo; private readonly IBuildFileNames _fileNameBuilder; private readonly IImportListMovieService _listMovieService; + private readonly IImportListFactory _importListFactory; private readonly IImportExclusionsService _importExclusionService; private readonly IConfigService _configService; @@ -27,6 +29,7 @@ public ImportListMoviesModule(IMovieService movieService, IProvideMovieInfo movieInfo, IBuildFileNames fileNameBuilder, IImportListMovieService listMovieService, + IImportListFactory importListFactory, IImportExclusionsService importExclusionsService, IConfigService configService) : base("/importlist/movie") @@ -35,6 +38,7 @@ public ImportListMoviesModule(IMovieService movieService, _movieInfo = movieInfo; _fileNameBuilder = fileNameBuilder; _listMovieService = listMovieService; + _importListFactory = importListFactory; _importExclusionService = importExclusionsService; _configService = configService; Get("/", x => GetDiscoverMovies()); @@ -64,7 +68,7 @@ private object GetDiscoverMovies() realResults.ForEach(x => x.IsRecommendation = true); } - var listMovies = MapToResource(_listMovieService.GetAllListMovies(), movieLanguge).ToList(); + var listMovies = MapToResource(_listMovieService.GetAllForLists(_importListFactory.Enabled().Select(x => x.Definition.Id).ToList()), movieLanguge).ToList(); realResults.AddRange(listMovies);