fix(server): add formatted values to responses transformers

This commit is contained in:
Ahmed Bouhuolia
2023-12-04 08:21:06 +02:00
parent 0f39cfb3af
commit fb70c94465
12 changed files with 189 additions and 13 deletions

View File

@@ -0,0 +1,20 @@
import { Transformer } from '@/lib/Transformer/Transformer';
import { formatNumber } from '@/utils';
export class BillPaymentEntryTransformer extends Transformer {
/**
* Include these attributes to bill payment object.
* @returns {Array}
*/
public includeAttributes = (): string[] => {
return ['paymentAmountFormatted'];
};
/**
* Retreives the payment amount formatted.
* @returns {string}
*/
protected paymentAmountFormatted(entry) {
return formatNumber(entry.paymentAmount, { money: false });
}
}

View File

@@ -1,6 +1,7 @@
import { IBillPayment } from '@/interfaces';
import { Transformer } from '@/lib/Transformer/Transformer';
import { formatNumber } from 'utils';
import { BillPaymentEntryTransformer } from './BillPaymentEntryTransformer';
export class BillPaymentTransformer extends Transformer {
/**
@@ -8,7 +9,7 @@ export class BillPaymentTransformer extends Transformer {
* @returns {Array}
*/
public includeAttributes = (): string[] => {
return ['formattedPaymentDate', 'formattedAmount'];
return ['formattedPaymentDate', 'formattedAmount', 'entries'];
};
/**
@@ -30,4 +31,11 @@ export class BillPaymentTransformer extends Transformer {
currencyCode: billPayment.currencyCode,
});
};
/**
* Retreives the bill payment entries.
*/
protected entries = (billPayment) => {
return this.item(billPayment.entries, new BillPaymentEntryTransformer());
};
}

View File

@@ -1,5 +1,6 @@
import { IBill } from '@/interfaces';
import { Transformer } from '@/lib/Transformer/Transformer';
import { ItemEntryTransformer } from '@/services/Sales/Invoices/ItemEntryTransformer';
import { SaleInvoiceTaxEntryTransformer } from '@/services/Sales/Invoices/SaleInvoiceTaxEntryTransformer';
import { formatNumber } from 'utils';
@@ -23,6 +24,7 @@ export class PurchaseInvoiceTransformer extends Transformer {
'totalFormatted',
'totalLocalFormatted',
'taxes',
'entries',
];
};
@@ -178,4 +180,15 @@ export class PurchaseInvoiceTransformer extends Transformer {
currencyCode: bill.currencyCode,
});
};
/**
* Retrieves the entries of the bill.
* @param {Bill} credit
* @returns {}
*/
protected entries = (bill) => {
return this.item(bill.entries, new ItemEntryTransformer(), {
currencyCode: bill.currencyCode,
});
};
}

View File

@@ -1,4 +1,6 @@
import { IVendorCredit } from '@/interfaces';
import { Transformer } from '@/lib/Transformer/Transformer';
import { ItemEntryTransformer } from '@/services/Sales/Invoices/ItemEntryTransformer';
import { formatNumber } from 'utils';
export class VendorCreditTransformer extends Transformer {
@@ -8,9 +10,10 @@ export class VendorCreditTransformer extends Transformer {
*/
public includeAttributes = (): string[] => {
return [
'formattedVendorCreditDate',
'formattedAmount',
'formattedVendorCreditDate',
'formattedCreditsRemaining',
'entries',
];
};
@@ -44,4 +47,15 @@ export class VendorCreditTransformer extends Transformer {
currencyCode: credit.currencyCode,
});
};
/**
* Retrieves the entries of the bill.
* @param {IVendorCredit} vendorCredit
* @returns {}
*/
protected entries = (vendorCredit) => {
return this.item(vendorCredit.entries, new ItemEntryTransformer(), {
currencyCode: vendorCredit.currencyCode,
});
};
}