From 60ccdc5beb194ae771ae7606562b60de74aced6d Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 3 Apr 2023 12:54:11 +0200 Subject: [PATCH] feat(backend): previuos balance in transaction --- backend/src/graphql/model/Transaction.ts | 11 ++++++++++- backend/src/graphql/resolver/TransactionResolver.ts | 5 +++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/backend/src/graphql/model/Transaction.ts b/backend/src/graphql/model/Transaction.ts index 1b857391b..dc20a5c83 100644 --- a/backend/src/graphql/model/Transaction.ts +++ b/backend/src/graphql/model/Transaction.ts @@ -9,7 +9,12 @@ import { User } from './User' @ObjectType() export class Transaction { - constructor(transaction: dbTransaction, user: User, linkedUser: User | null = null) { + constructor( + transaction: dbTransaction, + user: User, + linkedUser: User | null = null, + previuosBalance: Decimal = new Decimal(0), + ) { this.id = transaction.id this.user = user this.previous = transaction.previous @@ -47,6 +52,7 @@ export class Transaction { this.linkId = transaction.contribution ? transaction.contribution.contributionLinkId : transaction.transactionLinkId || null + this.previousBalance = previuosBalance } @Field(() => Int) @@ -70,6 +76,9 @@ export class Transaction { @Field(() => Date) balanceDate: Date + @Field(() => Decimal) + previousBalance: Decimal + @Field(() => Decay) decay: Decay diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index 430cdb363..8c51c6681 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -283,12 +283,13 @@ export class TransactionResolver { } // transactions - userTransactions.forEach((userTransaction) => { + userTransactions.forEach((userTransaction, idx) => { const linkedUser = userTransaction.typeId === TransactionTypeId.CREATION ? communityUser : involvedUsers.find((u) => u.id === userTransaction.linkedUserId) - transactions.push(new Transaction(userTransaction, self, linkedUser)) + const previousBalance = idx ? userTransactions[idx - 1].balance : new Decimal(0) + transactions.push(new Transaction(userTransaction, self, linkedUser, previousBalance)) }) logger.debug(`TransactionTypeId.CREATION: transactions=${transactions}`)