mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-19 22:30:31 +00:00
fix(server): add formatted values to responses transformers
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
import { Transformer } from '@/lib/Transformer/Transformer';
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
||||||
import { formatNumber } from 'utils';
|
import { formatNumber } from 'utils';
|
||||||
|
import { ItemEntryTransformer } from '../Sales/Invoices/ItemEntryTransformer';
|
||||||
|
import { ICreditNote } from '@/interfaces';
|
||||||
|
|
||||||
export class CreditNoteTransformer extends Transformer {
|
export class CreditNoteTransformer extends Transformer {
|
||||||
/**
|
/**
|
||||||
@@ -11,7 +13,8 @@ export class CreditNoteTransformer extends Transformer {
|
|||||||
'formattedCreditsRemaining',
|
'formattedCreditsRemaining',
|
||||||
'formattedCreditNoteDate',
|
'formattedCreditNoteDate',
|
||||||
'formattedAmount',
|
'formattedAmount',
|
||||||
'formattedCreditsUsed'
|
'formattedCreditsUsed',
|
||||||
|
'entries',
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -51,9 +54,20 @@ export class CreditNoteTransformer extends Transformer {
|
|||||||
* @param {ICreditNote} credit
|
* @param {ICreditNote} credit
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
protected formattedCreditsUsed = (credit) => {
|
protected formattedCreditsUsed = (credit) => {
|
||||||
return formatNumber(credit.creditsUsed, {
|
return formatNumber(credit.creditsUsed, {
|
||||||
currencyCode: credit.currencyCode,
|
currencyCode: credit.currencyCode,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the entries of the credit note.
|
||||||
|
* @param {ICreditNote} credit
|
||||||
|
* @returns {}
|
||||||
|
*/
|
||||||
|
protected entries = (credit) => {
|
||||||
|
return this.item(credit.entries, new ItemEntryTransformer(), {
|
||||||
|
currencyCode: credit.currencyCode,
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 });
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
import { IBillPayment } from '@/interfaces';
|
import { IBillPayment } from '@/interfaces';
|
||||||
import { Transformer } from '@/lib/Transformer/Transformer';
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
||||||
import { formatNumber } from 'utils';
|
import { formatNumber } from 'utils';
|
||||||
|
import { BillPaymentEntryTransformer } from './BillPaymentEntryTransformer';
|
||||||
|
|
||||||
export class BillPaymentTransformer extends Transformer {
|
export class BillPaymentTransformer extends Transformer {
|
||||||
/**
|
/**
|
||||||
@@ -8,7 +9,7 @@ export class BillPaymentTransformer extends Transformer {
|
|||||||
* @returns {Array}
|
* @returns {Array}
|
||||||
*/
|
*/
|
||||||
public includeAttributes = (): string[] => {
|
public includeAttributes = (): string[] => {
|
||||||
return ['formattedPaymentDate', 'formattedAmount'];
|
return ['formattedPaymentDate', 'formattedAmount', 'entries'];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -30,4 +31,11 @@ export class BillPaymentTransformer extends Transformer {
|
|||||||
currencyCode: billPayment.currencyCode,
|
currencyCode: billPayment.currencyCode,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retreives the bill payment entries.
|
||||||
|
*/
|
||||||
|
protected entries = (billPayment) => {
|
||||||
|
return this.item(billPayment.entries, new BillPaymentEntryTransformer());
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { IBill } from '@/interfaces';
|
import { IBill } from '@/interfaces';
|
||||||
import { Transformer } from '@/lib/Transformer/Transformer';
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
||||||
|
import { ItemEntryTransformer } from '@/services/Sales/Invoices/ItemEntryTransformer';
|
||||||
import { SaleInvoiceTaxEntryTransformer } from '@/services/Sales/Invoices/SaleInvoiceTaxEntryTransformer';
|
import { SaleInvoiceTaxEntryTransformer } from '@/services/Sales/Invoices/SaleInvoiceTaxEntryTransformer';
|
||||||
import { formatNumber } from 'utils';
|
import { formatNumber } from 'utils';
|
||||||
|
|
||||||
@@ -23,6 +24,7 @@ export class PurchaseInvoiceTransformer extends Transformer {
|
|||||||
'totalFormatted',
|
'totalFormatted',
|
||||||
'totalLocalFormatted',
|
'totalLocalFormatted',
|
||||||
'taxes',
|
'taxes',
|
||||||
|
'entries',
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -178,4 +180,15 @@ export class PurchaseInvoiceTransformer extends Transformer {
|
|||||||
currencyCode: bill.currencyCode,
|
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,
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
|
import { IVendorCredit } from '@/interfaces';
|
||||||
import { Transformer } from '@/lib/Transformer/Transformer';
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
||||||
|
import { ItemEntryTransformer } from '@/services/Sales/Invoices/ItemEntryTransformer';
|
||||||
import { formatNumber } from 'utils';
|
import { formatNumber } from 'utils';
|
||||||
|
|
||||||
export class VendorCreditTransformer extends Transformer {
|
export class VendorCreditTransformer extends Transformer {
|
||||||
@@ -8,9 +10,10 @@ export class VendorCreditTransformer extends Transformer {
|
|||||||
*/
|
*/
|
||||||
public includeAttributes = (): string[] => {
|
public includeAttributes = (): string[] => {
|
||||||
return [
|
return [
|
||||||
'formattedVendorCreditDate',
|
|
||||||
'formattedAmount',
|
'formattedAmount',
|
||||||
|
'formattedVendorCreditDate',
|
||||||
'formattedCreditsRemaining',
|
'formattedCreditsRemaining',
|
||||||
|
'entries',
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -44,4 +47,15 @@ export class VendorCreditTransformer extends Transformer {
|
|||||||
currencyCode: credit.currencyCode,
|
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,
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Service } from 'typedi';
|
|
||||||
import { ISaleEstimate } from '@/interfaces';
|
import { ISaleEstimate } from '@/interfaces';
|
||||||
import { Transformer } from '@/lib/Transformer/Transformer';
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
||||||
import { formatNumber } from 'utils';
|
import { formatNumber } from 'utils';
|
||||||
|
import { ItemEntryTransformer } from '../Invoices/ItemEntryTransformer';
|
||||||
|
|
||||||
export class SaleEstimateTransfromer extends Transformer {
|
export class SaleEstimateTransfromer extends Transformer {
|
||||||
/**
|
/**
|
||||||
@@ -16,6 +16,7 @@ export class SaleEstimateTransfromer extends Transformer {
|
|||||||
'formattedDeliveredAtDate',
|
'formattedDeliveredAtDate',
|
||||||
'formattedApprovedAtDate',
|
'formattedApprovedAtDate',
|
||||||
'formattedRejectedAtDate',
|
'formattedRejectedAtDate',
|
||||||
|
'entries',
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -74,4 +75,15 @@ export class SaleEstimateTransfromer extends Transformer {
|
|||||||
currencyCode: estimate.currencyCode,
|
currencyCode: estimate.currencyCode,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the entries of the sale estimate.
|
||||||
|
* @param {ISaleEstimate} estimate
|
||||||
|
* @returns {}
|
||||||
|
*/
|
||||||
|
protected entries = (estimate) => {
|
||||||
|
return this.item(estimate.entries, new ItemEntryTransformer(), {
|
||||||
|
currencyCode: estimate.currencyCode,
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
import { IItemEntry } from '@/interfaces';
|
||||||
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
||||||
|
import { formatNumber } from '@/utils';
|
||||||
|
|
||||||
|
export class ItemEntryTransformer extends Transformer {
|
||||||
|
/**
|
||||||
|
* Include these attributes to item entry object.
|
||||||
|
* @returns {Array}
|
||||||
|
*/
|
||||||
|
public includeAttributes = (): string[] => {
|
||||||
|
return ['rateFormatted', 'totalFormatted'];
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the formatted rate of item entry.
|
||||||
|
* @param {IItemEntry} itemEntry -
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
protected rateFormatted = (entry: IItemEntry): string => {
|
||||||
|
return formatNumber(entry.rate, {
|
||||||
|
currencyCode: this.context.currencyCode,
|
||||||
|
money: false,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the formatted total of item entry.
|
||||||
|
* @param {IItemEntry} entry
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
protected totalFormatted = (entry: IItemEntry): string => {
|
||||||
|
return formatNumber(entry.total, {
|
||||||
|
currencyCode: this.context.currencyCode,
|
||||||
|
money: false,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
import { Transformer } from '@/lib/Transformer/Transformer';
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
||||||
import { formatNumber } from 'utils';
|
import { formatNumber } from 'utils';
|
||||||
import { SaleInvoiceTaxEntryTransformer } from './SaleInvoiceTaxEntryTransformer';
|
import { SaleInvoiceTaxEntryTransformer } from './SaleInvoiceTaxEntryTransformer';
|
||||||
|
import { ItemEntryTransformer } from './ItemEntryTransformer';
|
||||||
|
|
||||||
export class SaleInvoiceTransformer extends Transformer {
|
export class SaleInvoiceTransformer extends Transformer {
|
||||||
/**
|
/**
|
||||||
@@ -23,6 +24,7 @@ export class SaleInvoiceTransformer extends Transformer {
|
|||||||
'totalFormatted',
|
'totalFormatted',
|
||||||
'totalLocalFormatted',
|
'totalLocalFormatted',
|
||||||
'taxes',
|
'taxes',
|
||||||
|
'entries',
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -95,6 +97,7 @@ export class SaleInvoiceTransformer extends Transformer {
|
|||||||
protected subtotalFormatted = (invoice): string => {
|
protected subtotalFormatted = (invoice): string => {
|
||||||
return formatNumber(invoice.subtotal, {
|
return formatNumber(invoice.subtotal, {
|
||||||
currencyCode: this.context.organization.baseCurrency,
|
currencyCode: this.context.organization.baseCurrency,
|
||||||
|
money: false,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -176,4 +179,15 @@ export class SaleInvoiceTransformer extends Transformer {
|
|||||||
currencyCode: invoice.currencyCode,
|
currencyCode: invoice.currencyCode,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the entries of the sale invoice.
|
||||||
|
* @param {ISaleInvoice} invoice
|
||||||
|
* @returns {}
|
||||||
|
*/
|
||||||
|
protected entries = (invoice) => {
|
||||||
|
return this.item(invoice.entries, new ItemEntryTransformer(), {
|
||||||
|
currencyCode: invoice.currencyCode,
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import HasTenancyService from '@/services/Tenancy/TenancyService';
|
|
||||||
import { Inject, Service } from 'typedi';
|
import { Inject, Service } from 'typedi';
|
||||||
|
import HasTenancyService from '@/services/Tenancy/TenancyService';
|
||||||
import { PaymentReceiveValidators } from './PaymentReceiveValidators';
|
import { PaymentReceiveValidators } from './PaymentReceiveValidators';
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
||||||
|
import { SaleInvoiceTransformer } from '../Invoices/SaleInvoiceTransformer';
|
||||||
|
import { formatNumber } from '@/utils';
|
||||||
|
|
||||||
|
export class PaymentReceiveEntryTransfromer extends Transformer {
|
||||||
|
/**
|
||||||
|
* Include these attributes to payment receive entry object.
|
||||||
|
* @returns {Array}
|
||||||
|
*/
|
||||||
|
public includeAttributes = (): string[] => {
|
||||||
|
return ['paymentAmountFormatted', 'entry'];
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retreives the payment amount formatted.
|
||||||
|
* @param entry
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
protected paymentAmountFormatted(entry) {
|
||||||
|
return formatNumber(entry.paymentAmount, { money: false });
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retreives the transformed invoice.
|
||||||
|
*/
|
||||||
|
protected invoice(entry) {
|
||||||
|
return this.item(entry.invoice, new SaleInvoiceTransformer());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ import { IPaymentReceive, IPaymentReceiveEntry } from '@/interfaces';
|
|||||||
import { Transformer } from '@/lib/Transformer/Transformer';
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
||||||
import { formatNumber } from 'utils';
|
import { formatNumber } from 'utils';
|
||||||
import { SaleInvoiceTransformer } from '../Invoices/SaleInvoiceTransformer';
|
import { SaleInvoiceTransformer } from '../Invoices/SaleInvoiceTransformer';
|
||||||
|
import { PaymentReceiveEntryTransfromer } from './PaymentReceiveEntryTransformer';
|
||||||
|
|
||||||
export class PaymentReceiveTransfromer extends Transformer {
|
export class PaymentReceiveTransfromer extends Transformer {
|
||||||
/**
|
/**
|
||||||
@@ -45,14 +46,11 @@ export class PaymentReceiveTransfromer extends Transformer {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the
|
* Retrieves the payment entries.
|
||||||
* @param {IPaymentReceive} payment
|
* @param {IPaymentReceive} payment
|
||||||
* @returns {IPaymentReceiveEntry[]}
|
* @returns {IPaymentReceiveEntry[]}
|
||||||
*/
|
*/
|
||||||
protected entries = (payment: IPaymentReceive): IPaymentReceiveEntry[] => {
|
protected entries = (payment: IPaymentReceive): IPaymentReceiveEntry[] => {
|
||||||
return payment?.entries?.map((entry) => ({
|
return this.item(payment.entries, new PaymentReceiveEntryTransfromer());
|
||||||
...entry,
|
|
||||||
invoice: this.item(entry.invoice, new SaleInvoiceTransformer()),
|
|
||||||
}));
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { Service } from 'typedi';
|
|||||||
import { ISaleReceipt } from '@/interfaces';
|
import { ISaleReceipt } from '@/interfaces';
|
||||||
import { Transformer } from '@/lib/Transformer/Transformer';
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
||||||
import { formatNumber } from 'utils';
|
import { formatNumber } from 'utils';
|
||||||
|
import { ItemEntryTransformer } from '../Invoices/ItemEntryTransformer';
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
export class SaleReceiptTransformer extends Transformer {
|
export class SaleReceiptTransformer extends Transformer {
|
||||||
@@ -10,7 +11,12 @@ export class SaleReceiptTransformer extends Transformer {
|
|||||||
* @returns {Array}
|
* @returns {Array}
|
||||||
*/
|
*/
|
||||||
public includeAttributes = (): string[] => {
|
public includeAttributes = (): string[] => {
|
||||||
return ['formattedAmount', 'formattedReceiptDate', 'formattedClosedAtDate'];
|
return [
|
||||||
|
'formattedAmount',
|
||||||
|
'formattedReceiptDate',
|
||||||
|
'formattedClosedAtDate',
|
||||||
|
'entries',
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -41,4 +47,15 @@ export class SaleReceiptTransformer extends Transformer {
|
|||||||
currencyCode: receipt.currencyCode,
|
currencyCode: receipt.currencyCode,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the entries of the credit note.
|
||||||
|
* @param {ISaleReceipt} credit
|
||||||
|
* @returns {}
|
||||||
|
*/
|
||||||
|
protected entries = (receipt) => {
|
||||||
|
return this.item(receipt.entries, new ItemEntryTransformer(), {
|
||||||
|
currencyCode: receipt.currencyCode,
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user