UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

31 lines 2.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.redeemReferralLinkStep = void 0; // Step to get expired points const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const utils_1 = require("@medusajs/framework/utils"); const loyalty_1 = require("../../modules/loyalty"); exports.redeemReferralLinkStep = (0, workflows_sdk_1.createStep)("redeem-referral-link", async (input, { container }) => { try { const { customer_id, referral_code } = input; // Input validation if (!customer_id || !referral_code) { throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Customer ID and referral code are required"); } const loyaltyModuleService = container.resolve(loyalty_1.LOYALTY_MODULE); const result = await loyaltyModuleService.redeemReferralLink(customer_id, referral_code); if (!result) { throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Failed to redeem referral link"); } return new workflows_sdk_1.StepResponse({ points: result.referee.bonus || 0, message: "Referral link redeemed successfully", }); } catch (error) { throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, error instanceof Error ? error.message : "Failed to redeem referral link"); } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkZWVtLXJlZmVycmFsLWxpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL3JlZGVlbS1yZWZlcnJhbC1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUM3QixxRUFBNkU7QUFDN0UscURBQXdEO0FBRXhELG1EQUF1RDtBQVkxQyxRQUFBLHNCQUFzQixHQUFHLElBQUEsMEJBQVUsRUFDOUMsc0JBQXNCLEVBQ3RCLEtBQUssRUFDSCxLQUE4QixFQUM5QixFQUFFLFNBQVMsRUFBRSxFQUNvQyxFQUFFO0lBQ25ELElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRTdDLG1CQUFtQjtRQUNuQixJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsNENBQTRDLENBQzdDLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxvQkFBb0IsR0FDeEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyx3QkFBYyxDQUFDLENBQUM7UUFFcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FDMUQsV0FBVyxFQUNYLGFBQWEsQ0FDZCxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsZ0NBQWdDLENBQ2pDLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUM7WUFDdEIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUM7WUFDakMsT0FBTyxFQUFFLHFDQUFxQztTQUMvQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLEtBQUssWUFBWSxLQUFLO1lBQ3BCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUNmLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FDckMsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQ0YsQ0FBQyJ9