UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

45 lines 3.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.calculateAmountFromPoints = exports.CUSTOMER_ID_PROMOTION_RULE_ATTRIBUTE = void 0; exports.getCartLoyaltyPromotion = getCartLoyaltyPromotion; exports.orderHasLoyaltyPromotion = orderHasLoyaltyPromotion; exports.getReferralCodeFromOrder = getReferralCodeFromOrder; exports.isReferralAlreadyUsed = isReferralAlreadyUsed; exports.CUSTOMER_ID_PROMOTION_RULE_ATTRIBUTE = "customer_id"; function getCartLoyaltyPromotion(cart) { if (!cart?.metadata?.loyalty_promo_id) { return; } // Ensure promotions is an array if (!Array.isArray(cart?.promotions)) { console.warn("Cart promotions is not an array:", cart?.promotions); return; } return cart.promotions.find((promotion) => promotion.id === cart.metadata.loyalty_promo_id); } function orderHasLoyaltyPromotion(order) { const loyaltyPromotion = getCartLoyaltyPromotion(order.cart); return (loyaltyPromotion?.rules?.some((rule) => { return (rule?.attribute === exports.CUSTOMER_ID_PROMOTION_RULE_ATTRIBUTE && (rule?.values?.some((value) => value.value === order.customer?.id) || false)); }) || false); } function getReferralCodeFromOrder(order) { return order.cart?.metadata?.referral_code; } function isReferralAlreadyUsed(wallet, code) { if (!wallet.used_referrals) { return false; } return wallet.used_referrals.includes(code); } const calculateAmountFromPoints = (points, pointsPerRupee) => { if (!pointsPerRupee) { return points; } const amount = Math.floor(points / pointsPerRupee); return amount > 0 ? amount : 0; }; exports.calculateAmountFromPoints = calculateAmountFromPoints; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1QkEsMERBZ0JDO0FBRUQsNERBYUM7QUFFRCw0REFFQztBQUVELHNEQU1DO0FBN0NZLFFBQUEsb0NBQW9DLEdBQUcsYUFBYSxDQUFDO0FBRWxFLFNBQWdCLHVCQUF1QixDQUNyQyxJQUFjO0lBRWQsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QyxPQUFPO0lBQ1QsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNuRSxPQUFPO0lBQ1QsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3pCLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQy9ELENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0Isd0JBQXdCLENBQUMsS0FBZ0I7SUFDdkQsTUFBTSxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FDOUMsS0FBSyxDQUFDLElBQTJCLENBQ2xDLENBQUM7SUFDRixPQUFPLENBQ0wsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3JDLE9BQU8sQ0FDTCxJQUFJLEVBQUUsU0FBUyxLQUFLLDRDQUFvQztZQUN4RCxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUNoRSxLQUFLLENBQUMsQ0FDVCxDQUFDO0lBQ0osQ0FBQyxDQUFDLElBQUksS0FBSyxDQUNaLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0Isd0JBQXdCLENBQUMsS0FBZ0I7SUFDdkQsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFtQyxDQUFDO0FBQ25FLENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsSUFBSTtJQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVNLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsTUFBYyxFQUNkLGNBQXVCLEVBQ3ZCLEVBQUU7SUFDRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBVlcsUUFBQSx5QkFBeUIsNkJBVXBDIn0=