Skip to content

ShoppingListModule

Module in @evolve-framework/medusa

Shopping lists, served by @evolve-framework/medusa-plugin-wishlist.

Stock Medusa has no wishlists; the plugin adds the model and the routes, and this module is the adapter's side of them. Every read and write goes out as the signed-in customer, so a list is reachable only by whoever owns it — there is no call here that takes a customer id.

The module is also what the customer domain needs in order to compose at all: customer declares ProductVariant fields as @external for shopping-list items to require, and a subgraph carrying unused externals fails federation validation. Composing customer without shopping lists is not a smaller deployment, it is a broken one.

Without the plugin installed, every operation fails at the HTTP call rather than at start-up. That is the trade for keeping the plugin optional: the alternative — probing for it when the module is built — would put a request in the boot path of a service that may never serve a shopping list.

import { ShoppingListModule } from "@evolve-framework/medusa/modules";

Serves the Shopping lists part of the GraphQL API: shoppingList, shoppingLists, shoppingListCreate, shoppingListDelete, shoppingListLineItemsAdd, shoppingListLineItemsRemove, shoppingListLineItemsUpdate, shoppingListUpdate.

new ShoppingListModule()

Extends AbstractModule<unknown>.

The same module on commercetools and sfcc.