diff options
| author | Sven Van den brande <sven.vandenbrande@outlook.com> | 2013-10-31 21:46:03 +0100 |
|---|---|---|
| committer | Sven Van den brande <sven.vandenbrande@outlook.com> | 2013-10-31 21:46:03 +0100 |
| commit | e8f8d6651c86b3fd3350a5afae1d759fbbad06bd (patch) | |
| tree | 6496b1525f0dfc448f0250f4fddaa634296ae94b /MediaBrowser.Api/SessionsService.cs | |
| parent | 28ab28768a307d1cac60ebe79163b98291068cde (diff) | |
| parent | 882d0681e68c5e0ae663cca75752e4df765c8dd5 (diff) | |
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Api/SessionsService.cs')
| -rw-r--r-- | MediaBrowser.Api/SessionsService.cs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/MediaBrowser.Api/SessionsService.cs b/MediaBrowser.Api/SessionsService.cs index 5888d9fba..a3f7e3037 100644 --- a/MediaBrowser.Api/SessionsService.cs +++ b/MediaBrowser.Api/SessionsService.cs @@ -1,4 +1,5 @@ using MediaBrowser.Controller.Dto; +using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Session; using ServiceStack.ServiceHost; @@ -182,16 +183,18 @@ namespace MediaBrowser.Api private readonly ISessionManager _sessionManager; private readonly IDtoService _dtoService; + private readonly IUserManager _userManager; /// <summary> /// Initializes a new instance of the <see cref="SessionsService" /> class. /// </summary> /// <param name="sessionManager">The session manager.</param> /// <param name="dtoService">The dto service.</param> - public SessionsService(ISessionManager sessionManager, IDtoService dtoService) + public SessionsService(ISessionManager sessionManager, IDtoService dtoService, IUserManager userManager) { _sessionManager = sessionManager; _dtoService = dtoService; + _userManager = userManager; } /// <summary> @@ -208,6 +211,16 @@ namespace MediaBrowser.Api result = result.Where(i => i.SupportsRemoteControl == request.SupportsRemoteControl.Value); } + if (request.ControllableByUserId.HasValue) + { + var user = _userManager.GetUserById(request.ControllableByUserId.Value); + + if (!user.Configuration.EnableRemoteControlOfOtherUsers) + { + result = result.Where(i => i.User == null || i.User.Id == request.ControllableByUserId.Value); + } + } + return ToOptimizedResult(result.Select(_dtoService.GetSessionInfoDto).ToList()); } |
