From 5c615fa02448813499ed87f2a1c2b937c7a7dcd5 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 14 Sep 2014 11:10:51 -0400 Subject: add connect linking --- .../Connect/ConnectInvitationRequest.cs | 20 +++++++++++++++ MediaBrowser.Controller/Connect/ConnectUser.cs | 22 ++++++++++++++++ MediaBrowser.Controller/Connect/ConnectUserLink.cs | 10 ++++++++ MediaBrowser.Controller/Connect/IConnectManager.cs | 29 +++++++++++++++++++++- 4 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 MediaBrowser.Controller/Connect/ConnectInvitationRequest.cs create mode 100644 MediaBrowser.Controller/Connect/ConnectUser.cs create mode 100644 MediaBrowser.Controller/Connect/ConnectUserLink.cs (limited to 'MediaBrowser.Controller/Connect') diff --git a/MediaBrowser.Controller/Connect/ConnectInvitationRequest.cs b/MediaBrowser.Controller/Connect/ConnectInvitationRequest.cs new file mode 100644 index 000000000..91516723b --- /dev/null +++ b/MediaBrowser.Controller/Connect/ConnectInvitationRequest.cs @@ -0,0 +1,20 @@ + +namespace MediaBrowser.Controller.Connect +{ + public class ConnectInvitationRequest + { + public string LocalUserId { get; set; } + + public string Username { get; set; } + + public string RequesterUserId { get; set; } + + public ConnectUserType Type { get; set; } + } + + public enum ConnectUserType + { + LinkedUser = 1, + Guest = 2 + } +} diff --git a/MediaBrowser.Controller/Connect/ConnectUser.cs b/MediaBrowser.Controller/Connect/ConnectUser.cs new file mode 100644 index 000000000..c640f9095 --- /dev/null +++ b/MediaBrowser.Controller/Connect/ConnectUser.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.Connect +{ + public class ConnectUser + { + public string Id { get; set; } + public string Name { get; set; } + public string Email { get; set; } + } + + public class ConnectUserQuery + { + public string Id { get; set; } + public string Name { get; set; } + public string Email { get; set; } + } +} diff --git a/MediaBrowser.Controller/Connect/ConnectUserLink.cs b/MediaBrowser.Controller/Connect/ConnectUserLink.cs new file mode 100644 index 000000000..93de6d8b4 --- /dev/null +++ b/MediaBrowser.Controller/Connect/ConnectUserLink.cs @@ -0,0 +1,10 @@ + +namespace MediaBrowser.Controller.Connect +{ + public class ConnectUserLink + { + public string Username { get; set; } + public string UserId { get; set; } + public string LocalUserId { get; set; } + } +} diff --git a/MediaBrowser.Controller/Connect/IConnectManager.cs b/MediaBrowser.Controller/Connect/IConnectManager.cs index 2e52591f5..6c2128cd3 100644 --- a/MediaBrowser.Controller/Connect/IConnectManager.cs +++ b/MediaBrowser.Controller/Connect/IConnectManager.cs @@ -1,8 +1,35 @@ - +using System.Threading.Tasks; + namespace MediaBrowser.Controller.Connect { public interface IConnectManager { + /// + /// Gets the wan API address. + /// + /// The wan API address. string WanApiAddress { get; } + + /// + /// Gets the user information. + /// + /// The user identifier. + /// ConnectUserInfo. + ConnectUserLink GetUserInfo(string userId); + + /// + /// Links the user. + /// + /// The user identifier. + /// The connect username. + /// Task. + Task LinkUser(string userId, string connectUsername); + + /// + /// Removes the link. + /// + /// The user identifier. + /// Task. + Task RemoveLink(string userId); } } -- cgit v1.2.3