diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-03 21:35:41 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-03 21:35:41 -0500 |
| commit | 135168b0e0640211aee5cda9285cffb184385e83 (patch) | |
| tree | ccbdd9a8a5299aa557b888919b1884e5705ed05e /MediaBrowser.Api/SessionsService.cs | |
| parent | 6da42312441dcdad2fbbd831a219398371340b43 (diff) | |
support adding additional users to sessions
Diffstat (limited to 'MediaBrowser.Api/SessionsService.cs')
| -rw-r--r-- | MediaBrowser.Api/SessionsService.cs | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/MediaBrowser.Api/SessionsService.cs b/MediaBrowser.Api/SessionsService.cs index 2a979888b..0e95239e2 100644 --- a/MediaBrowser.Api/SessionsService.cs +++ b/MediaBrowser.Api/SessionsService.cs @@ -172,6 +172,28 @@ namespace MediaBrowser.Api public long? TimeoutMs { get; set; } } + [Route("/Sessions/{Id}/Users/{UserId}", "POST")] + [Api(("Adds an additional user to a session"))] + public class AddUserToSession : IReturnVoid + { + [ApiMember(Name = "Id", Description = "Session Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] + public Guid Id { get; set; } + + [ApiMember(Name = "UserId", Description = "UserId Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] + public Guid UserId { get; set; } + } + + [Route("/Sessions/{Id}/Users/{UserId}", "DELETE")] + [Api(("Removes an additional user from a session"))] + public class RemoveUserFromSession : IReturnVoid + { + [ApiMember(Name = "Id", Description = "Session Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] + public Guid Id { get; set; } + + [ApiMember(Name = "UserId", Description = "UserId Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] + public Guid UserId { get; set; } + } + /// <summary> /// Class SessionsService /// </summary> @@ -217,7 +239,7 @@ namespace MediaBrowser.Api if (!user.Configuration.EnableRemoteControlOfOtherUsers) { - result = result.Where(i => i.User == null || i.User.Id == request.ControllableByUserId.Value); + result = result.Where(i => !i.UserId.HasValue || i.UserId.Value == request.ControllableByUserId.Value); } } @@ -303,5 +325,15 @@ namespace MediaBrowser.Api Task.WaitAll(task); } + + public void Post(AddUserToSession request) + { + _sessionManager.AddAdditionalUser(request.Id, request.UserId); + } + + public void Delete(RemoveUserFromSession request) + { + _sessionManager.RemoveAdditionalUser(request.Id, request.UserId); + } } } |
