UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

18 lines 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.calculatePointsOnCartStep = void 0; const utils_1 = require("@medusajs/framework/utils"); const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const loyalty_1 = require("../../../modules/loyalty"); exports.calculatePointsOnCartStep = (0, workflows_sdk_1.createStep)("calculate-points-on-cart", async ({ cart }, { container }) => { // Check if customer has any loyalty points const loyaltyModuleService = container.resolve(loyalty_1.LOYALTY_MODULE); const loyaltyPoints = await loyaltyModuleService.getPoints(cart.customer.id); if (loyaltyPoints <= 0) { throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Customer has no loyalty points"); } const discount = await loyaltyModuleService.calculatePointsOnCart(Math.max(cart.total - cart.shipping_total, 0), loyaltyPoints, cart.subtotal); const amount = Math.min(discount, Math.max(cart.total - cart.shipping_total, 0)); return new workflows_sdk_1.StepResponse(amount); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLXBvaW50cy1vbi1jYXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jYXJ0L3N0ZXBzL2NhbGN1bGF0ZS1wb2ludHMtb24tY2FydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBd0Q7QUFDeEQscUVBQTZFO0FBQzdFLHNEQUEwRDtBQWM3QyxRQUFBLHlCQUF5QixHQUFHLElBQUEsMEJBQVUsRUFDakQsMEJBQTBCLEVBQzFCLEtBQUssRUFBRSxFQUFFLElBQUksRUFBc0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEUsMkNBQTJDO0lBQzNDLE1BQU0sb0JBQW9CLEdBQ3hCLFNBQVMsQ0FBQyxPQUFPLENBQUMsd0JBQWMsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sYUFBYSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsU0FBUyxDQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDakIsQ0FBQztJQUVGLElBQUksYUFBYSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGdDQUFnQyxDQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sb0JBQW9CLENBQUMscUJBQXFCLENBQy9ELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUM3QyxhQUFhLEVBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDckIsUUFBUSxFQUNSLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUM5QyxDQUFDO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUNGLENBQUMifQ==