expose payment label and multi-crypto amounts in admin order invoice view.
This commit is contained in:
@@ -8,7 +8,9 @@ import { formatInvoicePaymentConfirmationStatus } from '../../../utils/invoice/f
|
||||
import { resolveInvoiceStatusMessage } from '../../../utils/invoice/resolveInvoiceStatusMessage';
|
||||
import { resolveInvoiceRequiredConfirmations } from '../../../utils/invoice/resolveInvoiceRequiredConfirmations';
|
||||
import type { InvoiceState } from '../../../utils/invoice/types/InvoiceState';
|
||||
import { convertXmrAtomicToXmr } from '../../../utils/monero/convertXmrAtomicToXmr';
|
||||
import type { CryptoAtomicConverter } from '../../../types/CryptoAtomicConverter';
|
||||
import { paymentMethodLabel } from '../../../consts/paymentMethodLabel';
|
||||
import { resolveAtomicToCryptoConverter } from '../../../utils/payment/resolveAtomicToCryptoConverter';
|
||||
import type { Invoice } from '../../payment/entities/Invoice';
|
||||
import type { InvoicePayment } from '../../payment/entities/InvoicePayment';
|
||||
import type { InvoiceExtended } from '../../payment/types/InvoiceExtended';
|
||||
@@ -182,24 +184,31 @@ export class OrderService {
|
||||
|
||||
const statusLabel = invoiceState ? resolveInvoiceStatusMessage(invoiceState) : null;
|
||||
|
||||
const expectedTotalCrypto = convertXmrAtomicToXmr(invoice.expectedTotalAtomic);
|
||||
const convertAtomicToCrypto = resolveAtomicToCryptoConverter(invoice.paymentMethod);
|
||||
|
||||
const expectedTotalCrypto = convertAtomicToCrypto(invoice.expectedTotalAtomic);
|
||||
|
||||
const payments = (invoice.payments ?? []).map(payment =>
|
||||
this.toInvoicePaymentExtended(payment, requiredConfirmations)
|
||||
this.toInvoicePaymentExtended(payment, requiredConfirmations, convertAtomicToCrypto)
|
||||
);
|
||||
|
||||
return {
|
||||
...invoice,
|
||||
statusLabel,
|
||||
paymentLabel: paymentMethodLabel[invoice.paymentMethod],
|
||||
expectedTotalCrypto,
|
||||
payments
|
||||
};
|
||||
}
|
||||
|
||||
private toInvoicePaymentExtended(payment: InvoicePayment, requiredConfirmations: number): InvoicePaymentExtended {
|
||||
private toInvoicePaymentExtended(
|
||||
payment: InvoicePayment,
|
||||
requiredConfirmations: number,
|
||||
convertAtomicToCrypto: CryptoAtomicConverter
|
||||
): InvoicePaymentExtended {
|
||||
const isConfirmed = payment.confirmations >= requiredConfirmations;
|
||||
|
||||
const amountCrypto = convertXmrAtomicToXmr(payment.amountAtomic);
|
||||
const amountCrypto = convertAtomicToCrypto(payment.amountAtomic);
|
||||
|
||||
const confirmationsLabel = formatInvoicePaymentConfirmationStatus({
|
||||
confirmations: payment.confirmations,
|
||||
|
||||
Reference in New Issue
Block a user