Files
bigcapital/packages/server/src/services/FinancialStatements/TransactionsByVendor/TransactionsByVendorMeta.ts
2024-02-25 13:20:34 +02:00

39 lines
1.1 KiB
TypeScript

import moment from 'moment';
import { Inject, Service } from 'typedi';
import { FinancialSheetMeta } from '../FinancialSheetMeta';
import {
ITransactionsByVendorMeta,
ITransactionsByVendorsFilter,
} from '@/interfaces';
@Service()
export class TransactionsByVendorMeta {
@Inject()
private financialSheetMeta: FinancialSheetMeta;
/**
* Retrieves the transactions by vendor meta.
* @param {number} tenantId -
* @returns {Promise<ITransactionsByVendorMeta>}
*/
public async meta(
tenantId: number,
query: ITransactionsByVendorsFilter
): Promise<ITransactionsByVendorMeta> {
const commonMeta = await this.financialSheetMeta.meta(tenantId);
const formattedToDate = moment(query.toDate).format('YYYY/MM/DD');
const formattedFromDate = moment(query.fromDate).format('YYYY/MM/DD');
const formattedDateRange = `From ${formattedFromDate} | To ${formattedToDate}`;
const sheetName = 'Transactions By Vendor';
return {
...commonMeta,
sheetName,
formattedFromDate,
formattedToDate,
formattedDateRange,
};
}
}