aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/ApiClient/ServerCredentials.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/ApiClient/ServerCredentials.cs')
-rw-r--r--MediaBrowser.Model/ApiClient/ServerCredentials.cs27
1 files changed, 26 insertions, 1 deletions
diff --git a/MediaBrowser.Model/ApiClient/ServerCredentials.cs b/MediaBrowser.Model/ApiClient/ServerCredentials.cs
index 787fb9a0d..dbde4a29a 100644
--- a/MediaBrowser.Model/ApiClient/ServerCredentials.cs
+++ b/MediaBrowser.Model/ApiClient/ServerCredentials.cs
@@ -30,7 +30,32 @@ namespace MediaBrowser.Model.ApiClient
if (index != -1)
{
- list[index] = server;
+ var existing = list[index];
+
+ // Merge the data
+ existing.DateLastAccessed = new[] { existing.DateLastAccessed, server.DateLastAccessed }.Max();
+
+ if (!string.IsNullOrEmpty(server.AccessToken))
+ {
+ existing.AccessToken = server.AccessToken;
+ existing.UserId = server.UserId;
+ }
+ if (!string.IsNullOrEmpty(server.RemoteAddress))
+ {
+ existing.RemoteAddress = server.RemoteAddress;
+ }
+ if (!string.IsNullOrEmpty(server.LocalAddress))
+ {
+ existing.LocalAddress = server.LocalAddress;
+ }
+ if (!string.IsNullOrEmpty(server.Name))
+ {
+ existing.Name = server.Name;
+ }
+ if (server.WakeOnLanInfos != null && server.WakeOnLanInfos.Count > 0)
+ {
+ existing.WakeOnLanInfos = server.WakeOnLanInfos.ToList();
+ }
}
else
{