UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

43 lines 4.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeLoyaltyAdjustmentsStep = void 0; const utils_1 = require("@medusajs/framework/utils"); const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const helper_1 = require("../../utils/helper"); exports.removeLoyaltyAdjustmentsStep = (0, workflows_sdk_1.createStep)("remove-loyalty-adjustments", async (input, { container }) => { const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY); const cartService = container.resolve(utils_1.Modules.CART); const allLineItems = (input?.cart?.items ?? []).map((item) => item.id); if (!allLineItems.length) { return new workflows_sdk_1.StepResponse(true, { prevData: [] }); } // Match adjustments by their loyalty code rather than by // `metadata.loyalty_promo_id`. The metadata id goes stale whenever the // loyalty promotion is re-created (see getCartLoyaltyPromotion), which used // to leave the live loyalty adjustment behind while deleting nothing. const { data: cartLineItemAdjustment } = await query.graph({ entity: "line_item_adjustment", fields: ["*"], filters: { $and: [ { item_id: { $in: allLineItems } }, { code: { $like: `${helper_1.LOYALTY_PROMOTION_CODE_PREFIX}%` } }, ], }, }); if (!cartLineItemAdjustment.length) { return new workflows_sdk_1.StepResponse(true, { prevData: [] }); } await cartService.deleteLineItemAdjustments(cartLineItemAdjustment.map((item) => item.id)); return new workflows_sdk_1.StepResponse(true, { prevData: cartLineItemAdjustment }); }, async (input, { container }) => { const cartService = container.resolve(utils_1.Modules.CART); await cartService.addLineItemAdjustments(input.prevData.map((item) => ({ amount: item.amount, code: item.code, description: item.description, item_id: item.item_id, promotion_id: item.promotion_id, }))); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWxveWFsdHktYWRqdXN0bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL3JlbW92ZS1sb3lhbHR5LWFkanVzdG1lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUErRTtBQUMvRSxxRUFBNkU7QUFFN0UsK0NBQW1FO0FBRXRELFFBQUEsNEJBQTRCLEdBQUcsSUFBQSwwQkFBVSxFQUNwRCw0QkFBNEIsRUFDNUIsS0FBSyxFQUFFLEtBQW9CLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV2RSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCx5REFBeUQ7SUFDekQsdUVBQXVFO0lBQ3ZFLDRFQUE0RTtJQUM1RSxzRUFBc0U7SUFDdEUsTUFBTSxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6RCxNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNiLE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRTtnQkFDSixFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsRUFBRTtnQkFDbEMsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxzQ0FBNkIsR0FBRyxFQUFFLEVBQUU7YUFDekQ7U0FDRjtLQUNGLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQyxPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsTUFBTSxXQUFXLENBQUMseUJBQXlCLENBQ3pDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUM5QyxDQUFDO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztBQUN0RSxDQUFDLEVBQ0QsS0FBSyxFQUFFLEtBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDbEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEQsTUFBTSxXQUFXLENBQUMsc0JBQXNCLENBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtRQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7UUFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtLQUNoQyxDQUFDLENBQUMsQ0FDSixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==