UNPKG

medusa-v2-plugin-wishlist

Version:

A powerful wishlist plugin for Medusa, enabling customers to save and manage their favorite products seamlessly

26 lines 2.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateVariantWishlistStep = void 0; const utils_1 = require("@medusajs/framework/utils"); const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); exports.validateVariantWishlistStep = (0, workflows_sdk_1.createStep)("validate-variant-in-wishlist", async ({ variant_id, sales_channel_id, wishlist, }, { container }) => { // validate whether variant is in wishlist const isInWishlist = wishlist.items?.some((item) => item.product_variant_id === variant_id); if (isInWishlist) { throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Variant is already in wishlist"); } // validate that the variant is available in the specified sales channel const query = container.resolve("query"); const { data } = await query.graph({ entity: "variant", fields: ["product.sales_channels.*"], filters: { id: variant_id, }, }); const variantInSalesChannel = data[0].product.sales_channels.some((sc) => sc.id === sales_channel_id); if (!variantInSalesChannel) { throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Variant is not available in the specified sales channel"); } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtdmFyaWFudC13aXNobGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RlcHMvdmFsaWRhdGUtdmFyaWFudC13aXNobGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBd0Q7QUFDeEQscUVBQStEO0FBU2xELFFBQUEsMkJBQTJCLEdBQUcsSUFBQSwwQkFBVSxFQUNuRCw4QkFBOEIsRUFDOUIsS0FBSyxFQUNILEVBQ0UsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixRQUFRLEdBQ3lCLEVBQ25DLEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLDBDQUEwQztJQUMxQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FDdkMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxVQUFVLENBQ2pELENBQUM7SUFFRixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGdDQUFnQyxDQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELHdFQUF3RTtJQUN4RSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDakMsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLENBQUMsMEJBQTBCLENBQUM7UUFDcEMsT0FBTyxFQUFFO1lBQ1AsRUFBRSxFQUFFLFVBQVU7U0FDZjtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUMvRCxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxnQkFBZ0IsQ0FDbkMsQ0FBQztJQUVGLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHlEQUF5RCxDQUMxRCxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FDRixDQUFDIn0=