diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs index 87e1630aaa..b63bafbc0d 100644 --- a/MediaBrowser.Api/UserService.cs +++ b/MediaBrowser.Api/UserService.cs @@ -27,6 +27,12 @@ namespace MediaBrowser.Api public bool? IsDisabled { get; set; } } + [Route("/Users/Public", "GET")] + [Api(Description = "Gets a list of publicly visible users for display on a login screen.")] + public class GetPublicUsers : IReturn> + { + } + /// /// Class GetUser /// @@ -187,6 +193,14 @@ namespace MediaBrowser.Api _libraryManager = libraryManager; } + public object Get(GetPublicUsers request) + { + return Get(new GetUsers + { + IsHidden = false + }); + } + /// /// Gets the specified request. /// diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs index 197142590a..4d7743485d 100644 --- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs +++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs @@ -571,14 +571,8 @@ namespace MediaBrowser.Common.Implementations /// The cancellation token. /// The progress. /// Task{CheckForUpdateResult}. - public virtual async Task CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress progress) - { - var availablePackages = await PackageManager.GetAvailablePackagesWithoutRegistrationInfo(CancellationToken.None).ConfigureAwait(false); - var version = InstallationManager.GetLatestCompatibleVersion(availablePackages, Constants.Constants.MbServerPkgName, ConfigurationManager.CommonConfiguration.SystemUpdateLevel); - - return version != null ? new CheckForUpdateResult { AvailableVersion = version.version, IsUpdateAvailable = version.version > ApplicationVersion, Package = version } : - new CheckForUpdateResult { AvailableVersion = ApplicationVersion, IsUpdateAvailable = false }; - } + public abstract Task CheckForApplicationUpdate(CancellationToken cancellationToken, + IProgress progress); /// /// Updates the application. diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 205db36b2a..2f78f0d8f6 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -1,6 +1,8 @@ -using MediaBrowser.Api; +using System.Threading; +using MediaBrowser.Api; using MediaBrowser.Common; using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.Constants; using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Implementations; using MediaBrowser.Common.Implementations.ScheduledTasks; @@ -27,6 +29,7 @@ using MediaBrowser.IsoMounter; using MediaBrowser.Model.IO; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.System; +using MediaBrowser.Model.Updates; using MediaBrowser.Providers; using MediaBrowser.Server.Implementations; using MediaBrowser.Server.Implementations.BdInfo; @@ -620,5 +623,14 @@ namespace MediaBrowser.ServerApplication process.WaitForExit(); } } + + public override async Task CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress progress) + { + var availablePackages = await PackageManager.GetAvailablePackagesWithoutRegistrationInfo(CancellationToken.None).ConfigureAwait(false); + var version = InstallationManager.GetLatestCompatibleVersion(availablePackages, Constants.MbServerPkgName, ConfigurationManager.CommonConfiguration.SystemUpdateLevel); + + return version != null ? new CheckForUpdateResult { AvailableVersion = version.version, IsUpdateAvailable = version.version > ApplicationVersion, Package = version } : + new CheckForUpdateResult { AvailableVersion = ApplicationVersion, IsUpdateAvailable = false }; + } } } diff --git a/MediaBrowser.WebDashboard/ApiClient.js b/MediaBrowser.WebDashboard/ApiClient.js index 4a0222139d..8b602610a0 100644 --- a/MediaBrowser.WebDashboard/ApiClient.js +++ b/MediaBrowser.WebDashboard/ApiClient.js @@ -1429,6 +1429,17 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { }); }; + self.getPublicUsers = function () { + + var url = self.getUrl("users/public"); + + return self.ajax({ + type: "GET", + url: url, + dataType: "json" + }); + }; + /** * Gets all users from the server */ diff --git a/MediaBrowser.WebDashboard/packages.config b/MediaBrowser.WebDashboard/packages.config index a8a7379230..a1b6ec005d 100644 --- a/MediaBrowser.WebDashboard/packages.config +++ b/MediaBrowser.WebDashboard/packages.config @@ -1,6 +1,6 @@  - + \ No newline at end of file