softDelete - Product Module Reference
BetaThis documentation provides a reference to the softDelete method. This belongs to the Product Module.
This method is used to delete products. Unlike the delete method, this method won't completely remove the product. It can still be accessed or retrieved using methods like retrieve if you pass the withDeleted
property to the config
object parameter.
The soft-deleted products can be restored using the restore method.
Example
import {
initialize as initializeProductModule,
} from "@medusajs/product"
async function deleteProducts (ids: string[]) {
const productModule = await initializeProductModule()
const cascadedEntities = await productModule.softDelete(ids)
// do something with the returned cascaded entity IDs or return them
}
Type Parameters
TReturnableLinkableKeys
stringRequiredParameters
productIds
string[]RequiredThe IDs of the products to soft-delete.
config
SoftDeleteReturn<TReturnableLinkableKeys>Configurations determining which relations to soft delete along with the each of the products. You can pass to its returnLinkableKeys
property any of the product's relation attribute names, such as variant_id
.
config
SoftDeleteReturn<TReturnableLinkableKeys>returnLinkableKeys
property any of the product's relation attribute names, such as variant_id
.sharedContext
ContextA context used to share resources, such as transaction manager, between the application and the module.
sharedContext
ContextReturns
Promise
Promise<void | Record<string, string[]>>RequiredAn object that includes the IDs of related records that were also soft deleted, such as the ID of associated product variants. The object's keys are the ID attribute names of the product entity's relations, such as variant_id
, and its value is an array of strings, each being the ID of a record associated with the product through this relation, such as the IDs of associated product variants.
If there are no related records, the promise resolved to void
.
Promise
Promise<void | Record<string, string[]>>Requiredvariant_id
, and its value is an array of strings, each being the ID of a record associated with the product through this relation, such as the IDs of associated product variants.
If there are no related records, the promise resolved to void
.Was this section helpful?