aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/ConnectService.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-13 16:14:53 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-13 16:14:53 -0400
commitab3c26c5647a56e95d0f5229f07b1a1b45812ff8 (patch)
treebbcaf5db256364f19cdb4f7c18eb82171dc4183b /MediaBrowser.Api/ConnectService.cs
parent8a15ee6ab4149cf59f8ff2724e3e415d34557da1 (diff)
update connect
Diffstat (limited to 'MediaBrowser.Api/ConnectService.cs')
-rw-r--r--MediaBrowser.Api/ConnectService.cs45
1 files changed, 45 insertions, 0 deletions
diff --git a/MediaBrowser.Api/ConnectService.cs b/MediaBrowser.Api/ConnectService.cs
index 9ea75d4ac..3a863316b 100644
--- a/MediaBrowser.Api/ConnectService.cs
+++ b/MediaBrowser.Api/ConnectService.cs
@@ -1,6 +1,8 @@
using MediaBrowser.Controller.Connect;
using MediaBrowser.Controller.Net;
+using MediaBrowser.Model.Connect;
using ServiceStack;
+using System.Collections.Generic;
using System.Threading.Tasks;
namespace MediaBrowser.Api
@@ -22,6 +24,30 @@ namespace MediaBrowser.Api
public string Id { get; set; }
}
+ [Route("/Connect/Invite", "POST", Summary = "Creates a Connect link for a user")]
+ public class CreateConnectInvite : IReturn<UserLinkResult>
+ {
+ [ApiMember(Name = "ConnectUsername", Description = "Connect username", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")]
+ public string ConnectUsername { get; set; }
+
+ [ApiMember(Name = "SendingUserId", Description = "Sending User Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "DELETE")]
+ public string SendingUserId { get; set; }
+ }
+
+
+ [Route("/Connect/Pending", "GET", Summary = "Creates a Connect link for a user")]
+ public class GetPendingGuests : IReturn<List<ConnectAuthorization>>
+ {
+ }
+
+
+ [Route("/Connect/Pending", "DELETE", Summary = "Deletes a Connect link for a user")]
+ public class DeleteAuthorization : IReturnVoid
+ {
+ [ApiMember(Name = "Id", Description = "Authorization Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "DELETE")]
+ public string Id { get; set; }
+ }
+
[Authenticated(Roles = "Admin")]
public class ConnectService : BaseApiService
{
@@ -37,11 +63,30 @@ namespace MediaBrowser.Api
return _connectManager.LinkUser(request.Id, request.ConnectUsername);
}
+ public object Post(CreateConnectInvite request)
+ {
+ return _connectManager.InviteUser(request.SendingUserId, request.ConnectUsername);
+ }
+
public void Delete(DeleteConnectLink request)
{
var task = _connectManager.RemoveLink(request.Id);
Task.WaitAll(task);
}
+
+ public async Task<object> Get(GetPendingGuests request)
+ {
+ var result = await _connectManager.GetPendingGuests().ConfigureAwait(false);
+
+ return ToOptimizedResult(result);
+ }
+
+ public void Delete(DeleteAuthorization request)
+ {
+ var task = _connectManager.CancelAuthorization(request.Id);
+
+ Task.WaitAll(task);
+ }
}
}