@alphabite/medusa-reviews
Version:
Alphabite's Medusa Reviews Plugin
27 lines • 2.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.canCreateReviewStep = void 0;
const utils_1 = require("@medusajs/framework/utils");
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
const review_1 = require("../../modules/review");
exports.canCreateReviewStep = (0, workflows_sdk_1.createStep)("can-create-review", async (input, { container }) => {
const reviewModuleService = container.resolve(review_1.REVIEW_MODULE);
const options = reviewModuleService._options;
if (!input.is_verified_purchase && options?.allowOnlyVerifiedPurchases) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "You can only review products you have purchased.");
}
if (!options?.allowMultipleReviewsPerProduct) {
const existingReview = await reviewModuleService.listReviews({}, {
filters: {
product_id: input.product_id,
customer_id: input.customer_id,
status: "approved",
},
});
if (existingReview?.length > 0) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "You have already submitted a review for this product.");
}
}
return new workflows_sdk_1.StepResponse(true);
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWNyZWF0ZS1yZXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL2Nhbi1jcmVhdGUtcmV2aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF3RDtBQUN4RCxxRUFBNkU7QUFFN0UsaURBQXFEO0FBUXhDLFFBQUEsbUJBQW1CLEdBQUcsSUFBQSwwQkFBVSxFQUMzQyxtQkFBbUIsRUFDbkIsS0FBSyxFQUFFLEtBQStCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3ZELE1BQU0sbUJBQW1CLEdBQ3ZCLFNBQVMsQ0FBQyxPQUFPLENBQXNCLHNCQUFhLENBQUMsQ0FBQztJQUV4RCxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7SUFFN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQztRQUN2RSxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixrREFBa0QsQ0FDbkQsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLENBQUM7UUFDN0MsTUFBTSxjQUFjLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxXQUFXLENBQzFELEVBQUUsRUFDRjtZQUNFLE9BQU8sRUFBRTtnQkFDUCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzVCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsTUFBTSxFQUFFLFVBQVU7YUFDbkI7U0FDRixDQUNGLENBQUM7UUFFRixJQUFJLGNBQWMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsdURBQXVELENBQ3hELENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSw0QkFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FDRixDQUFDIn0=