mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 23:00:34 +00:00
feat: filter ledger blank entries
This commit is contained in:
@@ -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,
|
||||||
|
|
||||||
|
|||||||
@@ -9,15 +9,18 @@ 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
|
||||||
* @param {ILedger} ledger
|
* @param {ILedger} ledger
|
||||||
* @param {Knex.Transaction} knex
|
* @param {Knex.Transaction} knex
|
||||||
* @returns {Promise<void>}
|
* @returns {Promise<void>}
|
||||||
*/
|
*/
|
||||||
public saveEntries = async (
|
public saveEntries = async (
|
||||||
@@ -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 });
|
||||||
@@ -57,8 +60,8 @@ export class LedgerEntriesStorage {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Saves the ledger entry to the account transactions repository.
|
* Saves the ledger entry to the account transactions repository.
|
||||||
* @param {number} tenantId
|
* @param {number} tenantId
|
||||||
* @param {ILedgerEntry} entry
|
* @param {ILedgerEntry} entry
|
||||||
* @returns {Promise<void>}
|
* @returns {Promise<void>}
|
||||||
*/
|
*/
|
||||||
private saveEntry = async (
|
private saveEntry = async (
|
||||||
|
|||||||
Reference in New Issue
Block a user