diff --git a/backend/src/graphql/resolver/BalanceResolver.ts b/backend/src/graphql/resolver/BalanceResolver.ts index 6f303ea2f..5ee47f7d1 100644 --- a/backend/src/graphql/resolver/BalanceResolver.ts +++ b/backend/src/graphql/resolver/BalanceResolver.ts @@ -8,6 +8,7 @@ import { Resolver, Query, Ctx, Authorized } from 'type-graphql' import { Balance } from '@model/Balance' import { RIGHTS } from '@/auth/RIGHTS' +import { BalanceLoggingView } from '@/logging/BalanceLogging.view' import { DecayLoggingView } from '@/logging/DecayLogging.view' import { Context, getUser } from '@/server/context' import { backendLogger as logger } from '@/server/logger' @@ -16,7 +17,6 @@ import { calculateDecay } from '@/util/decay' import { GdtResolver } from './GdtResolver' import { getLastTransaction } from './util/getLastTransaction' import { transactionLinkSummary } from './util/transactionLinkSummary' -import { BalanceLoggingView } from '@/logging/BalanceLogging.view' @Resolver() export class BalanceResolver { @@ -29,9 +29,12 @@ export class BalanceResolver { logger.addContext('user', user.id) logger.info(`balance(userId=${user.id})...`) - if(!context.balanceGDT) { + let balanceGDT + if (!context.balanceGDT) { const gdtResolver = new GdtResolver() - context.balanceGDT = await gdtResolver.gdtBalance(context) + balanceGDT = await gdtResolver.gdtBalance(context) + } else { + balanceGDT = context.balanceGDT } logger.info(`time for load gdt balance: ${new Date().getTime() - now.getTime()} ms`) @@ -57,7 +60,7 @@ export class BalanceResolver { logger.info(`no balance found, return Default-Balance!`) return new Balance({ balance: new Decimal(0), - balanceGDT: context.balanceGDT, + balanceGDT, count: 0, linkCount: 0, }) diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index eba5102e2..0bbe0b331 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -38,6 +38,7 @@ import { calculateBalance } from '@/util/validate' import { virtualLinkTransaction, virtualDecayTransaction } from '@/util/virtualTransactions' import { BalanceResolver } from './BalanceResolver' +import { GdtResolver } from './GdtResolver' import { getCommunityByIdentifier, getCommunityName, isHomeCommunity } from './util/communities' import { findUserByIdentifier } from './util/findUserByIdentifier' import { getLastTransaction } from './util/getLastTransaction' @@ -49,7 +50,6 @@ import { import { sendTransactionsToDltConnector } from './util/sendTransactionsToDltConnector' import { storeForeignUser } from './util/storeForeignUser' import { transactionLinkSummary } from './util/transactionLinkSummary' -import { GdtResolver } from './GdtResolver' export const executeTransaction = async ( amount: Decimal, @@ -448,7 +448,7 @@ export class TransactionResolver { profilingTime = new Date() const balanceGDT = await balanceGDTPromise context.balanceGDT = balanceGDT - + // Construct Result return new TransactionList(await balanceResolver.balance(context), transactions) } diff --git a/backend/src/logging/BalanceLogging.view.ts b/backend/src/logging/BalanceLogging.view.ts index 5d20745d9..0fa73baf1 100644 --- a/backend/src/logging/BalanceLogging.view.ts +++ b/backend/src/logging/BalanceLogging.view.ts @@ -1,6 +1,7 @@ -import { Balance } from '@/graphql/model/Balance' import { AbstractLoggingView } from '@logging/AbstractLogging.view' +import { Balance } from '@/graphql/model/Balance' + export class BalanceLoggingView extends AbstractLoggingView { public constructor(private self: Balance) { super()