diff --git a/.changeset/afraid-mugs-kneel.md b/.changeset/afraid-mugs-kneel.md new file mode 100644 index 0000000000..b312b4dc73 --- /dev/null +++ b/.changeset/afraid-mugs-kneel.md @@ -0,0 +1,5 @@ +--- +"@medusajs/medusa": patch +--- + +fix(medusa): allow passing idempotency key to service layer create diff --git a/packages/medusa/src/services/draft-order.ts b/packages/medusa/src/services/draft-order.ts index 0e9212667d..779d953b5f 100644 --- a/packages/medusa/src/services/draft-order.ts +++ b/packages/medusa/src/services/draft-order.ts @@ -259,8 +259,13 @@ class DraftOrderService extends TransactionBaseService { ) } - const { shipping_methods, no_notification_order, items, ...rawCart } = - data + const { + shipping_methods, + no_notification_order, + items, + idempotency_key, + ...rawCart + } = data const cartServiceTx = this.cartService_.withTransaction(transactionManager) @@ -285,6 +290,7 @@ class DraftOrderService extends TransactionBaseService { const draftOrder = draftOrderRepo.create({ cart_id: createdCart.id, no_notification_order, + idempotency_key, }) const result = await draftOrderRepo.save(draftOrder) diff --git a/packages/medusa/src/types/draft-orders.ts b/packages/medusa/src/types/draft-orders.ts index 3e982f63ce..0d449cbb81 100644 --- a/packages/medusa/src/types/draft-orders.ts +++ b/packages/medusa/src/types/draft-orders.ts @@ -16,6 +16,7 @@ export type DraftOrderCreateProps = { no_notification_order?: boolean shipping_methods: ShippingMethod[] metadata?: Record + idempotency_key?: string } type ShippingMethod = {