mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update promises
This commit is contained in:
parent
3e1fd2ec8a
commit
cc53792556
2 changed files with 264 additions and 313 deletions
|
@ -400,10 +400,10 @@
|
|||
|
||||
function ensureConnectUser(credentials) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
if (connectUser && connectUser.Id == credentials.ConnectUserId) {
|
||||
deferred.resolveWith(null, [[]]);
|
||||
resolve();
|
||||
}
|
||||
|
||||
else if (credentials.ConnectUserId && credentials.ConnectAccessToken) {
|
||||
|
@ -413,17 +413,16 @@
|
|||
getConnectUser(credentials.ConnectUserId, credentials.ConnectAccessToken).then(function (user) {
|
||||
|
||||
onConnectUserSignIn(user);
|
||||
deferred.resolveWith(null, [[]]);
|
||||
resolve();
|
||||
|
||||
}, function () {
|
||||
deferred.resolveWith(null, [[]]);
|
||||
resolve();
|
||||
});
|
||||
|
||||
} else {
|
||||
deferred.resolveWith(null, [[]]);
|
||||
resolve();
|
||||
}
|
||||
|
||||
return deferred.promise();
|
||||
});
|
||||
}
|
||||
|
||||
function getConnectUser(userId, accessToken) {
|
||||
|
@ -487,7 +486,7 @@
|
|||
|
||||
function validateAuthentication(server, connectionMode) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
var url = MediaBrowser.ServerInfo.getServerAddress(server, connectionMode);
|
||||
|
||||
|
@ -518,13 +517,13 @@
|
|||
}).then(function (user) {
|
||||
|
||||
onLocalUserSignIn(user);
|
||||
deferred.resolveWith(null, [[]]);
|
||||
resolve();
|
||||
|
||||
}, function () {
|
||||
|
||||
server.UserId = null;
|
||||
server.AccessToken = null;
|
||||
deferred.resolveWith(null, [[]]);
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -532,11 +531,9 @@
|
|||
|
||||
server.UserId = null;
|
||||
server.AccessToken = null;
|
||||
deferred.resolveWith(null, [[]]);
|
||||
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
}
|
||||
|
||||
function getImageUrl(localUser) {
|
||||
|
@ -569,7 +566,7 @@
|
|||
|
||||
self.user = function (apiClient) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
var localUser;
|
||||
|
||||
|
@ -577,14 +574,13 @@
|
|||
|
||||
var image = getImageUrl(localUser);
|
||||
|
||||
deferred.resolveWith(null, [
|
||||
{
|
||||
resolve({
|
||||
localUser: localUser,
|
||||
name: connectUser ? connectUser.Name : (localUser ? localUser.Name : null),
|
||||
canManageServer: localUser ? localUser.Policy.IsAdministrator : false,
|
||||
imageUrl: image.url,
|
||||
supportsImageParams: image.supportsParams
|
||||
}]);
|
||||
});
|
||||
}
|
||||
|
||||
function onEnsureConnectUserDone() {
|
||||
|
@ -607,8 +603,7 @@
|
|||
} else {
|
||||
onEnsureConnectUserDone();
|
||||
}
|
||||
|
||||
return deferred.promise();
|
||||
});
|
||||
};
|
||||
|
||||
self.isLoggedIntoConnect = function () {
|
||||
|
@ -634,7 +629,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
return DeferredBuilder.when(promises).then(function () {
|
||||
return Promise.all(promises).then(function () {
|
||||
|
||||
var credentials = credentialProvider.credentials();
|
||||
|
||||
|
@ -692,11 +687,11 @@
|
|||
|
||||
logger.log('Begin getConnectServers');
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
if (!credentials.ConnectAccessToken || !credentials.ConnectUserId) {
|
||||
deferred.resolveWith(null, [[]]);
|
||||
return deferred.promise();
|
||||
resolve([]);
|
||||
return;
|
||||
}
|
||||
|
||||
var url = "https://connect.emby.media/service/servers?userId=" + credentials.ConnectUserId;
|
||||
|
@ -724,14 +719,13 @@
|
|||
};
|
||||
});
|
||||
|
||||
deferred.resolveWith(null, [servers]);
|
||||
resolve(servers);
|
||||
|
||||
}, function () {
|
||||
deferred.resolveWith(null, [[]]);
|
||||
resolve([]);
|
||||
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
});
|
||||
}
|
||||
|
||||
self.getSavedServers = function () {
|
||||
|
@ -754,14 +748,10 @@
|
|||
// Clone the array
|
||||
var credentials = credentialProvider.credentials();
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return Promise.all([getConnectServers(credentials), findServers()]).then(function (responses) {
|
||||
|
||||
var connectServersPromise = getConnectServers(credentials);
|
||||
var findServersPromise = findServers();
|
||||
|
||||
connectServersPromise.then(function (connectServers) {
|
||||
|
||||
findServersPromise.then(function (foundServers) {
|
||||
var connectServers = responses[0];
|
||||
var foundServers = responses[1];
|
||||
|
||||
var servers = credentials.Servers.slice(0);
|
||||
mergeServers(servers, foundServers);
|
||||
|
@ -777,11 +767,8 @@
|
|||
|
||||
credentialProvider.credentials(credentials);
|
||||
|
||||
deferred.resolveWith(null, [servers]);
|
||||
return servers;
|
||||
});
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
};
|
||||
|
||||
function filterServers(servers, connectServers) {
|
||||
|
@ -803,7 +790,7 @@
|
|||
|
||||
function findServers() {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
require(['serverdiscovery'], function () {
|
||||
ServerDiscovery.findServers(1000).then(function (foundServers) {
|
||||
|
@ -822,11 +809,11 @@
|
|||
|
||||
return info;
|
||||
});
|
||||
deferred.resolveWith(null, [servers]);
|
||||
resolve(servers);
|
||||
});
|
||||
|
||||
});
|
||||
return deferred.promise();
|
||||
});
|
||||
}
|
||||
|
||||
function convertEndpointAddressToManualAddress(info) {
|
||||
|
@ -854,18 +841,16 @@
|
|||
|
||||
logger.log('Begin connect');
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
self.getAvailableServers().then(function (servers) {
|
||||
|
||||
self.connectToServers(servers).then(function (result) {
|
||||
|
||||
deferred.resolveWith(null, [result]);
|
||||
|
||||
resolve(result);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
};
|
||||
|
||||
self.getOffineResult = function () {
|
||||
|
@ -1160,15 +1145,15 @@
|
|||
|
||||
self.loginToConnect = function (username, password) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
if (!username) {
|
||||
deferred.reject();
|
||||
return deferred.promise();
|
||||
reject();
|
||||
return;
|
||||
}
|
||||
if (!password) {
|
||||
deferred.reject();
|
||||
return deferred.promise();
|
||||
reject();
|
||||
return;
|
||||
}
|
||||
|
||||
require(['connectservice'], function () {
|
||||
|
@ -1199,39 +1184,36 @@
|
|||
|
||||
onConnectUserSignIn(result.User);
|
||||
|
||||
deferred.resolveWith(null, [result]);
|
||||
resolve(result);
|
||||
|
||||
}, function () {
|
||||
deferred.reject();
|
||||
}, reject);
|
||||
});
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
};
|
||||
|
||||
self.signupForConnect = function (email, username, password, passwordConfirm) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
if (!email) {
|
||||
deferred.rejectWith(null, [{ errorCode: 'invalidinput' }]);
|
||||
return deferred.promise();
|
||||
reject({ errorCode: 'invalidinput' });
|
||||
return;
|
||||
}
|
||||
if (!username) {
|
||||
deferred.rejectWith(null, [{ errorCode: 'invalidinput' }]);
|
||||
return deferred.promise();
|
||||
reject({ errorCode: 'invalidinput' });
|
||||
return;
|
||||
}
|
||||
if (!password) {
|
||||
deferred.rejectWith(null, [{ errorCode: 'invalidinput' }]);
|
||||
return deferred.promise();
|
||||
reject({ errorCode: 'invalidinput' });
|
||||
return;
|
||||
}
|
||||
if (!passwordConfirm) {
|
||||
deferred.rejectWith(null, [{ errorCode: 'passwordmatch' }]);
|
||||
return deferred.promise();
|
||||
reject({ errorCode: 'passwordmatch' });
|
||||
return;
|
||||
}
|
||||
if (password != passwordConfirm) {
|
||||
deferred.rejectWith(null, [{ errorCode: 'passwordmatch' }]);
|
||||
return deferred.promise();
|
||||
reject({ errorCode: 'passwordmatch' });
|
||||
return;
|
||||
}
|
||||
|
||||
require(['connectservice'], function () {
|
||||
|
@ -1253,24 +1235,19 @@
|
|||
"X-CONNECT-TOKEN": "CONNECT-REGISTER"
|
||||
}
|
||||
|
||||
}).then(function (result) {
|
||||
|
||||
deferred.resolve(null, []);
|
||||
|
||||
}, function (e) {
|
||||
}).then(resolve, function (e) {
|
||||
|
||||
try {
|
||||
|
||||
var result = JSON.parse(e.responseText);
|
||||
|
||||
deferred.rejectWith(null, [{ errorCode: result.Status }]);
|
||||
reject({ errorCode: result.Status });
|
||||
} catch (err) {
|
||||
deferred.rejectWith(null, [{}]);
|
||||
reject({});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
});
|
||||
};
|
||||
|
||||
self.getConnectPasswordHash = function (password) {
|
||||
|
@ -1333,7 +1310,7 @@
|
|||
});
|
||||
server = server.length ? server[0] : null;
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
function onDone() {
|
||||
var credentials = credentialProvider.credentials();
|
||||
|
@ -1343,12 +1320,12 @@
|
|||
});
|
||||
|
||||
credentialProvider.credentials(credentials);
|
||||
deferred.resolve();
|
||||
resolve();
|
||||
}
|
||||
|
||||
if (!server.ConnectServerId) {
|
||||
onDone();
|
||||
return deferred.promise();
|
||||
return;
|
||||
}
|
||||
|
||||
var connectToken = self.connectToken();
|
||||
|
@ -1356,7 +1333,7 @@
|
|||
|
||||
if (!connectToken || !connectUserId) {
|
||||
onDone();
|
||||
return deferred.promise();
|
||||
return;
|
||||
}
|
||||
|
||||
var url = "https://connect.emby.media/service/serverAuthorizations?serverId=" + server.ConnectServerId + "&userId=" + connectUserId;
|
||||
|
@ -1370,8 +1347,7 @@
|
|||
}
|
||||
|
||||
}).then(onDone, onDone);
|
||||
|
||||
return deferred.promise();
|
||||
});
|
||||
};
|
||||
|
||||
self.rejectServer = function (serverId) {
|
||||
|
@ -1428,49 +1404,36 @@
|
|||
|
||||
self.getRegistrationInfo = function (feature, apiClient) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
self.getAvailableServers().then(function (servers) {
|
||||
return self.getAvailableServers().then(function (servers) {
|
||||
|
||||
var matchedServers = servers.filter(function (s) {
|
||||
return stringEqualsIgnoreCase(s.Id, apiClient.serverInfo().Id);
|
||||
});
|
||||
|
||||
if (!matchedServers.length) {
|
||||
deferred.resolveWith(null, [{}]);
|
||||
return;
|
||||
return {};
|
||||
}
|
||||
|
||||
var match = matchedServers[0];
|
||||
|
||||
if (!match.DateLastLocalConnection) {
|
||||
|
||||
ApiClient.getJSON(ApiClient.getUrl('System/Endpoint')).then(function (info) {
|
||||
return ApiClient.getJSON(ApiClient.getUrl('System/Endpoint')).then(function (info) {
|
||||
|
||||
if (info.IsInNetwork) {
|
||||
|
||||
updateDateLastLocalConnection(match.Id);
|
||||
onLocalCheckSuccess(feature, apiClient, deferred);
|
||||
return apiClient.getRegistrationInfo(feature);
|
||||
} else {
|
||||
deferred.resolveWith(null, [{}]);
|
||||
return {};
|
||||
}
|
||||
|
||||
}, function () {
|
||||
|
||||
deferred.resolveWith(null, [{}]);
|
||||
});
|
||||
|
||||
return;
|
||||
} else {
|
||||
return apiClient.getRegistrationInfo(feature);
|
||||
}
|
||||
|
||||
onLocalCheckSuccess(feature, apiClient, deferred);
|
||||
|
||||
}, function () {
|
||||
|
||||
deferred.reject();
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
};
|
||||
|
||||
function updateDateLastLocalConnection(serverId) {
|
||||
|
@ -1489,17 +1452,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
function onLocalCheckSuccess(feature, apiClient, deferred) {
|
||||
|
||||
apiClient.getRegistrationInfo(feature).then(function (result) {
|
||||
|
||||
deferred.resolveWith(null, [result]);
|
||||
}, function () {
|
||||
|
||||
deferred.reject();
|
||||
});
|
||||
}
|
||||
|
||||
return self;
|
||||
};
|
||||
|
||||
|
|
|
@ -1076,7 +1076,6 @@
|
|||
Dashboard.showModalLoadingMsg();
|
||||
|
||||
ApiClient.detectBitrate().then(function (bitrate) {
|
||||
|
||||
Logger.log('Max bitrate auto detected to ' + bitrate);
|
||||
self.lastBitrateDetections[bitrateDetectionKey] = new Date().getTime();
|
||||
AppSettings.maxStreamingBitrate(bitrate);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue