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,110 +1 @@
define([], function () {
'use strict';
return function (connectionManager) {
var self = this;
self.sync = function (server, options) {
if (!server.AccessToken && !server.ExchangeToken) {
console.log('Skipping sync to server ' + server.Id + ' because there is no saved authentication information.');
return Promise.resolve();
}
var connectionOptions = {
updateDateLastAccessed: false,
enableWebSocket: false,
reportCapabilities: false,
enableAutomaticBitrateDetection: false
};
return connectionManager.connectToServer(server, connectionOptions).then(function (result) {
if (result.State === MediaBrowser.ConnectionState.SignedIn) {
return performSync(server, options);
} else {
console.log('Unable to connect to server id: ' + server.Id);
return Promise.reject();
}
}, function (err) {
console.log('Unable to connect to server id: ' + server.Id);
throw err;
});
};
function performSync(server, options) {
console.log("ServerSync.performSync to server: " + server.Id);
options = options || {};
var uploadPhotos = options.uploadPhotos !== false;
if (options.cameraUploadServers && options.cameraUploadServers.indexOf(server.Id) === -1) {
uploadPhotos = false;
}
var pr = syncOfflineUsers(server, options);
return pr.then(function () {
if (uploadPhotos) {
return uploadContent(server, options);
}
return Promise.resolve();
}).then(function () {
return syncMedia(server, options);
});
}
function syncOfflineUsers(server, options) {
if (options.syncOfflineUsers === false) {
return Promise.resolve();
}
return new Promise(function (resolve, reject) {
require(['offlineusersync'], function (OfflineUserSync) {
var apiClient = connectionManager.getApiClient(server.Id);
new OfflineUserSync().sync(apiClient, server).then(resolve, reject);
});
});
}
function uploadContent(server, options) {
return new Promise(function (resolve, reject) {
require(['contentuploader'], function (contentuploader) {
uploader = new ContentUploader(connectionManager);
uploader.uploadImages(server).then(resolve, reject);
});
});
}
function syncMedia(server, options) {
return new Promise(function (resolve, reject) {
require(['mediasync'], function (MediaSync) {
var apiClient = connectionManager.getApiClient(server.Id);
new MediaSync().sync(apiClient, server, options).then(resolve, reject);
});
});
}
};
});
define([],function(){"use strict";return function(connectionManager){function performSync(server,options){console.log("ServerSync.performSync to server: "+server.Id),options=options||{};var uploadPhotos=options.uploadPhotos!==!1;options.cameraUploadServers&&options.cameraUploadServers.indexOf(server.Id)===-1&&(uploadPhotos=!1);var pr=syncOfflineUsers(server,options);return pr.then(function(){return uploadPhotos?uploadContent(server,options):Promise.resolve()}).then(function(){return syncMedia(server,options)})}function syncOfflineUsers(server,options){return options.syncOfflineUsers===!1?Promise.resolve():new Promise(function(resolve,reject){require(["offlineusersync"],function(OfflineUserSync){var apiClient=connectionManager.getApiClient(server.Id);(new OfflineUserSync).sync(apiClient,server).then(resolve,reject)})})}function uploadContent(server,options){return new Promise(function(resolve,reject){require(["contentuploader"],function(contentuploader){uploader=new ContentUploader(connectionManager),uploader.uploadImages(server).then(resolve,reject)})})}function syncMedia(server,options){return new Promise(function(resolve,reject){require(["mediasync"],function(MediaSync){var apiClient=connectionManager.getApiClient(server.Id);(new MediaSync).sync(apiClient,server,options).then(resolve,reject)})})}var self=this;self.sync=function(server,options){if(!server.AccessToken&&!server.ExchangeToken)return console.log("Skipping sync to server "+server.Id+" because there is no saved authentication information."),Promise.resolve();var connectionOptions={updateDateLastAccessed:!1,enableWebSocket:!1,reportCapabilities:!1,enableAutomaticBitrateDetection:!1};return connectionManager.connectToServer(server,connectionOptions).then(function(result){return result.State===MediaBrowser.ConnectionState.SignedIn?performSync(server,options):(console.log("Unable to connect to server id: "+server.Id),Promise.reject())},function(err){throw console.log("Unable to connect to server id: "+server.Id),err})}}});