diff options
| author | JPVenson <github@jpb.email> | 2024-10-11 14:16:42 +0000 |
|---|---|---|
| committer | JPVenson <github@jpb.email> | 2024-10-11 14:16:42 +0000 |
| commit | e20ecfc670c9ef8977b0795c85e35ce165fee46e (patch) | |
| tree | be5c5569c426037a1dcb35a5bef689435b25c40c | |
| parent | 058a567e0025d2a3086de8530be613fdf2b08c8c (diff) | |
applied review comments
4 files changed, 15 insertions, 14 deletions
diff --git a/Emby.Server.Implementations/Data/ItemTypeLookup.cs b/Emby.Server.Implementations/Data/ItemTypeLookup.cs index 5504012bf..f5db28c7a 100644 --- a/Emby.Server.Implementations/Data/ItemTypeLookup.cs +++ b/Emby.Server.Implementations/Data/ItemTypeLookup.cs @@ -22,10 +22,16 @@ namespace Emby.Server.Implementations.Data; public class ItemTypeLookup : IItemTypeLookup { /// <inheritdoc /> - public IReadOnlyList<string> MusicGenreTypes => BaseItemKindNames.Where(e => e.Key is BaseItemKind.Audio or BaseItemKind.MusicVideo or BaseItemKind.MusicAlbum or BaseItemKind.MusicArtist).Select(e => e.Value).ToImmutableArray(); + public IReadOnlyList<string> MusicGenreTypes { get; } = [ + + typeof(Audio).FullName!, + typeof(MusicVideo).FullName!, + typeof(MusicAlbum).FullName!, + typeof(MusicArtist).FullName!, + ]; /// <inheritdoc /> - public IDictionary<BaseItemKind, string> BaseItemKindNames { get; } = new Dictionary<BaseItemKind, string>() + public IReadOnlyDictionary<BaseItemKind, string> BaseItemKindNames { get; } = new Dictionary<BaseItemKind, string>() { { BaseItemKind.AggregateFolder, typeof(AggregateFolder).FullName! }, { BaseItemKind.Audio, typeof(Audio).FullName! }, diff --git a/Emby.Server.Implementations/Library/MusicManager.cs b/Emby.Server.Implementations/Library/MusicManager.cs index 3f2909947..71c69ec50 100644 --- a/Emby.Server.Implementations/Library/MusicManager.cs +++ b/Emby.Server.Implementations/Library/MusicManager.cs @@ -27,14 +27,7 @@ namespace Emby.Server.Implementations.Library public IReadOnlyList<BaseItem> GetInstantMixFromSong(Audio item, User? user, DtoOptions dtoOptions) { - var list = new List<BaseItem> - { - item - }; - - list.AddRange(GetInstantMixFromGenres(item.Genres, user, dtoOptions)); - - return [.. list]; + return GetInstantMixFromGenres(item.Genres, user, dtoOptions); } /// <inheritdoc /> diff --git a/Jellyfin.Server.Implementations/Item/PeopleRepository.cs b/Jellyfin.Server.Implementations/Item/PeopleRepository.cs index dee87f48f..5f5bf09af 100644 --- a/Jellyfin.Server.Implementations/Item/PeopleRepository.cs +++ b/Jellyfin.Server.Implementations/Item/PeopleRepository.cs @@ -16,10 +16,11 @@ namespace Jellyfin.Server.Implementations.Item; /// Manager for handling people. /// </summary> /// <param name="dbProvider">Efcore Factory.</param> +/// <param name="itemTypeLookup">Items lookup service.</param> /// <remarks> /// Initializes a new instance of the <see cref="PeopleRepository"/> class. /// </remarks> -public class PeopleRepository(IDbContextFactory<JellyfinDbContext> dbProvider) : IPeopleRepository +public class PeopleRepository(IDbContextFactory<JellyfinDbContext> dbProvider, IItemTypeLookup itemTypeLookup) : IPeopleRepository { private readonly IDbContextFactory<JellyfinDbContext> _dbProvider = dbProvider; @@ -118,8 +119,9 @@ public class PeopleRepository(IDbContextFactory<JellyfinDbContext> dbProvider) : { if (filter.User is not null && filter.IsFavorite.HasValue) { - query = query.Where(e => e.PersonType == typeof(Person).FullName) - .Where(e => context.BaseItems.Where(d => context.UserData.Where(e => e.IsFavorite == filter.IsFavorite && e.UserId.Equals(filter.User.Id)).Any(f => f.Key == d.UserDataKey)) + var personType = itemTypeLookup.BaseItemKindNames[BaseItemKind.Person]; + query = query.Where(e => e.PersonType == personType) + .Where(e => context.BaseItems.Where(d => context.UserData.Where(w => w.IsFavorite == filter.IsFavorite && w.UserId.Equals(filter.User.Id)).Any(f => f.Key == d.UserDataKey)) .Select(f => f.Name).Contains(e.Name)); } diff --git a/MediaBrowser.Controller/Persistence/IItemTypeLookup.cs b/MediaBrowser.Controller/Persistence/IItemTypeLookup.cs index d2c6ff365..9507f79d3 100644 --- a/MediaBrowser.Controller/Persistence/IItemTypeLookup.cs +++ b/MediaBrowser.Controller/Persistence/IItemTypeLookup.cs @@ -18,5 +18,5 @@ public interface IItemTypeLookup /// <summary> /// Gets mapping for all BaseItemKinds and their expected serialization target. /// </summary> - public IDictionary<BaseItemKind, string> BaseItemKindNames { get; } + public IReadOnlyDictionary<BaseItemKind, string> BaseItemKindNames { get; } } |
