/* https://open.lazada.com/doc/api.htm?spm=a2o9m.11193494.0.0.1805266b7Xrdkj#/api?cid=8&path=/orders/get */ import { StoreAPI } from '../../store-api' export function getStoreOrders() { return { method: 'get', path: '/orders/get', denormalize(req) { var { pagination = { page, limit }, fromDate, toDate } = req || {} var { page, limit } = pagination || { page: 0, limit: 100 } var created_before = new Date(toDate).toISOString() var created_after = new Date(fromDate).toISOString() return { offset: page * limit, limit, created_before, created_after } }, async normalize(res, { store }) { var { orders } = res let results = await Promise.all( orders.map(async order => { const { order_id, order_number: orderNo, items_count: itemCount, price: totalAmount, statuses, address_shipping, created_at, updated_at } = order var orderCreatedAt = new Date(created_at).toUTCString() var orderUpdatedAt = new Date(updated_at).toUTCString() var recipientAddress = JSON.stringify(address_shipping) var status = statuses[0] var orderId = order_id var name = order_id.toString() let orderItems = await StoreAPI.getStoreOrderItems(store, { orderId }) // get only 1 tracking no let trackingNo = orderItems[0].trackingNo // get only 1 shipping provider let shippingProvider = orderItems[0].shippingProvider return { name, orderNo, status, orderCreatedAt, orderUpdatedAt, totalAmount, trackingNo, recipientAddress, shippingProvider, itemCount, orderItems } }) ) return results } } }