feat: filter ledger blank entries

This commit is contained in:
Ahmed Bouhuolia
2024-12-09 00:01:42 +02:00
parent 994c441bb8
commit b9963aa241
2 changed files with 11 additions and 7 deletions

View File

@@ -238,6 +238,7 @@ export default class Ledger implements ILedger {
return {
credit: defaultTo(entry.credit, 0),
debit: defaultTo(entry.debit, 0),
exchangeRate: entry.exchangeRate,
currencyCode: entry.currencyCode,

View File

@@ -9,10 +9,13 @@ import {
import HasTenancyService from '@/services/Tenancy/TenancyService';
import { transformLedgerEntryToTransaction } from './utils';
// Filter the blank entries.
const filterBlankEntry = (entry: ILedgerEntry) => Boolean(entry.credit || entry.debit);
@Service()
export class LedgerEntriesStorage {
@Inject()
tenancy: HasTenancyService;
private tenancy: HasTenancyService;
/**
* Saves entries of the given ledger.
* @param {number} tenantId
@@ -26,7 +29,7 @@ export class LedgerEntriesStorage {
trx?: Knex.Transaction
) => {
const saveEntryQueue = async.queue(this.saveEntryTask, 10);
const entries = ledger.getEntries();
const entries = ledger.filter(filterBlankEntry).getEntries();
entries.forEach((entry) => {
saveEntryQueue.push({ tenantId, entry, trx });