diff options
| author | Bond-009 <bond.009@outlook.com> | 2026-05-21 19:32:39 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-21 19:32:39 +0200 |
| commit | 4209b3ba519d96cec4c7a5e0987de2b1237e52ae (patch) | |
| tree | 7d7f54d88f7ca1d71efaeecc17c0e5826bc6efef /Jellyfin.Server.Implementations | |
| parent | 40485aa2f67c903baab2cdde939f4ee13c40b569 (diff) | |
| parent | 9dfcc0918f797a0937b688426232e17898648f94 (diff) | |
Add support for filtering boxsets by parentId (#16882)
Diffstat (limited to 'Jellyfin.Server.Implementations')
| -rw-r--r-- | Jellyfin.Server.Implementations/Item/BaseItemRepository.TranslateQuery.cs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.TranslateQuery.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.TranslateQuery.cs index 624b1b561c..f33a65a703 100644 --- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.TranslateQuery.cs +++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.TranslateQuery.cs @@ -1027,6 +1027,15 @@ public sealed partial class BaseItemRepository baseQuery = baseQuery.Where(e => e.Parents!.AsQueryable().Any(ancestorFilter)); } + if (filter.LinkedChildAncestorIds.Length > 0) + { + // Keep folder-like items (BoxSets, Playlists) whose linked children descend from any of the requested ancestor ids. + var linkedChildAncestorIds = filter.LinkedChildAncestorIds; + baseQuery = baseQuery.Where(e => context.LinkedChildren.Any(lc => + lc.ParentId == e.Id + && lc.Child!.Parents!.Any(a => linkedChildAncestorIds.Contains(a.ParentItemId)))); + } + if (!string.IsNullOrWhiteSpace(filter.AncestorWithPresentationUniqueKey)) { baseQuery = baseQuery |
