UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

46 lines 3.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.referralCreateOrderEventStep = void 0; const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const loyalty_1 = require("../../../modules/loyalty"); exports.referralCreateOrderEventStep = (0, workflows_sdk_1.createStep)("referral-create-order-event", async (input, { container }) => { const loyaltyModuleService = container.resolve(loyalty_1.LOYALTY_MODULE); const { customer_id, amount, order_id, order_display_id, referral } = input; const [event] = await loyaltyModuleService.listEvents({ trigger_event: "referral_order_placed", status: "active", }); const referral_code = referral.referral_code; if (!referral_code || !event) { return new workflows_sdk_1.StepResponse({ customer_id, order_id, points: 0, }); } const res = await loyaltyModuleService.calculatePointForReferralOrder(event, referral, amount); if (res) { const { referee, referrer } = res; await loyaltyModuleService.applyReferralBonus({ referee: customer_id, referrer: referrer.customer_id, referee_bonus: referee.bonus, referrer_bonus: referrer.bonus, referral_code: referral_code, expires_at: referee?.expires_at || undefined, order_id, order_display_id, }); return new workflows_sdk_1.StepResponse({ customer_id, order_id, points: referee.bonus, }); } return new workflows_sdk_1.StepResponse({ customer_id, order_id, points: 0, }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJyYWwtY3JlYXRlLW9yZGVyLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlci9zdGVwcy9yZWZlcnJhbC1jcmVhdGUtb3JkZXItZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLHNEQUEwRDtBQWM3QyxRQUFBLDRCQUE0QixHQUFHLElBQUEsMEJBQVUsRUFDcEQsNkJBQTZCLEVBQzdCLEtBQUssRUFBRSxLQUFnQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN4QyxNQUFNLG9CQUFvQixHQUN4QixTQUFTLENBQUMsT0FBTyxDQUFDLHdCQUFjLENBQUMsQ0FBQztJQUNwQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTVFLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLG9CQUFvQixDQUFDLFVBQVUsQ0FBQztRQUNwRCxhQUFhLEVBQUUsdUJBQXVCO1FBQ3RDLE1BQU0sRUFBRSxRQUFRO0tBQ2pCLENBQUMsQ0FBQztJQUVILE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFFN0MsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSw0QkFBWSxDQUFDO1lBQ3RCLFdBQVc7WUFDWCxRQUFRO1lBQ1IsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyw4QkFBOEIsQ0FDbkUsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLENBQ1AsQ0FBQztJQUVGLElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUVsQyxNQUFNLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDO1lBQzVDLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFFBQVEsRUFBRSxRQUFRLENBQUMsV0FBVztZQUM5QixhQUFhLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDNUIsY0FBYyxFQUFFLFFBQVEsQ0FBQyxLQUFLO1lBQzlCLGFBQWEsRUFBRSxhQUFhO1lBQzVCLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxJQUFJLFNBQVM7WUFDNUMsUUFBUTtZQUNSLGdCQUFnQjtTQUNqQixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksNEJBQVksQ0FBQztZQUN0QixXQUFXO1lBQ1gsUUFBUTtZQUNSLE1BQU0sRUFBRSxPQUFPLENBQUMsS0FBSztTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUM7UUFDdEIsV0FBVztRQUNYLFFBQVE7UUFDUixNQUFNLEVBQUUsQ0FBQztLQUNWLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=