aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Music/InstantMixService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/Music/InstantMixService.cs')
-rw-r--r--MediaBrowser.Api/Music/InstantMixService.cs33
1 files changed, 21 insertions, 12 deletions
diff --git a/MediaBrowser.Api/Music/InstantMixService.cs b/MediaBrowser.Api/Music/InstantMixService.cs
index 3cb29de07..8a18298f1 100644
--- a/MediaBrowser.Api/Music/InstantMixService.cs
+++ b/MediaBrowser.Api/Music/InstantMixService.cs
@@ -8,7 +8,9 @@ using MediaBrowser.Model.Querying;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
+using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Services;
+using MediaBrowser.Model.Extensions;
namespace MediaBrowser.Api.Music
{
@@ -79,7 +81,7 @@ namespace MediaBrowser.Api.Music
_authContext = authContext;
}
- public Task<object> Get(GetInstantMixFromItem request)
+ public object Get(GetInstantMixFromItem request)
{
var item = _libraryManager.GetItemById(request.Id);
@@ -92,7 +94,7 @@ namespace MediaBrowser.Api.Music
return GetResult(items, user, request, dtoOptions);
}
- public Task<object> Get(GetInstantMixFromArtistId request)
+ public object Get(GetInstantMixFromArtistId request)
{
var item = _libraryManager.GetItemById(request.Id);
@@ -105,7 +107,7 @@ namespace MediaBrowser.Api.Music
return GetResult(items, user, request, dtoOptions);
}
- public Task<object> Get(GetInstantMixFromMusicGenreId request)
+ public object Get(GetInstantMixFromMusicGenreId request)
{
var item = _libraryManager.GetItemById(request.Id);
@@ -118,7 +120,7 @@ namespace MediaBrowser.Api.Music
return GetResult(items, user, request, dtoOptions);
}
- public Task<object> Get(GetInstantMixFromSong request)
+ public object Get(GetInstantMixFromSong request)
{
var item = _libraryManager.GetItemById(request.Id);
@@ -131,7 +133,7 @@ namespace MediaBrowser.Api.Music
return GetResult(items, user, request, dtoOptions);
}
- public Task<object> Get(GetInstantMixFromAlbum request)
+ public object Get(GetInstantMixFromAlbum request)
{
var album = _libraryManager.GetItemById(request.Id);
@@ -144,7 +146,7 @@ namespace MediaBrowser.Api.Music
return GetResult(items, user, request, dtoOptions);
}
- public Task<object> Get(GetInstantMixFromPlaylist request)
+ public object Get(GetInstantMixFromPlaylist request)
{
var playlist = (Playlist)_libraryManager.GetItemById(request.Id);
@@ -157,7 +159,7 @@ namespace MediaBrowser.Api.Music
return GetResult(items, user, request, dtoOptions);
}
- public Task<object> Get(GetInstantMixFromMusicGenre request)
+ public object Get(GetInstantMixFromMusicGenre request)
{
var user = _userManager.GetUserById(request.UserId);
@@ -168,7 +170,7 @@ namespace MediaBrowser.Api.Music
return GetResult(items, user, request, dtoOptions);
}
- public Task<object> Get(GetInstantMixFromArtist request)
+ public object Get(GetInstantMixFromArtist request)
{
var user = _userManager.GetUserById(request.UserId);
var artist = _libraryManager.GetArtist(request.Name, new DtoOptions(false));
@@ -180,16 +182,23 @@ namespace MediaBrowser.Api.Music
return GetResult(items, user, request, dtoOptions);
}
- private async Task<object> GetResult(IEnumerable<Audio> items, User user, BaseGetSimilarItems request, DtoOptions dtoOptions)
+ private object GetResult(List<BaseItem> items, User user, BaseGetSimilarItems request, DtoOptions dtoOptions)
{
- var list = items.ToList();
+ var list = items;
- var result = new ItemsResult
+ var result = new QueryResult<BaseItemDto>
{
TotalRecordCount = list.Count
};
- result.Items = (await _dtoService.GetBaseItemDtos(list.Take(request.Limit ?? list.Count), dtoOptions, user).ConfigureAwait(false)).ToArray();
+ if (request.Limit.HasValue)
+ {
+ list = list.Take(request.Limit.Value).ToList();
+ }
+
+ var returnList = _dtoService.GetBaseItemDtos(list, dtoOptions, user);
+
+ result.Items = returnList;
return ToOptimizedResult(result);
}