diff options
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs')
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index ce3d9d8e0..4fe19fcf3 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs @@ -82,7 +82,9 @@ namespace MediaBrowser.Api.UserLibrary } - var tasks = ibnItems.Select(i => GetDto(i, user, new List<ItemFields>())); + var fields = GetItemFields(request).ToList(); + + var tasks = ibnItems.Select(i => GetDto(i, user, fields)); var resultItems = await Task.WhenAll(tasks).ConfigureAwait(false); @@ -92,6 +94,23 @@ namespace MediaBrowser.Api.UserLibrary } /// <summary> + /// Gets the item fields. + /// </summary> + /// <param name="request">The request.</param> + /// <returns>IEnumerable{ItemFields}.</returns> + private IEnumerable<ItemFields> GetItemFields(GetItemsByName request) + { + var val = request.Fields; + + if (string.IsNullOrEmpty(val)) + { + return new ItemFields[] { }; + } + + return val.Split(',').Select(v => (ItemFields)Enum.Parse(typeof(ItemFields), v, true)); + } + + /// <summary> /// Gets all items. /// </summary> /// <param name="request">The request.</param> @@ -171,5 +190,10 @@ namespace MediaBrowser.Api.UserLibrary /// </summary> /// <value>The item id.</value> public string Id { get; set; } + /// <summary> + /// Fields to return within the items, in addition to basic information + /// </summary> + /// <value>The fields.</value> + public string Fields { get; set; } } } |
