@devx-commerce/plugin-loyalty
Version:
A starter for Medusa plugins.
46 lines • 3.77 kB
JavaScript
;
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==