diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index 4fcda3a15..4d546ddc0 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -7,7 +7,7 @@ import { Transaction as dbTransaction } from '@entity/Transaction' import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink' import { User as dbUser } from '@entity/User' import { Decimal } from 'decimal.js-light' -import { Resolver, Query, Args, Authorized, Ctx, Mutation, UseMiddleware } from 'type-graphql' +import { Resolver, Query, Args, Authorized, Ctx, Mutation } from 'type-graphql' import Paginated from '@arg/Paginated' import TransactionSendArgs from '@arg/TransactionSendArgs' @@ -25,7 +25,6 @@ import { sendTransactionReceivedEmail, } from '@/emails/sendEmailVariants' import { EVENT_TRANSACTION_RECEIVE, EVENT_TRANSACTION_SEND } from '@/event/Event' -import { fixDecayCalculation } from '@/middleware/fixDecayCalculation' import { Context, getUser } from '@/server/context' import LogError from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' @@ -184,7 +183,6 @@ export const executeTransaction = async ( export class TransactionResolver { @Authorized([RIGHTS.TRANSACTION_LIST]) @Query(() => TransactionList) - @UseMiddleware(fixDecayCalculation) async transactionList( @Args() { currentPage = 1, pageSize = 25, order = Order.DESC }: Paginated, @@ -294,6 +292,15 @@ export class TransactionResolver { }) logger.debug(`TransactionTypeId.CREATION: transactions=${transactions}`) + transactions.forEach((transaction: Transaction) => { + if (transaction.typeId !== TransactionTypeId.DECAY) { + const { balance, previousBalance, amount } = transaction + transaction.decay.decay = new Decimal( + Number(balance) - Number(amount) - Number(previousBalance), + ).toDecimalPlaces(2, Decimal.ROUND_HALF_UP) + } + }) + // Construct Result return new TransactionList(await balanceResolver.balance(context), transactions) } diff --git a/backend/src/middleware/fixDecayCalculation.ts b/backend/src/middleware/fixDecayCalculation.ts deleted file mode 100644 index 7d25b7484..000000000 --- a/backend/src/middleware/fixDecayCalculation.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Decimal } from 'decimal.js-light' -import { MiddlewareFn } from 'type-graphql' - -import { TransactionTypeId } from '@enum/TransactionTypeId' -import { Transaction } from '@model/Transaction' -import { TransactionList } from '@model/TransactionList' - -export const fixDecayCalculation: MiddlewareFn = async ( - /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ - { root, args, context, info }, - next, -) => { - const result: TransactionList = (await next()) as TransactionList - const { transactions } = result - transactions.forEach((transaction: Transaction) => { - if (transaction.typeId !== TransactionTypeId.DECAY) { - const { balance, previousBalance, amount } = transaction - transaction.decay.decay = new Decimal( - Number(balance) - Number(amount) - Number(previousBalance), - ).toDecimalPlaces(2, Decimal.ROUND_HALF_UP) - } - }) - return result -}