From 8387d033704429e18d254f4b22cd05027640e23c Mon Sep 17 00:00:00 2001 From: Stevche Radevski Date: Wed, 1 May 2024 16:55:20 +0200 Subject: [PATCH] fix: Correctly fetch cart when updating a line item (#7196) --- .../carts/[id]/line-items/[line_id]/route.ts | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/packages/medusa/src/api-v2/store/carts/[id]/line-items/[line_id]/route.ts b/packages/medusa/src/api-v2/store/carts/[id]/line-items/[line_id]/route.ts index 03468672d9..da00fc8754 100644 --- a/packages/medusa/src/api-v2/store/carts/[id]/line-items/[line_id]/route.ts +++ b/packages/medusa/src/api-v2/store/carts/[id]/line-items/[line_id]/route.ts @@ -2,28 +2,35 @@ import { deleteLineItemsWorkflow, updateLineItemInCartWorkflow, } from "@medusajs/core-flows" -import { ModuleRegistrationName } from "@medusajs/modules-sdk" -import { ICartModuleService } from "@medusajs/types" import { MedusaError } from "@medusajs/utils" import { MedusaRequest, MedusaResponse } from "../../../../../../types/routing" import { refetchCart } from "../../../helpers" import { StoreUpdateCartLineItemType } from "../../../validators" +import { prepareListQuery } from "../../../../../../utils/get-query-config" export const POST = async ( req: MedusaRequest, res: MedusaResponse ) => { - const cartModuleService = req.scope.resolve( - ModuleRegistrationName.CART + const cart = await refetchCart( + req.params.id, + req.scope, + prepareListQuery( + {}, + { + defaults: [ + "id", + "region_id", + "customer_id", + "sales_channel_id", + "currency_code", + "*items", + ], + } + ).remoteQueryConfig.fields ) - const cart = await cartModuleService.retrieve(req.params.id, { - select: ["id", "region_id", "currency_code"], - relations: ["region", "items", "items.variant_id"], - }) - const item = cart.items?.find((i) => i.id === req.params.line_id) - if (!item) { throw new MedusaError( MedusaError.Types.NOT_FOUND,