feat: transfer money to child

This commit is contained in:
Abdalhameed Ahmad
2025-09-07 20:14:28 +03:00
parent 44b5937f7a
commit 9b0e1791da
10 changed files with 128 additions and 5 deletions

View File

@ -1,4 +1,4 @@
import { Injectable, UnprocessableEntityException } from '@nestjs/common';
import { forwardRef, Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';
import Decimal from 'decimal.js';
import { Transactional } from 'typeorm-transactional';
import {
@ -15,7 +15,7 @@ export class TransactionService {
constructor(
private readonly transactionRepository: TransactionRepository,
private readonly accountService: AccountService,
private readonly cardService: CardService,
@Inject(forwardRef(() => CardService)) private readonly cardService: CardService,
) {}
@Transactional()
@ -51,6 +51,12 @@ export class TransactionService {
return transaction;
}
async createInternalChildTransaction(cardId: string, amount: number) {
const card = await this.cardService.getCardById(cardId);
const transaction = await this.transactionRepository.createInternalChildTransaction(card, amount);
return transaction;
}
private async findExistingTransaction(transactionId: string, accountReference: string): Promise<Transaction | null> {
const existingTransaction = await this.transactionRepository.findTransactionByReference(
transactionId,