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 { return {
credit: defaultTo(entry.credit, 0), credit: defaultTo(entry.credit, 0),
debit: defaultTo(entry.debit, 0), debit: defaultTo(entry.debit, 0),
exchangeRate: entry.exchangeRate, exchangeRate: entry.exchangeRate,
currencyCode: entry.currencyCode, currencyCode: entry.currencyCode,

View File

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