aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Connect
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-09-14 11:10:51 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-09-14 11:10:51 -0400
commit5c615fa02448813499ed87f2a1c2b937c7a7dcd5 (patch)
treeb96b07cb1d43006a8faa64649885fb808e18c43a /MediaBrowser.Controller/Connect
parent4f3ea6c6c3cdde7f4b8d21dc97c711635d73b4e0 (diff)
add connect linking
Diffstat (limited to 'MediaBrowser.Controller/Connect')
-rw-r--r--MediaBrowser.Controller/Connect/ConnectInvitationRequest.cs20
-rw-r--r--MediaBrowser.Controller/Connect/ConnectUser.cs22
-rw-r--r--MediaBrowser.Controller/Connect/ConnectUserLink.cs10
-rw-r--r--MediaBrowser.Controller/Connect/IConnectManager.cs29
4 files changed, 80 insertions, 1 deletions
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
{
+ /// <summary>
+ /// Gets the wan API address.
+ /// </summary>
+ /// <value>The wan API address.</value>
string WanApiAddress { get; }
+
+ /// <summary>
+ /// Gets the user information.
+ /// </summary>
+ /// <param name="userId">The user identifier.</param>
+ /// <returns>ConnectUserInfo.</returns>
+ ConnectUserLink GetUserInfo(string userId);
+
+ /// <summary>
+ /// Links the user.
+ /// </summary>
+ /// <param name="userId">The user identifier.</param>
+ /// <param name="connectUsername">The connect username.</param>
+ /// <returns>Task.</returns>
+ Task LinkUser(string userId, string connectUsername);
+
+ /// <summary>
+ /// Removes the link.
+ /// </summary>
+ /// <param name="userId">The user identifier.</param>
+ /// <returns>Task.</returns>
+ Task RemoveLink(string userId);
}
}