From 55fcfff4b7861b810fb4eabb4ce68ab754d2b3a6 Mon Sep 17 00:00:00 2001 From: dragosp1011 Date: Wed, 29 Jan 2025 17:23:24 +0200 Subject: [PATCH 1/2] fix: catch errors on backfill --- .../wallet/backend/src/backfillTrxDetails.ts | 82 ++++++++++--------- 1 file changed, 43 insertions(+), 39 deletions(-) diff --git a/packages/wallet/backend/src/backfillTrxDetails.ts b/packages/wallet/backend/src/backfillTrxDetails.ts index aa0714a58..b0f40181b 100644 --- a/packages/wallet/backend/src/backfillTrxDetails.ts +++ b/packages/wallet/backend/src/backfillTrxDetails.ts @@ -31,51 +31,55 @@ async function backfillTrxDetails() { } async function backfillCardTrx(account: Account) { - if (!account.cardId || !account.user?.gateHubUserId) { - return - } - - let page = 1 - const pageSize = 10 - let shouldFetchNext = true - while (shouldFetchNext) { - const transactionsResponse = await gateHubClient.getCardTransactions( - account.cardId, - account.user.gateHubUserId, - pageSize, - page - ) - - if (transactionsResponse.data.length < pageSize) { - shouldFetchNext = false + try { + if (!account.cardId || !account.user?.gateHubUserId) { + return } - for (const cardTrx of transactionsResponse.data) { - console.log('processing trx: ', cardTrx.id) - const existentTrx = await Transaction.query().findOne( - 'paymentId', - cardTrx.id + let page = 1 + const pageSize = 10 + let shouldFetchNext = true + while (shouldFetchNext) { + const transactionsResponse = await gateHubClient.getCardTransactions( + account.cardId, + account.user.gateHubUserId, + pageSize, + page ) - if (!existentTrx) { - console.log('trx not found: ', cardTrx.id) - continue + + if (transactionsResponse.data.length < pageSize) { + shouldFetchNext = false } - await Transaction.query() - .where('id', existentTrx.id) - .update({ - secondParty: cardTrx.merchantName, - txAmount: cardTrx.transactionAmount - ? transformBalance(Number(cardTrx.transactionAmount), 2) - : undefined, - conversionRate: cardTrx.mastercardConversion?.convRate, - txCurrency: cardTrx.transactionCurrency, - cardTxType: cardTrx.type - }) - console.log('trx updated: ', existentTrx.paymentId) - } + for (const cardTrx of transactionsResponse.data) { + console.log('processing trx: ', cardTrx.id) + const existentTrx = await Transaction.query().findOne( + 'paymentId', + cardTrx.id + ) + if (!existentTrx) { + console.log('trx not found: ', cardTrx.id) + continue + } + + await Transaction.query() + .where('id', existentTrx.id) + .update({ + secondParty: cardTrx.merchantName, + txAmount: cardTrx.transactionAmount + ? transformBalance(Number(cardTrx.transactionAmount), 2) + : undefined, + conversionRate: cardTrx.mastercardConversion?.convRate, + txCurrency: cardTrx.transactionCurrency, + cardTxType: cardTrx.type + }) + console.log('trx updated: ', existentTrx.paymentId) + } - page++ + page++ + } + } catch (e) { + console.log('Failed to update trx for account: ', account.user.email) } } From afb4b40cfe163c26ebefb287a5a6e74b7bea7090 Mon Sep 17 00:00:00 2001 From: dragosp1011 Date: Wed, 29 Jan 2025 17:49:55 +0200 Subject: [PATCH 2/2] fix: replace id with transactionId --- packages/wallet/backend/src/backfillTrxDetails.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/wallet/backend/src/backfillTrxDetails.ts b/packages/wallet/backend/src/backfillTrxDetails.ts index b0f40181b..56665a441 100644 --- a/packages/wallet/backend/src/backfillTrxDetails.ts +++ b/packages/wallet/backend/src/backfillTrxDetails.ts @@ -52,13 +52,13 @@ async function backfillTrxDetails() { } for (const cardTrx of transactionsResponse.data) { - console.log('processing trx: ', cardTrx.id) + console.log('processing trx: ', cardTrx.transactionId) const existentTrx = await Transaction.query().findOne( 'paymentId', - cardTrx.id + cardTrx.transactionId ) if (!existentTrx) { - console.log('trx not found: ', cardTrx.id) + console.log('trx not found: ', cardTrx.transactionId) continue }