/* https://open.lazada.com/doc/api.htm?spm=a2o9m.11193494.0.0.1805266b7Xrdkj#/api?cid=8&path=/orders/get */ export function getStoreOrderItems() { return { method: 'get', path: '/order/items/get', denormalize(req) { var { orderId, orderNo } = req return { order_id: orderId } }, normalize(res) { let results = res .reduce((newItem, item) => { var idxFoundItem = newItem.findIndex(newItem => newItem.shop_sku === item.shop_sku && newItem.sku === item.sku) if (idxFoundItem < 0) { let data = { order_item_id: item.order_item_id, order_id: item.order_id, shop_sku: item.shop_sku, sku: item.sku, package_id: item.package_id, cancel_return_initiator: item.cancel_return_initiator, reason: item.reason, qty: 1, shipment_provider: item.shipment_provider, tracking_code: item.tracking_code, status: item.status } newItem.push(data) } else { let existingItem = newItem[idxFoundItem] newItem[idxFoundItem] = { ...existingItem, order_item_id: existingItem.order_item_id + ',' + item.order_item_id, qty: existingItem.qty + 1, tracing_code: item.tracking_code ? existingItem.tracking_code + ',' + item.tracking_code : existingItem.tracking_code } } return newItem }, []) .map(orderItem => { const { order_item_id: name, doc_ref_no: docRefNo, order_id: orderNo, package_id: packageId, shop_sku: variationId, sku: sellerSku, qty, cancel_return_initiator: cancelBy, reason, shipment_provider: shippingProvider, tracking_code, status } = orderItem var trackingNo = tracking_code === '' ? null : tracking_code return { name, variationId, qty, orderNo, packageId, cancelBy, reason, shippingProvider, trackingNo, status } }) return results } } }