46 lines
No EOL
2.3 KiB
JavaScript
46 lines
No EOL
2.3 KiB
JavaScript
define([], function() {
|
|
"use strict";
|
|
|
|
function performSync(connectionManager, server, options) {
|
|
console.log("ServerSync.performSync to server: " + server.Id), options = options || {};
|
|
var cameraUploadServers = options.cameraUploadServers || [];
|
|
console.log("ServerSync cameraUploadServers: " + JSON.stringify(cameraUploadServers));
|
|
var uploadPhotos = -1 !== cameraUploadServers.indexOf(server.Id);
|
|
return console.log("ServerSync uploadPhotos: " + uploadPhotos), (uploadPhotos ? uploadContent(connectionManager, server, options) : Promise.resolve()).then(function() {
|
|
return syncMedia(connectionManager, server, options)
|
|
})
|
|
}
|
|
|
|
function uploadContent(connectionManager, server, options) {
|
|
return new Promise(function(resolve, reject) {
|
|
require(["contentuploader"], function(ContentUploader) {
|
|
(new ContentUploader).uploadImages(connectionManager, server).then(resolve, reject)
|
|
})
|
|
})
|
|
}
|
|
|
|
function syncMedia(connectionManager, 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)
|
|
})
|
|
})
|
|
}
|
|
|
|
function ServerSync() {}
|
|
return ServerSync.prototype.sync = function(connectionManager, 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 "SignedIn" === result.State ? performSync(connectionManager, 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
|
|
})
|
|
}, ServerSync
|
|
}); |