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:
parent
866ecf78b4
commit
c71f597c58
14 changed files with 250 additions and 435 deletions
|
@ -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);
|
||||
};
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue