47 lines
1.8 KiB
JavaScript
47 lines
1.8 KiB
JavaScript
import moment from 'moment';
|
|
|
|
function formatDate(date) {
|
|
return date ? moment(date).format("Do MMM, YYYY") : undefined;
|
|
}
|
|
|
|
function formatAddress(addressObject) {
|
|
return `${addressObject.address_1}, ${addressObject.city}, ${addressObject.country}, ${addressObject.postcode}`;
|
|
}
|
|
|
|
export const fromWCOrder = (WCOrder) => {
|
|
return {
|
|
id: WCOrder.id,
|
|
number: WCOrder.number,
|
|
isMyOrder: WCOrder['is_my_order'],
|
|
dateCreated: formatDate(WCOrder['date_created']),
|
|
dateCompleted: formatDate(WCOrder['date_completed']),
|
|
estimatedDeliveryDate: undefined,
|
|
reference: 'reference field',
|
|
assignedTo: 'assigned to',
|
|
fixedPrice: WCOrder.total,
|
|
recurringPrice: 0,
|
|
status: WCOrder.status,
|
|
currency: WCOrder.currency,
|
|
packages: WCOrder['line_items'].map(packageLine => {
|
|
return {
|
|
id: packageLine['product_id'],
|
|
name: packageLine.name,
|
|
quantity: packageLine.quantity,
|
|
price: packageLine.price,
|
|
status: packageLine.status,
|
|
paymentType: packageLine['payment_type'],
|
|
servicePrice: packageLine['service_price'],
|
|
serviceContractPeriod: packageLine['service_contract_period'],
|
|
maxContractPeriod: packageLine['max_contract_period'],
|
|
periodUnit: packageLine['period_unit'],
|
|
recurringPrice: packageLine['recurring_price'],
|
|
payPeriod: packageLine['pay_period'],
|
|
shortDesc: packageLine['short_desc'],
|
|
dateCompleted: formatDate(packageLine['date_completed']),
|
|
};
|
|
}),
|
|
deliveryAddress: formatAddress(WCOrder.shipping),
|
|
customer: WCOrder.customer,
|
|
commercialLead: WCOrder['commercial_lead']
|
|
}
|
|
}; |