From cbc9f3d059a65cc5ee26595e5cbccf7f05781e41 Mon Sep 17 00:00:00 2001 From: Nicolas Gorga <62995075+NicolasGorga@users.noreply.github.com> Date: Wed, 14 Jan 2026 14:38:37 -0300 Subject: [PATCH] chore(core-flows): Emit cart updated event on `deleteLineItemsWorkflow` (#14466) * Emit cart updated event upon item deletion * Add changeset --- .changeset/slow-spies-agree.md | 5 ++++ .../line-item/workflows/delete-line-items.ts | 23 +++++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 .changeset/slow-spies-agree.md diff --git a/.changeset/slow-spies-agree.md b/.changeset/slow-spies-agree.md new file mode 100644 index 0000000000..7b9dd0deb1 --- /dev/null +++ b/.changeset/slow-spies-agree.md @@ -0,0 +1,5 @@ +--- +"@medusajs/core-flows": patch +--- + +chore(core-flows): Emit cart updated event on `deleteLineItemsWorkflow` diff --git a/packages/core/core-flows/src/line-item/workflows/delete-line-items.ts b/packages/core/core-flows/src/line-item/workflows/delete-line-items.ts index 8b450d01e9..aa6b5de7f5 100644 --- a/packages/core/core-flows/src/line-item/workflows/delete-line-items.ts +++ b/packages/core/core-flows/src/line-item/workflows/delete-line-items.ts @@ -1,8 +1,14 @@ -import { createWorkflow, WorkflowData } from "@medusajs/framework/workflows-sdk" +import { + createWorkflow, + parallelize, + WorkflowData, +} from "@medusajs/framework/workflows-sdk" import { AdditionalData } from "@medusajs/types" import { refreshCartItemsWorkflow } from "../../cart/workflows/refresh-cart-items" import { acquireLockStep, releaseLockStep } from "../../locking" import { deleteLineItemsStep } from "../steps/delete-line-items" +import { emitEventStep } from "../../common/steps/emit-event" +import { CartWorkflowEvents } from "@medusajs/framework/utils" /** * The data to delete line items from a cart. @@ -53,9 +59,18 @@ export const deleteLineItemsWorkflow = createWorkflow( deleteLineItemsStep(input.ids) - refreshCartItemsWorkflow.runAsStep({ - input: { cart_id: input.cart_id, additional_data: input.additional_data }, - }) + parallelize( + refreshCartItemsWorkflow.runAsStep({ + input: { + cart_id: input.cart_id, + additional_data: input.additional_data, + }, + }), + emitEventStep({ + eventName: CartWorkflowEvents.UPDATED, + data: { id: input.cart_id }, + }) + ) releaseLockStep({ key: input.cart_id,