aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/UserLibrary
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-12-01 07:43:34 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-12-01 07:43:34 -0500
commitdc8fb33a1f5ad474fed88d58a19c1098c68b815f (patch)
treef25dbe0019c0ee3f872d3c7d57ac70bed2076b33 /MediaBrowser.Api/UserLibrary
parentd7bdb744ca9d4b3955071dfe3c38ed631dbafbfd (diff)
updated nuget
Diffstat (limited to 'MediaBrowser.Api/UserLibrary')
-rw-r--r--MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs37
-rw-r--r--MediaBrowser.Api/UserLibrary/UserLibraryService.cs17
2 files changed, 16 insertions, 38 deletions
diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs b/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs
index 808dbb1ff..fffc11d68 100644
--- a/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs
+++ b/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs
@@ -1,5 +1,4 @@
-using MediaBrowser.Model.Dto;
-using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Querying;
using ServiceStack;
using System;
@@ -8,7 +7,7 @@ using System.Linq;
namespace MediaBrowser.Api.UserLibrary
{
- public abstract class BaseItemsRequest : IHasItemFields
+ public abstract class BaseItemsRequest : IHasDtoOptions
{
protected BaseItemsRequest()
{
@@ -123,7 +122,7 @@ namespace MediaBrowser.Api.UserLibrary
public string Years { get; set; }
[ApiMember(Name = "EnableImages", Description = "Optional, include image information in output", IsRequired = false, DataType = "boolean", ParameterType = "query", Verb = "GET")]
- public bool EnableImages { get; set; }
+ public bool? EnableImages { get; set; }
[ApiMember(Name = "ImageTypeLimit", Description = "Optional, the max number of images to return, per image type", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
public int? ImageTypeLimit { get; set; }
@@ -213,35 +212,5 @@ namespace MediaBrowser.Api.UserLibrary
return val.Split(',');
}
-
- public DtoOptions GetDtoOptions()
- {
- var options = new DtoOptions();
-
- options.Fields = this.GetItemFields().ToList();
- options.EnableImages = EnableImages;
-
- if (ImageTypeLimit.HasValue)
- {
- options.ImageTypeLimit = ImageTypeLimit.Value;
- }
-
- if (string.IsNullOrWhiteSpace(EnableImageTypes))
- {
- if (options.EnableImages)
- {
- // Get everything
- options.ImageTypes = Enum.GetNames(typeof(ImageType))
- .Select(i => (ImageType)Enum.Parse(typeof(ImageType), i, true))
- .ToList();
- }
- }
- else
- {
- options.ImageTypes = (EnableImageTypes ?? string.Empty).Split(',').Where(i => !string.IsNullOrWhiteSpace(i)).Select(v => (ImageType)Enum.Parse(typeof(ImageType), v, true)).ToList();
- }
-
- return options;
- }
}
}
diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
index 511312a63..a64e0758a 100644
--- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
+++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
@@ -221,7 +221,7 @@ namespace MediaBrowser.Api.UserLibrary
}
[Route("/Users/{UserId}/Items/Latest", "GET", Summary = "Gets latest media")]
- public class GetLatestMedia : IReturn<List<BaseItemDto>>, IHasItemFields
+ public class GetLatestMedia : IReturn<List<BaseItemDto>>, IHasDtoOptions
{
/// <summary>
/// Gets or sets the user id.
@@ -251,6 +251,15 @@ namespace MediaBrowser.Api.UserLibrary
[ApiMember(Name = "GroupItems", Description = "Whether or not to group items into a parent container.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
public bool GroupItems { get; set; }
+ [ApiMember(Name = "EnableImages", Description = "Optional, include image information in output", IsRequired = false, DataType = "boolean", ParameterType = "query", Verb = "GET")]
+ public bool? EnableImages { get; set; }
+
+ [ApiMember(Name = "ImageTypeLimit", Description = "Optional, the max number of images to return, per image type", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
+ public int? ImageTypeLimit { get; set; }
+
+ [ApiMember(Name = "EnableImageTypes", Description = "Optional. The image types to include in the output.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
+ public string EnableImageTypes { get; set; }
+
public GetLatestMedia()
{
Limit = 20;
@@ -362,7 +371,7 @@ namespace MediaBrowser.Api.UserLibrary
}
}
- var fields = request.GetItemFields().ToList();
+ var options = request.GetDtoOptions();
var dtos = list.Select(i =>
{
@@ -374,8 +383,8 @@ namespace MediaBrowser.Api.UserLibrary
item = i.Item1;
childCount = i.Item2.Count;
}
-
- var dto = _dtoService.GetBaseItemDto(item, fields, user);
+
+ var dto = _dtoService.GetBaseItemDto(item, options, user);
dto.ChildCount = childCount;