Glidera Integration

This commit is contained in:
Gustavo Maximiliano Cortez 2015-08-28 18:23:24 -03:00
commit 4ed39a22d4
8 changed files with 314 additions and 0 deletions

View file

@ -0,0 +1,115 @@
'use strict';
angular.module('copayApp.services').factory('glideraService', function($http, $log) {
var root = {};
var HOST = 'https://sandbox.glidera.io';
var REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob';
var CLIENT_ID = '9915b6ffa6dc3baffb87135ed3873d49';
var CLIENT_SECRET = 'd74eda05b9c6a228fd5c85cfbd0eb7eb';
root.getOauthCodeUrl = function() {
return HOST
+ '/oauth2/auth?response_type=code&client_id='
+ CLIENT_ID
+ '&redirect_uri='
+ REDIRECT_URI;
};
root.getToken = function(code, cb) {
var req = {
method: 'POST',
url: HOST + '/api/v1/oauth/token',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
data: {
grant_type : 'authorization_code',
code: code,
client_id : CLIENT_ID,
client_secret: CLIENT_SECRET,
redirect_uri: REDIRECT_URI
}
}
$http(req).then(function(data) {
$log.info('Authorization Access Token: SUCCESS');
return cb(null, data);
}, function(data) {
$log.error('Authorization Access Token: ERROR ' + data.statusText);
return cb(data.statusText);
});
};
var _get = function(endpoint, token) {
return {
method: 'GET',
url: HOST + '/api/v1' + endpoint,
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
params: {
access_token: token
}
};
};
root.getPermissions = function(token, cb) {
if (!token) return cb('Invalid Token');
$http(_get('/oauth/token', token)).then(function(data) {
$log.info('Access Token Permissions: SUCCESS');
return cb(null, data.data);
}, function(data) {
$log.error('Access Token Permissions: ERROR ' + data.statusText);
return cb(data.statusText);
});
};
root.getEmail = function(token, cb) {
if (!token) return cb('Invalid Token');
$http(_get('/user/email', token)).then(function(data) {
$log.info('Get Email: SUCCESS');
return cb(null, data.data);
}, function(data) {
$log.error('Get Email: ERROR ' + data.statusText);
return cb(data.statusText);
});
};
root.getPersonalInfo = function(token, cb) {
if (!token) return cb('Invalid Token');
$http(_get('/user/personalinfo', token)).then(function(data) {
$log.info('Get Personal Info: SUCCESS');
return cb(null, data.data);
}, function(data) {
$log.error('Get Personal Info: ERROR ' + data.statusText);
return cb(data.statusText);
});
};
root.getStatus = function(token, cb) {
if (!token) return cb('Invalid Token');
$http(_get('/user/status', token)).then(function(data) {
$log.info('User Status: SUCCESS');
return cb(null, data.data);
}, function(data) {
$log.error('User Status: ERROR ' + data.statusText);
return cb(data.statusText);
});
};
root.getLimits = function(token, cb) {
if (!token) return cb('Invalid Token');
$http(_get('/user/limits', token)).then(function(data) {
$log.info('Transaction Limits: SUCCESS');
return cb(null, data.data);
}, function(data) {
$log.error('Transaction Limits: ERROR ' + data.statusText);
return cb(data.statusText);
});
};
return root;
});

View file

@ -192,5 +192,17 @@ angular.module('copayApp.services')
storage.get('remotePrefStored', cb);
};
root.setGlideraToken = function(network, token, cb) {
storage.set('glideraToken-' + network, token, cb);
};
root.getGlideraToken = function(network, cb) {
storage.get('glideraToken-' + network, cb);
};
root.removeGlideraToken = function(network, cb) {
storage.remove('glideraToken-' + network, cb);
};
return root;
});