summaryrefslogtreecommitdiff
path: root/client/js/services
diff options
context:
space:
mode:
Diffstat (limited to 'client/js/services')
-rw-r--r--client/js/services/Compute.js279
-rw-r--r--client/js/services/Identity.js329
-rw-r--r--client/js/services/Image.js143
-rw-r--r--client/js/services/Loading.js45
-rw-r--r--client/js/services/Network.js29
-rw-r--r--client/js/services/Test.js8
6 files changed, 466 insertions, 367 deletions
diff --git a/client/js/services/Compute.js b/client/js/services/Compute.js
index 36ddc16..5e95f22 100644
--- a/client/js/services/Compute.js
+++ b/client/js/services/Compute.js
@@ -1,141 +1,140 @@
-mainApp.factory('Compute',[ '$http', 'Identity', function($http, Identity){
-
-
- // Init data
- var data={};
- data.machines=null;
- data.axioms={} // Contain static data
- data.axioms.ram=[128,512,1024,2048,4096];
- data.axioms.disk=[1,2,5,10,25,50,100,150,200]
- data.axioms.images={}; // Retrieve after
-
-
- /**
- * Parse pullMachines answer
- * @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));
- });
- };
-
-
- /**
- * Parse pullImages answer
- * @param {response} the server response
- * @param {boolean} false if the request as been send true else
- * @return {requestParserResult} the result of parsing
- */
- var parsePullImagesAnswer=function(response, failedToSendRequest){
-
- // Defined return object
- var requestParserResult={};
- requestParserResult.status=1;
- requestParserResult.failReason=null;
-
-
- if (typeof response.data.Images !== 'undefined') {
- // Set status code
- requestParserResult.status=0;
- data.axioms.images=response.data.Images;
- }
- 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 pullImages=function(callback){
- // Send listServers request
- var result=$http.post('../server/index.php',
- $.param({"token" : Identity.getToken(), "task" : "compute", "action":"listImages"}));
-
- // Wait and handle the response
- result.then(function (response){
- callback(parsePullImagesAnswer(response, false));
- },function(response){
- callback(parsePullImagesAnswer(response, true));
- });
- };
-
-
- /**
- * Retrieve all data
- * @param {callback} function to call after request complete
- */
- var pullData=function(callback){
- var nextFunction=function(response){
- if(response.status==0){
- pullMachines(callback);
- }
- }
- pullImages(nextFunction);
- }
-
-
- /**
- * Get Data
- * @return {data} return the data object
- */
- var getData=function(){
- return data;
- }
-
- // Return services objects
- return {
- pullMachines: pullMachines,
- pullData: pullData,
- getData: getData
- };
-
-
-}]);
+mainApp.factory('Compute', ['$http', 'Identity', function ($http, Identity) {
+
+
+ // Init data
+ var data = {};
+ data.machines = null;
+ data.axioms = {} // Contain static data
+ data.axioms.ram = [128, 512, 1024, 2048, 4096];
+ data.axioms.disk = [1, 2, 5, 10, 25, 50, 100, 150, 200]
+ data.axioms.images = {}; // Retrieve after
+
+
+ /**
+ * Parse pullMachines answer
+ * @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 PullMachine 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));
+ });
+ };
+
+
+ /**
+ * Parse pullImages answer
+ * @param {response} the server response
+ * @param {boolean} false if the request as been send true else
+ * @return {requestParserResult} the result of parsing
+ */
+ var parsePullImagesAnswer = function (response, failedToSendRequest) {
+
+ // Defined return object
+ var requestParserResult = {};
+ requestParserResult.status = 1;
+ requestParserResult.failReason = null;
+
+
+ if (typeof response.data.Images !== 'undefined') {
+ // Set status code
+ requestParserResult.status = 0;
+ data.axioms.images = response.data.Images;
+ } else if (failedToSendRequest) {
+ requestParserResult.failReason = "Failed to send PullImage request";
+ } else {
+ requestParserResult.failReason = "Error";
+ }
+ return requestParserResult;
+ };
+
+
+
+
+ /**
+ * Retrieve machine list
+ * @param {callback} function to call after request complete
+ */
+ var pullImages = function (callback) {
+ // Send listServers request
+ var result = $http.post('../server/index.php',
+ $.param({"token": Identity.getToken(), "task": "compute", "action": "listImages"}));
+
+ // Wait and handle the response
+ result.then(function (response) {
+ callback(parsePullImagesAnswer(response, false));
+ }, function (response) {
+
+ callback(parsePullImagesAnswer(response, true));
+ });
+ };
+
+
+ /**
+ * Retrieve all data
+ * @param {callback} function to call after request complete
+ */
+ var pullData = function (callback) {
+ var nextFunction = function (response) {
+ if (response.status == 0) {
+ pullMachines(callback);
+ } else {
+ callback(response);
+ }
+ };
+ pullImages(nextFunction);
+ };
+
+
+ /**
+ * Get Data
+ * @return {data} return the data object
+ */
+ var getData = function () {
+ return data;
+ };
+
+ // Return services objects
+ return {
+ pullMachines: pullMachines,
+ pullData: pullData,
+ getData: getData
+ };
+
+
+ }]);
diff --git a/client/js/services/Identity.js b/client/js/services/Identity.js
index db93e97..17678ed 100644
--- a/client/js/services/Identity.js
+++ b/client/js/services/Identity.js
@@ -1,163 +1,168 @@
-mainApp.factory('Identity',[ '$http', '$cookies', function($http, $cookies){
-
- /* Create profile structure to store informations
- * about current session
- */
- var profile={};
- profile.username=null;
- profile.projectname=null;
- var token=null;
-
-
- /*
- * @returns {boolean} Return true if a cookie is found (and load it in profile) false else
- */
- var isAlreadyLogin=function(){
-
- // Load cookies
- var profileInCookie=$cookies.getObject('profile');
- var tokenPart_0InCookie=$cookies.getObject('token.part_0');
- var tokenPart_1InCookie=$cookies.getObject('token.part_1');
-
-
- // Check if cookie is defined
- if(typeof profileInCookie !== 'undefined'
- && typeof tokenPart_0InCookie !== 'undefined'
- && typeof tokenPart_1InCookie !== 'undefined'
- ){
-
- // If yes, put it into variables
- angular.extend(profile, profileInCookie);
- token=tokenPart_0InCookie+tokenPart_1InCookie;
-
- // Return I'm Login
- return true;
- }
-
- // Return I'm not Login
- return false;
- }
-
-
-
- /*
- * Destroy profile cookies
- */
- var logout=function(){
- $cookies.remove('profile');
- $cookies.remove('token.part_0');
- $cookies.remove('token.part_1');
- token=null;
- profile.username=null;
- profile.projectname=null;
-
- // Reload Page
- location.reload();
- }
-
-
- /**
- *
- * @param {string} response The response to parse
- * @param {boolean} to check if the request is send or not
- * @returns {requestParserResult} Formated data
- */
- var parseLoginAnswer=function(response, failedToSendRequest){
-
- // Defined return object
- var requestParserResult={};
- requestParserResult.status=1;
- requestParserResult.failReason=null;
-
- if (typeof response.data.token !== 'undefined') {
- // Set status code
- requestParserResult.status=0;
-
- // Find the middle of the token to split it
- var middle=parseInt(response.data.token.length/2);
-
- // Create expire date (cookie expire in 55 mins)
- var expireDate=new Date();
- expireDate.setMinutes(expireDate.getMinutes()+55);
-
- // Save profile
- $cookies.putObject('profile', profile, {'expires': expireDate});
- // Save first part of token
- $cookies.putObject('token.part_0', response.data.token.substring(0, middle), {'expires': expireDate});
- // Save second part of token
- $cookies.putObject('token.part_1', response.data.token.substring(middle, response.data.token.length), {'expires': expireDate});
-
- // Put token in var
- token=response.data.token;
-
- }
- else if(failedToSendRequest){
- requestParserResult.failReason="Failed to send request";
- }
- else{
- requestParserResult.failReason="Please check your username, password and project name !";
- }
-
-
- return requestParserResult;
- };
-
-
- /**
- * Function to connect to OpenStack
- *
- * @param {object} $http Angular $http service
- * @param {string} username The user name
- * @param {string} password The user password
- * @param {string} projectname The user project name
- * @param {function} function to call when data is avalaible
- */
- var login=function(username, password,projectname,callback){
-
- // Set profile information (early)
- profile.username=username;
- profile.projectname=projectname;
-
- var result=$http.post('../server/index.php',
- $.param({"task" : "Authenticate", "user" : username, "password" : password, "project" : projectname}));
-
- // Wait and handle the response
- result.then(function (response){
- callback(parseLoginAnswer(response, false));
- },function(response){
- callback(parseLoginAnswer(response, true));
- });
- };
-
-
-
-
-
- /*
- * Get the profile
- */
- var getProfile=function(){
- return profile;
- }
-
- /*
- * Get the token
- */
- var getToken=function(){
- return token;
- }
-
-
-
- // Return services objects
- return {
- login: login,
- getProfile: getProfile,
- isAlreadyLogin: isAlreadyLogin,
- logout:logout,
- getToken:getToken
- };
-
-
-}]);
+mainApp.factory('Identity', ['$http', '$cookies', '$rootScope', function ($http, $cookies, $rootScope) {
+
+ /* Create profile structure to store informations
+ * about current session
+ */
+ var profile = {};
+ profile.username = null;
+ profile.projectname = null;
+ var token = null;
+
+
+ /*
+ * @returns {boolean} Return true if a cookie is found (and load it in profile) false else
+ */
+ var isAlreadyLogin = function () {
+
+ // Load cookies
+ var profileInCookie = $cookies.getObject('profile');
+ var tokenPart_0InCookie = $cookies.getObject('token.part_0');
+ var tokenPart_1InCookie = $cookies.getObject('token.part_1');
+
+
+ // Check if cookie is defined
+ if (typeof profileInCookie !== 'undefined'
+ && typeof tokenPart_0InCookie !== 'undefined'
+ && typeof tokenPart_1InCookie !== 'undefined'
+ ) {
+
+ //if(token!==null){
+ // If yes, put it into variables
+ angular.extend(profile, profileInCookie);
+ token = tokenPart_0InCookie + tokenPart_1InCookie;
+ //}
+
+ // Return I'm Login
+ return true;
+ }
+
+ // Show the login overlay
+ $rootScope.$broadcast("logoutEvent");
+
+ // Return I'm not Login
+ return false;
+ };
+
+
+
+ /*
+ * Destroy profile cookies
+ */
+ var logout = function () {
+ $cookies.remove('profile');
+ $cookies.remove('token.part_0');
+ $cookies.remove('token.part_1');
+ token = null;
+ profile.username = null;
+ profile.projectname = null;
+
+ // Reload Page
+ //location.reload();
+ $rootScope.$broadcast("logoutEvent");
+
+ };
+
+
+ /**
+ *
+ * @param {string} response The response to parse
+ * @param {boolean} to check if the request is send or not
+ * @returns {requestParserResult} Formated data
+ */
+ var parseLoginAnswer = function (response, failedToSendRequest) {
+
+ // Defined return object
+ var requestParserResult = {};
+ requestParserResult.status = 1;
+ requestParserResult.failReason = null;
+
+ if (typeof response.data.token !== 'undefined') {
+ // Set status code
+ requestParserResult.status = 0;
+
+ // Find the middle of the token to split it
+ var middle = parseInt(response.data.token.length / 2);
+
+ // Create expire date (cookie expire in 55 mins)
+ var expireDate = new Date();
+ expireDate.setMinutes(expireDate.getMinutes() + 55);
+
+ // Save profile
+ $cookies.putObject('profile', profile, {'expires': expireDate});
+ // Save first part of token
+ $cookies.putObject('token.part_0', response.data.token.substring(0, middle), {'expires': expireDate});
+ // Save second part of token
+ $cookies.putObject('token.part_1', response.data.token.substring(middle, response.data.token.length), {'expires': expireDate});
+
+ // Put token in var
+ token = response.data.token;
+
+ } else if (failedToSendRequest) {
+ requestParserResult.failReason = "Failed to send request";
+ } else {
+ requestParserResult.failReason = "Please check your username, password and project name !";
+ }
+
+
+ return requestParserResult;
+ };
+
+
+ /**
+ * Function to connect to OpenStack
+ *
+ * @param {object} $http Angular $http service
+ * @param {string} username The user name
+ * @param {string} password The user password
+ * @param {string} projectname The user project name
+ * @param {function} function to call when data is avalaible
+ */
+ var login = function (username, password, projectname, callback) {
+
+ // Set profile information (early)
+ profile.username = username;
+ profile.projectname = projectname;
+
+ var result = $http.post('../server/index.php',
+ $.param({"task": "Authenticate", "user": username, "password": password, "project": projectname}));
+
+ // Wait and handle the response
+ result.then(function (response) {
+ callback(parseLoginAnswer(response, false));
+ }, function (response) {
+ callback(parseLoginAnswer(response, true));
+ });
+ };
+
+
+
+
+
+ /*
+ * Get the profile
+ */
+ var getProfile = function () {
+ return profile;
+ };
+
+ /*
+ * Get the token
+ */
+ var getToken = function () {
+ return token;
+ };
+
+
+
+ // Return services objects
+ return {
+ login: login,
+ getProfile: getProfile,
+ isAlreadyLogin: isAlreadyLogin,
+ logout: logout,
+ getToken: getToken
+ };
+
+
+ }]);
diff --git a/client/js/services/Image.js b/client/js/services/Image.js
index 2e8c56f..795f85e 100644
--- a/client/js/services/Image.js
+++ b/client/js/services/Image.js
@@ -1,59 +1,114 @@
-mainApp.factory('Image',[ '$http', 'Identity', function($http, Identity){
+mainApp.factory('Image', ['$http', 'Identity', function ($http, Identity) {
- var data={};
- data.images=null;
+ // Data object
+ var data = {};
+ data.images = null; // Images
+ /**
+ * Parse uploadImage anwser
+ * @param {type} response
+ * @param {type} failedToSendRequest
+ * @returns {Image_L2.parseUploadImageAnswer.requestParserResult}
+ */
+ var parseUploadImageAnswer = function (response, failedToSendRequest) {
- var parseUploadImageAnswer=function(response, failedToSendRequest){
+ // Defined return object
+ var requestParserResult = {};
+ requestParserResult.status = 1;
+ requestParserResult.failReason = null;
- // Defined return object
- var requestParserResult={};
- requestParserResult.status=1;
- requestParserResult.failReason=null;
-
- if (typeof response.data.Images !== 'undefined') {
- // Set status code
- requestParserResult.status=0;
- data.images=response.data.Images;
+ if (typeof response.data.Images !== 'undefined') {
+ // Set status code
+ requestParserResult.status = 0;
+ data.images = response.data.Images;
- }
- else if(failedToSendRequest){
- requestParserResult.failReason="Failed to send request";
- }
- else{
- requestParserResult.failReason="Error";
- }
- return requestParserResult;
- };
+ } else if (failedToSendRequest) {
+ requestParserResult.failReason = "Failed to send request";
+ } else {
+ requestParserResult.failReason = "Error";
+ }
+ return requestParserResult;
+ };
- var getImages=function(callback){
+ /**
+ * Get images
+ * @param {type} callback
+ * @returns {undefined}
+ */
+ var getImages = function (callback) {
- var result=$http.post('../server/index.php',
- $.param({"token" : Identity.getToken(), "task" : "image", 'action':'listImage'}));
+ var result = $http.post('../server/index.php',
+ $.param({"token": Identity.getToken(), "task": "image", 'action': 'listImage'}));
- // Wait and handle the response
- result.then(function (response){
- callback(parseUploadImageAnswer(response, false));
- },function(response){
- callback(parseUploadImageAnswer(response, true));
- });
+ // Wait and handle the response
+ result.then(function (response) {
+ callback(parseUploadImageAnswer(response, false));
+ }, function (response) {
+ callback(parseUploadImageAnswer(response, true));
+ });
-
- };
+ };
- var getData=function(response){
- return data;
- };
-
- // Return services objects
- return {
- getImages:getImages,
- getData:getData
- };
+ /**
+ * Upload an image
+ * @param {type} fileToUpload
+ * @param {type} callback
+ * @returns {undefined}
+ */
+ var uploadImage = function (fileToUpload, callback) {
+ var form_data = new FormData();
+ form_data.append('file', fileToUpload);
+ console.log(fileToUpload);
+ form_data.append("task", "image");
+ form_data.append("token", Identity.getToken());
+ form_data.append('action', "uploadImage");
+ form_data.append('id', '6564');
+ form_data.append('file_name', fileToUpload);
-
-}]);
+ $.ajax({
+ url: "../server/index.php", // Url to which the request is send
+ type: "POST", // Type of request to be send, called as method
+ data: form_data, // Data sent to server, a set of key/value pairs (i.e. form fields and values)
+ file_name: fileToUpload,
+ token: Identity.getToken(),
+ task: "image",
+ action: 'uploadImage',
+ id: '6564',
+ contentType: false, // The content type used when sending data to the server.
+ cache: false, // To unable request pages to be cached
+ processData: false, // To send DOMDocument or non processed data file it is set to false
+ success: function (data) // A function to be called if request succeeds
+ {
+ alert("success");
+ }
+ });
+
+ //var result=$http.post('../server/index.php',
+ // $.param({"token" : Identity.getToken(), "task" : "image", 'action':'uploadImage', 'file_name':form_data, 'id':'6564'}));
+
+ // Wait and handle the response
+ /* result.then(function (response){
+ callback(parseUploadImageAnswer(response, false));
+ },function(response){
+ callback(parseUploadImageAnswer(response, true));
+ });*/
+ };
+
+
+ var getData = function (response) {
+ return data;
+ };
+
+ // Return services objects
+ return {
+ getImages: getImages,
+ getData: getData,
+ uploadImage: uploadImage
+ };
+
+
+ }]);
diff --git a/client/js/services/Loading.js b/client/js/services/Loading.js
index db06194..7ea2b42 100644
--- a/client/js/services/Loading.js
+++ b/client/js/services/Loading.js
@@ -1,23 +1,26 @@
+/**
+ * Loading service
+ * @param {type} param1
+ * @param {type} param2
+ */
+mainApp.factory('Loading', [function () {
+ /**
+ * Display Loading modal
+ */
+ var start = function () {
+ $('#loadingModal').modal({backdrop: 'static', keyboard: false});
+ };
-mainApp.factory('Loading',[ function(){
- /**
- * Display Loading modal
- */
- var start=function(){
- $('#loadingModal').modal({backdrop: 'static', keyboard: false});
- };
+ /**
+ * Hide Loading modal
+ */
+ var stop = function () {
+ $('#loadingModal').modal('hide');
+ };
- /**
- * Hide Loading modal
- */
- var stop=function(){
- $('#loadingModal').modal('hide');
- }
-
-
- // Service returns
- return {
- start:start,
- stop:stop
- };
-}]);
+ // Service returns
+ return {
+ start: start,
+ stop: stop
+ };
+ }]);
diff --git a/client/js/services/Network.js b/client/js/services/Network.js
new file mode 100644
index 0000000..a0cd5a4
--- /dev/null
+++ b/client/js/services/Network.js
@@ -0,0 +1,29 @@
+
+mainApp.factory('Network', ['$http', 'Identity', function ($http, Identity) {
+
+ // Data object
+ var data = {};
+ data.networks = null; // Networks
+
+ /**
+ * ListId
+ * @param {type} fileToUpload
+ * @param {type} callback
+ * @returns {undefined}
+ */
+ var ListId = function (fileToUpload, callback) {
+ var result = $http.post('../server/index.php',
+ $.param({"token": Identity.getToken(), "task": "network", 'action': 'list_network_ids'}));
+
+ // Wait and handle the response
+ result.then(function (response) {
+ callback(parseUploadImageAnswer(response, false));
+ }, function (response) {
+ callback(parseUploadImageAnswer(response, true));
+ });
+ };
+
+
+ }]);
+
+
diff --git a/client/js/services/Test.js b/client/js/services/Test.js
new file mode 100644
index 0000000..f12c6b9
--- /dev/null
+++ b/client/js/services/Test.js
@@ -0,0 +1,8 @@
+var app = angular.module('mainApp',[]);
+app.controller('hassan', function($scope,$http){
+ $http.get('http://127.0.0.1/database.json').success(function(response){
+ $scope.persons = response.records;
+});
+
+
+});