feat(order): cancel fulfillment (#7573)
This commit is contained in:
@@ -95,7 +95,7 @@ describe("Order Return - Actions", function () {
|
||||
order: originalOrder,
|
||||
actions,
|
||||
})
|
||||
}).toThrow(`Reference ID "333" not found.`)
|
||||
}).toThrow(`Item ID "333" not found.`)
|
||||
})
|
||||
|
||||
it("should validate return received", function () {
|
||||
|
||||
@@ -2142,6 +2142,40 @@ export default class OrderModuleService<
|
||||
await this.confirmOrderChange(change[0].id, sharedContext)
|
||||
}
|
||||
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async cancelFulfillment(
|
||||
data: OrderTypes.CancelOrderFulfillmentDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<void> {
|
||||
const items = data.items.map((item) => {
|
||||
return {
|
||||
action: ChangeActionType.CANCEL_ITEM_FULFILLMENT,
|
||||
internal_note: item.internal_note,
|
||||
reference: data.reference,
|
||||
reference_id: data.reference_id,
|
||||
details: {
|
||||
reference_id: item.id,
|
||||
quantity: item.quantity,
|
||||
metadata: item.metadata,
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
const change = await this.createOrderChange_(
|
||||
{
|
||||
order_id: data.order_id,
|
||||
description: data.description,
|
||||
internal_note: data.internal_note,
|
||||
created_by: data.created_by,
|
||||
metadata: data.metadata,
|
||||
actions: items,
|
||||
},
|
||||
sharedContext
|
||||
)
|
||||
|
||||
await this.confirmOrderChange(change[0].id, sharedContext)
|
||||
}
|
||||
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async registerShipment(
|
||||
data: OrderTypes.RegisterOrderShipmentDTO,
|
||||
|
||||
Reference in New Issue
Block a user