UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

55 lines 3.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.applyReferralOnCartWorkflow = void 0; const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const core_flows_1 = require("@medusajs/medusa/core-flows"); const validate_customer_exists_1 = require("./steps/validate-customer-exists"); const validate_referral_code_1 = require("./steps/validate-referral-code"); const fields = [ "id", "customer.*", "promotions.*", "promotions.application_method.*", "promotions.rules.*", "promotions.rules.values.*", "currency_code", "total", "metadata", ]; exports.applyReferralOnCartWorkflow = (0, workflows_sdk_1.createWorkflow)("apply-referral-on-cart", (input) => { const { cart_id, referral_code } = input; const { data: carts } = (0, core_flows_1.useQueryGraphStep)({ entity: "cart", fields, filters: { id: cart_id }, options: { throwIfKeyNotFound: true }, }); (0, validate_customer_exists_1.validateCustomerExistsStep)({ customer: carts[0].customer, }); (0, validate_referral_code_1.validateReferralCodeStep)({ referral_code, customer_id: carts[0].customer.id, }); const metadata = (0, workflows_sdk_1.transform)({ carts }, (data) => ({ ...data.carts[0].metadata, referral_code, })); (0, core_flows_1.updateCartsStep)([ { id: cart_id, metadata, }, ]); // retrieve cart with updated metadata const { data: updatedCarts } = (0, core_flows_1.useQueryGraphStep)({ entity: "cart", fields, filters: { id: cart_id }, }).config({ name: "retrieve-cart" }); return new workflows_sdk_1.WorkflowResponse({ success: true, data: updatedCarts[0], }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcmVmZXJyYWwtb24tY2FydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY2FydC9hcHBseS1yZWZlcnJhbC1vbi1jYXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUkyQztBQUMzQyw0REFHcUM7QUFDckMsK0VBQThFO0FBQzlFLDJFQUEwRTtBQU8xRSxNQUFNLE1BQU0sR0FBRztJQUNiLElBQUk7SUFDSixZQUFZO0lBQ1osY0FBYztJQUNkLGlDQUFpQztJQUNqQyxvQkFBb0I7SUFDcEIsMkJBQTJCO0lBQzNCLGVBQWU7SUFDZixPQUFPO0lBQ1AsVUFBVTtDQUNYLENBQUM7QUFDVyxRQUFBLDJCQUEyQixHQUFHLElBQUEsOEJBQWMsRUFDdkQsd0JBQXdCLEVBQ3hCLENBQUMsS0FBb0IsRUFBRSxFQUFFO0lBQ3ZCLE1BQU0sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXpDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN4QyxNQUFNLEVBQUUsTUFBTTtRQUNkLE1BQU07UUFDTixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFO1FBQ3hCLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtLQUN0QyxDQUFDLENBQUM7SUFFSCxJQUFBLHFEQUEwQixFQUFDO1FBQ3pCLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtLQUM1QixDQUFDLENBQUM7SUFFSCxJQUFBLGlEQUF3QixFQUFDO1FBQ3ZCLGFBQWE7UUFDYixXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO0tBQ2xDLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO1FBQ3pCLGFBQWE7S0FDZCxDQUFDLENBQUMsQ0FBQztJQUVKLElBQUEsNEJBQWUsRUFBQztRQUNkO1lBQ0UsRUFBRSxFQUFFLE9BQU87WUFDWCxRQUFRO1NBQ1Q7S0FDRixDQUFDLENBQUM7SUFFSCxzQ0FBc0M7SUFDdEMsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUFBLDhCQUFpQixFQUFDO1FBQy9DLE1BQU0sRUFBRSxNQUFNO1FBQ2QsTUFBTTtRQUNOLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUU7S0FDekIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBRXJDLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixPQUFPLEVBQUUsSUFBSTtRQUNiLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0tBQ3RCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=