Files
bigcapital/temp/BalanceSheet/BalanceSheetTableInjectable.ts
2025-01-18 22:32:45 +02:00

36 lines
1.0 KiB
TypeScript

import { Injectable } from '@nestjs/common';
import { I18nService } from 'nestjs-i18n';
import { BalanceSheetInjectable } from './BalanceSheetInjectable';
import { BalanceSheetTable } from './BalanceSheetTable';
import { IBalanceSheetQuery, IBalanceSheetTable } from './BalanceSheet.types';
@Injectable()
export class BalanceSheetTableInjectable {
constructor(
private readonly balanceSheetService: BalanceSheetInjectable,
private readonly i18nService: I18nService,
) {}
/**
* Retrieves the balance sheet in table format.
* @param {number} tenantId
* @param {number} query
* @returns {Promise<IBalanceSheetTable>}
*/
public async table(filter: IBalanceSheetQuery): Promise<IBalanceSheetTable> {
const { data, query, meta } =
await this.balanceSheetService.balanceSheet(filter);
const table = new BalanceSheetTable(data, query, this.i18nService);
return {
table: {
columns: table.tableColumns(),
rows: table.tableRows(),
},
query,
meta,
};
}
}