UNPKG

@devx-commerce/plugin-product-reviews

Version:
50 lines 4.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PUT = exports.GET = void 0; const framework_1 = require("@medusajs/framework"); const api_response_1 = require("../../../lib/api-response"); const utils_1 = require("@medusajs/framework/utils"); const update_product_review_1 = require("../../../workflows/product-reviews/workflows/update-product-review"); const GET = async (req, res) => { const query = req.scope.resolve("query"); const productService = framework_1.container.resolve(utils_1.Modules.PRODUCT); const { category_id } = req.query; if (category_id) { let categoryIds = []; if (Array.isArray(category_id)) { categoryIds = category_id; } else if (typeof category_id === "string") { categoryIds = [category_id]; } const products = await productService.listProducts({ categories: { id: { $in: categoryIds } } }); const productIds = products.map(product => product.id); req.filterableFields.product_id = productIds; delete req.filterableFields.category_id; } const { data, metadata } = await query.graph({ entity: "product_review", ...req.queryConfig, filters: { ...req.filterableFields }, }); return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ reviews: data, count: metadata?.count || 0, offset: metadata?.skip || 0, limit: metadata?.take || 10, })); }; exports.GET = GET; const PUT = async (req, res) => { const { data } = req.validatedBody; await Promise.all(data.map(async (review) => { await (0, update_product_review_1.updateProductReviewWorkflow)(req.scope).run({ input: { id: review.id, is_admin_verified: review.is_admin_verified }, }); })); return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ message: "Product review updated successfully" })); }; exports.PUT = PUT; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Byb2R1Y3QtcmV2aWV3cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFJNkI7QUFFN0IsNERBR21DO0FBQ25DLHFEQUFvRDtBQUVwRCw4R0FBaUg7QUFHMUcsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsTUFBTSxjQUFjLEdBQUcscUJBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRXpELE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBRWxDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEIsSUFBSSxXQUFXLEdBQWEsRUFBRSxDQUFDO1FBQy9CLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQy9CLFdBQVcsR0FBRyxXQUF1QixDQUFDO1FBQ3hDLENBQUM7YUFBTSxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNDLFdBQVcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FBQyxZQUFZLENBQUM7WUFDakQsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxFQUFFO1NBQ3pDLENBQUMsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkQsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFN0MsT0FBTyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMzQyxNQUFNLEVBQUUsZ0JBQWdCO1FBQ3hCLEdBQUcsR0FBRyxDQUFDLFdBQVc7UUFDbEIsT0FBTyxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLEVBQUU7S0FDckMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUFDO1FBQ3BCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQztRQUMzQixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1FBQzNCLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLEVBQUU7S0FDNUIsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUM7QUExQ1csUUFBQSxHQUFHLE9BMENkO0FBRUssTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUFpRCxFQUNqRCxHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFFbkMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3hCLE1BQU0sSUFBQSxtREFBMkIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQy9DLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRTtTQUN0RSxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBRUYsT0FBTyxJQUFBLDhCQUFlLEVBQUMsR0FBRyxFQUFFLElBQUEsb0NBQXFCLEVBQUMsRUFBRSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDekcsQ0FBQyxDQUFDO0FBZlcsUUFBQSxHQUFHLE9BZWQifQ==