@devx-commerce/plugin-loyalty
Version:
A starter for Medusa plugins.
51 lines • 3.72 kB
JavaScript
;
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",
"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(() => {
(0, create_order_event_1.createOrderEventStep)({
customer_id: orders[0].customer.id,
amount: orders[0].total,
order_id: orders[0].id,
event: event,
});
});
(0, core_flows_1.updateOrdersStep)({
selector: { id: orders[0].id },
update: {
metadata: {
loyalty_status: "redeemed",
},
},
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuZGVsaXZlcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9vcmRlci9vcmRlci5kZWxpdmVyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXlFO0FBQ3pFLDREQUdxQztBQUdyQyx1REFBdUQ7QUFDdkQscUZBQW9GO0FBQ3BGLG1FQUFrRTtBQUtyRCxRQUFBLHNCQUFzQixHQUFHLElBQUEsOEJBQWMsRUFDaEQsd0JBQXdCLEVBQ3hCLENBQUMsRUFBRSxRQUFRLEVBQWlCLEVBQUUsRUFBRTtJQUM1QixNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDdkMsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUU7WUFDSixJQUFJO1lBQ0osWUFBWTtZQUNaLE9BQU87WUFDUCxRQUFRO1lBQ1IsbUJBQW1CO1lBQ25CLHlCQUF5QjtZQUN6QixnQ0FBZ0M7WUFDaEMsc0NBQXNDO1lBQ3RDLFVBQVU7U0FDYjtRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUU7UUFDekIsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFO0tBQ3hDLENBQUMsQ0FBQztJQUVQLDJCQUEyQjtJQUMzQixJQUFBLHFEQUEwQixFQUFDO1FBQ3pCLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtLQUM3QixDQUFDLENBQUM7SUFFSCw2RUFBNkU7SUFFN0UsTUFBTSxLQUFLLEdBQUcsSUFBQSx3QkFBWSxFQUFDO1FBQ3pCLFNBQVMsRUFBRSxpQkFBaUI7S0FDN0IsQ0FBQyxDQUFDO0lBRUgsSUFBQSxvQkFBSSxFQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLGFBQWEsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FDckUsR0FBRyxFQUFFO1FBQ0gsSUFBQSx5Q0FBb0IsRUFBQztZQUNuQixXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVMsQ0FBQyxFQUFFO1lBQ25DLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN2QixRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEIsS0FBSyxFQUFFLEtBQWlCO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FDRixDQUFDO0lBRUYsSUFBQSw2QkFBZ0IsRUFBQztRQUNmLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQzlCLE1BQU0sRUFBRTtZQUNOLFFBQVEsRUFBRTtnQkFDUixjQUFjLEVBQUUsVUFBVTthQUMzQjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==