diff options
| author | JPVenson <github@jpb.email> | 2025-09-25 03:15:10 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-24 18:15:10 -0600 |
| commit | 2aa39226c6f47a7d985bd1f5ddc887387650daad (patch) | |
| tree | 1ad2de61e75ecea23ab1204d921f50c598211e91 | |
| parent | 60fbd39bb9e4043c23ebd836a5d6794edcfad472 (diff) | |
Apply filter server side (#14856)v10.11.0-rc6
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserViewBuilder.cs | 17 |
2 files changed, 21 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 11fdf1fe4..1abb394b5 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -973,7 +973,10 @@ namespace MediaBrowser.Controller.Entities { DisplayAlbumFolders = query.DisplayAlbumFolders, 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); diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index 62eb43aa5..4f9e9261b 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -472,6 +472,23 @@ namespace MediaBrowser.Controller.Entities 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)) { return false; |
