fix: validate card spending limit before transfering to child

This commit is contained in:
Abdalhameed Ahmad
2025-09-07 21:18:49 +03:00
parent d768da70f2
commit 15a48e4884
10 changed files with 75 additions and 2 deletions

View File

@ -5,6 +5,7 @@ import {
AccountTransactionWebhookRequest,
CardTransactionWebhookRequest,
} from '~/common/modules/neoleap/dtos/requests';
import { Account } from '../entities/account.entity';
import { Transaction } from '../entities/transaction.entity';
import { TransactionRepository } from '../repositories/transaction.repository';
import { AccountService } from './account.service';
@ -57,6 +58,11 @@ export class TransactionService {
return transaction;
}
async calculateAvailableSpendingLimitForParent(account: Account): Promise<number> {
const internalTransactionSum = await this.transactionRepository.findInternalTransactionTotal(account.id);
return new Decimal(account.balance).minus(internalTransactionSum).toNumber();
}
private async findExistingTransaction(transactionId: string, accountReference: string): Promise<Transaction | null> {
const existingTransaction = await this.transactionRepository.findTransactionByReference(
transactionId,