feat(MED-131): update location in action so cart is always reloaded properly

This commit is contained in:
2025-08-04 11:52:22 +03:00
parent 959646a319
commit 12cd61840c
2 changed files with 45 additions and 11 deletions

View File

@@ -0,0 +1,38 @@
"use server";
import { retrieveCart, updateCart, updateLineItem } from "@lib/data/cart";
export const updateCartPartnerLocation = async ({
cartId,
lineIds,
partnerLocationId,
partnerLocationName,
}: {
cartId: string;
lineIds: string[];
partnerLocationId: string;
partnerLocationName: string;
}) => {
const cart = await retrieveCart(cartId);
if (!cart) {
throw new Error("Cart not found");
}
for (const lineItemId of lineIds) {
await updateLineItem({
lineId: lineItemId,
quantity: 1,
metadata: {
partner_location_name: partnerLocationName,
partner_location_id: partnerLocationId,
},
});
}
await updateCart({
id: cartId,
metadata: {
partner_location_name: partnerLocationName,
partner_location_id: partnerLocationId,
},
});
}