diff options
| author | Cody Robibero <cody@robibe.ro> | 2022-06-13 16:27:16 -0600 |
|---|---|---|
| committer | crobibero <cody@robibe.ro> | 2022-06-14 19:30:59 -0400 |
| commit | e4b095a7663ef0c41d1d3198ef03192533fa1039 (patch) | |
| tree | 5085dec17a5248c653c206688519b3186b823b71 | |
| parent | b35d608b1965f0fed636a84a2b19363330d92cd0 (diff) | |
Merge pull request #7894 from crobibero/search-hints
(cherry picked from commit 0f75f177361906626e658da86d63583d5111f006)
Signed-off-by: crobibero <cody@robibe.ro>
| -rw-r--r-- | Jellyfin.Api/Controllers/SearchController.cs | 3 | ||||
| -rw-r--r-- | src/Jellyfin.Extensions/ReadOnlyListExtension.cs | 16 |
2 files changed, 18 insertions, 1 deletions
diff --git a/Jellyfin.Api/Controllers/SearchController.cs b/Jellyfin.Api/Controllers/SearchController.cs index 6ffedccbd..07e113ad3 100644 --- a/Jellyfin.Api/Controllers/SearchController.cs +++ b/Jellyfin.Api/Controllers/SearchController.cs @@ -6,6 +6,7 @@ using System.Linq; using Jellyfin.Api.Constants; using Jellyfin.Api.ModelBinders; using Jellyfin.Data.Enums; +using Jellyfin.Extensions; using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; @@ -187,7 +188,7 @@ namespace Jellyfin.Api.Controllers result.AlbumArtist = album.AlbumArtist; break; case Audio song: - result.AlbumArtist = song.AlbumArtists?[0]; + result.AlbumArtist = song.AlbumArtists?.FirstOrDefault(); result.Artists = song.Artists; MusicAlbum musicAlbum = song.AlbumEntity; diff --git a/src/Jellyfin.Extensions/ReadOnlyListExtension.cs b/src/Jellyfin.Extensions/ReadOnlyListExtension.cs index 7785cfb49..ba99bb534 100644 --- a/src/Jellyfin.Extensions/ReadOnlyListExtension.cs +++ b/src/Jellyfin.Extensions/ReadOnlyListExtension.cs @@ -57,5 +57,21 @@ namespace Jellyfin.Extensions return -1; } + + /// <summary> + /// Get the first or default item from a list. + /// </summary> + /// <param name="source">The source list.</param> + /// <typeparam name="T">The type of item.</typeparam> + /// <returns>The first item or default if list is empty.</returns> + public static T? FirstOrDefault<T>(this IReadOnlyList<T>? source) + { + if (source is null || source.Count == 0) + { + return default; + } + + return source[0]; + } } } |
