From fe2eb6cb01564662df01aef87afe2bff51971c1b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 4 Oct 2013 13:04:18 -0400 Subject: fixes #573 - Support media info for intros --- MediaBrowser.Api/UserLibrary/UserLibraryService.cs | 32 ++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Api/UserLibrary/UserLibraryService.cs') diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs index a43ed276d..9c6f5d826 100644 --- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs +++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs @@ -58,7 +58,7 @@ namespace MediaBrowser.Api.UserLibrary /// [Route("/Users/{UserId}/Items/{Id}/Intros", "GET")] [Api(("Gets intros to play before the main media item plays"))] - public class GetIntros : IReturn> + public class GetIntros : IReturn { /// /// Gets or sets the user id. @@ -552,7 +552,21 @@ namespace MediaBrowser.Api.UserLibrary var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : _dtoService.GetItemByDtoId(request.Id, user.Id); - var result = _libraryManager.GetIntros(item, user); + var items = _libraryManager.GetIntros(item, user); + + // Get everything + var fields = Enum.GetNames(typeof(ItemFields)) + .Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)) + .ToList(); + + var dtos = items.Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToArray(); + + var result = new ItemsResult + { + Items = dtos, + TotalRecordCount = dtos.Length + }; return ToOptimizedResult(result); } @@ -579,6 +593,13 @@ namespace MediaBrowser.Api.UserLibrary return ToOptimizedResult(dto); } + /// + /// Marks the favorite. + /// + /// The user id. + /// The item id. + /// if set to true [is favorite]. + /// Task{UserItemDataDto}. private async Task MarkFavorite(Guid userId, string itemId, bool isFavorite) { var user = _userManager.GetUserById(userId); @@ -622,6 +643,13 @@ namespace MediaBrowser.Api.UserLibrary return ToOptimizedResult(dto); } + /// + /// Updates the user item rating. + /// + /// The user id. + /// The item id. + /// if set to true [likes]. + /// Task{UserItemDataDto}. private async Task UpdateUserItemRating(Guid userId, string itemId, bool? likes) { var user = _userManager.GetUserById(userId); -- cgit v1.2.3