deleteProductReview
Delete a product review.
It deletes a review from commercetools by sending a request to its GraphQL API. By default, it uses the deleteReviewDefaultQuery GraphQL query.
Vue Storefont ships with a built-in mechanism ensuring reviews belonging to authenticated users can only be deleted by their authors. The method will throw an error when used to delete a review added by another user.
Signature
declare function deleteProductReview(
context: CommercetoolsIntegrationContext,
params: DeleteReviewParams,
customQuery?: CustomQuery
): Promise<DeleteReviewResponse>;Parameters
| Name | Required | Type | Description |
|---|---|---|---|
context | Required | CommercetoolsIntegrationContext | |
params | Required | DeleteReviewParams | |
customQuery | Optional | CustomQuery |
Returns
Returns a representation of the DeleteReviewResponse.
Referenced Types
Examples
Deleting a product review.
const { review } = await sdk.commerce.deleteProductReview({
id: 'c9e9a3c8-547f-4bc0-907d-4805423e803b',
version: 1
});Creating a custom GraphQL query for the method in middleware.config.ts.
export const integrations = {
ct: {
// ...
customQueries: {
'delete-product-review-custom-query': ({ query, variables, metadata }) => ({
variables: Object.assign(variables, metadata?.variables),
query: `
mutation deleteReview($id: String, $version: Long!) {
review: deleteReview(id: $id, version: $version) {
${metadata?.fields}
}
}
`
}),
}
}
}
};Deleting a product review and selecting response fields using the custom GraphQL query from the previous example. Notice how we are using the type parameter to overwrite the default response interface.
const { review } = await sdk.commerce.deleteProductReview({
id: 'c9e9a3c8-547f-4bc0-907d-4805423e803b',
version: 1
}, {
deleteReview: 'delete-product-review-custom-query',
metadata: { fields: 'id,version' }
});