@kshon/loyalty-plugin 2.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +69052 -0
- package/.medusa/server/src/admin/index.mjs +69034 -0
- package/.medusa/server/src/api/admin/gift-cards/[id]/orders/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/gift-cards/[id]/orders/route.js +28 -0
- package/.medusa/server/src/api/admin/gift-cards/[id]/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/gift-cards/[id]/route.js +41 -0
- package/.medusa/server/src/api/admin/gift-cards/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/gift-cards/middlewares.js +46 -0
- package/.medusa/server/src/api/admin/gift-cards/query-config.d.ts +14 -0
- package/.medusa/server/src/api/admin/gift-cards/query-config.js +32 -0
- package/.medusa/server/src/api/admin/gift-cards/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/gift-cards/route.js +42 -0
- package/.medusa/server/src/api/admin/gift-cards/validators.d.ts +139 -0
- package/.medusa/server/src/api/admin/gift-cards/validators.js +56 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/credit/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/credit/route.js +30 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/route.js +19 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/transactions/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/transactions/route.js +23 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/middlewares.js +46 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/query-config.d.ts +18 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/query-config.js +44 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/route.js +52 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/validators.d.ts +142 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/validators.js +45 -0
- package/.medusa/server/src/api/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/middlewares.js +18 -0
- package/.medusa/server/src/api/store/carts/[id]/gift-cards/route.d.ts +5 -0
- package/.medusa/server/src/api/store/carts/[id]/gift-cards/route.js +43 -0
- package/.medusa/server/src/api/store/carts/[id]/store-credits/route.d.ts +4 -0
- package/.medusa/server/src/api/store/carts/[id]/store-credits/route.js +24 -0
- package/.medusa/server/src/api/store/carts/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/store/carts/middlewares.js +35 -0
- package/.medusa/server/src/api/store/carts/query-config.d.ts +4 -0
- package/.medusa/server/src/api/store/carts/query-config.js +9 -0
- package/.medusa/server/src/api/store/carts/validators.d.ts +13 -0
- package/.medusa/server/src/api/store/carts/validators.js +14 -0
- package/.medusa/server/src/api/store/gift-cards/[idOrCode]/route.d.ts +3 -0
- package/.medusa/server/src/api/store/gift-cards/[idOrCode]/route.js +24 -0
- package/.medusa/server/src/api/store/gift-cards/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/store/gift-cards/middlewares.js +16 -0
- package/.medusa/server/src/api/store/gift-cards/query-config.d.ts +9 -0
- package/.medusa/server/src/api/store/gift-cards/query-config.js +23 -0
- package/.medusa/server/src/api/store/gift-cards/validators.d.ts +7 -0
- package/.medusa/server/src/api/store/gift-cards/validators.js +8 -0
- package/.medusa/server/src/api/store/store-credit-accounts/[id]/route.d.ts +3 -0
- package/.medusa/server/src/api/store/store-credit-accounts/[id]/route.js +31 -0
- package/.medusa/server/src/api/store/store-credit-accounts/claim/route.d.ts +3 -0
- package/.medusa/server/src/api/store/store-credit-accounts/claim/route.js +25 -0
- package/.medusa/server/src/api/store/store-credit-accounts/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/store/store-credit-accounts/middlewares.js +36 -0
- package/.medusa/server/src/api/store/store-credit-accounts/query-config.d.ts +9 -0
- package/.medusa/server/src/api/store/store-credit-accounts/query-config.js +24 -0
- package/.medusa/server/src/api/store/store-credit-accounts/route.d.ts +3 -0
- package/.medusa/server/src/api/store/store-credit-accounts/route.js +40 -0
- package/.medusa/server/src/api/store/store-credit-accounts/validators.d.ts +44 -0
- package/.medusa/server/src/api/store/store-credit-accounts/validators.js +19 -0
- package/.medusa/server/src/links/cart-gift-cards-link.d.ts +2 -0
- package/.medusa/server/src/links/cart-gift-cards-link.js +13 -0
- package/.medusa/server/src/links/customer-store-credit-account-link.d.ts +1 -0
- package/.medusa/server/src/links/customer-store-credit-account-link.js +13 -0
- package/.medusa/server/src/links/gift-card-store-credit.d.ts +2 -0
- package/.medusa/server/src/links/gift-card-store-credit.js +10 -0
- package/.medusa/server/src/links/order-gift-cards-link.d.ts +2 -0
- package/.medusa/server/src/links/order-gift-cards-link.js +13 -0
- package/.medusa/server/src/links/order-line-item-gift-card-link.d.ts +1 -0
- package/.medusa/server/src/links/order-line-item-gift-card-link.js +19 -0
- package/.medusa/server/src/modules/loyalty/index.d.ts +21 -0
- package/.medusa/server/src/modules/loyalty/index.js +12 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250123130553.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250123130553.js +17 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250127174331.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250127174331.js +19 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206141026.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206141026.js +19 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206141429.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206141429.js +14 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206144714.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206144714.js +14 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250326095923.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250326095923.js +16 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250617080328.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250617080328.js +20 -0
- package/.medusa/server/src/modules/loyalty/models/gift-card.d.ts +18 -0
- package/.medusa/server/src/modules/loyalty/models/gift-card.js +18 -0
- package/.medusa/server/src/modules/loyalty/models/index.d.ts +1 -0
- package/.medusa/server/src/modules/loyalty/models/index.js +9 -0
- package/.medusa/server/src/modules/loyalty/service.d.ts +21 -0
- package/.medusa/server/src/modules/loyalty/service.js +13 -0
- package/.medusa/server/src/modules/store-credit/index.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/index.js +12 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250129115518.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250129115518.js +16 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250130213237.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250130213237.js +18 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250130220640.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250130220640.js +19 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250131205753.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250131205753.js +14 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250520081315.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250520081315.js +16 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250626081315.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250626081315.js +16 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250722080351.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250722080351.js +27 -0
- package/.medusa/server/src/modules/store-credit/models/account-transaction.d.ts +28 -0
- package/.medusa/server/src/modules/store-credit/models/account-transaction.js +21 -0
- package/.medusa/server/src/modules/store-credit/models/index.d.ts +2 -0
- package/.medusa/server/src/modules/store-credit/models/index.js +11 -0
- package/.medusa/server/src/modules/store-credit/models/store-credit-account.d.ts +27 -0
- package/.medusa/server/src/modules/store-credit/models/store-credit-account.js +27 -0
- package/.medusa/server/src/modules/store-credit/service.d.ts +29 -0
- package/.medusa/server/src/modules/store-credit/service.js +253 -0
- package/.medusa/server/src/subscribers/create-gift-card.d.ts +5 -0
- package/.medusa/server/src/subscribers/create-gift-card.js +53 -0
- package/.medusa/server/src/types/cart/index.d.ts +12 -0
- package/.medusa/server/src/types/cart/index.js +3 -0
- package/.medusa/server/src/types/http/gift-card.d.ts +42 -0
- package/.medusa/server/src/types/http/gift-card.js +3 -0
- package/.medusa/server/src/types/http/index.d.ts +3 -0
- package/.medusa/server/src/types/http/index.js +20 -0
- package/.medusa/server/src/types/http/store-credit-account.d.ts +60 -0
- package/.medusa/server/src/types/http/store-credit-account.js +3 -0
- package/.medusa/server/src/types/http/transaction.d.ts +19 -0
- package/.medusa/server/src/types/http/transaction.js +3 -0
- package/.medusa/server/src/types/index.d.ts +4 -0
- package/.medusa/server/src/types/index.js +21 -0
- package/.medusa/server/src/types/loyalty/index.d.ts +3 -0
- package/.medusa/server/src/types/loyalty/index.js +20 -0
- package/.medusa/server/src/types/loyalty/module.d.ts +151 -0
- package/.medusa/server/src/types/loyalty/module.js +12 -0
- package/.medusa/server/src/types/loyalty/service.d.ts +168 -0
- package/.medusa/server/src/types/loyalty/service.js +3 -0
- package/.medusa/server/src/types/loyalty/workflows.d.ts +3 -0
- package/.medusa/server/src/types/loyalty/workflows.js +3 -0
- package/.medusa/server/src/types/modules.d.ts +6 -0
- package/.medusa/server/src/types/modules.js +12 -0
- package/.medusa/server/src/types/store-credit/index.d.ts +2 -0
- package/.medusa/server/src/types/store-credit/index.js +19 -0
- package/.medusa/server/src/types/store-credit/module.d.ts +290 -0
- package/.medusa/server/src/types/store-credit/module.js +13 -0
- package/.medusa/server/src/types/store-credit/service.d.ts +325 -0
- package/.medusa/server/src/types/store-credit/service.js +3 -0
- package/.medusa/server/src/utils/code-generator.d.ts +1 -0
- package/.medusa/server/src/utils/code-generator.js +32 -0
- package/.medusa/server/src/workflows/carts/index.d.ts +5 -0
- package/.medusa/server/src/workflows/carts/index.js +22 -0
- package/.medusa/server/src/workflows/carts/steps/validate-gift-card-balances.d.ts +37 -0
- package/.medusa/server/src/workflows/carts/steps/validate-gift-card-balances.js +36 -0
- package/.medusa/server/src/workflows/carts/workflows/add-gift-card-to-cart.d.ts +118 -0
- package/.medusa/server/src/workflows/carts/workflows/add-gift-card-to-cart.js +179 -0
- package/.medusa/server/src/workflows/carts/workflows/add-store-credits-to-cart.d.ts +88 -0
- package/.medusa/server/src/workflows/carts/workflows/add-store-credits-to-cart.js +134 -0
- package/.medusa/server/src/workflows/carts/workflows/confirm-cart-credit-lines.d.ts +68 -0
- package/.medusa/server/src/workflows/carts/workflows/confirm-cart-credit-lines.js +110 -0
- package/.medusa/server/src/workflows/carts/workflows/refresh-cart-gift-cards.d.ts +30 -0
- package/.medusa/server/src/workflows/carts/workflows/refresh-cart-gift-cards.js +154 -0
- package/.medusa/server/src/workflows/carts/workflows/remove-gift-cart-from-cart.d.ts +103 -0
- package/.medusa/server/src/workflows/carts/workflows/remove-gift-cart-from-cart.js +124 -0
- package/.medusa/server/src/workflows/common/steps/validate-presence-of.d.ts +29 -0
- package/.medusa/server/src/workflows/common/steps/validate-presence-of.js +22 -0
- package/.medusa/server/src/workflows/gift-cards/index.d.ts +9 -0
- package/.medusa/server/src/workflows/gift-cards/index.js +26 -0
- package/.medusa/server/src/workflows/gift-cards/steps/create-gift-cards.d.ts +20 -0
- package/.medusa/server/src/workflows/gift-cards/steps/create-gift-cards.js +38 -0
- package/.medusa/server/src/workflows/gift-cards/steps/delete-gift-cards.d.ts +17 -0
- package/.medusa/server/src/workflows/gift-cards/steps/delete-gift-cards.js +24 -0
- package/.medusa/server/src/workflows/gift-cards/steps/retrieve-gift-card-balance.d.ts +32 -0
- package/.medusa/server/src/workflows/gift-cards/steps/retrieve-gift-card-balance.js +34 -0
- package/.medusa/server/src/workflows/gift-cards/steps/update-gift-cards.d.ts +19 -0
- package/.medusa/server/src/workflows/gift-cards/steps/update-gift-cards.js +41 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/claim-gift-card.d.ts +65 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/claim-gift-card.js +101 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/create-gift-cards.d.ts +36 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/create-gift-cards.js +88 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/delete-gift-card.d.ts +28 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/delete-gift-card.js +34 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/redeem-gift-card.d.ts +60 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/redeem-gift-card.js +129 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/update-gift-cards.d.ts +28 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/update-gift-cards.js +31 -0
- package/.medusa/server/src/workflows/hooks/after-order-created.d.ts +1 -0
- package/.medusa/server/src/workflows/hooks/after-order-created.js +31 -0
- package/.medusa/server/src/workflows/hooks/after-order-credit-lines-created.d.ts +1 -0
- package/.medusa/server/src/workflows/hooks/after-order-credit-lines-created.js +32 -0
- package/.medusa/server/src/workflows/hooks/before-payment-collection-refresh.d.ts +1 -0
- package/.medusa/server/src/workflows/hooks/before-payment-collection-refresh.js +26 -0
- package/.medusa/server/src/workflows/hooks/complete-cart-before-payment-authorization.d.ts +1 -0
- package/.medusa/server/src/workflows/hooks/complete-cart-before-payment-authorization.js +27 -0
- package/.medusa/server/src/workflows/index.d.ts +3 -0
- package/.medusa/server/src/workflows/index.js +20 -0
- package/.medusa/server/src/workflows/orders/index.d.ts +2 -0
- package/.medusa/server/src/workflows/orders/index.js +19 -0
- package/.medusa/server/src/workflows/orders/workflows/link-gift-cards-to-order.d.ts +34 -0
- package/.medusa/server/src/workflows/orders/workflows/link-gift-cards-to-order.js +75 -0
- package/.medusa/server/src/workflows/orders/workflows/refund-credit-lines.d.ts +88 -0
- package/.medusa/server/src/workflows/orders/workflows/refund-credit-lines.js +131 -0
- package/.medusa/server/src/workflows/store-credit/index.d.ts +8 -0
- package/.medusa/server/src/workflows/store-credit/index.js +25 -0
- package/.medusa/server/src/workflows/store-credit/steps/create-store-credit-accounts.d.ts +19 -0
- package/.medusa/server/src/workflows/store-credit/steps/create-store-credit-accounts.js +37 -0
- package/.medusa/server/src/workflows/store-credit/steps/credit-account.d.ts +20 -0
- package/.medusa/server/src/workflows/store-credit/steps/credit-account.js +31 -0
- package/.medusa/server/src/workflows/store-credit/steps/debit-account.d.ts +20 -0
- package/.medusa/server/src/workflows/store-credit/steps/debit-account.js +31 -0
- package/.medusa/server/src/workflows/store-credit/workflows/claim-store-credit-account.d.ts +91 -0
- package/.medusa/server/src/workflows/store-credit/workflows/claim-store-credit-account.js +170 -0
- package/.medusa/server/src/workflows/store-credit/workflows/create-store-credit-accounts.d.ts +50 -0
- package/.medusa/server/src/workflows/store-credit/workflows/create-store-credit-accounts.js +50 -0
- package/.medusa/server/src/workflows/store-credit/workflows/credit-accounts.d.ts +29 -0
- package/.medusa/server/src/workflows/store-credit/workflows/credit-accounts.js +32 -0
- package/.medusa/server/src/workflows/store-credit/workflows/credit-store-credit-account.d.ts +29 -0
- package/.medusa/server/src/workflows/store-credit/workflows/credit-store-credit-account.js +67 -0
- package/.medusa/server/src/workflows/store-credit/workflows/debit-accounts.d.ts +29 -0
- package/.medusa/server/src/workflows/store-credit/workflows/debit-accounts.js +32 -0
- package/.medusa/server/tailwind.config.d.ts +3 -0
- package/.medusa/server/tailwind.config.js +12 -0
- package/README.md +62 -0
- package/package.json +107 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.refreshCartGiftCardsWorkflow = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
|
+
const types_1 = require("../../../types");
|
|
8
|
+
const retrieve_gift_card_balance_1 = require("../../gift-cards/steps/retrieve-gift-card-balance");
|
|
9
|
+
const validate_gift_card_balances_1 = require("../steps/validate-gift-card-balances");
|
|
10
|
+
/**
|
|
11
|
+
* This workflow refreshes the gift card credit lines on a cart. It removes existing
|
|
12
|
+
* gift card credit lines and recreates them based on current gift card balances,
|
|
13
|
+
* accounting for any changes to the cart total or gift card balances.
|
|
14
|
+
*
|
|
15
|
+
* You can use this workflow within your own customizations or custom workflows,
|
|
16
|
+
* allowing you to wrap custom logic around refreshing cart gift cards.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const { result } = await refreshCartGiftCardsWorkflow(container)
|
|
20
|
+
* .run({
|
|
21
|
+
* input: {
|
|
22
|
+
* cart_id: "cart_123",
|
|
23
|
+
* },
|
|
24
|
+
* })
|
|
25
|
+
*
|
|
26
|
+
* @summary
|
|
27
|
+
*
|
|
28
|
+
* Refresh gift card credit lines on a cart.
|
|
29
|
+
*/
|
|
30
|
+
exports.refreshCartGiftCardsWorkflow = (0, workflows_sdk_1.createWorkflow)("refresh-cart-gift-card", function (input) {
|
|
31
|
+
const existingCardQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
32
|
+
entity: "cart",
|
|
33
|
+
filters: { id: input.cart_id },
|
|
34
|
+
fields: [
|
|
35
|
+
"id",
|
|
36
|
+
"currency_code",
|
|
37
|
+
"total",
|
|
38
|
+
"gift_cards.code",
|
|
39
|
+
"credit_lines.id",
|
|
40
|
+
"credit_lines.reference",
|
|
41
|
+
"credit_lines.reference_id",
|
|
42
|
+
],
|
|
43
|
+
options: { throwIfKeyNotFound: true },
|
|
44
|
+
}).config({ name: "get-existing-cart-query" });
|
|
45
|
+
const existingCart = (0, workflows_sdk_1.transform)({ existingCardQuery }, ({ existingCardQuery }) => {
|
|
46
|
+
return existingCardQuery.data[0];
|
|
47
|
+
});
|
|
48
|
+
const toDismiss = (0, workflows_sdk_1.transform)({ existingCart }, ({ existingCart }) => {
|
|
49
|
+
const giftCardCreditLines = existingCart.credit_lines.filter((creditLine) => creditLine.reference === "gift-card");
|
|
50
|
+
return {
|
|
51
|
+
creditLineIds: giftCardCreditLines.map((cl) => cl.id),
|
|
52
|
+
giftCardIds: giftCardCreditLines.map((cl) => cl.reference_id),
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
core_flows_1.deleteCartCreditLinesWorkflow.runAsStep({
|
|
56
|
+
input: {
|
|
57
|
+
id: toDismiss.creditLineIds,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
const linksToDismiss = (0, workflows_sdk_1.transform)({ toDismiss, existingCart }, ({ toDismiss, existingCart }) => {
|
|
61
|
+
const links = toDismiss.giftCardIds.map((giftCardId) => ({
|
|
62
|
+
[utils_1.Modules.CART]: { cart_id: existingCart.id },
|
|
63
|
+
[types_1.PluginModule.LOYALTY]: { gift_card_id: giftCardId },
|
|
64
|
+
}));
|
|
65
|
+
return links;
|
|
66
|
+
});
|
|
67
|
+
core_flows_1.dismissLinksWorkflow.runAsStep({ input: linksToDismiss });
|
|
68
|
+
const giftCardCodes = (0, workflows_sdk_1.transform)({ existingCart }, ({ existingCart }) => {
|
|
69
|
+
return existingCart.gift_cards.map((gc) => gc.code);
|
|
70
|
+
});
|
|
71
|
+
const giftCardQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
72
|
+
entity: "gift_card",
|
|
73
|
+
filters: { code: giftCardCodes },
|
|
74
|
+
fields: ["id", "code", "status", "currency_code"],
|
|
75
|
+
}).config({ name: "get-gift-card-query" });
|
|
76
|
+
const giftCards = (0, workflows_sdk_1.transform)({ giftCardQuery }, ({ giftCardQuery }) => {
|
|
77
|
+
return giftCardQuery.data;
|
|
78
|
+
});
|
|
79
|
+
const giftCardsIds = (0, workflows_sdk_1.transform)({ giftCards }, ({ giftCards }) => {
|
|
80
|
+
return giftCards.map((gc) => gc.id);
|
|
81
|
+
});
|
|
82
|
+
const giftCardStoreCreditAccountQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
83
|
+
entity: "gift_card_store_credit_account",
|
|
84
|
+
filters: {
|
|
85
|
+
gift_card_id: giftCardsIds,
|
|
86
|
+
},
|
|
87
|
+
fields: ["id", "store_credit_account_id", "gift_card_id"],
|
|
88
|
+
}).config({ name: "get-gift-card-store-credit-account-query" });
|
|
89
|
+
const { giftCardStoreCreditAccountMap } = (0, workflows_sdk_1.transform)({ giftCardStoreCreditAccountQuery }, ({ giftCardStoreCreditAccountQuery }) => {
|
|
90
|
+
const giftCardStoreCreditAccountMap = {};
|
|
91
|
+
for (const gcsa of giftCardStoreCreditAccountQuery.data) {
|
|
92
|
+
giftCardStoreCreditAccountMap[gcsa.gift_card_id] =
|
|
93
|
+
gcsa.store_credit_account_id;
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
giftCardStoreCreditAccountMap,
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
const giftCardsBalanceMap = (0, retrieve_gift_card_balance_1.retrieveGiftCardsBalanceStep)({
|
|
100
|
+
giftCards,
|
|
101
|
+
giftCardStoreCreditAccountMap,
|
|
102
|
+
});
|
|
103
|
+
(0, validate_gift_card_balances_1.validateGiftCardBalancesStep)({
|
|
104
|
+
giftCards,
|
|
105
|
+
giftCardsBalanceMap,
|
|
106
|
+
});
|
|
107
|
+
const updatedCardQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
108
|
+
entity: "cart",
|
|
109
|
+
filters: { id: input.cart_id },
|
|
110
|
+
fields: [
|
|
111
|
+
"id",
|
|
112
|
+
"currency_code",
|
|
113
|
+
"total",
|
|
114
|
+
"gift_cards.code",
|
|
115
|
+
"customer_id",
|
|
116
|
+
],
|
|
117
|
+
options: { throwIfKeyNotFound: true },
|
|
118
|
+
}).config({ name: "get-cart-query" });
|
|
119
|
+
const cart = (0, workflows_sdk_1.transform)({ updatedCardQuery }, ({ updatedCardQuery }) => {
|
|
120
|
+
return updatedCardQuery.data[0];
|
|
121
|
+
});
|
|
122
|
+
const creditLinesToCreate = (0, workflows_sdk_1.transform)({ giftCardsBalanceMap, giftCards, cart }, ({ giftCardsBalanceMap, giftCards, cart }) => {
|
|
123
|
+
let tempCartTotal = utils_1.MathBN.convert(cart.total);
|
|
124
|
+
const creditLinesData = [];
|
|
125
|
+
for (const giftCard of giftCards) {
|
|
126
|
+
const stats = giftCardsBalanceMap[giftCard.code];
|
|
127
|
+
const amount = utils_1.MathBN.min(stats.balance, tempCartTotal);
|
|
128
|
+
if (amount.gt(0)) {
|
|
129
|
+
creditLinesData.push({
|
|
130
|
+
cart_id: cart.id,
|
|
131
|
+
amount: amount.toNumber(),
|
|
132
|
+
reference: "gift-card",
|
|
133
|
+
reference_id: giftCard.id,
|
|
134
|
+
metadata: {},
|
|
135
|
+
});
|
|
136
|
+
tempCartTotal = tempCartTotal.minus(amount);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return creditLinesData;
|
|
140
|
+
});
|
|
141
|
+
const creditLines = core_flows_1.createCartCreditLinesWorkflow.runAsStep({
|
|
142
|
+
input: creditLinesToCreate,
|
|
143
|
+
});
|
|
144
|
+
const linksToCreate = (0, workflows_sdk_1.transform)({ giftCards, cart }, ({ giftCards, cart }) => {
|
|
145
|
+
const links = giftCards.map((giftCard) => ({
|
|
146
|
+
[utils_1.Modules.CART]: { cart_id: cart.id },
|
|
147
|
+
[types_1.PluginModule.LOYALTY]: { gift_card_id: giftCard.id },
|
|
148
|
+
}));
|
|
149
|
+
return links;
|
|
150
|
+
});
|
|
151
|
+
core_flows_1.createLinksWorkflow.runAsStep({ input: linksToCreate });
|
|
152
|
+
return new workflows_sdk_1.WorkflowResponse(creditLines);
|
|
153
|
+
});
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC1jYXJ0LWdpZnQtY2FyZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NhcnRzL3dvcmtmbG93cy9yZWZyZXNoLWNhcnQtZ2lmdC1jYXJkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBNEQ7QUFDNUQsNERBTXFDO0FBQ3JDLHFFQUkyQztBQUMzQywwQ0FBOEM7QUFDOUMsa0dBQWlHO0FBQ2pHLHNGQUFvRjtBQVlwRjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNVLFFBQUEsNEJBQTRCLEdBQUcsSUFBQSw4QkFBYyxFQUN4RCx3QkFBd0IsRUFDeEIsVUFBVSxLQUF3QztJQUNoRCxNQUFNLGlCQUFpQixHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDMUMsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRTtRQUM5QixNQUFNLEVBQUU7WUFDTixJQUFJO1lBQ0osZUFBZTtZQUNmLE9BQU87WUFDUCxpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QiwyQkFBMkI7U0FDNUI7UUFDRCxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUU7S0FDdEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFFL0MsTUFBTSxZQUFZLEdBQUcsSUFBQSx5QkFBUyxFQUM1QixFQUFFLGlCQUFpQixFQUFFLEVBQ3JCLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUNGLENBQUM7SUFFRixNQUFNLFNBQVMsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxZQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtRQUNqRSxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUMxRCxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsS0FBSyxXQUFXLENBQ3JELENBQUM7UUFFRixPQUFPO1lBQ0wsYUFBYSxFQUFFLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNyRCxXQUFXLEVBQUUsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDO1NBQzlELENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILDBDQUE2QixDQUFDLFNBQVMsQ0FBQztRQUN0QyxLQUFLLEVBQUU7WUFDTCxFQUFFLEVBQUUsU0FBUyxDQUFDLGFBQWE7U0FDNUI7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFBLHlCQUFTLEVBQzlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxFQUMzQixDQUFDLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7UUFDOUIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkQsQ0FBQyxlQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUM1QyxDQUFDLG9CQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFO1NBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUosT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQ0YsQ0FBQztJQUVGLGlDQUFvQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBRTFELE1BQU0sYUFBYSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO1FBQ3JFLE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sYUFBYSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDdEMsTUFBTSxFQUFFLFdBQVc7UUFDbkIsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtRQUNoQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxlQUFlLENBQUM7S0FDbEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFFM0MsTUFBTSxTQUFTLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUU7UUFDbkUsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQzVCLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxZQUFZLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7UUFDOUQsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLCtCQUErQixHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDeEQsTUFBTSxFQUFFLGdDQUFnQztRQUN4QyxPQUFPLEVBQUU7WUFDUCxZQUFZLEVBQUUsWUFBWTtTQUMzQjtRQUNELE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRSxjQUFjLENBQUM7S0FDMUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSwwQ0FBMEMsRUFBRSxDQUFDLENBQUM7SUFFaEUsTUFBTSxFQUFFLDZCQUE2QixFQUFFLEdBQUcsSUFBQSx5QkFBUyxFQUNqRCxFQUFFLCtCQUErQixFQUFFLEVBQ25DLENBQUMsRUFBRSwrQkFBK0IsRUFBRSxFQUFFLEVBQUU7UUFDdEMsTUFBTSw2QkFBNkIsR0FBMkIsRUFBRSxDQUFDO1FBRWpFLEtBQUssTUFBTSxJQUFJLElBQUksK0JBQStCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEQsNkJBQTZCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDOUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDO1FBQ2pDLENBQUM7UUFFRCxPQUFPO1lBQ0wsNkJBQTZCO1NBQzlCLENBQUM7SUFDSixDQUFDLENBQ0YsQ0FBQztJQUVGLE1BQU0sbUJBQW1CLEdBQUcsSUFBQSx5REFBNEIsRUFBQztRQUN2RCxTQUFTO1FBQ1QsNkJBQTZCO0tBQzlCLENBQUMsQ0FBQztJQUVILElBQUEsMERBQTRCLEVBQUM7UUFDM0IsU0FBUztRQUNULG1CQUFtQjtLQUNwQixDQUFDLENBQUM7SUFFSCxNQUFNLGdCQUFnQixHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDekMsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRTtRQUM5QixNQUFNLEVBQUU7WUFDTixJQUFJO1lBQ0osZUFBZTtZQUNmLE9BQU87WUFDUCxpQkFBaUI7WUFDakIsYUFBYTtTQUNkO1FBQ0QsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFO0tBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRXRDLE1BQU0sSUFBSSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRTtRQUNwRSxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sbUJBQW1CLEdBQUcsSUFBQSx5QkFBUyxFQUNuQyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFDeEMsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1FBQzNDLElBQUksYUFBYSxHQUFHLGNBQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE1BQU0sZUFBZSxHQUE4QixFQUFFLENBQUM7UUFFdEQsS0FBSyxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNqQyxNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakQsTUFBTSxNQUFNLEdBQUcsY0FBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBRXhELElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNqQixlQUFlLENBQUMsSUFBSSxDQUFDO29CQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUU7b0JBQ2hCLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFO29CQUN6QixTQUFTLEVBQUUsV0FBVztvQkFDdEIsWUFBWSxFQUFFLFFBQVEsQ0FBQyxFQUFFO29CQUN6QixRQUFRLEVBQUUsRUFBRTtpQkFDYixDQUFDLENBQUM7Z0JBRUgsYUFBYSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDLENBQ0YsQ0FBQztJQUVGLE1BQU0sV0FBVyxHQUFHLDBDQUE2QixDQUFDLFNBQVMsQ0FBQztRQUMxRCxLQUFLLEVBQUUsbUJBQW1CO0tBQzNCLENBQUMsQ0FBQztJQUVILE1BQU0sYUFBYSxHQUFHLElBQUEseUJBQVMsRUFDN0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQ25CLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtRQUN0QixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsZUFBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDcEMsQ0FBQyxvQkFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUU7U0FDdEQsQ0FBQyxDQUFDLENBQUM7UUFFSixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FDRixDQUFDO0lBRUYsZ0NBQW1CLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFFeEQsT0FBTyxJQUFJLGdDQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { PluginCartDTO } from "../../../types/cart";
|
|
2
|
+
import { ModuleGiftCard } from "../../../types/loyalty";
|
|
3
|
+
/**
|
|
4
|
+
* Input to validate that a specific gift card is applied to a cart.
|
|
5
|
+
*/
|
|
6
|
+
export interface ValidateGiftCardInCartStepInput {
|
|
7
|
+
/**
|
|
8
|
+
* The cart to check, including its applied gift cards.
|
|
9
|
+
*/
|
|
10
|
+
cart: PluginCartDTO;
|
|
11
|
+
/**
|
|
12
|
+
* The gift card to look for in the cart.
|
|
13
|
+
*/
|
|
14
|
+
giftCard: ModuleGiftCard;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* This step validates that a gift card is present in a cart. It throws an error
|
|
18
|
+
* if the gift card is not found in the cart's gift cards.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* const data = validateGiftCardInCartStep({
|
|
22
|
+
* cart: {
|
|
23
|
+
* id: "cart_123",
|
|
24
|
+
* gift_cards: [
|
|
25
|
+
* {
|
|
26
|
+
* id: "gc_123",
|
|
27
|
+
* code: "GC-XXXX",
|
|
28
|
+
* // other gift card properties...
|
|
29
|
+
* }
|
|
30
|
+
* ],
|
|
31
|
+
* // other cart properties...
|
|
32
|
+
* },
|
|
33
|
+
* giftCard: { code: "GC-XXXX" },
|
|
34
|
+
* })
|
|
35
|
+
*/
|
|
36
|
+
export declare const validateGiftCardInCartStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateGiftCardInCartStepInput, unknown>;
|
|
37
|
+
/**
|
|
38
|
+
* Input to validate that a gift card code exists in a cart and that the gift card record is found.
|
|
39
|
+
*/
|
|
40
|
+
export interface ValidateGiftCardStepInput {
|
|
41
|
+
/**
|
|
42
|
+
* The cart to validate against, including its applied gift cards.
|
|
43
|
+
*/
|
|
44
|
+
cart: PluginCartDTO;
|
|
45
|
+
/**
|
|
46
|
+
* The gift card record, or undefined if not found.
|
|
47
|
+
*/
|
|
48
|
+
giftCard: ModuleGiftCard;
|
|
49
|
+
/**
|
|
50
|
+
* The lookup input containing the gift card code.
|
|
51
|
+
*/
|
|
52
|
+
input: {
|
|
53
|
+
code: string;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* This step validates that a gift card code exists in the cart and that the gift card
|
|
58
|
+
* itself exists. It throws an error if the gift card code is not in the cart or if
|
|
59
|
+
* the gift card record is not found.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* const data = validateGiftCardStep({
|
|
63
|
+
* cart: { ...cart, gift_cards: [{ code: "GC-XXXX" }] },
|
|
64
|
+
* giftCard: { code: "GC-XXXX" },
|
|
65
|
+
* input: { code: "GC-XXXX" },
|
|
66
|
+
* })
|
|
67
|
+
*/
|
|
68
|
+
export declare const validateGiftCardStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateGiftCardStepInput, unknown>;
|
|
69
|
+
/**
|
|
70
|
+
* Input to remove a gift card from a cart.
|
|
71
|
+
*/
|
|
72
|
+
export interface RemoveGiftCardFromCartWorkflowInput {
|
|
73
|
+
/**
|
|
74
|
+
* The code of the gift card to remove.
|
|
75
|
+
*/
|
|
76
|
+
code: string;
|
|
77
|
+
/**
|
|
78
|
+
* The ID of the cart to remove the gift card from.
|
|
79
|
+
*/
|
|
80
|
+
cart_id: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* This workflow removes a gift card from a cart by deleting its associated credit
|
|
84
|
+
* lines, dismissing the links between the cart and the gift card, and refreshing
|
|
85
|
+
* the cart items.
|
|
86
|
+
*
|
|
87
|
+
* You can use this workflow within your own customizations or custom workflows,
|
|
88
|
+
* allowing you to wrap custom logic around removing gift cards from carts.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* await removeGiftCardFromCartWorkflow(container)
|
|
92
|
+
* .run({
|
|
93
|
+
* input: {
|
|
94
|
+
* code: "GC-XXXX-XXXX",
|
|
95
|
+
* cart_id: "cart_123",
|
|
96
|
+
* },
|
|
97
|
+
* })
|
|
98
|
+
*
|
|
99
|
+
* @summary
|
|
100
|
+
*
|
|
101
|
+
* Remove a gift card from a cart.
|
|
102
|
+
*/
|
|
103
|
+
export declare const removeGiftCardFromCartWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<RemoveGiftCardFromCartWorkflowInput, unknown, any[]>;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeGiftCardFromCartWorkflow = exports.validateGiftCardStep = exports.validateGiftCardInCartStep = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
|
+
const types_1 = require("../../../types");
|
|
8
|
+
/**
|
|
9
|
+
* This step validates that a gift card is present in a cart. It throws an error
|
|
10
|
+
* if the gift card is not found in the cart's gift cards.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const data = validateGiftCardInCartStep({
|
|
14
|
+
* cart: {
|
|
15
|
+
* id: "cart_123",
|
|
16
|
+
* gift_cards: [
|
|
17
|
+
* {
|
|
18
|
+
* id: "gc_123",
|
|
19
|
+
* code: "GC-XXXX",
|
|
20
|
+
* // other gift card properties...
|
|
21
|
+
* }
|
|
22
|
+
* ],
|
|
23
|
+
* // other cart properties...
|
|
24
|
+
* },
|
|
25
|
+
* giftCard: { code: "GC-XXXX" },
|
|
26
|
+
* })
|
|
27
|
+
*/
|
|
28
|
+
exports.validateGiftCardInCartStep = (0, workflows_sdk_1.createStep)("validate-gift-card-in-cart", async function ({ cart, giftCard, }) {
|
|
29
|
+
const cartGiftCard = cart.gift_cards.find((gc) => gc.code.includes(giftCard.code));
|
|
30
|
+
if (!(0, utils_1.isPresent)(cartGiftCard)) {
|
|
31
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Gift card (${giftCard.code}) not found in cart`);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* This step validates that a gift card code exists in the cart and that the gift card
|
|
36
|
+
* itself exists. It throws an error if the gift card code is not in the cart or if
|
|
37
|
+
* the gift card record is not found.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* const data = validateGiftCardStep({
|
|
41
|
+
* cart: { ...cart, gift_cards: [{ code: "GC-XXXX" }] },
|
|
42
|
+
* giftCard: { code: "GC-XXXX" },
|
|
43
|
+
* input: { code: "GC-XXXX" },
|
|
44
|
+
* })
|
|
45
|
+
*/
|
|
46
|
+
exports.validateGiftCardStep = (0, workflows_sdk_1.createStep)("validate-gift-card", async function ({ cart, giftCard, input, }) {
|
|
47
|
+
const cartGiftCards = cart.gift_cards || [];
|
|
48
|
+
if (!cartGiftCards.find((gc) => gc.code === input.code)) {
|
|
49
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Gift card (${input.code}) not found in cart`);
|
|
50
|
+
}
|
|
51
|
+
if (!giftCard) {
|
|
52
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Gift card (${input.code}) not found`);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* This workflow removes a gift card from a cart by deleting its associated credit
|
|
57
|
+
* lines, dismissing the links between the cart and the gift card, and refreshing
|
|
58
|
+
* the cart items.
|
|
59
|
+
*
|
|
60
|
+
* You can use this workflow within your own customizations or custom workflows,
|
|
61
|
+
* allowing you to wrap custom logic around removing gift cards from carts.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* await removeGiftCardFromCartWorkflow(container)
|
|
65
|
+
* .run({
|
|
66
|
+
* input: {
|
|
67
|
+
* code: "GC-XXXX-XXXX",
|
|
68
|
+
* cart_id: "cart_123",
|
|
69
|
+
* },
|
|
70
|
+
* })
|
|
71
|
+
*
|
|
72
|
+
* @summary
|
|
73
|
+
*
|
|
74
|
+
* Remove a gift card from a cart.
|
|
75
|
+
*/
|
|
76
|
+
exports.removeGiftCardFromCartWorkflow = (0, workflows_sdk_1.createWorkflow)("remove-gift-card-from-cart", function (input) {
|
|
77
|
+
const cartQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
78
|
+
entity: "cart",
|
|
79
|
+
filters: { id: input.cart_id },
|
|
80
|
+
fields: [
|
|
81
|
+
"id",
|
|
82
|
+
"credit_lines.id",
|
|
83
|
+
"credit_lines.reference",
|
|
84
|
+
"credit_lines.reference_id",
|
|
85
|
+
"gift_cards.id",
|
|
86
|
+
"gift_cards.code",
|
|
87
|
+
],
|
|
88
|
+
options: { throwIfKeyNotFound: true },
|
|
89
|
+
}).config({ name: "get-cart-query" });
|
|
90
|
+
const cart = (0, workflows_sdk_1.transform)({ cartQuery }, ({ cartQuery }) => {
|
|
91
|
+
return cartQuery.data[0];
|
|
92
|
+
});
|
|
93
|
+
const giftCardQuery = (0, core_flows_1.useQueryGraphStep)({
|
|
94
|
+
entity: "gift_card",
|
|
95
|
+
filters: { code: input.code },
|
|
96
|
+
fields: ["id", "code"],
|
|
97
|
+
}).config({ name: "get-gift-card-query" });
|
|
98
|
+
const giftCard = (0, workflows_sdk_1.transform)({ giftCardQuery }, ({ giftCardQuery }) => {
|
|
99
|
+
return giftCardQuery.data[0];
|
|
100
|
+
});
|
|
101
|
+
(0, exports.validateGiftCardStep)({ cart, giftCard, input });
|
|
102
|
+
(0, exports.validateGiftCardInCartStep)({ cart, giftCard });
|
|
103
|
+
const creditLineIds = (0, workflows_sdk_1.transform)({ cart, giftCard }, ({ cart, giftCard }) => {
|
|
104
|
+
return cart.credit_lines
|
|
105
|
+
.filter((creditLine) => creditLine.reference === "gift-card" &&
|
|
106
|
+
creditLine.reference_id === giftCard.id)
|
|
107
|
+
.map((creditLine) => creditLine.id);
|
|
108
|
+
});
|
|
109
|
+
core_flows_1.deleteCartCreditLinesWorkflow.runAsStep({
|
|
110
|
+
input: { id: creditLineIds },
|
|
111
|
+
});
|
|
112
|
+
core_flows_1.dismissLinksWorkflow.runAsStep({
|
|
113
|
+
input: [
|
|
114
|
+
{
|
|
115
|
+
[utils_1.Modules.CART]: { cart_id: cart.id },
|
|
116
|
+
[types_1.PluginModule.LOYALTY]: { gift_card_id: giftCard.id },
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
});
|
|
120
|
+
core_flows_1.refreshCartItemsWorkflow.runAsStep({
|
|
121
|
+
input: { cart_id: input.cart_id },
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWdpZnQtY2FydC1mcm9tLWNhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NhcnRzL3dvcmtmbG93cy9yZW1vdmUtZ2lmdC1jYXJ0LWZyb20tY2FydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBNEU7QUFDNUUsNERBS3FDO0FBQ3JDLHFFQUEwRjtBQUMxRiwwQ0FBOEM7QUFrQjlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ1UsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLDBCQUFVLEVBQ2xELDRCQUE0QixFQUM1QixLQUFLLFdBQVcsRUFDZCxJQUFJLEVBQ0osUUFBUSxHQUN3QjtJQUNoQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQy9DLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FDaEMsQ0FBQztJQUVGLElBQUksQ0FBQyxJQUFBLGlCQUFTLEVBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixjQUFjLFFBQVEsQ0FBQyxJQUFJLHFCQUFxQixDQUNqRCxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FDRixDQUFDO0FBb0JGOzs7Ozs7Ozs7OztHQVdHO0FBQ1UsUUFBQSxvQkFBb0IsR0FBRyxJQUFBLDBCQUFVLEVBQzVDLG9CQUFvQixFQUNwQixLQUFLLFdBQVcsRUFDZCxJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssR0FDcUI7SUFDMUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFFNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxD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
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input to validate that a required entity is present.
|
|
3
|
+
*/
|
|
4
|
+
export interface ValidatePresenceOfStepInput {
|
|
5
|
+
/**
|
|
6
|
+
* The entity to check for presence.
|
|
7
|
+
*/
|
|
8
|
+
entity: any;
|
|
9
|
+
/**
|
|
10
|
+
* The human-readable name of the entity type, used in error messages.
|
|
11
|
+
*/
|
|
12
|
+
entityName: string;
|
|
13
|
+
/**
|
|
14
|
+
* The identifier of the entity (e.g. its ID), used in error messages.
|
|
15
|
+
*/
|
|
16
|
+
identifier: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* This step validates that an entity is present. It throws a NOT_FOUND error if
|
|
20
|
+
* the entity is falsy.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* const data = validatePresenceOfStep({
|
|
24
|
+
* entity: customer,
|
|
25
|
+
* entityName: "Customer",
|
|
26
|
+
* identifier: "cust_123",
|
|
27
|
+
* })
|
|
28
|
+
*/
|
|
29
|
+
export declare const validatePresenceOfStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidatePresenceOfStepInput, unknown>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validatePresenceOfStep = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
/**
|
|
7
|
+
* This step validates that an entity is present. It throws a NOT_FOUND error if
|
|
8
|
+
* the entity is falsy.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const data = validatePresenceOfStep({
|
|
12
|
+
* entity: customer,
|
|
13
|
+
* entityName: "Customer",
|
|
14
|
+
* identifier: "cust_123",
|
|
15
|
+
* })
|
|
16
|
+
*/
|
|
17
|
+
exports.validatePresenceOfStep = (0, workflows_sdk_1.createStep)("validate-presence-of", async function ({ entity, entityName, identifier, }) {
|
|
18
|
+
if (!entity) {
|
|
19
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `${entityName} ${identifier} not found`);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcHJlc2VuY2Utb2YuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NvbW1vbi9zdGVwcy92YWxpZGF0ZS1wcmVzZW5jZS1vZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBd0Q7QUFDeEQscUVBQStEO0FBb0IvRDs7Ozs7Ozs7OztHQVVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxJQUFBLDBCQUFVLEVBQzlDLHNCQUFzQixFQUN0QixLQUFLLFdBQVcsRUFDZCxNQUFNLEVBQ04sVUFBVSxFQUNWLFVBQVUsR0FDa0I7SUFDNUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0IsR0FBRyxVQUFVLElBQUksVUFBVSxZQUFZLENBQ3hDLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./workflows/claim-gift-card";
|
|
2
|
+
export * from "./workflows/create-gift-cards";
|
|
3
|
+
export * from "./workflows/delete-gift-card";
|
|
4
|
+
export * from "./workflows/redeem-gift-card";
|
|
5
|
+
export * from "./workflows/update-gift-cards";
|
|
6
|
+
export * from "./steps/create-gift-cards";
|
|
7
|
+
export * from "./steps/delete-gift-cards";
|
|
8
|
+
export * from "./steps/retrieve-gift-card-balance";
|
|
9
|
+
export * from "./steps/update-gift-cards";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./workflows/claim-gift-card"), exports);
|
|
18
|
+
__exportStar(require("./workflows/create-gift-cards"), exports);
|
|
19
|
+
__exportStar(require("./workflows/delete-gift-card"), exports);
|
|
20
|
+
__exportStar(require("./workflows/redeem-gift-card"), exports);
|
|
21
|
+
__exportStar(require("./workflows/update-gift-cards"), exports);
|
|
22
|
+
__exportStar(require("./steps/create-gift-cards"), exports);
|
|
23
|
+
__exportStar(require("./steps/delete-gift-cards"), exports);
|
|
24
|
+
__exportStar(require("./steps/retrieve-gift-card-balance"), exports);
|
|
25
|
+
__exportStar(require("./steps/update-gift-cards"), exports);
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2dpZnQtY2FyZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUE0QztBQUM1QyxnRUFBOEM7QUFDOUMsK0RBQTZDO0FBQzdDLCtEQUE2QztBQUM3QyxnRUFBOEM7QUFFOUMsNERBQTBDO0FBQzFDLDREQUEwQztBQUMxQyxxRUFBbUQ7QUFDbkQsNERBQTBDIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ModuleCreateGiftCard } from "../../../types";
|
|
2
|
+
/**
|
|
3
|
+
* Data for creating one or more gift cards in the Loyalty module.
|
|
4
|
+
*/
|
|
5
|
+
export type CreateGiftCardsStepInput = ModuleCreateGiftCard[];
|
|
6
|
+
/**
|
|
7
|
+
* This step creates gift cards. If no code is provided for
|
|
8
|
+
* a gift card, a unique code is automatically generated. The step supports rollback
|
|
9
|
+
* by deleting the created gift cards.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const data = createGiftCardsStep([
|
|
13
|
+
* {
|
|
14
|
+
* value: 100,
|
|
15
|
+
* currency_code: "usd",
|
|
16
|
+
* // other gift card properties...
|
|
17
|
+
* },
|
|
18
|
+
* ])
|
|
19
|
+
*/
|
|
20
|
+
export declare const createGiftCardsStep: import("@medusajs/framework/workflows-sdk").StepFunction<CreateGiftCardsStepInput, import("../../../types").ModuleGiftCard[]>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createGiftCardsStep = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const types_1 = require("../../../types");
|
|
7
|
+
const code_generator_1 = require("../../../utils/code-generator");
|
|
8
|
+
/**
|
|
9
|
+
* This step creates gift cards. If no code is provided for
|
|
10
|
+
* a gift card, a unique code is automatically generated. The step supports rollback
|
|
11
|
+
* by deleting the created gift cards.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const data = createGiftCardsStep([
|
|
15
|
+
* {
|
|
16
|
+
* value: 100,
|
|
17
|
+
* currency_code: "usd",
|
|
18
|
+
* // other gift card properties...
|
|
19
|
+
* },
|
|
20
|
+
* ])
|
|
21
|
+
*/
|
|
22
|
+
exports.createGiftCardsStep = (0, workflows_sdk_1.createStep)("create-gift-cards", async (input, { container }) => {
|
|
23
|
+
const module = container.resolve(types_1.PluginModule.LOYALTY);
|
|
24
|
+
for (const giftCard of input) {
|
|
25
|
+
if (!(0, utils_1.isPresent)(giftCard.code)) {
|
|
26
|
+
giftCard.code = (0, code_generator_1.generateCode)();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const giftCards = await module.createGiftCards(input);
|
|
30
|
+
return new workflows_sdk_1.StepResponse(giftCards, giftCards.map((gc) => gc.id));
|
|
31
|
+
}, async (ids, { container }) => {
|
|
32
|
+
if (!ids?.length) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const module = container.resolve(types_1.PluginModule.LOYALTY);
|
|
36
|
+
await module.deleteGiftCards(ids);
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWdpZnQtY2FyZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2dpZnQtY2FyZHMvc3RlcHMvY3JlYXRlLWdpZnQtY2FyZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXNEO0FBQ3RELHFFQUE2RTtBQUM3RSwwQ0FJd0I7QUFDeEIsa0VBQTZEO0FBTzdEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDVSxRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0MsbUJBQW1CLEVBQ25CLEtBQUssRUFBRSxLQUErQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN2RCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM5QixvQkFBWSxDQUFDLE9BQU8sQ0FDckIsQ0FBQztJQUVGLEtBQUssTUFBTSxRQUFRLElBQUksS0FBSyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUEsaUJBQVMsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5QixRQUFRLENBQUMsSUFBSSxHQUFHLElBQUEsNkJBQVksR0FBRSxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXRELE9BQU8sSUFBSSw0QkFBWSxDQUNyQixTQUFTLEVBQ1QsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUM3QixDQUFDO0FBQ0osQ0FBQyxFQUNELEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzNCLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDakIsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUM5QixvQkFBWSxDQUFDLE9BQU8sQ0FDckIsQ0FBQztJQUVGLE1BQU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input to delete gift cards by their IDs.
|
|
3
|
+
*/
|
|
4
|
+
export interface DeleteGiftCardsStepInput {
|
|
5
|
+
/**
|
|
6
|
+
* The IDs of the gift cards to delete.
|
|
7
|
+
*/
|
|
8
|
+
id: string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* This step deletes gift cards by their IDs. The step supports rollback by
|
|
12
|
+
* restoring the deleted gift cards.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const data = deleteGiftCardsStep({ id: ["gc_123"] })
|
|
16
|
+
*/
|
|
17
|
+
export declare const deleteGiftCardsStep: import("@medusajs/framework/workflows-sdk").StepFunction<DeleteGiftCardsStepInput, string[]>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteGiftCardsStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const types_1 = require("../../../types");
|
|
6
|
+
/**
|
|
7
|
+
* This step deletes gift cards by their IDs. The step supports rollback by
|
|
8
|
+
* restoring the deleted gift cards.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const data = deleteGiftCardsStep({ id: ["gc_123"] })
|
|
12
|
+
*/
|
|
13
|
+
exports.deleteGiftCardsStep = (0, workflows_sdk_1.createStep)("delete-gift-cards", async function ({ id }, { container }) {
|
|
14
|
+
const module = container.resolve(types_1.PluginModule.STORE_CREDIT);
|
|
15
|
+
await module.deleteGiftCards({ id });
|
|
16
|
+
return new workflows_sdk_1.StepResponse(id, id);
|
|
17
|
+
}, async (id, { container }) => {
|
|
18
|
+
if (!id?.length) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const module = container.resolve(types_1.PluginModule.STORE_CREDIT);
|
|
22
|
+
await module.restoreGiftCards({ id });
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWdpZnQtY2FyZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2dpZnQtY2FyZHMvc3RlcHMvZGVsZXRlLWdpZnQtY2FyZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLDBDQUE4QztBQVk5Qzs7Ozs7O0dBTUc7QUFDVSxRQUFBLG1CQUFtQixHQUFHLElBQUEsMEJBQVUsRUFDM0MsbUJBQW1CLEVBQ25CLEtBQUssV0FBVyxFQUFFLEVBQUUsRUFBNEIsRUFBRSxFQUFFLFNBQVMsRUFBRTtJQUM3RCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFNLG9CQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFakUsTUFBTSxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVyQyxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDbEMsQ0FBQyxFQUNELEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzFCLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDaEIsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFNLG9CQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFakUsTUFBTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ModuleGiftCard } from "../../../types/loyalty";
|
|
2
|
+
import { ModuleAccountStats } from "../../../types/store-credit";
|
|
3
|
+
/**
|
|
4
|
+
* Input to retrieve the balance of gift cards from their associated store credit accounts.
|
|
5
|
+
*/
|
|
6
|
+
export interface RetrieveGiftCardsBalanceStepInput {
|
|
7
|
+
/**
|
|
8
|
+
* A map of gift card IDs to their associated store credit account IDs.
|
|
9
|
+
*/
|
|
10
|
+
giftCardStoreCreditAccountMap: Record<string, string>;
|
|
11
|
+
/**
|
|
12
|
+
* The gift cards whose balances should be retrieved.
|
|
13
|
+
*/
|
|
14
|
+
giftCards: ModuleGiftCard[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* This step retrieves the balance of gift cards from their associated store credit accounts.
|
|
18
|
+
* Returns a map of gift card codes to their account stats.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* const data = retrieveGiftCardsBalanceStep({
|
|
22
|
+
* giftCards: [
|
|
23
|
+
* {
|
|
24
|
+
* id: "gc_123",
|
|
25
|
+
* code: "GC-XXXX",
|
|
26
|
+
* // other gift card properties...
|
|
27
|
+
* }
|
|
28
|
+
* ],
|
|
29
|
+
* giftCardStoreCreditAccountMap: { "gc_123": "sca_456" },
|
|
30
|
+
* })
|
|
31
|
+
*/
|
|
32
|
+
export declare const retrieveGiftCardsBalanceStep: import("@medusajs/framework/workflows-sdk").StepFunction<RetrieveGiftCardsBalanceStepInput, Record<string, ModuleAccountStats>>;
|