feat(backend): previuos balance in transaction

This commit is contained in:
Moriz Wahl 2023-04-03 12:54:11 +02:00
parent f617c8d766
commit 60ccdc5beb
2 changed files with 13 additions and 3 deletions

View File

@ -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

View File

@ -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}`)