UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

84 lines 4.49 kB
"use strict"; // import { createStep, StepResponse } from "@medusajs/framework/workflows-sdk"; // import { LOYALTY_MODULE } from "../../modules/loyalty"; // import LoyaltyModuleService from "../../modules/loyalty/service"; // import { EventDTO } from "../../api/admin/loyalty-event/middleware"; // type StepInput = { // customer_id: string; // amount: number; // event?: EventDTO; // referralCode?: string; // order_id: string; // referralEvent?: EventDTO; // }; Object.defineProperty(exports, "__esModule", { value: true }); // export const orderPlacedEventStep = createStep( // "add-purchase-as-points", // async (input: StepInput, { container }) => { // const { // customer_id, // amount, // referralEvent, // event, // referralCode, // order_id, // } = input; // const loyaltyModuleService: LoyaltyModuleService = // container.resolve(LOYALTY_MODULE); // //====================== handle referral bonus =============================== // if (referralCode && referralEvent) { // const res = await loyaltyModuleService.calculatePointForReferralOrder( // customer_id, // amount, // referralCode // ); // if (res) { // const { referee, referrer } = res; // await loyaltyModuleService.applyReferralBonus({ // referee: customer_id, // referrer: referrer.customer_id, // referee_bonus: referee.bonus, // referrer_bonus: referrer.bonus, // referral_code: referralCode, // expires_at: referee?.expires_at || undefined, // order_id, // }); // } // } // //====================== handle event =============================== // const { pointsToAdd, expires_at } = // await loyaltyModuleService.calculatePointsToAddFromOrderEvent( // event as EventDTO, // amount // ); // if (pointsToAdd <= 0) return; // const result = await loyaltyModuleService.addPoints({ // customer_id: input.customer_id, // points: pointsToAdd, // referenceType: "order", // description: `Purchase of ${input.amount}`, // expires_at, // order_id: input.order_id, // }); // return new StepResponse(result, { // customer_id: input.customer_id, // points: pointsToAdd, // order_id: input.order_id, // }); // }, // async (data, { container }) => { // if (!data) { // return; // } // const loyaltyModuleService: LoyaltyModuleService = // container.resolve(LOYALTY_MODULE); // await loyaltyModuleService.deductPoints({ // customerId: data.customer_id, // points: data.points, // referenceType: "order", // description: `Failed to add purchase as points for ${data.customer_id}`, // order_id: data.order_id, // }); // } // ); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGxhY2VkLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9vcmRlci1wbGFjZWQtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGdGQUFnRjtBQUNoRiwwREFBMEQ7QUFDMUQsb0VBQW9FO0FBQ3BFLHVFQUF1RTtBQUN2RSxxQkFBcUI7QUFDckIseUJBQXlCO0FBQ3pCLG9CQUFvQjtBQUNwQixzQkFBc0I7QUFDdEIsMkJBQTJCO0FBQzNCLHNCQUFzQjtBQUN0Qiw4QkFBOEI7QUFDOUIsS0FBSzs7QUFFTCxrREFBa0Q7QUFDbEQsOEJBQThCO0FBQzlCLGlEQUFpRDtBQUNqRCxjQUFjO0FBQ2QscUJBQXFCO0FBQ3JCLGdCQUFnQjtBQUNoQix1QkFBdUI7QUFDdkIsZUFBZTtBQUNmLHNCQUFzQjtBQUN0QixrQkFBa0I7QUFDbEIsaUJBQWlCO0FBQ2pCLHlEQUF5RDtBQUN6RCwyQ0FBMkM7QUFFM0MscUZBQXFGO0FBQ3JGLDJDQUEyQztBQUMzQywrRUFBK0U7QUFDL0UsdUJBQXVCO0FBQ3ZCLGtCQUFrQjtBQUNsQix1QkFBdUI7QUFDdkIsV0FBVztBQUVYLG1CQUFtQjtBQUNuQiw2Q0FBNkM7QUFFN0MsMERBQTBEO0FBQzFELGtDQUFrQztBQUNsQyw0Q0FBNEM7QUFDNUMsMENBQTBDO0FBQzFDLDRDQUE0QztBQUM1Qyx5Q0FBeUM7QUFDekMsMERBQTBEO0FBQzFELHNCQUFzQjtBQUN0QixjQUFjO0FBQ2QsVUFBVTtBQUNWLFFBQVE7QUFFUiw0RUFBNEU7QUFFNUUsMENBQTBDO0FBQzFDLHVFQUF1RTtBQUN2RSw2QkFBNkI7QUFDN0IsaUJBQWlCO0FBQ2pCLFdBQVc7QUFDWCxvQ0FBb0M7QUFFcEMsNERBQTREO0FBQzVELHdDQUF3QztBQUN4Qyw2QkFBNkI7QUFDN0IsZ0NBQWdDO0FBQ2hDLG9EQUFvRDtBQUNwRCxvQkFBb0I7QUFDcEIsa0NBQWtDO0FBQ2xDLFVBQVU7QUFFVix3Q0FBd0M7QUFDeEMsd0NBQXdDO0FBQ3hDLDZCQUE2QjtBQUM3QixrQ0FBa0M7QUFDbEMsVUFBVTtBQUNWLE9BQU87QUFFUCxxQ0FBcUM7QUFDckMsbUJBQW1CO0FBQ25CLGdCQUFnQjtBQUNoQixRQUFRO0FBRVIseURBQXlEO0FBQ3pELDJDQUEyQztBQUUzQyxnREFBZ0Q7QUFDaEQsc0NBQXNDO0FBQ3RDLDZCQUE2QjtBQUM3QixnQ0FBZ0M7QUFDaEMsaUZBQWlGO0FBQ2pGLGlDQUFpQztBQUNqQyxVQUFVO0FBQ1YsTUFBTTtBQUNOLEtBQUsifQ==