updateProductCategoriesWorkflow - Medusa Core Workflows Reference

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

This workflow updates product categories matching specified filters. It's used by the Update Product Category Admin API Route.

You can use this workflow within your customizations or your own custom workflows, allowing you to update product categories within your custom flows.

Source Code

Examples#

Steps#

Workflow hook

Step conditioned by when

View step details

Input#

UpdateProductCategoriesWorkflowInputUpdateProductCategoriesWorkflowInput
The filters to select the product categories to update.
The data to update in the product categories.
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#

ProductCategoryDTO[]ProductCategoryDTO[]
idstring
The ID of the product category.
namestring
The name of the product category.
descriptionstring
The description of the product category.
handlestring
The handle of the product category. The handle can be used to create slug URL paths.
is_activeboolean
Whether the product category is active.
is_internalboolean
Whether the product category is internal. This can be used to only show the product category to admins and hide it from customers.
ranknumber
The ranking of the product category among sibling categories.
parent_categorynull | ProductCategoryDTO
The associated parent category.
parent_category_idnull | string
The associated parent category id.
category_childrenProductCategoryDTO[]
The associated child categories.
productsProductDTO[]
The associated products.
created_atstring | Date
When the product category was created.
updated_atstring | Date
When the product category was updated.
metadataMetadataTypeOptional
The ranking of the product category among sibling categories.
deleted_atstring | DateOptional
When the product category 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.

categoriesUpdated#

This step is a hook that you can inject custom functionality into.

Example

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

Input

Handlers consuming this hook accept the following input.

inputinput
The input data for the hook.
categoriesProductCategoryDTO[]
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-category.updated

Emitted when product categories are updated.

[{
  id, // The ID of the product category
}]
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