in public/javascripts/app/services/RestoreService.js [11:53]
function($http, $routeParams, $q, SnapshotIdModels){
return {
restore: (destinationSystemId) => {
var contentId = $routeParams.contentId;
return $q((resolve, reject) => {
//get collection
SnapshotIdModels.getCollection(contentId)
.then((collection) => {
//get model
var model = collection.find((data) => data.activeState);
var systemId = destinationSystemId || model.getSystemId();
mediator.publish('track:event', 'Snapshot', 'Restored', null, null, {
contentId: model.id,
snapshotTime: model.timestamp
});
//make the request
$http({
url: `/api/1/restore/${model.getSystemId()}/${contentId}/${model.getTimestamp()}/to/${systemId}`,
method: 'POST'
})
.then(resolve)
.catch(reject);
});
});
},
getDestinations: (contentId) => {
return $q((resolve, reject) => {
$http.get(`/api/1/restore/destinations/${contentId}`)
.then(function({data}){
if (!Array.isArray(data) || data.length === 0) {
reject(new Error('There are no destinations available'));
return;
}
resolve(data);
})
.catch(reject);
});
}
}
}