Wallet/src/js/services/appIdentityService.js
2017-01-05 16:29:17 -05:00

31 lines
No EOL
937 B
JavaScript

'use strict';
angular.module('copayApp.services').factory('appIdentityService', function($log, lodash, storageService, bitauthService) {
var root = {};
root.getIdentity = function(network, cb) {
var pubkey, sin, isNew;
storageService.getAppIdentity(network, function(err, data) {
if (err) return cb(err);
var appIdentity = data || {};
if (lodash.isEmpty(appIdentity) || (appIdentity && !appIdentity.priv)) {
isNew = true;
appIdentity = bitauthService.generateSin();
}
try {
pubkey = bitauthService.getPublicKeyFromPrivateKey(appIdentity.priv);
sin = bitauthService.getSinFromPublicKey(pubkey);
if (isNew)
storageService.setAppIdentity(network, JSON.stringify(appIdentity), function(err) {});
}
catch (e) {
$log.error(e);
return cb(e);
};
return cb(null, appIdentity);
});
};
return root;
});