UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

26 lines 2.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getPoints = void 0; const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const loyalty_1 = require("../../../modules/loyalty"); exports.getPoints = (0, workflows_sdk_1.createStep)('get-points', async (input, { container }) => { let perpetual_points = 0; // Process each transaction to categorize points input.transactions.forEach((transaction) => { if (transaction.type === 'credit') { const points = transaction.points || 0; // If expires_at is null/undefined, it's perpetual if (!transaction.expires_at) { perpetual_points += points; } } }); const loyaltyService = container.resolve(loyalty_1.LOYALTY_MODULE); const total_points = await loyaltyService.getPoints(input.customer_id); return new workflows_sdk_1.StepResponse({ total: total_points, perpetual: perpetual_points, expirable: total_points - perpetual_points }, null); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcG9pbnRzL3N0ZXBzL2dldC1wb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLHNEQUEwRDtBQWM3QyxRQUFBLFNBQVMsR0FBRyxJQUFBLDBCQUFVLEVBQy9CLFlBQVksRUFDWixLQUFLLEVBQUUsS0FBeUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFFL0MsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFFekIsZ0RBQWdEO0lBQ2hELEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBZ0IsRUFBRSxFQUFFO1FBQzVDLElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUN2QyxrREFBa0Q7WUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDMUIsZ0JBQWdCLElBQUksTUFBTSxDQUFDO1lBQy9CLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLGNBQWMsR0FBeUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyx3QkFBYyxDQUFDLENBQUE7SUFFOUUsTUFBTSxZQUFZLEdBQUcsTUFBTSxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUV0RSxPQUFPLElBQUksNEJBQVksQ0FBQztRQUNwQixLQUFLLEVBQUUsWUFBWTtRQUNuQixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLFNBQVMsRUFBRSxZQUFZLEdBQUcsZ0JBQWdCO0tBQzdDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDYixDQUFDLENBQ0osQ0FBQSJ9