updateProductOptionsWorkflow - Medusa Core Workflows Reference

This documentation provides a reference to the updateProductOptionsWorkflow. It belongs to the @medusajs/medusa/core-flows package.

This workflow updates one or more product options. It's used by the Update Product Option Admin API Route.

This workflow has a hook that allows you to perform custom actions on the updated product options. For example, you can pass under additional_data custom data that allows you to update custom data models linked to the product options.

You can also use this workflow within your customizations or your own custom workflows, allowing you to wrap custom logic around product-option update.

Source Code

Examples#

Steps#

Workflow hook

Step conditioned by when

View step details

Input#

UpdateProductOptionsWorkflowInputUpdateProductOptionsWorkflowInput
The data to update one or more product options, along with custom data that's passed to the workflow's hooks.
The filters to select the product options to update.
The data to update in the product options.
additional_dataRecord<string, unknown>Optional
Additional data that can be passed through the additional_data property in HTTP requests. Learn more in this documentation.

Output#

ProductOptionDTO[]ProductOptionDTO[]
idstring
The ID of the product option.
titlestring
The title of the product option.
The associated product option values.
created_atstring | Date
When the product option was created.
updated_atstring | Date
When the product option was updated.
productnull | ProductDTOOptional
The associated product.
product_idnull | stringOptional
The associated product id.
metadataMetadataTypeOptional
Holds custom data in key-value pairs.
deleted_atstring | DateOptional
When the product option was deleted.

Hooks#

Hooks allow you to inject custom functionalities into the workflow. You'll receive data from the workflow, as well as additional data sent through an HTTP request.

Learn more about Hooks and Additional Data.

productOptionsUpdated#

This hook is executed after the product options are updated. You can consume this hook to perform custom actions on the updated product options.

Example

Code
1import { updateProductOptionsWorkflow } from "@medusajs/medusa/core-flows"2
3updateProductOptionsWorkflow.hooks.productOptionsUpdated(4  (async ({ product_options, additional_data }, { container }) => {5    //TODO6  })7)

Input

Handlers consuming this hook accept the following input.

inputinput
The input data for the hook.
product_optionsProductOptionDTO[]
additional_dataRecord<string, unknown> | undefined
Additional data that can be passed through the additional_data property in HTTP requests. Learn more in this documentation.

Emitted Events#

This section lists the events that are either triggered by the emitEventStep in the workflow, or by another workflow executed within this workflow.

You can listen to these events in a subscriber, as explained in the Subscribers documentation.

Event

Description

Payload

Action

product-option.updated

Emitted when product options are updated.

[{
  id, // The ID of the product option
}]
Was this page helpful?
Ask Anything
FAQ
What is Medusa?
How can I create a module?
How can I create a data model?
How do I create a workflow?
How can I extend a data model in the Product Module?
Recipes
How do I build a marketplace with Medusa?
How do I build digital products with Medusa?
How do I build subscription-based purchases with Medusa?
What other recipes are available in the Medusa documentation?
Chat is cleared on refresh
Line break