1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/dashboard-ui/bower_components/emby-apiclient/sync/multiserversync.js

42 lines
1 KiB
JavaScript
Raw Normal View History

2016-08-06 22:56:32 -04:00
define(['serversync'], function (ServerSync) {
2016-10-02 02:13:04 -04:00
'use strict';
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
function syncNext(connectionManager, servers, index, options, resolve, reject) {
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
var length = servers.length;
2015-09-09 23:22:52 -04:00
2016-08-06 22:56:32 -04:00
if (index >= length) {
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
resolve();
return;
}
2015-09-27 11:00:57 -04:00
2016-08-06 22:56:32 -04:00
var server = servers[index];
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
console.log("Creating ServerSync to server: " + server.Id);
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
new ServerSync(connectionManager).sync(server, options).then(function () {
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
syncNext(connectionManager, servers, index + 1, options, resolve, reject);
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
}, function () {
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
syncNext(connectionManager, servers, index + 1, options, resolve, reject);
});
}
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
return function (connectionManager) {
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
var self = this;
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
self.sync = function (options) {
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
return new Promise(function (resolve, reject) {
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
var servers = connectionManager.getSavedServers();
2015-09-09 13:49:44 -04:00
2016-08-06 22:56:32 -04:00
syncNext(connectionManager, servers, 0, options, resolve, reject);
2015-09-09 13:49:44 -04:00
});
2016-08-06 22:56:32 -04:00
};
};
});