diff options
Diffstat (limited to 'MediaBrowser.Api/TvShowsService.cs')
| -rw-r--r-- | MediaBrowser.Api/TvShowsService.cs | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/MediaBrowser.Api/TvShowsService.cs b/MediaBrowser.Api/TvShowsService.cs index f3df6c7b0..d1464cd26 100644 --- a/MediaBrowser.Api/TvShowsService.cs +++ b/MediaBrowser.Api/TvShowsService.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Api.UserLibrary; -using MediaBrowser.Common.Extensions; +using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.TV; @@ -20,7 +19,7 @@ namespace MediaBrowser.Api /// Class GetNextUpEpisodes /// </summary> [Route("/Shows/NextUp", "GET", Summary = "Gets a list of next up episodes")] - public class GetNextUpEpisodes : IReturn<ItemsResult>, IHasItemFields + public class GetNextUpEpisodes : IReturn<ItemsResult>, IHasDtoOptions { /// <summary> /// Gets or sets the user id. @@ -59,10 +58,19 @@ namespace MediaBrowser.Api /// <value>The parent id.</value> [ApiMember(Name = "ParentId", Description = "Specify this to localize the search to a specific item or folder. Omit to use the root", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string ParentId { 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; } } [Route("/Shows/Upcoming", "GET", Summary = "Gets a list of upcoming episodes")] - public class GetUpcomingEpisodes : IReturn<ItemsResult>, IHasItemFields + public class GetUpcomingEpisodes : IReturn<ItemsResult>, IHasDtoOptions { /// <summary> /// Gets or sets the user id. @@ -98,6 +106,15 @@ namespace MediaBrowser.Api /// <value>The parent id.</value> [ApiMember(Name = "ParentId", Description = "Specify this to localize the search to a specific item or folder. Omit to use the root", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string ParentId { 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; } } [Route("/Shows/{Id}/Similar", "GET", Summary = "Finds tv shows similar to a given one.")] @@ -253,9 +270,9 @@ namespace MediaBrowser.Api var pagedItems = ApplyPaging(previousEpisodes, request.StartIndex, request.Limit); - var fields = request.GetItemFields().ToList(); + var options = request.GetDtoOptions(); - var returnItems = pagedItems.Select(i => _dtoService.GetBaseItemDto(i, fields, user)).ToArray(); + var returnItems = pagedItems.Select(i => _dtoService.GetBaseItemDto(i, options, user)).ToArray(); var result = new ItemsResult { @@ -284,9 +301,9 @@ namespace MediaBrowser.Api var user = _userManager.GetUserById(request.UserId); - var fields = request.GetItemFields().ToList(); + var options = request.GetDtoOptions(); - var returnItems = result.Items.Select(i => _dtoService.GetBaseItemDto(i, fields, user)).ToArray(); + var returnItems = result.Items.Select(i => _dtoService.GetBaseItemDto(i, options, user)).ToArray(); return ToOptimizedSerializedResultUsingCache(new ItemsResult { @@ -344,7 +361,7 @@ namespace MediaBrowser.Api // This must be the last filter if (!string.IsNullOrEmpty(request.AdjacentTo)) { - seasons = ItemsService.FilterForAdjacency(seasons, request.AdjacentTo) + seasons = UserViewBuilder.FilterForAdjacency(seasons, request.AdjacentTo) .Cast<Season>(); } @@ -434,7 +451,7 @@ namespace MediaBrowser.Api // This must be the last filter if (!string.IsNullOrEmpty(request.AdjacentTo)) { - episodes = ItemsService.FilterForAdjacency(episodes, request.AdjacentTo) + episodes = UserViewBuilder.FilterForAdjacency(episodes, request.AdjacentTo) .Cast<Episode>(); } |
