@lambdacurry/medusa-product-reviews
Version:
Product Reviews Plugin for Medusa
33 lines • 3.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createProductReviewsStep = exports.createProductReviewsStepId = void 0;
const workflows_sdk_1 = require("@medusajs/workflows-sdk");
const product_review_1 = require("../../modules/product-review");
exports.createProductReviewsStepId = 'create-product-review-step';
exports.createProductReviewsStep = (0, workflows_sdk_1.createStep)(exports.createProductReviewsStepId, async (data, { container }) => {
const productReviewService = container.resolve(product_review_1.PRODUCT_REVIEW_MODULE);
const images = data.flatMap((productReview, index) => (productReview.images ?? []).map((i) => ({ url: i.url, index })));
const createData = data.map((d) => ({
...d,
status: productReviewService.defaultReviewStatus,
images: d.images?.map((image) => ({
url: image.url,
})) ?? [],
}));
const productReviews = await productReviewService.createProductReviews(createData);
await productReviewService.createProductReviewImages(images.map((i) => ({
product_review_id: productReviews[i.index].id,
url: i.url,
})));
return new workflows_sdk_1.StepResponse(productReviews, {
productReviewIds: productReviews.map((productReview) => productReview.id),
});
}, async (data, { container }) => {
if (!data)
return;
const { productReviewIds } = data;
const productReviewService = container.resolve(product_review_1.PRODUCT_REVIEW_MODULE);
await productReviewService.deleteProductReviews(productReviewIds);
await productReviewService.refreshProductReviewStats(productReviewIds);
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb2R1Y3QtcmV2aWV3cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvY3JlYXRlLXByb2R1Y3QtcmV2aWV3cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBbUU7QUFDbkUsaUVBQXFFO0FBSXhELFFBQUEsMEJBQTBCLEdBQUcsNEJBQTRCLENBQUM7QUFFMUQsUUFBQSx3QkFBd0IsR0FBRyxJQUFBLDBCQUFVLEVBQ2hELGtDQUEwQixFQUMxQixLQUFLLEVBQUUsSUFBZ0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUF1QixzQ0FBcUIsQ0FBQyxDQUFDO0lBRTVGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDbkQsQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FDakUsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFVLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekMsR0FBRyxDQUFDO1FBQ0osTUFBTSxFQUFFLG9CQUFvQixDQUFDLG1CQUFtQjtRQUNoRCxNQUFNLEVBQ0osQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1NBQ2YsQ0FBQyxDQUFDLElBQUksRUFBRTtLQUNaLENBQUMsQ0FBQyxDQUFDO0lBRUosTUFBTSxjQUFjLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRixNQUFNLG9CQUFvQixDQUFDLHlCQUF5QixDQUNsRCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM3QyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUc7S0FDWCxDQUFDLENBQUMsQ0FDSixDQUFDO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQUMsY0FBYyxFQUFFO1FBQ3RDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7S0FDMUUsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxFQUNELEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzVCLElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTztJQUVsQixNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFbEMsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUF1QixzQ0FBcUIsQ0FBQyxDQUFDO0lBRTVGLE1BQU0sb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVsRSxNQUFNLG9CQUFvQixDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDekUsQ0FBQyxDQUNGLENBQUMifQ==