1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
This commit is contained in:
Luke Pulverenti 2017-01-27 18:07:14 -05:00
parent 82bcca376f
commit 8a6884abef
494 changed files with 256 additions and 120180 deletions

View file

@ -1,126 +1 @@
define(['events', 'appStorage'], function (events, appStorage) {
'use strict';
return function (key) {
var self = this;
var credentials = null;
key = key || 'servercredentials3';
function ensure() {
if (!credentials) {
var json = appStorage.getItem(key) || '{}';
console.log('credentials initialized with: ' + json);
credentials = JSON.parse(json);
credentials.Servers = credentials.Servers || [];
}
}
function get() {
ensure();
return credentials;
}
function set(data) {
if (data) {
credentials = data;
appStorage.setItem(key, JSON.stringify(data));
} else {
self.clear();
}
events.trigger(self, 'credentialsupdated');
}
self.clear = function () {
credentials = null;
appStorage.removeItem(key);
};
self.credentials = function (data) {
if (data) {
set(data);
}
return get();
};
self.addOrUpdateServer = function (list, server) {
if (!server.Id) {
throw new Error('Server.Id cannot be null or empty');
}
var existing = list.filter(function (s) {
return s.Id === server.Id;
})[0];
if (existing) {
// Merge the data
existing.DateLastAccessed = Math.max(existing.DateLastAccessed || 0, server.DateLastAccessed || 0);
existing.UserLinkType = server.UserLinkType;
if (server.AccessToken) {
existing.AccessToken = server.AccessToken;
existing.UserId = server.UserId;
}
if (server.ExchangeToken) {
existing.ExchangeToken = server.ExchangeToken;
}
if (server.RemoteAddress) {
existing.RemoteAddress = server.RemoteAddress;
}
if (server.ManualAddress) {
existing.ManualAddress = server.ManualAddress;
}
if (server.LocalAddress) {
existing.LocalAddress = server.LocalAddress;
}
if (server.Name) {
existing.Name = server.Name;
}
if (server.WakeOnLanInfos && server.WakeOnLanInfos.length) {
existing.WakeOnLanInfos = server.WakeOnLanInfos;
}
if (server.LastConnectionMode != null) {
existing.LastConnectionMode = server.LastConnectionMode;
}
if (server.ConnectServerId) {
existing.ConnectServerId = server.ConnectServerId;
}
return existing;
}
else {
list.push(server);
return server;
}
};
self.addOrUpdateUser = function (server, user) {
server.Users = server.Users || [];
var existing = server.Users.filter(function (s) {
return s.Id === user.Id;
})[0];
if (existing) {
// Merge the data
existing.IsSignedInOffline = true;
}
else {
server.Users.push(user);
}
};
};
});
define(["events","appStorage"],function(events,appStorage){"use strict";return function(key){function ensure(){if(!credentials){var json=appStorage.getItem(key)||"{}";console.log("credentials initialized with: "+json),credentials=JSON.parse(json),credentials.Servers=credentials.Servers||[]}}function get(){return ensure(),credentials}function set(data){data?(credentials=data,appStorage.setItem(key,JSON.stringify(data))):self.clear(),events.trigger(self,"credentialsupdated")}var self=this,credentials=null;key=key||"servercredentials3",self.clear=function(){credentials=null,appStorage.removeItem(key)},self.credentials=function(data){return data&&set(data),get()},self.addOrUpdateServer=function(list,server){if(!server.Id)throw new Error("Server.Id cannot be null or empty");var existing=list.filter(function(s){return s.Id===server.Id})[0];return existing?(existing.DateLastAccessed=Math.max(existing.DateLastAccessed||0,server.DateLastAccessed||0),existing.UserLinkType=server.UserLinkType,server.AccessToken&&(existing.AccessToken=server.AccessToken,existing.UserId=server.UserId),server.ExchangeToken&&(existing.ExchangeToken=server.ExchangeToken),server.RemoteAddress&&(existing.RemoteAddress=server.RemoteAddress),server.ManualAddress&&(existing.ManualAddress=server.ManualAddress),server.LocalAddress&&(existing.LocalAddress=server.LocalAddress),server.Name&&(existing.Name=server.Name),server.WakeOnLanInfos&&server.WakeOnLanInfos.length&&(existing.WakeOnLanInfos=server.WakeOnLanInfos),null!=server.LastConnectionMode&&(existing.LastConnectionMode=server.LastConnectionMode),server.ConnectServerId&&(existing.ConnectServerId=server.ConnectServerId),existing):(list.push(server),server)},self.addOrUpdateUser=function(server,user){server.Users=server.Users||[];var existing=server.Users.filter(function(s){return s.Id===user.Id})[0];existing?existing.IsSignedInOffline=!0:server.Users.push(user)}}});