From 22c408f6333f06ea7248d1bdcf04187a5ff48582 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 14 Feb 2022 14:34:43 +0100 Subject: [PATCH 1/7] 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) From 58ee714e17d16834bc890763ae968320f93760a3 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 16 Feb 2022 09:05:42 +0100 Subject: [PATCH 2/7] allow gdtSum to be null --- backend/src/graphql/model/TransactionList.ts | 4 ++-- backend/src/graphql/resolver/TransactionResolver.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/src/graphql/model/TransactionList.ts b/backend/src/graphql/model/TransactionList.ts index 0175048d1..f1973b7e7 100644 --- a/backend/src/graphql/model/TransactionList.ts +++ b/backend/src/graphql/model/TransactionList.ts @@ -13,8 +13,8 @@ export class TransactionList { this.decayDate = '' } - @Field(() => Number) - gdtSum: number + @Field(() => Number, { nullable: true }) + gdtSum: number | null @Field(() => Number) count: number diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index d42f3b62e..4e40a35c2 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -331,7 +331,7 @@ export class TransactionResolver { ) // get gdt sum - transactions.gdtSum = 0 + transactions.gdtSum = null try { const resultGDTSum = await apiPost(`${CONFIG.GDT_API_URL}/GdtEntries/sumPerEmailApi`, { email: userEntity.email, From d9694b28d696184a45b882ea1c2c7d7335a54bb8 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 16 Feb 2022 09:07:38 +0100 Subject: [PATCH 3/7] show dash when gdt sum is null due to gdt server errors --- frontend/src/components/Status.vue | 2 +- frontend/src/views/Layout/DashboardLayout_gdd.vue | 2 +- frontend/src/views/Pages/UserProfileTransactionList.vue | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/Status.vue b/frontend/src/components/Status.vue index 7900763f7..92d00452d 100644 --- a/frontend/src/components/Status.vue +++ b/frontend/src/components/Status.vue @@ -1,7 +1,7 @@ diff --git a/frontend/src/views/Layout/DashboardLayout_gdd.vue b/frontend/src/views/Layout/DashboardLayout_gdd.vue index 5e566d3f8..000a4a08d 100755 --- a/frontend/src/views/Layout/DashboardLayout_gdd.vue +++ b/frontend/src/views/Layout/DashboardLayout_gdd.vue @@ -92,7 +92,7 @@ export default { const { data: { transactionList }, } = result - this.GdtBalance = Number(transactionList.gdtSum) + this.GdtBalance = transactionList.gdtSum === null ? null : Number(transactionList.gdtSum) this.transactions = transactionList.transactions this.balance = Number(transactionList.decay) this.bookedBalance = Number(transactionList.balance) diff --git a/frontend/src/views/Pages/UserProfileTransactionList.vue b/frontend/src/views/Pages/UserProfileTransactionList.vue index 97f0d84c1..383e908b6 100644 --- a/frontend/src/views/Pages/UserProfileTransactionList.vue +++ b/frontend/src/views/Pages/UserProfileTransactionList.vue @@ -1,7 +1,7 @@