UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

38 lines 3.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createOrderEventStep = void 0; const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const loyalty_1 = require("../../../modules/loyalty"); const utils_1 = require("@medusajs/framework/utils"); exports.createOrderEventStep = (0, workflows_sdk_1.createStep)("create-order-event", async (input, { container }) => { const loyaltyModuleService = container.resolve(loyalty_1.LOYALTY_MODULE); const { customer_id, amount, order_id, event } = input; const eventBus = container.resolve(utils_1.Modules.EVENT_BUS); const { pointsToAdd, expires_at } = await loyaltyModuleService.calculatePointsToAddFromOrderEvent(event, amount); if (pointsToAdd <= 0) return; const result = await loyaltyModuleService.addPoints({ customer_id: customer_id, points: pointsToAdd, referenceType: "order", description: `Points earned for order with total amount ${input.amount}`, expires_at, order_id, }); await eventBus.emit({ name: "loyalty.points_credited", data: { orderId: order_id, total_balance: Number(result?.points), perpetual_balance: Number(result?.perpetual_points), expirable_balance: Number(result?.points) - Number(result?.perpetual_points), transaction_amount: Number(pointsToAdd), }, }); return new workflows_sdk_1.StepResponse(result, { customer_id: input.customer_id, points: pointsToAdd, order_id: input.order_id, }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yZGVyLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlci9zdGVwcy9jcmVhdGUtb3JkZXItZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBRzdFLHNEQUEwRDtBQUUxRCxxREFBb0Q7QUFTdkMsUUFBQSxvQkFBb0IsR0FBRyxJQUFBLDBCQUFVLEVBQzFDLG9CQUFvQixFQUNwQixLQUFLLEVBQUUsS0FBZ0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDdEMsTUFBTSxvQkFBb0IsR0FDdEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyx3QkFBYyxDQUFDLENBQUM7SUFDdEMsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQztJQUN2RCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxHQUM3QixNQUFNLG9CQUFvQixDQUFDLGtDQUFrQyxDQUN6RCxLQUFpQixFQUNqQixNQUFNLENBQ1QsQ0FBQztJQUVWLElBQUksV0FBVyxJQUFJLENBQUM7UUFBRSxPQUFPO0lBRXpCLE1BQU0sTUFBTSxHQUFRLE1BQU0sb0JBQW9CLENBQUMsU0FBUyxDQUFDO1FBQ3JELFdBQVcsRUFBRSxXQUFXO1FBQ3hCLE1BQU0sRUFBRSxXQUFXO1FBQ25CLGFBQWEsRUFBRSxPQUFPO1FBQ3RCLFdBQVcsRUFBRSw2Q0FBNkMsS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUN4RSxVQUFVO1FBQ1YsUUFBUTtLQUNYLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQztRQUNoQixJQUFJLEVBQUUseUJBQXlCO1FBQy9CLElBQUksRUFBRTtZQUNGLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLGFBQWEsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztZQUNyQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDO1lBQ25ELGlCQUFpQixFQUNiLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQztZQUM3RCxrQkFBa0IsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDO1NBQzFDO0tBQ0osQ0FBQyxDQUFDO0lBRVAsT0FBTyxJQUFJLDRCQUFZLENBQUMsTUFBTSxFQUFFO1FBQzlCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztRQUM5QixNQUFNLEVBQUUsV0FBVztRQUNuQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7S0FDekIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==