aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Connect/ConnectManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Connect/ConnectManager.cs56
1 files changed, 56 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
index f468606ed..4ccbc2882 100644
--- a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
+++ b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
@@ -9,6 +9,7 @@ using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Security;
using MediaBrowser.Model.Connect;
using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Net;
using MediaBrowser.Model.Serialization;
@@ -105,6 +106,8 @@ namespace MediaBrowser.Server.Implementations.Connect
_userManager = userManager;
_providerManager = providerManager;
+ _userManager.UserConfigurationUpdated += _userManager_UserConfigurationUpdated;
+
LoadCachedData();
}
@@ -914,5 +917,58 @@ namespace MediaBrowser.Server.Implementations.Connect
{
}
}
+
+ async void _userManager_UserConfigurationUpdated(object sender, GenericEventArgs<User> e)
+ {
+ var user = e.Argument;
+
+ //await TryUploadUserPreferences(user, CancellationToken.None).ConfigureAwait(false);
+ }
+
+ private async Task TryUploadUserPreferences(User user, CancellationToken cancellationToken)
+ {
+ if (string.IsNullOrEmpty(user.ConnectUserId))
+ {
+ return;
+ }
+ if (string.IsNullOrEmpty(ConnectAccessKey))
+ {
+ return;
+ }
+
+ var obj = ConnectUserPreferences.FromUserConfiguration(user.Configuration);
+ var json = _json.SerializeToString(obj);
+
+ var url = GetConnectUrl("user/preferences");
+ url += "?userId=" + user.ConnectUserId;
+ url += "&key=userpreferences";
+
+ var options = new HttpRequestOptions
+ {
+ Url = url,
+ CancellationToken = cancellationToken,
+ RequestContent = json,
+ RequestContentType = "application/json"
+ };
+
+ SetServerAccessToken(options);
+
+ try
+ {
+ // No need to examine the response
+ using (var stream = (await _httpClient.SendAsync(options, "POST").ConfigureAwait(false)).Content)
+ {
+ }
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error uploading user preferences", ex);
+ }
+ }
+
+ private async Task DownloadUserPreferences(User user, CancellationToken cancellationToken)
+ {
+
+ }
}
}