UNPKG

@devx-commerce/plugin-product-reviews

Version:
62 lines 6.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateProductReviewStep = exports.updateProductReviewStepId = void 0; const workflows_sdk_1 = require("@medusajs/workflows-sdk"); const product_review_1 = require("../../../modules/product-review"); const utils_1 = require("@medusajs/framework/utils"); exports.updateProductReviewStepId = "update-product-review-step"; exports.updateProductReviewStep = (0, workflows_sdk_1.createStep)(exports.updateProductReviewStepId, async (input, { container }) => { const productReviewService = container.resolve(product_review_1.PRODUCT_REVIEW_MODULE); const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY); const existingReview = await productReviewService.retrieveProductReview(input.id, { relations: ["associated_medias"] }); const { data: [config], } = await query.graph({ entity: "product_review_config", fields: ["value"], filters: { key: "AUTO_PUBLISH" }, }); await productReviewService.updateProductReviews({ id: input.id, ...(input.rating && { rating: input.rating }), ...(input.title && { title: input.title }), ...(input.description && { description: input.description }), is_admin_verified: !!config?.value, // if its not auto publish then review's admin approval should get reverted to false as admin needs to update the status again from admin panel ...(input.is_admin_verified !== undefined && { is_admin_verified: input.is_admin_verified, }), }); if (input?.medias?.length) { await productReviewService.deleteReviewAssociatedMedias({ product_review_id: input.id, }); await productReviewService.createReviewAssociatedMedias(input.medias.map((media) => ({ product_review_id: input.id, url: media.url, type: media.type, }))); } const newUpdatedReview = await productReviewService.retrieveProductReview(input.id, { relations: ["associated_medias"] }); return new workflows_sdk_1.StepResponse(newUpdatedReview, existingReview); }, async (existingReview, { container }) => { if (!existingReview) return; const productReviewService = container.resolve(product_review_1.PRODUCT_REVIEW_MODULE); // First restore the basic review data await productReviewService.updateProductReviews({ id: existingReview.id, rating: existingReview.rating, title: existingReview.title, description: existingReview.description, is_admin_verified: existingReview.is_admin_verified, }); await productReviewService.deleteReviewAssociatedMedias({ product_review_id: existingReview.id, }); if (existingReview.associated_medias?.length) { await productReviewService.createReviewAssociatedMedias(existingReview.associated_medias.map((media) => ({ product_review_id: existingReview.id, url: media.url, type: media.type, }))); } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXByb2R1Y3QtcmV2aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9wcm9kdWN0LXJldmlld3Mvc3RlcHMvdXBkYXRlLXByb2R1Y3QtcmV2aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUFtRTtBQUduRSxvRUFBd0U7QUFHeEUscURBQXNFO0FBRXpELFFBQUEseUJBQXlCLEdBQUcsNEJBQTRCLENBQUM7QUFFekQsUUFBQSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFVLEVBQy9DLGlDQUF5QixFQUN6QixLQUFLLEVBQ0gsS0FHQyxFQUNELEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDNUMsc0NBQXFCLENBQ3RCLENBQUM7SUFDRixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFRLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhFLE1BQU0sY0FBYyxHQUFHLE1BQU0sb0JBQW9CLENBQUMscUJBQXFCLENBQ3JFLEtBQUssQ0FBQyxFQUFFLEVBQ1IsRUFBRSxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQ3JDLENBQUM7SUFFRixNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQ2YsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDakIsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRTtLQUNqQyxDQUFDLENBQUM7SUFFSCxNQUFNLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDO1FBQzlDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtRQUNaLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsTUFBTSxFQUFF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