1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update sync objects

This commit is contained in:
Luke Pulverenti 2016-08-06 22:56:32 -04:00
parent 866ecf78b4
commit c71f597c58
14 changed files with 250 additions and 435 deletions

View file

@ -1,6 +1,38 @@
(function (globalScope) {
define(['localassetmanager'], function (localAssetManager) {
function offlineUserSync() {
function syncNext(users, index, resolve, reject, apiClient, server) {
var length = users.length;
if (index >= length) {
resolve();
return;
}
var onFinish = function () {
syncNext(users, index + 1, resolve, reject, apiClient, server);
};
syncUser(users[index], apiClient).then(onFinish, onFinish);
}
function syncUser(user, apiClient) {
return apiClient.getOfflineUser(user.Id).then(function (result) {
return localAssetManager.saveOfflineUser(result);
}, function () {
// TODO: We should only delete if there's a 401 response
return localAssetManager.deleteOfflineUser(user.Id).catch(function () {
return Promise.resolve();
});
});
}
return function offlineUserSync() {
var self = this;
@ -12,53 +44,5 @@
syncNext(users, 0, resolve, reject, apiClient, server);
});
};
function syncNext(users, index, resolve, reject, apiClient, server) {
var length = users.length;
if (index >= length) {
resolve();
return;
}
var onFinish = function() {
syncNext(users, index + 1, resolve, reject, apiClient, server);
};
syncUser(users[index], apiClient).then(onFinish, onFinish);
}
function syncUser(user, apiClient) {
return new Promise(function (resolve, reject) {
apiClient.getOfflineUser(user.Id).then(function (result) {
require(['localassetmanager'], function () {
LocalAssetManager.saveOfflineUser(result).then(resolve, resolve);
});
}, function () {
// TODO: We should only delete if there's a 401 response
require(['localassetmanager'], function () {
LocalAssetManager.deleteOfflineUser(user.Id).then(resolve, resolve);
});
});
});
}
}
if (!globalScope.MediaBrowser) {
globalScope.MediaBrowser = {};
}
globalScope.MediaBrowser.OfflineUserSync = offlineUserSync;
})(this);
};
});