From e20ecfc670c9ef8977b0795c85e35ce165fee46e Mon Sep 17 00:00:00 2001 From: JPVenson Date: Fri, 11 Oct 2024 14:16:42 +0000 Subject: applied review comments --- Jellyfin.Server.Implementations/Item/PeopleRepository.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Jellyfin.Server.Implementations/Item/PeopleRepository.cs') diff --git a/Jellyfin.Server.Implementations/Item/PeopleRepository.cs b/Jellyfin.Server.Implementations/Item/PeopleRepository.cs index dee87f48f9..5f5bf09af9 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. /// /// Efcore Factory. +/// Items lookup service. /// /// Initializes a new instance of the class. /// -public class PeopleRepository(IDbContextFactory dbProvider) : IPeopleRepository +public class PeopleRepository(IDbContextFactory dbProvider, IItemTypeLookup itemTypeLookup) : IPeopleRepository { private readonly IDbContextFactory _dbProvider = dbProvider; @@ -118,8 +119,9 @@ public class PeopleRepository(IDbContextFactory 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)); } -- cgit v1.2.3