1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-11-04 10:02:40 +01:00

Fixed: Disabled List items show up in Discovery

Fixes #5328
This commit is contained in:
Qstick 2020-11-14 22:34:05 -05:00
parent 96852c9f96
commit d5addfa12f
3 changed files with 13 additions and 9 deletions

View File

@ -6,7 +6,7 @@ namespace NzbDrone.Core.ImportLists.ImportListMovies
{ {
public interface IImportListMovieRepository : IBasicRepository<ImportListMovie> public interface IImportListMovieRepository : IBasicRepository<ImportListMovie>
{ {
List<ImportListMovie> GetAllForList(int listId); List<ImportListMovie> GetAllForLists(List<int> listIds);
} }
public class ImportListMovieRepository : BasicRepository<ImportListMovie>, IImportListMovieRepository public class ImportListMovieRepository : BasicRepository<ImportListMovie>, IImportListMovieRepository
@ -16,9 +16,9 @@ public ImportListMovieRepository(IMainDatabase database, IEventAggregator eventA
{ {
} }
public List<ImportListMovie> GetAllForList(int listId) public List<ImportListMovie> GetAllForLists(List<int> listIds)
{ {
return Query(x => x.ListId == listId); return Query(x => listIds.Contains(x.ListId));
} }
} }
} }

View File

@ -9,7 +9,7 @@ namespace NzbDrone.Core.ImportLists.ImportListMovies
public interface IImportListMovieService public interface IImportListMovieService
{ {
List<ImportListMovie> GetAllListMovies(); List<ImportListMovie> GetAllListMovies();
List<ImportListMovie> GetAllForList(int listId); List<ImportListMovie> GetAllForLists(List<int> listIds);
ImportListMovie AddListMovie(ImportListMovie listMovie); ImportListMovie AddListMovie(ImportListMovie listMovie);
List<ImportListMovie> AddListMovies(List<ImportListMovie> listMovies); List<ImportListMovie> AddListMovies(List<ImportListMovie> listMovies);
List<ImportListMovie> SyncMoviesForList(List<ImportListMovie> listMovies, int listId); List<ImportListMovie> SyncMoviesForList(List<ImportListMovie> listMovies, int listId);
@ -43,7 +43,7 @@ public List<ImportListMovie> AddListMovies(List<ImportListMovie> listMovies)
public List<ImportListMovie> SyncMoviesForList(List<ImportListMovie> listMovies, int listId) public List<ImportListMovie> SyncMoviesForList(List<ImportListMovie> listMovies, int listId)
{ {
var existingListMovies = GetAllForList(listId); var existingListMovies = GetAllForLists(new List<int> { listId });
listMovies.ForEach(l => l.Id = existingListMovies.FirstOrDefault(e => e.TmdbId == l.TmdbId)?.Id ?? 0); listMovies.ForEach(l => l.Id = existingListMovies.FirstOrDefault(e => e.TmdbId == l.TmdbId)?.Id ?? 0);
@ -59,9 +59,9 @@ public List<ImportListMovie> GetAllListMovies()
return _importListMovieRepository.All().ToList(); return _importListMovieRepository.All().ToList();
} }
public List<ImportListMovie> GetAllForList(int listId) public List<ImportListMovie> GetAllForLists(List<int> listIds)
{ {
return _importListMovieRepository.GetAllForList(listId).ToList(); return _importListMovieRepository.GetAllForLists(listIds).ToList();
} }
public void RemoveListMovie(ImportListMovie listMovie) public void RemoveListMovie(ImportListMovie listMovie)
@ -76,7 +76,7 @@ public ImportListMovie GetById(int id)
public void HandleAsync(ProviderDeletedEvent<IImportList> message) public void HandleAsync(ProviderDeletedEvent<IImportList> message)
{ {
var moviesOnList = _importListMovieRepository.GetAllForList(message.ProviderId); var moviesOnList = _importListMovieRepository.GetAllForLists(new List<int> { message.ProviderId });
_importListMovieRepository.DeleteMany(moviesOnList); _importListMovieRepository.DeleteMany(moviesOnList);
} }
} }

View File

@ -2,6 +2,7 @@
using System.Linq; using System.Linq;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.ImportLists;
using NzbDrone.Core.ImportLists.ImportExclusions; using NzbDrone.Core.ImportLists.ImportExclusions;
using NzbDrone.Core.ImportLists.ImportListMovies; using NzbDrone.Core.ImportLists.ImportListMovies;
using NzbDrone.Core.Languages; using NzbDrone.Core.Languages;
@ -20,6 +21,7 @@ public class ImportListMoviesModule : RadarrRestModule<ImportListMoviesResource>
private readonly IProvideMovieInfo _movieInfo; private readonly IProvideMovieInfo _movieInfo;
private readonly IBuildFileNames _fileNameBuilder; private readonly IBuildFileNames _fileNameBuilder;
private readonly IImportListMovieService _listMovieService; private readonly IImportListMovieService _listMovieService;
private readonly IImportListFactory _importListFactory;
private readonly IImportExclusionsService _importExclusionService; private readonly IImportExclusionsService _importExclusionService;
private readonly IConfigService _configService; private readonly IConfigService _configService;
@ -27,6 +29,7 @@ public ImportListMoviesModule(IMovieService movieService,
IProvideMovieInfo movieInfo, IProvideMovieInfo movieInfo,
IBuildFileNames fileNameBuilder, IBuildFileNames fileNameBuilder,
IImportListMovieService listMovieService, IImportListMovieService listMovieService,
IImportListFactory importListFactory,
IImportExclusionsService importExclusionsService, IImportExclusionsService importExclusionsService,
IConfigService configService) IConfigService configService)
: base("/importlist/movie") : base("/importlist/movie")
@ -35,6 +38,7 @@ public ImportListMoviesModule(IMovieService movieService,
_movieInfo = movieInfo; _movieInfo = movieInfo;
_fileNameBuilder = fileNameBuilder; _fileNameBuilder = fileNameBuilder;
_listMovieService = listMovieService; _listMovieService = listMovieService;
_importListFactory = importListFactory;
_importExclusionService = importExclusionsService; _importExclusionService = importExclusionsService;
_configService = configService; _configService = configService;
Get("/", x => GetDiscoverMovies()); Get("/", x => GetDiscoverMovies());
@ -64,7 +68,7 @@ private object GetDiscoverMovies()
realResults.ForEach(x => x.IsRecommendation = true); 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); realResults.AddRange(listMovies);