aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShadowghost <Ghost_of_Stone@web.de>2026-03-03 22:27:33 +0100
committerShadowghost <Ghost_of_Stone@web.de>2026-03-03 22:27:33 +0100
commit3da726463dbd1de5330b7fc06f330be7f6bb4ead (patch)
tree063a75b1ab2cc0f169f3f3b5a20439fdd8e32371
parent8c0898738dc56276fb3d5cd9ca5d572043c0a7b0 (diff)
Fix Liked and Favorite filters
-rw-r--r--Jellyfin.Server.Implementations/Item/BaseItemRepository.cs24
1 files changed, 12 insertions, 12 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
index 6e80d38d7d..233d572cb2 100644
--- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
+++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.cs
@@ -3308,37 +3308,37 @@ public sealed class BaseItemRepository
if (filter.IsLiked.HasValue)
{
- baseQuery = baseQuery
- .Where(e => e.UserData!.Any(f => f.UserId == filter.User!.Id && f.Rating >= UserItemData.MinLikeValue));
+ if (filter.IsLiked.Value)
+ {
+ baseQuery = baseQuery.Where(e => e.UserData!.Any(ud => ud.UserId == filter.User!.Id && ud.Rating >= UserItemData.MinLikeValue));
+ }
+ else
+ {
+ baseQuery = baseQuery.Where(e => !e.UserData!.Any(ud => ud.UserId == filter.User!.Id && ud.Rating >= UserItemData.MinLikeValue));
+ }
}
if (filter.IsFavoriteOrLiked.HasValue)
{
- var favoriteItemIds = context.UserData
- .Where(ud => ud.UserId == filter.User!.Id && ud.IsFavorite)
- .Select(ud => ud.ItemId);
if (filter.IsFavoriteOrLiked.Value)
{
- baseQuery = baseQuery.Where(e => favoriteItemIds.Contains(e.Id));
+ baseQuery = baseQuery.Where(e => e.UserData!.Any(ud => ud.UserId == filter.User!.Id && ud.IsFavorite));
}
else
{
- baseQuery = baseQuery.Where(e => !favoriteItemIds.Contains(e.Id));
+ baseQuery = baseQuery.Where(e => !e.UserData!.Any(ud => ud.UserId == filter.User!.Id && ud.IsFavorite));
}
}
if (filter.IsFavorite.HasValue)
{
- var favoriteItemIds = context.UserData
- .Where(ud => ud.UserId == filter.User!.Id && ud.IsFavorite)
- .Select(ud => ud.ItemId);
if (filter.IsFavorite.Value)
{
- baseQuery = baseQuery.Where(e => favoriteItemIds.Contains(e.Id));
+ baseQuery = baseQuery.Where(e => e.UserData!.Any(ud => ud.UserId == filter.User!.Id && ud.IsFavorite));
}
else
{
- baseQuery = baseQuery.Where(e => !favoriteItemIds.Contains(e.Id));
+ baseQuery = baseQuery.Where(e => !e.UserData!.Any(ud => ud.UserId == filter.User!.Id && ud.IsFavorite));
}
}