diff options
author | Fulup Ar Foll <fulup@iot.bzh> | 2016-05-29 15:50:40 +0200 |
---|---|---|
committer | Fulup Ar Foll <fulup@iot.bzh> | 2016-05-29 15:50:40 +0200 |
commit | 96190f9cd583d9182c692c88d3342109bad81157 (patch) | |
tree | 5d5b098e64c14b7be1da47961ed6600ce355020b /afm-client/app/Frontend/etc | |
parent | 922b183f441a6e68b55592596fa62cc6e1814f74 (diff) |
Clean up to prepare new version of API
Diffstat (limited to 'afm-client/app/Frontend/etc')
-rw-r--r-- | afm-client/app/Frontend/etc/AppConfig.js | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/afm-client/app/Frontend/etc/AppConfig.js b/afm-client/app/Frontend/etc/AppConfig.js index be5a107..d24a626 100644 --- a/afm-client/app/Frontend/etc/AppConfig.js +++ b/afm-client/app/Frontend/etc/AppConfig.js @@ -31,17 +31,40 @@ 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; }); - - })(); |