@devx-commerce/plugin-loyalty
Version:
A starter for Medusa plugins.
46 lines • 3.59 kB
JavaScript
;
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=