aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/UserService.cs
diff options
context:
space:
mode:
authorDavide Polonio <poloniodavide@gmail.com>2020-03-03 20:20:35 +0100
committerDavide Polonio <poloniodavide@gmail.com>2020-03-03 20:20:35 +0100
commitcd471ed4df9260d9de3cfa1e58abf537aa460727 (patch)
tree8d16156e30d97c1cf47436d78a37cfa9492a627c /MediaBrowser.Api/UserService.cs
parent737d4d2b3f200e2dc140151d11dc9f29d70bd5bf (diff)
Fix emby/users/public not taking into account first run
The previous implementation was not taking in account the first seup phase. Now the check has been added. A little method refactor has been done in order to make the code more elegant.
Diffstat (limited to 'MediaBrowser.Api/UserService.cs')
-rw-r--r--MediaBrowser.Api/UserService.cs36
1 files changed, 19 insertions, 17 deletions
diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs
index 5ad4fce64..bb630c0b3 100644
--- a/MediaBrowser.Api/UserService.cs
+++ b/MediaBrowser.Api/UserService.cs
@@ -273,29 +273,31 @@ namespace MediaBrowser.Api
/// <returns>System.Object.</returns>
public object Get(GetPublicUsers request)
{
- var users = _userManager
+ var result = _userManager
.Users
- .Where(item => !item.Policy.IsDisabled)
- .Where(item => !item.Policy.IsHidden);
+ .Where(item => !item.Policy.IsDisabled);
- var deviceId = _authContext.GetAuthorizationInfo(Request).DeviceId;
-
- if (!string.IsNullOrWhiteSpace(deviceId))
+ if (ServerConfigurationManager.Configuration.IsStartupWizardCompleted)
{
- users = users.Where(i => _deviceManager.CanAccessDevice(i, deviceId));
- }
+ var deviceId = _authContext.GetAuthorizationInfo(Request).DeviceId;
+ result = result.Where(item => !item.Policy.IsHidden);
- if (!_networkManager.IsInLocalNetwork(Request.RemoteIp))
- {
- users = users.Where(i => i.Policy.EnableRemoteAccess);
- }
+ if (!string.IsNullOrWhiteSpace(deviceId))
+ {
+ result = result.Where(i => _deviceManager.CanAccessDevice(i, deviceId));
+ }
- var result = users
- .OrderBy(u => u.Name)
- .Select(i => _userManager.GetPublicUserDto(i, Request.RemoteIp))
- .ToArray();
+ if (!_networkManager.IsInLocalNetwork(Request.RemoteIp))
+ {
+ result = result.Where(i => i.Policy.EnableRemoteAccess);
+ }
+ }
- return ToOptimizedResult(result);
+ return ToOptimizedResult(result
+ .OrderBy(u => u.Name)
+ .Select(i => _userManager.GetPublicUserDto(i, Request.RemoteIp))
+ .ToArray()
+ );
}
/// <summary>