Merge pull request #16893 from Shadowghost/fix-playlist-filter

Add support for filtering playlists by parentId
This commit is contained in:
Bond-009
2026-05-23 19:21:29 +02:00
committed by GitHub
+12 -7
View File
@@ -14,6 +14,7 @@ using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Playlists;
using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
@@ -280,15 +281,19 @@ public class ItemsController : BaseJellyfinApiController
var item = _libraryManager.GetParentItem(parentId, userId);
QueryResult<BaseItem> result;
Guid[] boxSetLinkedChildAncestorIds = [];
Guid[] linkedChildAncestorIds = [];
if (includeItemTypes.Length == 1
&& includeItemTypes[0] == BaseItemKind.BoxSet
&& item is not BoxSet)
&& (includeItemTypes[0] == BaseItemKind.BoxSet || includeItemTypes[0] == BaseItemKind.Playlist)
&& item is not BoxSet
&& item is not Playlist)
{
var isBoxSetsLibrary = item is IHasCollectionType hct && hct.CollectionType == CollectionType.boxsets;
if (parentId.HasValue && item is not UserRootFolder && !isBoxSetsLibrary)
var itemCollectionType = item is IHasCollectionType hct ? hct.CollectionType : null;
var targetCollectionType = includeItemTypes[0] == BaseItemKind.BoxSet
? CollectionType.boxsets
: CollectionType.playlists;
if (parentId.HasValue && item is not UserRootFolder && itemCollectionType != targetCollectionType)
{
boxSetLinkedChildAncestorIds = [parentId.Value];
linkedChildAncestorIds = [parentId.Value];
}
parentId = null;
@@ -412,7 +417,7 @@ public class ItemsController : BaseJellyfinApiController
MaxPremiereDate = maxPremiereDate?.ToUniversalTime(),
AudioLanguages = audioLanguages,
SubtitleLanguages = subtitleLanguages,
LinkedChildAncestorIds = boxSetLinkedChildAncestorIds,
LinkedChildAncestorIds = linkedChildAncestorIds,
};
if (ids.Length != 0 || !string.IsNullOrWhiteSpace(searchTerm))