UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

29 lines 2.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateReferralLinkStep = void 0; // Step to get expired points const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const loyalty_1 = require("../../../modules/loyalty"); exports.generateReferralLinkStep = (0, workflows_sdk_1.createStep)("generate-referral-link", async ({ customer_id, expiry_days }, { container }) => { const loyaltyModuleService = container.resolve(loyalty_1.LOYALTY_MODULE); const wallet = await loyaltyModuleService.createOrRetrieveWallet(customer_id); // Check if customer already has an active referral const [existingReferral] = await loyaltyModuleService.listReferrals({ customer_id: wallet.customer_id, status: "active", }); if (existingReferral) { // If there's an existing active referral, return it return new workflows_sdk_1.StepResponse(existingReferral); } const expires_at = expiry_days ? new Date(new Date().getTime() + expiry_days * 24 * 60 * 60 * 1000) : null; // Create new referral const referral = await loyaltyModuleService.createReferrals({ customer_id: wallet.customer_id, expires_at: expires_at ? new Date(expires_at) : null, }); return new workflows_sdk_1.StepResponse(referral); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtcmVmZXJyYWwtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcmVmZXJyYWwvc3RlcHMvZ2VuZXJhdGUtcmVmZXJyYWwtbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IscUVBQTZFO0FBRTdFLHNEQUEwRDtBQUU3QyxRQUFBLHdCQUF3QixHQUFHLElBQUEsMEJBQVUsRUFDaEQsd0JBQXdCLEVBQ3hCLEtBQUssRUFDSCxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWlELEVBQzNFLEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sb0JBQW9CLEdBQ3hCLFNBQVMsQ0FBQyxPQUFPLENBQUMsd0JBQWMsQ0FBQyxDQUFDO0lBRXBDLE1BQU0sTUFBTSxHQUNWLE1BQU0sb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakUsbURBQW1EO0lBQ25ELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLE1BQU0sb0JBQW9CLENBQUMsYUFBYSxDQUFDO1FBQ2xFLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztRQUMvQixNQUFNLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQUM7SUFDSCxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDckIsb0RBQW9EO1FBQ3BELE9BQU8sSUFBSSw0QkFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLFdBQVc7UUFDNUIsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsV0FBVyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNwRSxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ1Qsc0JBQXNCO0lBQ3RCLE1BQU0sUUFBUSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsZUFBZSxDQUFDO1FBQzFELFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztRQUMvQixVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtLQUNyRCxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQ0YsQ0FBQyJ9