UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

55 lines 4.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.managePointsStep = void 0; const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const utils_1 = require("@medusajs/framework/utils"); 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 locking = container.resolve(utils_1.Modules.LOCKING); const expires_at = input.expiry_days ? new Date(new Date().getTime() + input.expiry_days * 24 * 60 * 60 * 1000) : undefined; if (input.type === "credit") { await locking.execute(`wallet_points_${input.customer_id}`, async () => { return await loyaltyModuleService.addPoints({ customer_id: input.customer_id, points: input.points, referenceType: input.reference_type, description: input.description, expires_at, metadata: input.metadata, notes: input.notes, }); }); } else { await locking.execute(`wallet_points_${input.customer_id}`, async () => { return await loyaltyModuleService.deductPoints({ customerId: input.customer_id, points: input.points, referenceType: input.reference_type, description: input.description, metadata: input.metadata, notes: input.notes, }); }); } 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLXBvaW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcG9pbnRzL3N0ZXBzL21hbmFnZS1wb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLHFEQUFvRDtBQUdwRCxzREFBMEQ7QUFjN0MsUUFBQSxnQkFBZ0IsR0FBRyxJQUFBLDBCQUFVLEVBQ3hDLGVBQWUsRUFDZixLQUFLLEVBQUUsS0FBZ0IsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDeEMsTUFBTSxvQkFBb0IsR0FDeEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyx3QkFBYyxDQUFDLENBQUM7SUFDcEMsTUFBTSxPQUFPLEdBQW1CLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRW5FLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxXQUFXO1FBQ2xDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzFFLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFZCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUNuQixpQkFBaUIsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUNwQyxLQUFLLElBQUksRUFBRTtZQUNULE9BQU8sTUFBTSxvQkFBb0IsQ0FBQyxTQUFTLENBQUM7Z0JBQzFDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO2dCQUNwQixhQUFhLEVBQUUsS0FBSyxDQUFDLGNBQWM7Z0JBQ25DLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsVUFBVTtnQkFDVixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7Z0JBQ3hCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSzthQUNuQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxPQUFPLENBQUMsT0FBTyxDQUNuQixpQkFBaUIsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUNwQyxLQUFLLElBQUksRUFBRTtZQUNULE9BQU8sTUFBTSxvQkFBb0IsQ0FBQyxZQUFZLENBQUM7Z0JBQzdDLFVBQVUsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDN0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO2dCQUNwQixhQUFhLEVBQUUsS0FBSyxDQUFDLGNBQWM7Z0JBQ25DLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2dCQUN4QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7YUFDbkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxTQUFTLENBQ3hELEtBQUssQ0FBQyxXQUFXLENBQ2xCLENBQUM7SUFDRixNQUFNLGtCQUFrQixHQUFHLE1BQU0sb0JBQW9CLENBQUMscUJBQXFCLENBQ3pFLEtBQUssQ0FBQyxXQUFXLEVBQ2pCO1FBQ0UsSUFBSSxFQUFFLENBQUM7UUFDUCxJQUFJLEVBQUUsQ0FBQztRQUNQLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtLQUNqQixDQUNGLENBQUM7SUFFRixPQUFPLElBQUksNEJBQVksQ0FBQztRQUN0QixNQUFNLEVBQUUsYUFBYTtRQUNyQixXQUFXLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztTQUMvQjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=