/* https://open.shopee.com/documents?module=2&type=1&id=365 */ export function setStoreOrderStatusPackedByMarketplace() { return { method: 'post', path: '/order/pack', denormalize(req) { var { deliveryType: delivery_type, orderItemId: order_item_ids, shippingProvider: shipment_provider } = req var output = '[' + order_item_ids.join(',') + ']' return { delivery_type, order_item_ids: output, shipment_provider } }, normalize(res) { let results results = res.order_items .reduce((orderItem, curr) => { const isSimilar = orderItem.find( item => item.tracking_no === curr.tracking_no && item.shipment_provider === curr.shipment_provider ) if (!isSimilar) { return orderItem.concat([curr]) } else { return orderItem } }, []) .map(orderItem => { const { tracking_no: trackingNo, shipment_provider: shippingProvider } = orderItem return { trackingNo, shippingProvider } }) results = results[0] return results } } }