mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-07-08 23:00:51 +02:00
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.
This commit is contained in:
parent
737d4d2b3f
commit
cd471ed4df
|
@ -273,29 +273,31 @@ namespace MediaBrowser.Api
|
||||||
/// <returns>System.Object.</returns>
|
/// <returns>System.Object.</returns>
|
||||||
public object Get(GetPublicUsers request)
|
public object Get(GetPublicUsers request)
|
||||||
{
|
{
|
||||||
var users = _userManager
|
var result = _userManager
|
||||||
.Users
|
.Users
|
||||||
.Where(item => !item.Policy.IsDisabled)
|
.Where(item => !item.Policy.IsDisabled);
|
||||||
.Where(item => !item.Policy.IsHidden);
|
|
||||||
|
|
||||||
var deviceId = _authContext.GetAuthorizationInfo(Request).DeviceId;
|
if (ServerConfigurationManager.Configuration.IsStartupWizardCompleted)
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(deviceId))
|
|
||||||
{
|
{
|
||||||
users = users.Where(i => _deviceManager.CanAccessDevice(i, deviceId));
|
var deviceId = _authContext.GetAuthorizationInfo(Request).DeviceId;
|
||||||
|
result = result.Where(item => !item.Policy.IsHidden);
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(deviceId))
|
||||||
|
{
|
||||||
|
result = result.Where(i => _deviceManager.CanAccessDevice(i, deviceId));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!_networkManager.IsInLocalNetwork(Request.RemoteIp))
|
||||||
|
{
|
||||||
|
result = result.Where(i => i.Policy.EnableRemoteAccess);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_networkManager.IsInLocalNetwork(Request.RemoteIp))
|
return ToOptimizedResult(result
|
||||||
{
|
.OrderBy(u => u.Name)
|
||||||
users = users.Where(i => i.Policy.EnableRemoteAccess);
|
.Select(i => _userManager.GetPublicUserDto(i, Request.RemoteIp))
|
||||||
}
|
.ToArray()
|
||||||
|
);
|
||||||
var result = users
|
|
||||||
.OrderBy(u => u.Name)
|
|
||||||
.Select(i => _userManager.GetPublicUserDto(i, Request.RemoteIp))
|
|
||||||
.ToArray();
|
|
||||||
|
|
||||||
return ToOptimizedResult(result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
Loading…
Reference in a new issue