mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-25 03:24:47 +01:00
made dtoservice synchronous
This commit is contained in:
@@ -9,7 +9,6 @@ using ServiceStack.ServiceHost;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
@@ -65,7 +64,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetArtist request)
|
||||
{
|
||||
var result = GetItem(request).Result;
|
||||
var result = GetItem(request);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@@ -75,7 +74,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>Task{BaseItemDto}.</returns>
|
||||
private async Task<BaseItemDto> GetItem(GetArtist request)
|
||||
private BaseItemDto GetItem(GetArtist request)
|
||||
{
|
||||
var item = GetArtist(request.Name, LibraryManager);
|
||||
|
||||
@@ -86,10 +85,10 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList(), user);
|
||||
}
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -121,11 +121,9 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
var fields = request.GetItemFields().ToList();
|
||||
|
||||
var tasks = ibnItems.Select(i => GetDto(i, user, fields));
|
||||
var dtos = ibnItems.Select(i => GetDto(i, user, fields));
|
||||
|
||||
var resultItems = await Task.WhenAll(tasks).ConfigureAwait(false);
|
||||
|
||||
result.Items = resultItems.Where(i => i != null).ToArray();
|
||||
result.Items = dtos.Where(i => i != null).ToArray();
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -253,10 +251,10 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <param name="user">The user.</param>
|
||||
/// <param name="fields">The fields.</param>
|
||||
/// <returns>Task{DtoBaseItem}.</returns>
|
||||
private async Task<BaseItemDto> GetDto(TItemType item, User user, List<ItemFields> fields)
|
||||
private BaseItemDto GetDto(TItemType item, User user, List<ItemFields> fields)
|
||||
{
|
||||
var dto = user == null ? await DtoService.GetBaseItemDto(item, fields).ConfigureAwait(false) :
|
||||
await DtoService.GetBaseItemDto(item, fields, user).ConfigureAwait(false);
|
||||
var dto = user == null ? DtoService.GetBaseItemDto(item, fields) :
|
||||
DtoService.GetBaseItemDto(item, fields, user);
|
||||
|
||||
return dto;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ using ServiceStack.ServiceHost;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
@@ -56,7 +55,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetGameGenre request)
|
||||
{
|
||||
var result = GetItem(request).Result;
|
||||
var result = GetItem(request);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@@ -66,7 +65,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>Task{BaseItemDto}.</returns>
|
||||
private async Task<BaseItemDto> GetItem(GetGameGenre request)
|
||||
private BaseItemDto GetItem(GetGameGenre request)
|
||||
{
|
||||
var item = GetGameGenre(request.Name, LibraryManager);
|
||||
|
||||
@@ -77,10 +76,10 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList(), user);
|
||||
}
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -8,7 +8,6 @@ using ServiceStack.ServiceHost;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
@@ -60,7 +59,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetGenre request)
|
||||
{
|
||||
var result = GetItem(request).Result;
|
||||
var result = GetItem(request);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@@ -70,7 +69,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>Task{BaseItemDto}.</returns>
|
||||
private async Task<BaseItemDto> GetItem(GetGenre request)
|
||||
private BaseItemDto GetItem(GetGenre request)
|
||||
{
|
||||
var item = GetGenre(request.Name, LibraryManager);
|
||||
|
||||
@@ -81,10 +80,10 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList(), user);
|
||||
}
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -260,7 +260,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
var fields = request.GetItemFields().ToList();
|
||||
|
||||
var returnItems = await Task.WhenAll(pagedItems.Select(i => _dtoService.GetBaseItemDto(i, fields, user))).ConfigureAwait(false);
|
||||
var returnItems = pagedItems.Select(i => _dtoService.GetBaseItemDto(i, fields, user)).ToArray();
|
||||
|
||||
return new ItemsResult
|
||||
{
|
||||
|
||||
@@ -9,7 +9,6 @@ using ServiceStack.ServiceHost;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
@@ -56,7 +55,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetMusicGenre request)
|
||||
{
|
||||
var result = GetItem(request).Result;
|
||||
var result = GetItem(request);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@@ -66,7 +65,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>Task{BaseItemDto}.</returns>
|
||||
private async Task<BaseItemDto> GetItem(GetMusicGenre request)
|
||||
private BaseItemDto GetItem(GetMusicGenre request)
|
||||
{
|
||||
var item = GetMusicGenre(request.Name, LibraryManager);
|
||||
|
||||
@@ -77,10 +76,10 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList(), user);
|
||||
}
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -8,7 +8,6 @@ using ServiceStack.ServiceHost;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
@@ -72,7 +71,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetPerson request)
|
||||
{
|
||||
var result = GetItem(request).Result;
|
||||
var result = GetItem(request);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@@ -82,7 +81,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>Task{BaseItemDto}.</returns>
|
||||
private async Task<BaseItemDto> GetItem(GetPerson request)
|
||||
private BaseItemDto GetItem(GetPerson request)
|
||||
{
|
||||
var item = GetPerson(request.Name, LibraryManager);
|
||||
|
||||
@@ -93,10 +92,10 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList(), user);
|
||||
}
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -60,7 +60,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetStudio request)
|
||||
{
|
||||
var result = GetItem(request).Result;
|
||||
var result = GetItem(request);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@@ -70,7 +70,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>Task{BaseItemDto}.</returns>
|
||||
private async Task<BaseItemDto> GetItem(GetStudio request)
|
||||
private BaseItemDto GetItem(GetStudio request)
|
||||
{
|
||||
var item = GetStudio(request.Name, LibraryManager);
|
||||
|
||||
@@ -81,10 +81,10 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList(), user);
|
||||
}
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -393,12 +393,12 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetSpecialFeatures request)
|
||||
{
|
||||
var result = GetAsync(request).Result;
|
||||
var result = GetAsync(request);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
|
||||
private Task<BaseItemDto[]> GetAsync(GetSpecialFeatures request)
|
||||
private BaseItemDto[] GetAsync(GetSpecialFeatures request)
|
||||
{
|
||||
var user = _userManager.GetUserById(request.UserId);
|
||||
|
||||
@@ -415,12 +415,12 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
// Avoid implicitly captured closure
|
||||
var movie1 = movie;
|
||||
|
||||
var tasks = movie.SpecialFeatureIds
|
||||
var dtos = movie.SpecialFeatureIds
|
||||
.Select(_itemRepo.RetrieveItem)
|
||||
.OrderBy(i => i.SortName)
|
||||
.Select(i => _dtoService.GetBaseItemDto(i, fields, user, movie1));
|
||||
|
||||
return Task.WhenAll(tasks);
|
||||
return dtos.ToArray();
|
||||
}
|
||||
|
||||
var series = item as Series;
|
||||
@@ -428,7 +428,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
// Get them from the child tree
|
||||
if (series != null)
|
||||
{
|
||||
var tasks = series
|
||||
var dtos = series
|
||||
.RecursiveChildren
|
||||
.OfType<Episode>()
|
||||
.Where(i => i.ParentIndexNumber.HasValue && i.ParentIndexNumber.Value == 0)
|
||||
@@ -448,7 +448,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
.ThenBy(i => i.SortName)
|
||||
.Select(i => _dtoService.GetBaseItemDto(i, fields, user));
|
||||
|
||||
return Task.WhenAll(tasks);
|
||||
return dtos.ToArray();
|
||||
}
|
||||
|
||||
throw new ArgumentException("The item does not support special features");
|
||||
@@ -461,12 +461,12 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetLocalTrailers request)
|
||||
{
|
||||
var result = GetAsync(request).Result;
|
||||
var result = GetAsync(request);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
|
||||
private Task<BaseItemDto[]> GetAsync(GetLocalTrailers request)
|
||||
private BaseItemDto[] GetAsync(GetLocalTrailers request)
|
||||
{
|
||||
var user = _userManager.GetUserById(request.UserId);
|
||||
|
||||
@@ -475,12 +475,12 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
|
||||
|
||||
var tasks = item.LocalTrailerIds
|
||||
var dtos = item.LocalTrailerIds
|
||||
.Select(_itemRepo.RetrieveItem)
|
||||
.OrderBy(i => i.SortName)
|
||||
.Select(i => _dtoService.GetBaseItemDto(i, fields, user, item));
|
||||
|
||||
return Task.WhenAll(tasks);
|
||||
return dtos.ToArray();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -497,7 +497,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
|
||||
|
||||
var result = _dtoService.GetBaseItemDto(item, fields, user).Result;
|
||||
var result = _dtoService.GetBaseItemDto(item, fields, user);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@@ -516,7 +516,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
|
||||
|
||||
var result = _dtoService.GetBaseItemDto(item, fields, user).Result;
|
||||
var result = _dtoService.GetBaseItemDto(item, fields, user);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
@@ -66,7 +65,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetYear request)
|
||||
{
|
||||
var result = GetItem(request).Result;
|
||||
var result = GetItem(request);
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@@ -76,7 +75,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>Task{BaseItemDto}.</returns>
|
||||
private async Task<BaseItemDto> GetItem(GetYear request)
|
||||
private BaseItemDto GetItem(GetYear request)
|
||||
{
|
||||
var item = LibraryManager.GetYear(request.Year);
|
||||
|
||||
@@ -87,10 +86,10 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList(), user);
|
||||
}
|
||||
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return DtoService.GetBaseItemDto(item, fields.ToList());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user