aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.WebDashboard/Api/DashboardService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.WebDashboard/Api/DashboardService.cs')
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardService.cs9
1 files changed, 6 insertions, 3 deletions
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs
index 136a9170e..86e4c10ea 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardService.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs
@@ -110,7 +110,7 @@ namespace MediaBrowser.WebDashboard.Api
/// <returns>System.Object.</returns>
public object Get(GetDashboardInfo request)
{
- return GetDashboardInfo(_appHost, Logger, _taskManager, _userManager);
+ return GetDashboardInfo(_appHost, Logger, _taskManager, _userManager).Result;
}
/// <summary>
@@ -120,12 +120,15 @@ namespace MediaBrowser.WebDashboard.Api
/// <param name="taskManager">The task manager.</param>
/// <param name="userManager">The user manager.</param>
/// <returns>DashboardInfo.</returns>
- public static DashboardInfo GetDashboardInfo(IServerApplicationHost appHost, ILogger logger, ITaskManager taskManager, IUserManager userManager)
+ public static async Task<DashboardInfo> GetDashboardInfo(IServerApplicationHost appHost, ILogger logger, ITaskManager taskManager, IUserManager userManager)
{
var connections = userManager.ConnectedUsers.ToArray();
var dtoBuilder = new DtoBuilder(logger);
+ var tasks = userManager.Users.Where(u => connections.Any(c => c.UserId == u.Id)).Select(dtoBuilder.GetUserDto);
+ var users = await Task.WhenAll(tasks).ConfigureAwait(false);
+
return new DashboardInfo
{
SystemInfo = appHost.GetSystemInfo(),
@@ -138,7 +141,7 @@ namespace MediaBrowser.WebDashboard.Api
ActiveConnections = connections,
- Users = userManager.Users.Where(u => connections.Any(c => c.UserId == u.Id)).Select(dtoBuilder.GetDtoUser).ToArray()
+ Users = users
};
}