@devx-commerce/plugin-loyalty
Version:
A starter for Medusa plugins.
25 lines • 2.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateReferralCodeStep = void 0;
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
const utils_1 = require("@medusajs/framework/utils");
const loyalty_1 = require("../../../modules/loyalty");
const helper_1 = require("../../../utils/helper");
//this is not same as validate-referral step
//this is throw error if referral code is not found or already used
exports.validateReferralCodeStep = (0, workflows_sdk_1.createStep)("validate-referral-code", async ({ referral_code, customer_id }, { container }) => {
const loyaltyModuleService = container.resolve(loyalty_1.LOYALTY_MODULE);
const [referral] = await loyaltyModuleService.listReferrals({
referral_code,
status: "active",
});
if (!referral) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Referral not found");
}
const wallet = await loyaltyModuleService.createOrRetrieveWallet(customer_id);
const isReferralUsed = (0, helper_1.isReferralAlreadyUsed)(wallet, referral_code);
if (isReferralUsed) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Referral code already used");
}
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcmVmZXJyYWwtY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY2FydC9zdGVwcy92YWxpZGF0ZS1yZWZlcnJhbC1jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUErRDtBQUMvRCxxREFBd0Q7QUFFeEQsc0RBQTBEO0FBQzFELGtEQUE4RDtBQU85RCw0Q0FBNEM7QUFDNUMsbUVBQW1FO0FBQ3RELFFBQUEsd0JBQXdCLEdBQUcsSUFBQSwwQkFBVSxFQUNoRCx3QkFBd0IsRUFDeEIsS0FBSyxFQUNILEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBaUMsRUFDN0QsRUFBRSxTQUFTLEVBQUUsRUFDYixFQUFFO0lBQ0YsTUFBTSxvQkFBb0IsR0FDeEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyx3QkFBYyxDQUFDLENBQUM7SUFFcEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sb0JBQW9CLENBQUMsYUFBYSxDQUFDO1FBQzFELGFBQWE7UUFDYixNQUFNLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixvQkFBb0IsQ0FDckIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FDVixNQUFNLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sY0FBYyxHQUFHLElBQUEsOEJBQXFCLEVBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRXBFLElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsNEJBQTRCLENBQzdCLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyxDQUNGLENBQUMifQ==