mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-02-05 08:42:50 +03:00
Apply filter server side (#14856)
This commit is contained in:
@@ -973,7 +973,10 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
{
|
{
|
||||||
DisplayAlbumFolders = query.DisplayAlbumFolders,
|
DisplayAlbumFolders = query.DisplayAlbumFolders,
|
||||||
Limit = query.Limit,
|
Limit = query.Limit,
|
||||||
StartIndex = query.StartIndex
|
StartIndex = query.StartIndex,
|
||||||
|
NameStartsWith = query.NameStartsWith,
|
||||||
|
NameStartsWithOrGreater = query.NameStartsWithOrGreater,
|
||||||
|
NameLessThan = query.NameLessThan
|
||||||
};
|
};
|
||||||
|
|
||||||
items = GetChildren(user, true, out totalItemCount, childQuery).Where(filter);
|
items = GetChildren(user, true, out totalItemCount, childQuery).Where(filter);
|
||||||
|
|||||||
@@ -472,6 +472,23 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
|
|
||||||
public static bool Filter(BaseItem item, User user, InternalItemsQuery query, IUserDataManager userDataManager, ILibraryManager libraryManager)
|
public static bool Filter(BaseItem item, User user, InternalItemsQuery query, IUserDataManager userDataManager, ILibraryManager libraryManager)
|
||||||
{
|
{
|
||||||
|
if (!string.IsNullOrEmpty(query.NameStartsWith) && !item.SortName.StartsWith(query.NameStartsWith, StringComparison.InvariantCultureIgnoreCase))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma warning disable CA1309 // Use ordinal string comparison
|
||||||
|
if (!string.IsNullOrEmpty(query.NameStartsWithOrGreater) && string.Compare(query.NameStartsWithOrGreater, item.SortName, StringComparison.InvariantCultureIgnoreCase) == 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(query.NameLessThan) && string.Compare(query.NameLessThan, item.SortName, StringComparison.InvariantCultureIgnoreCase) != 1)
|
||||||
|
#pragma warning restore CA1309 // Use ordinal string comparison
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (query.MediaTypes.Length > 0 && !query.MediaTypes.Contains(item.MediaType))
|
if (query.MediaTypes.Length > 0 && !query.MediaTypes.Contains(item.MediaType))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user