Perform deep object verification on bitpayAccounts-v2. Ensure that nextStep for bitpay card is visible when no cards are cached.

This commit is contained in:
Andy Phillipson 2017-01-23 17:01:47 -05:00
commit 91b6d2774b
2 changed files with 21 additions and 6 deletions

View file

@ -200,14 +200,27 @@ angular.module('copayApp.services')
var verified = '';
var toRemove = [];
_asyncEach(Object.keys(data), function(key, callback) {
// Verify account API data
if (!data[key]['bitpayApi-' + network] ||
!data[key]['bitpayDebitCards-' + network]) {
// Invalid entry - 'bitpayApi-' key missing
// Invalid entry - 'bitpayDebitCards-' key missing
!data[key]['bitpayApi-' + network].token) {
// Invalid entry - one or more keys are missing
toRemove.push(key);
} else {
verified += ' ' + key;
};
return callback();
}
// Verify debit cards
if (Array.isArray(data[key]['bitpayDebitCards-' + network])) {
for (var i = 0; i < data[key]['bitpayDebitCards-' + network].length; i++) {
if (!data[key]['bitpayDebitCards-' + network][i].token ||
!data[key]['bitpayDebitCards-' + network][i].eid ||
!data[key]['bitpayDebitCards-' + network][i].id ||
!data[key]['bitpayDebitCards-' + network][i].lastFourDigits) {
// Invalid entry - one or more keys are missing
toRemove.push(key);
return callback();
}
}
}
verified += ' ' + key;
return callback();
}, function() {
// done, remove invalid account entrys