Clean up to prepare new version of API
[src/app-framework-demo.git] / afm-client / app / Frontend / etc / AppConfig.js
index be5a107..d24a626 100644 (file)
                 return myConfig;
             })
 
-            // Factory is a singleton and share its context within all instances.
+           // Factory is a singleton and share its context within all instances.
             .factory('AppCall', function ($http, AppConfig, $log) {
+                
                 var myCalls = {
-                    get : function(plugin, action, query, callback) {
+                    get : function(plugin, action, query, cbresponse, cberror) {                                                
+                        
+                        var onerror = function(response) {
+                            if (cberror) cberror(response.data, response.status, response.config);
+                            else cbresponse(response.data, response.status, response.config);
+                        };
+                        
+                        var onsuccess =function(response) {
+                            if (!response.data || !response.data.request) {
+                                onerror (response);
+                                return;
+                            }                            
+                        
+                            var request=response.data.request;
+                            
+                            // if token was updated keep it within application cache
+                            if (request.token) AppConfig.session.token = request.token;
+                            if (request.uuid)  AppConfig.session.uuid  = request.uuid;
+                            if (request.timeout) AppConfig.session.timeout = request.timeout;
+                        
+                            cbresponse(response.data, response.status, response.config);
+                        };
+                        
+                        
                         if (!query.token) query.token = AppConfig.session.token; // add token to provided query
-                        $http.get('/api/' + plugin + '/' + action , {params: query}).then (callback, callback);
+                        if (!query.reqid) query.reqid = action; // use action as default requestID
+                        var handle= $http.get('/api/' + plugin + '/' + action , {params: query}).then(onsuccess, onerror);
+                        
                     }
-
                 };
                 return myCalls;
             });
-    
 })();