feat(medusa): Swaps on swaps (#229)

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
This commit is contained in:
Oliver Windall Juhl
2021-04-20 10:55:15 +02:00
committed by GitHub
parent 2f3e3fde80
commit f8f1f57fa1
29 changed files with 1578 additions and 3276 deletions

View File

@@ -18,9 +18,7 @@ class OrderSubscriber {
this.fulfillmentService_ = fulfillmentService
// Swaps
// order.swap_received <--- Will be deprecated
// Swaps
// swap.created
// swap.received
// swap.shipment_created
@@ -28,7 +26,6 @@ class OrderSubscriber {
// swap.payment_captured
// swap.refund_processed
eventBusService.subscribe(
"order.shipment_created",
async ({ id, fulfillment_id }) => {
@@ -176,12 +173,19 @@ class OrderSubscriber {
})
}
let merged = [...order.items]
// merge items from order with items from order swaps
if (order.swaps && order.swaps.length) {
for (const s of order.swaps) {
merged = [...merged, ...s.additional_items]
}
}
const toBuildFrom = {
...order,
shipping_methods: shipping,
items: ret.items.map((i) =>
order.items.find((l) => l.id === i.item_id)
),
items: ret.items.map((i) => merged.find((l) => l.id === i.item_id)),
}
const orderData = await segmentService.buildOrder(toBuildFrom)