aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
diff options
context:
space:
mode:
authorLukePulverenti <luke.pulverenti@gmail.com>2013-03-02 02:16:52 -0500
committerLukePulverenti <luke.pulverenti@gmail.com>2013-03-02 02:16:52 -0500
commite8f5fade43b4e19825fe6d628a76538157f1fc18 (patch)
tree0e43ec72e40f1a1785a05510365de3ed82dfa5b2 /MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
parent79baaa4daaee642a2f977a7648eadc4f15ab0fbe (diff)
Created an ItemsByName query dto
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs')
-rw-r--r--MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs26
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; }
}
}