diff options
| author | crobibero <cody@robibe.ro> | 2020-10-29 11:11:50 -0600 |
|---|---|---|
| committer | crobibero <cody@robibe.ro> | 2020-10-29 11:11:50 -0600 |
| commit | b9406e5444ce8f71ab0ec4e40a9d189a881d232e (patch) | |
| tree | 89ea81cdcbf52d455d2e13887985c687340ef0c5 /Jellyfin.Api/Helpers/RequestHelpers.cs | |
| parent | 36bae6f030f2bcb2879e8463909a806d6b327569 (diff) | |
| parent | 9bf2f4d8e02cfff78a1f05bdf3fe1fa614de3bc0 (diff) | |
Merge remote-tracking branch 'upstream/master' into query-fields
Diffstat (limited to 'Jellyfin.Api/Helpers/RequestHelpers.cs')
| -rw-r--r-- | Jellyfin.Api/Helpers/RequestHelpers.cs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Jellyfin.Api/Helpers/RequestHelpers.cs b/Jellyfin.Api/Helpers/RequestHelpers.cs index 1e22ab46a..b8745d6ff 100644 --- a/Jellyfin.Api/Helpers/RequestHelpers.cs +++ b/Jellyfin.Api/Helpers/RequestHelpers.cs @@ -4,6 +4,7 @@ using Jellyfin.Data.Enums; using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Session; +using MediaBrowser.Model.Querying; using Microsoft.AspNetCore.Http; namespace Jellyfin.Api.Helpers @@ -132,5 +133,31 @@ namespace Jellyfin.Api.Helpers .Select(i => new Guid(i)) .ToArray(); } + + /// <summary> + /// Gets the item fields. + /// </summary> + /// <param name="fields">The fields string.</param> + /// <returns>IEnumerable{ItemFields}.</returns> + internal static ItemFields[] GetItemFields(string? fields) + { + if (string.IsNullOrEmpty(fields)) + { + return Array.Empty<ItemFields>(); + } + + return Split(fields, ',', true) + .Select(v => + { + if (Enum.TryParse(v, true, out ItemFields value)) + { + return (ItemFields?)value; + } + + return null; + }).Where(i => i.HasValue) + .Select(i => i!.Value) + .ToArray(); + } } } |
