UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

59 lines 4.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.orderDeliveredWorkflow = void 0; const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const core_flows_1 = require("@medusajs/medusa/core-flows"); const get_event_1 = require("../cart/steps/get-event"); const validate_customer_exists_1 = require("../cart/steps/validate-customer-exists"); const create_order_event_1 = require("./steps/create-order-event"); exports.orderDeliveredWorkflow = (0, workflows_sdk_1.createWorkflow)("order-delivered-custom", ({ order_id }) => { const { data: orders } = (0, core_flows_1.useQueryGraphStep)({ entity: "order", fields: [ "id", "display_id", "customer.*", "total", "cart.*", "cart.promotions.*", "cart.promotions.rules.*", "cart.promotions.rules.values.*", "cart.promotions.application_method.*", "metadata", ], filters: { id: order_id }, options: { throwIfKeyNotFound: true }, }); // Validate customer exists (0, validate_customer_exists_1.validateCustomerExistsStep)({ customer: orders[0].customer, }); //====================== Add Loyalty Points from Order ====================== const event = (0, get_event_1.getEventStep)({ eventName: "order_delivered", }); (0, workflows_sdk_1.when)(event, (event) => event?.trigger_event === "order_delivered").then(() => { const orderEventResult = (0, create_order_event_1.createOrderEventStep)({ customer_id: orders[0].customer.id, amount: orders[0].total, order_id: orders[0].id, order_display_id: orders[0].display_id, event: event, }); const loyaltyMetadata = (0, workflows_sdk_1.transform)({ orders, orderEventResult }, (data) => { const currentMetadata = data.orders?.[0]?.metadata || {}; return { ...currentMetadata, loyalty_status: "redeemed", loyalty_point_earned: data?.orderEventResult?.points || 0, }; }); (0, core_flows_1.updateOrdersStep)({ selector: { id: orders[0].id }, update: { metadata: loyaltyMetadata, }, }); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuZGVsaXZlcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlci9vcmRlci5kZWxpdmVyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSTJDO0FBQzNDLDREQUdxQztBQUdyQyx1REFBdUQ7QUFDdkQscUZBQW9GO0FBQ3BGLG1FQUFrRTtBQUtyRCxRQUFBLHNCQUFzQixHQUFHLElBQUEsOEJBQWMsRUFDbEQsd0JBQXdCLEVBQ3hCLENBQUMsRUFBRSxRQUFRLEVBQWlCLEVBQUUsRUFBRTtJQUM5QixNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDekMsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUU7WUFDTixJQUFJO1lBQ0osWUFBWTtZQUNaLFlBQVk7WUFDWixPQUFPO1lBQ1AsUUFBUTtZQUNSLG1CQUFtQjtZQUNuQix5QkFBeUI7WUFDekIsZ0NBQWdDO1lBQ2hDLHNDQUFzQztZQUN0QyxVQUFVO1NBQ1g7UUFDRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUM7SUFFSCwyQkFBMkI7SUFDM0IsSUFBQSxxREFBMEIsRUFBQztRQUN6QixRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7S0FDN0IsQ0FBQyxDQUFDO0lBRUgsNkVBQTZFO0lBRTdFLE1BQU0sS0FBSyxHQUFHLElBQUEsd0JBQVksRUFBQztRQUN6QixTQUFTLEVBQUUsaUJBQWlCO0tBQzdCLENBQUMsQ0FBQztJQUVILElBQUEsb0JBQUksRUFBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxhQUFhLEtBQUssaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQ3JFLEdBQUcsRUFBRTtRQUNILE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSx5Q0FBb0IsRUFBQztZQUM1QyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVMsQ0FBQyxFQUFFO1lBQ25DLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN2QixRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEIsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7WUFDdEMsS0FBSyxFQUFFLEtBQWlCO1NBQ3pCLENBQUMsQ0FBQztRQUVILE1BQU0sZUFBZSxHQUFHLElBQUEseUJBQVMsRUFDL0IsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsRUFDNUIsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNQLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ3pELE9BQU87Z0JBQ0wsR0FBRyxlQUFlO2dCQUNsQixjQUFjLEVBQUUsVUFBVTtnQkFDMUIsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sSUFBSSxDQUFDO2FBQzFELENBQUM7UUFDSixDQUFDLENBQ0YsQ0FBQztRQUVGLElBQUEsNkJBQWdCLEVBQUM7WUFDZixRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM5QixNQUFNLEVBQUU7Z0JBQ04sUUFBUSxFQUFFLGVBQWU7YUFDMUI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQ0YsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDIn0=