aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/SessionsService.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-03 21:35:41 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-03 21:35:41 -0500
commit135168b0e0640211aee5cda9285cffb184385e83 (patch)
treeccbdd9a8a5299aa557b888919b1884e5705ed05e /MediaBrowser.Api/SessionsService.cs
parent6da42312441dcdad2fbbd831a219398371340b43 (diff)
support adding additional users to sessions
Diffstat (limited to 'MediaBrowser.Api/SessionsService.cs')
-rw-r--r--MediaBrowser.Api/SessionsService.cs34
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);
+ }
}
}