@lambdacurry/medusa-product-reviews v1.2.1
@lambdacurry/medusa-product-reviews
A plugin that adds product review and moderation capabilities to your Medusa application, with built-in admin responses and review statistics.
This plugin is part of the Medusa Plugins Collection.
Features
See a demo in our Medusa Starter
- Product reviews with ratings
- Review statistics and analytics
- Review moderation workflow (
approved/pending/flagged) - Admin response management
- SDK for Store and Admin operations
Prerequisites
Installation and Configuration
- Install the plugin:
yarn add @lambdacurry/medusa-product-reviews
# or, if you're using yarn workspaces
yarn workspace my-app add @lambdacurry/medusa-product-reviews- Add to
medusa-config.ts:
module.exports = defineConfig({
plugins: [
{
resolve: '@lambdacurry/medusa-product-reviews',
options: {
defaultReviewStatus: 'pending', // OPTIONAL, default is 'approved'
},
},
],
});- Run migrations:
yarn medusa db:migrateUsing the Plugin SDK
For detailed SDK setup and configuration, refer to the @lambdacurry/medusa-plugins-sdk README.
Store Operations
// List product reviews
const { reviews, count } = await sdk.store.productReviews.list(
query: StoreListProductReviewsQuery,
headers?: ClientHeaders
);
// Create/Update a review
const review = await sdk.store.productReviews.upsert(
data: StoreUpsertProductReviewsDTO,
headers?: ClientHeaders
);
// Get review statistics
const stats = await sdk.store.productReviews.listStats(
query: StoreListProductReviewStatsQuery,
headers?: ClientHeaders
);Admin Operations
// List reviews
const { reviews, count } = await sdk.admin.productReviews.list(
query: AdminListProductReviewsQuery
);
// Update review status
const review = await sdk.admin.productReviews.updateStatus(
productReviewId: string,
status: 'pending' | 'approved' | 'flagged'
);
// Manage review responses
const review = await sdk.admin.productReviews.createResponse(
productReviewId: string,
data: AdminCreateProductReviewResponseDTO
);
await sdk.admin.productReviews.updateResponse(
productReviewId: string,
data: AdminUpdateProductReviewResponseDTO
);
await sdk.admin.productReviews.deleteResponse(
productReviewId: string
);Review Workflow
Creation: Reviews are set to:
approvedstatus by defaultpendingstatus ifdefaultReviewStatus: 'pending'is set in plugin options
Moderation: Admins can:
- List and filter reviews
- Update review status (approve/flag)
- Manage responses (create/update/delete)
Available Endpoints
Admin Endpoints
GET /admin/product-reviews- List all reviewsPOST /admin/product-reviews/:id/response- Add a responsePUT /admin/product-reviews/:id/response- Update responseDELETE /admin/product-reviews/:id/response- Delete responsePUT /admin/product-reviews/:id/status- Update status
Store Endpoints
GET /store/product-reviews- List reviewsPOST /store/product-reviews- Create/Update reviewGET /store/product-review-stats- Get statistics
Local Development
IMPORTANT: A running PostgreSQL instance is required. The plugin expects
DB_USERNAMEandDB_PASSWORDenvironment variables to be set. If not provided, both default to "postgres".
Available scripts:
# Build the plugin
yarn build
# Development mode with hot-reload
yarn dev
# Publish to local registry for testing
yarn dev:publish
# Generate database migrations
yarn db:generateInstalling the plugin in your Medusa project for local development
After publishing the plugin locally by running yarn dev:publish, go to the root of your Medusa project and run the following commands:
cd path/to/your/medusa-application
yarn medusa plugin:add @lambdacurry/medusa-product-reviews
# If you are yarn with a monorepo, you may also need to run
yarn installCompatibility
This plugin is compatible with versions >= 2.5.0 of @medusajs/medusa.
License
MIT License
9 months ago
9 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago