UNPKG

@devx-commerce/plugin-loyalty

Version:

A starter for Medusa plugins.

68 lines 4.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeLoyaltyFromCartWorkflow = void 0; const utils_1 = require("@medusajs/framework/utils"); const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const core_flows_1 = require("@medusajs/medusa/core-flows"); const update_cart_promotion_1 = require("./custom/update-cart-promotion"); const get_cart_promotion_1 = require("./steps/get-cart-promotion"); const fields = [ "id", "customer.*", "promotions.*", "promotions.application_method.*", "promotions.rules.*", "promotions.rules.values.*", "currency_code", "total", "metadata", "items.adjustments.*", ]; exports.removeLoyaltyFromCartWorkflow = (0, workflows_sdk_1.createWorkflow)("remove-loyalty-from-cart", (input) => { const { data: carts } = (0, core_flows_1.useQueryGraphStep)({ entity: "cart", fields, filters: { id: input.cart_id }, options: { throwIfKeyNotFound: true }, }); const loyaltyPromo = (0, get_cart_promotion_1.getCartPromotionStep)({ cart: carts[0], throwErrorOn: "not-found", }); (0, workflows_sdk_1.when)(loyaltyPromo, (result) => !!result?.code).then(() => { update_cart_promotion_1.updateCartPromotionsWorkflow.runAsStep({ input: { cart_id: input.cart_id, promo_codes: [loyaltyPromo.code], action: utils_1.PromotionActions.REMOVE, }, }); const newMetadata = (0, workflows_sdk_1.transform)({ carts, }, (data) => { const { loyalty_promo_id, ...rest } = data.carts[0].metadata || {}; return { ...rest, loyalty_promo_id: null, loyalty_amount_used: null, }; }); (0, core_flows_1.updateCartsStep)([ { id: input.cart_id, metadata: newMetadata, }, ]); (0, core_flows_1.updatePromotionsStep)([ { id: loyaltyPromo.id, status: "inactive", }, ]); }); return new workflows_sdk_1.WorkflowResponse({ success: true, message: "Loyalty removed from cart successfully", }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWxveWFsdHktZnJvbS1jYXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jYXJ0L3JlbW92ZS1sb3lhbHR5LWZyb20tY2FydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBNkQ7QUFDN0QscUVBSzJDO0FBQzNDLDREQUlxQztBQUVyQywwRUFBOEU7QUFDOUUsbUVBQWtFO0FBTWxFLE1BQU0sTUFBTSxHQUFHO0lBQ2IsSUFBSTtJQUNKLFlBQVk7SUFDWixjQUFjO0lBQ2QsaUNBQWlDO0lBQ2pDLG9CQUFvQjtJQUNwQiwyQkFBMkI7SUFDM0IsZUFBZTtJQUNmLE9BQU87SUFDUCxVQUFVO0lBQ1YscUJBQXFCO0NBQ3RCLENBQUM7QUFFVyxRQUFBLDZCQUE2QixHQUFHLElBQUEsOEJBQWMsRUFDekQsMEJBQTBCLEVBQzFCLENBQUMsS0FBb0IsRUFBRSxFQUFFO0lBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN4QyxNQUFNLEVBQUUsTUFBTTtRQUNkLE1BQU07UUFDTixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRTtRQUM5QixPQUFPLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUU7S0FDdEMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxZQUFZLEdBQUcsSUFBQSx5Q0FBb0IsRUFBQztRQUN4QyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBYTtRQUMxQixZQUFZLEVBQUUsV0FBVztLQUMxQixDQUFDLENBQUM7SUFFSCxJQUFBLG9CQUFJLEVBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDdkQsb0RBQTRCLENBQUMsU0FBUyxDQUFDO1lBQ3JDLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLFdBQVcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFLLENBQUM7Z0JBQ2pDLE1BQU0sRUFBRSx3QkFBZ0IsQ0FBQyxNQUFNO2FBQ2hDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxXQUFXLEdBQUcsSUFBQSx5QkFBUyxFQUMzQjtZQUNFLEtBQUs7U0FDTixFQUNELENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDUCxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFFbkUsT0FBTztnQkFDTCxHQUFHLElBQUk7Z0JBQ1AsZ0JBQWdCLEVBQUUsSUFBSTtnQkFDdEIsbUJBQW1CLEVBQUUsSUFBSTthQUMxQixDQUFDO1FBQ0osQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFBLDRCQUFlLEVBQUM7WUFDZDtnQkFDRSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ2pCLFFBQVEsRUFBRSxXQUFXO2FBQ3RCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBQSxpQ0FBb0IsRUFBQztZQUNuQjtnQkFDRSxFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUU7Z0JBQ25CLE1BQU0sRUFBRSxVQUFVO2FBQ25CO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsT0FBTyxFQUFFLElBQUk7UUFDYixPQUFPLEVBQUUsd0NBQXdDO0tBQ2xELENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=