Files
bigcapital/packages/server/src/services/Purchases/BillPayments/BillPaymentTransactionTransformer.ts

62 lines
1.6 KiB
TypeScript

import { Transformer } from '@/lib/Transformer/Transformer';
import { formatNumber } from 'utils';
export class BillPaymentTransactionTransformer extends Transformer {
/**
* Include these attributes to sale credit note object.
* @returns {Array}
*/
public includeAttributes = (): string[] => {
return ['formattedPaymentAmount', 'formattedPaymentDate'];
};
/**
* Retrieve formatted bill payment amount.
* @param {ICreditNote} credit
* @returns {string}
*/
protected formattedPaymentAmount = (entry): string => {
return formatNumber(entry.paymentAmount, {
currencyCode: entry.payment.currencyCode,
});
};
/**
* Retrieve formatted bill payment date.
* @param entry
* @returns {string}
*/
protected formattedPaymentDate = (entry): string => {
return this.formatDate(entry.payment.paymentDate);
};
/**
*
* @param entry
* @returns
*/
public transform = (entry) => {
return {
billId: entry.billId,
billPaymentId: entry.billPaymentId,
paymentDate: entry.payment.paymentDate,
formattedPaymentDate: entry.formattedPaymentDate,
paymentAmount: entry.paymentAmount,
formattedPaymentAmount: entry.formattedPaymentAmount,
currencyCode: entry.payment.currencyCode,
paymentNumber: entry.payment.paymentNumber,
paymentReferenceNo: entry.payment.reference,
billNumber: entry.bill.billNumber,
billReferenceNo: entry.bill.referenceNo,
paymentAccountId: entry.payment.paymentAccountId,
paymentAccountName: entry.payment.paymentAccount.name,
paymentAccountSlug: entry.payment.paymentAccount.slug,
};
};
}