IConnectManager.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using MediaBrowser.Controller.Entities;
  2. using MediaBrowser.Model.Connect;
  3. using System.Collections.Generic;
  4. using System.Threading.Tasks;
  5. namespace MediaBrowser.Controller.Connect
  6. {
  7. public interface IConnectManager
  8. {
  9. /// <summary>
  10. /// Gets the wan API address.
  11. /// </summary>
  12. /// <value>The wan API address.</value>
  13. string WanApiAddress { get; }
  14. /// <summary>
  15. /// Links the user.
  16. /// </summary>
  17. /// <param name="userId">The user identifier.</param>
  18. /// <param name="connectUsername">The connect username.</param>
  19. /// <returns>Task.</returns>
  20. Task<UserLinkResult> LinkUser(string userId, string connectUsername);
  21. /// <summary>
  22. /// Removes the link.
  23. /// </summary>
  24. /// <param name="userId">The user identifier.</param>
  25. /// <returns>Task.</returns>
  26. Task RemoveConnect(string userId);
  27. /// <summary>
  28. /// Invites the user.
  29. /// </summary>
  30. /// <param name="request">The request.</param>
  31. /// <returns>Task&lt;UserLinkResult&gt;.</returns>
  32. Task<UserLinkResult> InviteUser(ConnectAuthorizationRequest request);
  33. /// <summary>
  34. /// Gets the pending guests.
  35. /// </summary>
  36. /// <returns>Task&lt;List&lt;ConnectAuthorization&gt;&gt;.</returns>
  37. Task<List<ConnectAuthorization>> GetPendingGuests();
  38. /// <summary>
  39. /// Gets the user from exchange token.
  40. /// </summary>
  41. /// <param name="token">The token.</param>
  42. /// <returns>User.</returns>
  43. User GetUserFromExchangeToken(string token);
  44. /// <summary>
  45. /// Cancels the authorization.
  46. /// </summary>
  47. /// <param name="id">The identifier.</param>
  48. /// <returns>Task.</returns>
  49. Task CancelAuthorization(string id);
  50. /// <summary>
  51. /// Authenticates the specified username.
  52. /// </summary>
  53. /// <param name="username">The username.</param>
  54. /// <param name="passwordMd5">The password MD5.</param>
  55. /// <returns>Task.</returns>
  56. Task Authenticate(string username, string passwordMd5);
  57. /// <summary>
  58. /// Gets the local user.
  59. /// </summary>
  60. /// <param name="connectUserId">The connect user identifier.</param>
  61. /// <returns>Task&lt;User&gt;.</returns>
  62. Task<User> GetLocalUser(string connectUserId);
  63. /// <summary>
  64. /// Determines whether [is authorization token valid] [the specified token].
  65. /// </summary>
  66. /// <param name="token">The token.</param>
  67. /// <returns><c>true</c> if [is authorization token valid] [the specified token]; otherwise, <c>false</c>.</returns>
  68. bool IsAuthorizationTokenValid(string token);
  69. }
  70. }