Skip to main content

Workflows

updateProductStatusWorkflow

This documentation provides a reference to the updateProductStatusWorkflow. It belongs to the @mercurjs/b2c-core package. This workflow updates a product’s status. It is commonly used in approval flows to change a product from draft to published status, or to reject products that don’t meet marketplace requirements. Source code

Examples

packages/modules/requests/src/workflows/requests/steps/update-related-product-status.ts
import { createStep } from "@medusajs/framework/workflows-sdk";
import {
  REQUESTS_MODULE,
  RequestsModuleService,
} from "../../../modules/requests";
import { updateProductStatusWorkflow } from "@mercurjs/framework";

export const updateRelatedProductStatusStep = createStep(
  "update-related-product-status",
  async (id: string, { container }) => {
    const service = container.resolve<RequestsModuleService>(REQUESTS_MODULE);

    const request = await service.retrieveRequest(id);

    if (
      ["product", "product_update"].includes(request.type) &&
      request.status === "rejected"
    ) {
      await updateProductStatusWorkflow.run({
        container,
        input: {
          id: request.data.product_id,
          status: "rejected",
        },
      });
    }
  }
);

Steps

Input

input
object
required
The product status update details.

Output

ProductDTO
ProductDTO
The updated product.

Steps

updateProductStatusStep

Updates a product’s status using the Product Module service. Source code

Input

input
object
required
The product status update details.

Output

ProductDTO
ProductDTO
The updated product.