istic-openstack/client/js/services/Compute.js
manzerbredes cdc3c2cdcb test
2016-03-01 19:08:30 +01:00

80 lines
1.5 KiB
JavaScript

mainApp.factory('Compute',[ '$http', 'Identity', function($http, Identity){
// Create data
var data={};
data.machines={};
// Parser
var parseGetMachinesAnswer=function(response, failedToSendRequest){
// Defined return object
var requestParserResult={};
requestParserResult.status=1;
requestParserResult.failReason=null;
console.log(response.data.Servers[Object.keys(response.data.Servers)[0]])
if (typeof response.data.Servers !== 'undefined') {
// Set status code
requestParserResult.status=0;
data.machines=response.data.Servers;
}
else if(failedToSendRequest){
requestParserResult.failReason="Failed to send request";
}
else{
requestParserResult.failReason="Error";
}
return requestParserResult;
};
// Get Machine
var pullMachines=function(callback){
var params={
"token" : Identity.getToken(),
"task" : "compute",
"action":"listServers"
};
var result=$http.post('../server/index.php',
$.param(params));
// Wait and handle the response
result.then(function (response){
callback(parseGetMachinesAnswer(response, false));
},function(response){
alert(response.status);
callback(parseGetMachinesAnswer(response, true));
});
};
var pullData=function(callback){
// TODO call getMachines etc...
}
var getData=function(){
return data;
}
// Return services objects
return {
pullMachines: pullMachines,
pullData: pullData,
getData: getData
};
}]);