aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Server.Implementations/Item/PeopleRepository.cs
diff options
context:
space:
mode:
authorJPVenson <github@jpb.email>2024-10-11 14:16:42 +0000
committerJPVenson <github@jpb.email>2024-10-11 14:16:42 +0000
commite20ecfc670c9ef8977b0795c85e35ce165fee46e (patch)
treebe5c5569c426037a1dcb35a5bef689435b25c40c /Jellyfin.Server.Implementations/Item/PeopleRepository.cs
parent058a567e0025d2a3086de8530be613fdf2b08c8c (diff)
applied review comments
Diffstat (limited to 'Jellyfin.Server.Implementations/Item/PeopleRepository.cs')
-rw-r--r--Jellyfin.Server.Implementations/Item/PeopleRepository.cs8
1 files changed, 5 insertions, 3 deletions
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));
}