diff options
Diffstat (limited to 'client/js/services/Compute.js')
| -rw-r--r-- | client/js/services/Compute.js | 51 |
1 files changed, 45 insertions, 6 deletions
diff --git a/client/js/services/Compute.js b/client/js/services/Compute.js index 70359ee..7c9df26 100644 --- a/client/js/services/Compute.js +++ b/client/js/services/Compute.js @@ -2,22 +2,57 @@ 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; + + 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 getMachines=function(callback){ + var pullMachines=function(callback){ + var params={ + "token" : Identity.getToken(), + "task" : "compute", + "action":"listServers" + }; + var result=$http.post('../server/index.php', - $.param({"token" : Identity.profile.token, "task" : "Compute"})); + $.param(params)); + + // Wait and handle the response + result.then(function (response){ + + callback(parseGetMachinesAnswer(response, false)); + },function(response){ + alert(response.status); + callback(parseGetMachinesAnswer(response, true)); + }); }; @@ -28,12 +63,16 @@ mainApp.factory('Compute',[ '$http', 'Identity', function($http, Identity){ // TODO call getMachines etc... } - + + var getData=function(){ + return data; + } + // Return services objects return { - getMachines: getMachines, + pullMachines: pullMachines, pullData: pullData, - data:data + getData: getData }; |
