gradido/backend/src/util/calculateSenderBalance.ts
einhornimmond 987582c3ef Revert "use root biome config for backend, add useImportType rule"
This reverts commit bb8132791557fb9dcbf117ff7c3622a83e2e3730.
2025-04-30 09:29:09 +02:00

24 lines
707 B
TypeScript

import { Decimal } from 'decimal.js-light'
import { Decay } from '@model/Decay'
import { getLastTransaction } from '@/graphql/resolver/util/getLastTransaction'
import { calculateDecay } from './decay'
export async function calculateSenderBalance(
userId: number,
amount: Decimal,
time: Date,
): Promise<{ balance: Decimal; decay: Decay; lastTransactionId: number } | null> {
const lastTransaction = await getLastTransaction(userId)
if (!lastTransaction) {
return null
}
const decay = calculateDecay(lastTransaction.balance, lastTransaction.balanceDate, time)
const balance = decay.balance.add(amount.toString())
return { balance, lastTransactionId: lastTransaction.id, decay }
}