diff --git a/CHANGELOG.md b/CHANGELOG.md index e2ad84671..4f428d95f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Disable framerate normalization by default and on all ffmpeg profiles - If framerate normalization is desired (not typically needed), it can be re-enabled manually - Show watermarks over songs +- Hide unused local libraries ## [0.4.1-alpha] - 2022-02-10 ### Fixed diff --git a/ErsatzTV.Application/Libraries/Queries/GetAllLibraries.cs b/ErsatzTV.Application/Libraries/Queries/GetConfiguredLibraries.cs similarity index 57% rename from ErsatzTV.Application/Libraries/Queries/GetAllLibraries.cs rename to ErsatzTV.Application/Libraries/Queries/GetConfiguredLibraries.cs index 89ee551a0..eb12b8403 100644 --- a/ErsatzTV.Application/Libraries/Queries/GetAllLibraries.cs +++ b/ErsatzTV.Application/Libraries/Queries/GetConfiguredLibraries.cs @@ -3,5 +3,5 @@ using MediatR; namespace ErsatzTV.Application.Libraries.Queries { - public record GetAllLibraries : IRequest>; + public record GetConfiguredLibraries : IRequest>; } diff --git a/ErsatzTV.Application/Libraries/Queries/GetAllLibrariesHandler.cs b/ErsatzTV.Application/Libraries/Queries/GetConfiguredLibrariesHandler.cs similarity index 70% rename from ErsatzTV.Application/Libraries/Queries/GetAllLibrariesHandler.cs rename to ErsatzTV.Application/Libraries/Queries/GetConfiguredLibrariesHandler.cs index eef67269f..f6999fa65 100644 --- a/ErsatzTV.Application/Libraries/Queries/GetAllLibrariesHandler.cs +++ b/ErsatzTV.Application/Libraries/Queries/GetConfiguredLibrariesHandler.cs @@ -10,13 +10,16 @@ using static ErsatzTV.Application.Libraries.Mapper; namespace ErsatzTV.Application.Libraries.Queries { - public class GetAllLibrariesHandler : IRequestHandler> + public class GetConfiguredLibrariesHandler : IRequestHandler> { private readonly ILibraryRepository _libraryRepository; - public GetAllLibrariesHandler(ILibraryRepository libraryRepository) => _libraryRepository = libraryRepository; + public GetConfiguredLibrariesHandler(ILibraryRepository libraryRepository) => + _libraryRepository = libraryRepository; - public Task> Handle(GetAllLibraries request, CancellationToken cancellationToken) => + public Task> Handle( + GetConfiguredLibraries request, + CancellationToken cancellationToken) => _libraryRepository.GetAll() .Map( list => list.Filter(ShouldIncludeLibrary) @@ -28,7 +31,7 @@ namespace ErsatzTV.Application.Libraries.Queries private static bool ShouldIncludeLibrary(Library library) => library switch { - LocalLibrary => true, + LocalLibrary => library.Paths.Count > 0, PlexLibrary plex => plex.ShouldSyncItems, JellyfinLibrary jellyfin => jellyfin.ShouldSyncItems, EmbyLibrary emby => emby.ShouldSyncItems, diff --git a/ErsatzTV.Infrastructure/Data/Repositories/LibraryRepository.cs b/ErsatzTV.Infrastructure/Data/Repositories/LibraryRepository.cs index e2766e4a2..cbfe2b5f8 100644 --- a/ErsatzTV.Infrastructure/Data/Repositories/LibraryRepository.cs +++ b/ErsatzTV.Infrastructure/Data/Repositories/LibraryRepository.cs @@ -62,6 +62,7 @@ namespace ErsatzTV.Infrastructure.Data.Repositories return context.Libraries .AsNoTracking() .Include(l => l.MediaSource) + .Include(l => l.Paths) .ToListAsync(); } diff --git a/ErsatzTV/Pages/Libraries.razor b/ErsatzTV/Pages/Libraries.razor index 04294d4b4..7a4e44fe6 100644 --- a/ErsatzTV/Pages/Libraries.razor +++ b/ErsatzTV/Pages/Libraries.razor @@ -91,7 +91,7 @@ private async Task LoadLibraries() { - _libraries = await _mediator.Send(new GetAllLibraries()); + _libraries = await _mediator.Send(new GetConfiguredLibraries()); _progressByLibrary = _libraries.ToDictionary(vm => vm.Id, _ => 0); }