From 22c408f6333f06ea7248d1bdcf04187a5ff48582 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 14 Feb 2022 14:34:43 +0100 Subject: [PATCH] fix: Catch GDT Server Errors --- backend/src/graphql/resolver/GdtResolver.ts | 16 ++++++++++------ .../src/graphql/resolver/TransactionResolver.ts | 12 +++++++----- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/backend/src/graphql/resolver/GdtResolver.ts b/backend/src/graphql/resolver/GdtResolver.ts index a727c8784..a00537dd5 100644 --- a/backend/src/graphql/resolver/GdtResolver.ts +++ b/backend/src/graphql/resolver/GdtResolver.ts @@ -25,13 +25,17 @@ export class GdtResolver { const userRepository = getCustomRepository(UserRepository) const userEntity = await userRepository.findByPubkeyHex(context.pubKey) - const resultGDT = await apiGet( - `${CONFIG.GDT_API_URL}/GdtEntries/listPerEmailApi/${userEntity.email}/${currentPage}/${pageSize}/${order}`, - ) - if (!resultGDT.success) { - throw new Error(resultGDT.data) + try { + const resultGDT = await apiGet( + `${CONFIG.GDT_API_URL}/GdtEntries/listPerEmailApi/${userEntity.email}/${currentPage}/${pageSize}/${order}`, + ) + if (!resultGDT.success) { + throw new Error(resultGDT.data) + } + return new GdtEntryList(resultGDT.data) + } catch (err: any) { + throw new Error(err) } - return new GdtEntryList(resultGDT.data) } @Authorized([RIGHTS.EXIST_PID]) diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index 8fe1e8484..d42f3b62e 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -331,11 +331,13 @@ export class TransactionResolver { ) // get gdt sum - const resultGDTSum = await apiPost(`${CONFIG.GDT_API_URL}/GdtEntries/sumPerEmailApi`, { - email: userEntity.email, - }) - if (!resultGDTSum.success) throw new Error(resultGDTSum.data) - transactions.gdtSum = Number(resultGDTSum.data.sum) || 0 + transactions.gdtSum = 0 + try { + const resultGDTSum = await apiPost(`${CONFIG.GDT_API_URL}/GdtEntries/sumPerEmailApi`, { + email: userEntity.email, + }) + if (resultGDTSum.success) transactions.gdtSum = Number(resultGDTSum.data.sum) || 0 + } catch (err: any) {} // get balance const balanceRepository = getCustomRepository(BalanceRepository)