mainApp.factory('Compute',[ '$http', 'Identity', function($http, Identity){ // Init data var data={}; data.machines=null; /** * Retrieve machine list * @param {response} the server response * @param {boolean} false if the request as been send true else * @return {requestParserResult} the result of parsing */ var parsePullMachinesAnswer=function(response, failedToSendRequest){ // Defined return object var requestParserResult={}; requestParserResult.status=1; requestParserResult.failReason=null; 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; }; /** * Retrieve machine list * @param {callback} function to call after request complete */ var pullMachines=function(callback){ // Send listServers request var result=$http.post('../server/index.php', $.param({"token" : Identity.getToken(), "task" : "compute", "action":"listServers"})); // Wait and handle the response result.then(function (response){ callback(parsePullMachinesAnswer(response, false)); },function(response){ callback(parsePullMachinesAnswer(response, true)); }); }; /** * Retrieve all data * @param {callback} function to call after request complete */ var pullData=function(callback){ // TODO call getMachines etc... } /** * Get Data * @return {data} return the data object */ var getData=function(){ return data; } // Return services objects return { pullMachines: pullMachines, pullData: pullData, getData: getData }; }]);