UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

46 lines 3.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.managePointsStep = void 0; const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const loyalty_1 = require("../../../modules/loyalty"); exports.managePointsStep = (0, workflows_sdk_1.createStep)("manage-points", async (input, { container }) => { const loyaltyModuleService = container.resolve(loyalty_1.LOYALTY_MODULE); const expires_at = input.expiry_days ? new Date(new Date().getTime() + input.expiry_days * 24 * 60 * 60 * 1000) : undefined; let result; if (input.type === "credit") { result = await loyaltyModuleService.addPoints({ customer_id: input.customer_id, points: input.points, referenceType: input.reference_type, description: input.description, expires_at, }); } else { result = await loyaltyModuleService.deductPoints({ customerId: input.customer_id, points: input.points, referenceType: input.reference_type, description: input.description, }); } const updatedPoints = await loyaltyModuleService.getPoints(input.customer_id); const recentTransactions = await loyaltyModuleService.getTransactionHistory(input.customer_id, { take: 1, skip: 0, type: input.type, }); return new workflows_sdk_1.StepResponse({ points: updatedPoints, transaction: recentTransactions[0], operation: { type: input.type, points: input.points, reference_type: input.reference_type, description: input.description, }, }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLXBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcG9pbnRzL3N0ZXBzL21hbmFnZS1wb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLHNEQUEwRDtBQWE3QyxRQUFBLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFDeEMsZUFBZSxFQUNmLEtBQUssRUFBRSxLQUFnQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN4QyxNQUFNLG9CQUFvQixHQUN4QixTQUFTLENBQUMsT0FBTyxDQUFDLHdCQUFjLENBQUMsQ0FBQztJQUNwQyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsV0FBVztRQUNsQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxRSxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRWQsSUFBSSxNQUFNLENBQUM7SUFDWCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsTUFBTSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsU0FBUyxDQUFDO1lBQzVDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ25DLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixVQUFVO1NBQ1gsQ0FBQyxDQUFDO0lBRUwsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxZQUFZLENBQUM7WUFDL0MsVUFBVSxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzdCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixhQUFhLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDbkMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQy9CLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLG9CQUFvQixDQUFDLFNBQVMsQ0FDeEQsS0FBSyxDQUFDLFdBQVcsQ0FDbEIsQ0FBQztJQUNGLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxxQkFBcUIsQ0FDekUsS0FBSyxDQUFDLFdBQVcsRUFDakI7UUFDRSxJQUFJLEVBQUUsQ0FBQztRQUNQLElBQUksRUFBRSxDQUFDO1FBQ1AsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0tBQ2pCLENBQ0YsQ0FBQztJQUVGLE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDbEMsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDcEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQy9CO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==