@mercurjs/core 2.3.7-canary.0 → 2.3.7
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/api/admin/middlewares.js +41 -39
- package/.medusa/server/src/api/admin/offer-conditions/[id]/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/offer-conditions/[id]/route.js +51 -0
- package/.medusa/server/src/api/admin/offer-conditions/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/offer-conditions/middlewares.js +49 -0
- package/.medusa/server/src/api/admin/offer-conditions/query-config.d.ts +11 -0
- package/.medusa/server/src/api/admin/offer-conditions/query-config.js +25 -0
- package/.medusa/server/src/api/admin/offer-conditions/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/offer-conditions/route.js +35 -0
- package/.medusa/server/src/api/admin/offer-conditions/validators.d.ts +61 -0
- package/.medusa/server/src/api/admin/offer-conditions/validators.js +38 -0
- package/.medusa/server/src/api/admin/offers/batch/route.js +2 -1
- package/.medusa/server/src/api/admin/offers/query-config.js +5 -1
- package/.medusa/server/src/api/admin/offers/validators.d.ts +2 -0
- package/.medusa/server/src/api/admin/offers/validators.js +3 -1
- package/.medusa/server/src/api/admin/order-groups/helpers.js +9 -3
- package/.medusa/server/src/api/admin/order-groups/validators.d.ts +1 -0
- package/.medusa/server/src/api/admin/order-groups/validators.js +2 -1
- package/.medusa/server/src/api/store/offers/query-config.js +5 -1
- package/.medusa/server/src/api/store/offers/validators.d.ts +1 -0
- package/.medusa/server/src/api/store/offers/validators.js +2 -1
- package/.medusa/server/src/api/utils/index.d.ts +1 -0
- package/.medusa/server/src/api/utils/index.js +2 -1
- package/.medusa/server/src/api/utils/restrict-vendor-fields.d.ts +12 -0
- package/.medusa/server/src/api/utils/restrict-vendor-fields.js +29 -0
- package/.medusa/server/src/api/vendor/inventory-items/[id]/location-levels/[location_id]/route.js +10 -6
- package/.medusa/server/src/api/vendor/inventory-items/[id]/location-levels/batch/route.js +10 -3
- package/.medusa/server/src/api/vendor/inventory-items/[id]/location-levels/route.js +9 -5
- package/.medusa/server/src/api/vendor/inventory-items/helpers.d.ts +2 -0
- package/.medusa/server/src/api/vendor/inventory-items/helpers.js +35 -8
- package/.medusa/server/src/api/vendor/inventory-items/location-levels/batch/route.js +8 -1
- package/.medusa/server/src/api/vendor/members/middlewares.js +4 -1
- package/.medusa/server/src/api/vendor/middlewares.js +60 -57
- package/.medusa/server/src/api/vendor/offer-conditions/[id]/route.d.ts +3 -0
- package/.medusa/server/src/api/vendor/offer-conditions/[id]/route.js +18 -0
- package/.medusa/server/src/api/vendor/offer-conditions/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/vendor/offer-conditions/middlewares.js +31 -0
- package/.medusa/server/src/api/vendor/offer-conditions/query-config.d.ts +11 -0
- package/.medusa/server/src/api/vendor/offer-conditions/query-config.js +23 -0
- package/.medusa/server/src/api/vendor/offer-conditions/route.d.ts +4 -0
- package/.medusa/server/src/api/vendor/offer-conditions/route.js +21 -0
- package/.medusa/server/src/api/vendor/offer-conditions/validators.d.ts +16 -0
- package/.medusa/server/src/api/vendor/offer-conditions/validators.js +16 -0
- package/.medusa/server/src/api/vendor/offers/[id]/inventory-items/batch/route.js +10 -4
- package/.medusa/server/src/api/vendor/offers/batch/route.js +3 -1
- package/.medusa/server/src/api/vendor/offers/query-config.js +5 -1
- package/.medusa/server/src/api/vendor/offers/route.js +3 -1
- package/.medusa/server/src/api/vendor/offers/validators.d.ts +5 -0
- package/.medusa/server/src/api/vendor/offers/validators.js +5 -1
- package/.medusa/server/src/api/vendor/payments/[id]/capture/route.js +4 -2
- package/.medusa/server/src/api/vendor/payments/helpers.d.ts +3 -1
- package/.medusa/server/src/api/vendor/payments/helpers.js +10 -6
- package/.medusa/server/src/api/vendor/products/helpers.d.ts +4 -0
- package/.medusa/server/src/api/vendor/products/helpers.js +12 -2
- package/.medusa/server/src/api/vendor/products/middlewares.js +32 -2
- package/.medusa/server/src/api/vendor/sellers/middlewares.js +13 -1
- package/.medusa/server/src/api/vendor/stock-locations/helpers.d.ts +1 -0
- package/.medusa/server/src/api/vendor/stock-locations/helpers.js +16 -8
- package/.medusa/server/src/modules/offer/index.d.ts +14 -0
- package/.medusa/server/src/modules/offer/migrations/Migration20261007000000.d.ts +5 -0
- package/.medusa/server/src/modules/offer/migrations/Migration20261007000000.js +23 -0
- package/.medusa/server/src/modules/offer/models/index.d.ts +1 -0
- package/.medusa/server/src/modules/offer/models/index.js +4 -2
- package/.medusa/server/src/modules/offer/models/offer-condition.d.ts +26 -0
- package/.medusa/server/src/modules/offer/models/offer-condition.js +27 -0
- package/.medusa/server/src/modules/offer/models/offer.d.ts +17 -0
- package/.medusa/server/src/modules/offer/models/offer.js +13 -1
- package/.medusa/server/src/modules/offer/service.d.ts +42 -0
- package/.medusa/server/src/modules/offer/service.js +2 -1
- package/.medusa/server/src/modules/seller/repositories/order-group.js +113 -3
- package/.medusa/server/src/patches/manifest.js +11 -1
- package/.medusa/server/src/patches/patches/@medusajs+core-flows@2.21.2-seller-promotion-scope.patch +62 -0
- package/.medusa/server/src/workflows/cart/steps/get-promotion-seller-ids.d.ts +5 -0
- package/.medusa/server/src/workflows/cart/steps/get-promotion-seller-ids.js +12 -0
- package/.medusa/server/src/workflows/cart/steps/index.d.ts +1 -0
- package/.medusa/server/src/workflows/cart/steps/index.js +2 -1
- package/.medusa/server/src/workflows/cart/utils/index.d.ts +1 -0
- package/.medusa/server/src/workflows/cart/utils/index.js +2 -1
- package/.medusa/server/src/workflows/cart/utils/seller-promotion-scope.d.ts +12 -0
- package/.medusa/server/src/workflows/cart/utils/seller-promotion-scope.js +28 -0
- package/.medusa/server/src/workflows/cart/workflows/complete-cart-with-split-orders.js +14 -4
- package/.medusa/server/src/workflows/cart/workflows/update-cart-seller-promotions.js +2 -3
- package/.medusa/server/src/workflows/events.d.ts +5 -0
- package/.medusa/server/src/workflows/events.js +7 -2
- package/.medusa/server/src/workflows/offer/steps/create-offer-conditions.d.ts +35 -0
- package/.medusa/server/src/workflows/offer/steps/create-offer-conditions.js +18 -0
- package/.medusa/server/src/workflows/offer/steps/create-offers.d.ts +13 -0
- package/.medusa/server/src/workflows/offer/steps/delete-offer-conditions.d.ts +2 -0
- package/.medusa/server/src/workflows/offer/steps/delete-offer-conditions.js +18 -0
- package/.medusa/server/src/workflows/offer/steps/index.d.ts +5 -0
- package/.medusa/server/src/workflows/offer/steps/index.js +6 -1
- package/.medusa/server/src/workflows/offer/steps/update-offer-conditions.d.ts +35 -0
- package/.medusa/server/src/workflows/offer/steps/update-offer-conditions.js +28 -0
- package/.medusa/server/src/workflows/offer/steps/update-offers.d.ts +14 -0
- package/.medusa/server/src/workflows/offer/steps/update-offers.js +2 -1
- package/.medusa/server/src/workflows/offer/steps/validate-offer-conditions-deletable.d.ts +2 -0
- package/.medusa/server/src/workflows/offer/steps/validate-offer-conditions-deletable.js +23 -0
- package/.medusa/server/src/workflows/offer/steps/validate-offer-conditions.d.ts +5 -0
- package/.medusa/server/src/workflows/offer/steps/validate-offer-conditions.js +26 -0
- package/.medusa/server/src/workflows/offer/workflows/create-offer-conditions.d.ts +12 -0
- package/.medusa/server/src/workflows/offer/workflows/create-offer-conditions.js +23 -0
- package/.medusa/server/src/workflows/offer/workflows/create-offers.js +6 -1
- package/.medusa/server/src/workflows/offer/workflows/delete-offer-conditions.d.ts +11 -0
- package/.medusa/server/src/workflows/offer/workflows/delete-offer-conditions.js +24 -0
- package/.medusa/server/src/workflows/offer/workflows/index.d.ts +3 -0
- package/.medusa/server/src/workflows/offer/workflows/index.js +4 -1
- package/.medusa/server/src/workflows/offer/workflows/update-offer-conditions.d.ts +12 -0
- package/.medusa/server/src/workflows/offer/workflows/update-offer-conditions.js +23 -0
- package/.medusa/server/src/workflows/offer/workflows/update-offers.js +6 -1
- package/package.json +3 -3
- package/.medusa/server/src/workflows/cart/steps/prepare-adjustments-from-promotion-actions.d.ts +0 -6
- package/.medusa/server/src/workflows/cart/steps/prepare-adjustments-from-promotion-actions.js +0 -104
package/.medusa/server/src/workflows/cart/steps/prepare-adjustments-from-promotion-actions.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.prepareSellerAdjustmentsFromPromotionActionsStep = void 0;
|
|
4
|
-
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
-
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
-
exports.prepareSellerAdjustmentsFromPromotionActionsStep = (0, workflows_sdk_1.createStep)("prepare-seller-adjustments-from-promotion-actions", async (data, { container }) => {
|
|
7
|
-
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
-
const { actions = [] } = data;
|
|
9
|
-
if (!actions.length) {
|
|
10
|
-
return new workflows_sdk_1.StepResponse({
|
|
11
|
-
lineItemAdjustmentsToCreate: [],
|
|
12
|
-
lineItemAdjustmentIdsToRemove: [],
|
|
13
|
-
shippingMethodAdjustmentsToCreate: [],
|
|
14
|
-
shippingMethodAdjustmentIdsToRemove: [],
|
|
15
|
-
computedPromotionCodes: [],
|
|
16
|
-
skippedPromoCodes: [],
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
const [{ data: promotions }, { data: lineItems }, { data: shippingMethods }] = await (0, utils_1.promiseAll)([query.graph({
|
|
20
|
-
entity: "promotion",
|
|
21
|
-
fields: ["id", "code", 'seller.id'],
|
|
22
|
-
filters: { code: actions.map((a) => a.code) },
|
|
23
|
-
}, { cache: { enable: true } }), query.graph({
|
|
24
|
-
entity: "line_item",
|
|
25
|
-
fields: ['id', 'offer.seller_id', 'variant.product.seller.id'],
|
|
26
|
-
filters: { id: actions.filter((a) => a.action === utils_1.ComputedActions.ADD_ITEM_ADJUSTMENT).map((a) => a.item_id) },
|
|
27
|
-
}, { cache: { enable: true } }), query.graph({
|
|
28
|
-
entity: "shipping_method",
|
|
29
|
-
fields: ['id', 'shipping_option_id'],
|
|
30
|
-
filters: { id: actions.filter((a) => a.action === utils_1.ComputedActions.ADD_SHIPPING_METHOD_ADJUSTMENT).map((a) => a.shipping_method_id) },
|
|
31
|
-
}, { cache: { enable: true } })]);
|
|
32
|
-
const { data: shippingOptions } = await query.graph({
|
|
33
|
-
entity: "shipping_option",
|
|
34
|
-
fields: ['id', 'seller.id'],
|
|
35
|
-
filters: { id: shippingMethods.map((sm) => sm.shipping_option_id) },
|
|
36
|
-
}, { cache: { enable: true } });
|
|
37
|
-
const promotionsMap = new Map(promotions.map((promotion) => [promotion.code, promotion]));
|
|
38
|
-
const shippingMethodsMap = new Map(shippingMethods.map((shippingMethod) => [shippingMethod.id, shippingMethod]));
|
|
39
|
-
const shippingOptionsMap = new Map(shippingOptions.map((shippingOption) => [shippingOption.id, shippingOption]));
|
|
40
|
-
const lineItemsMap = new Map(lineItems.map((lineItem) => [lineItem.id, lineItem]));
|
|
41
|
-
const lineItemAdjustmentsToCreate = [];
|
|
42
|
-
const lineItemAdjustmentIdsToRemove = [];
|
|
43
|
-
const shippingMethodAdjustmentsToCreate = [];
|
|
44
|
-
const shippingMethodAdjustmentIdsToRemove = [];
|
|
45
|
-
for (const action of actions) {
|
|
46
|
-
switch (action.action) {
|
|
47
|
-
case utils_1.ComputedActions.ADD_ITEM_ADJUSTMENT:
|
|
48
|
-
const itemAction = action;
|
|
49
|
-
const promotion = promotionsMap.get(itemAction.code);
|
|
50
|
-
const lineItem = lineItemsMap.get(itemAction.item_id);
|
|
51
|
-
if (promotion && lineItem) {
|
|
52
|
-
const promotionSellerId = promotion.seller?.id;
|
|
53
|
-
const itemSellerId = lineItem.offer?.seller_id;
|
|
54
|
-
if (!promotionSellerId || promotionSellerId === itemSellerId) {
|
|
55
|
-
lineItemAdjustmentsToCreate.push({
|
|
56
|
-
code: action.code,
|
|
57
|
-
amount: itemAction.amount,
|
|
58
|
-
is_tax_inclusive: itemAction.is_tax_inclusive,
|
|
59
|
-
item_id: itemAction.item_id,
|
|
60
|
-
promotion_id: promotion.id,
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
break;
|
|
65
|
-
case utils_1.ComputedActions.REMOVE_ITEM_ADJUSTMENT:
|
|
66
|
-
lineItemAdjustmentIdsToRemove.push(action.adjustment_id);
|
|
67
|
-
break;
|
|
68
|
-
case utils_1.ComputedActions.ADD_SHIPPING_METHOD_ADJUSTMENT:
|
|
69
|
-
const shippingAction = action;
|
|
70
|
-
const shippingMethod = shippingMethodsMap.get(shippingAction.shipping_method_id);
|
|
71
|
-
const shippingOption = shippingOptionsMap.get(shippingMethod?.shipping_option_id);
|
|
72
|
-
const shippingPromotion = promotionsMap.get(action.code);
|
|
73
|
-
if (shippingMethod && shippingPromotion) {
|
|
74
|
-
const promotionSellerId = shippingPromotion.seller?.id;
|
|
75
|
-
const shippingMethodSellerId = shippingOption?.seller?.id;
|
|
76
|
-
if (!promotionSellerId || promotionSellerId === shippingMethodSellerId) {
|
|
77
|
-
shippingMethodAdjustmentsToCreate.push({
|
|
78
|
-
code: action.code,
|
|
79
|
-
amount: shippingAction.amount,
|
|
80
|
-
shipping_method_id: shippingAction.shipping_method_id,
|
|
81
|
-
promotion_id: shippingPromotion.id,
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
break;
|
|
86
|
-
case utils_1.ComputedActions.REMOVE_SHIPPING_METHOD_ADJUSTMENT:
|
|
87
|
-
shippingMethodAdjustmentIdsToRemove.push(action.adjustment_id);
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
const computedPromotionCodes = [
|
|
92
|
-
...lineItemAdjustmentsToCreate,
|
|
93
|
-
...shippingMethodAdjustmentsToCreate,
|
|
94
|
-
].map((adjustment) => adjustment.code);
|
|
95
|
-
return new workflows_sdk_1.StepResponse({
|
|
96
|
-
lineItemAdjustmentsToCreate,
|
|
97
|
-
lineItemAdjustmentIdsToRemove,
|
|
98
|
-
shippingMethodAdjustmentsToCreate,
|
|
99
|
-
shippingMethodAdjustmentIdsToRemove,
|
|
100
|
-
computedPromotionCodes,
|
|
101
|
-
skippedPromoCodes: [],
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS1hZGp1c3RtZW50cy1mcm9tLXByb21vdGlvbi1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jYXJ0L3N0ZXBzL3ByZXBhcmUtYWRqdXN0bWVudHMtZnJvbS1wcm9tb3Rpb24tYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSxxREFJa0M7QUFDbEMscUVBQTRFO0FBUS9ELFFBQUEsZ0RBQWdELEdBQUcsSUFBQSwwQkFBVSxFQUN0RSxtREFBbUQsRUFDbkQsS0FBSyxFQUNELElBQTJELEVBQzNELEVBQUUsU0FBUyxFQUFFLEVBQ2YsRUFBRTtJQUNBLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQVEsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFdkUsTUFBTSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUE7SUFFN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixPQUFPLElBQUksNEJBQVksQ0FBQztZQUNwQiwyQkFBMkIsRUFBRSxFQUFFO1lBQy9CLDZCQUE2QixFQUFFLEVBQUU7WUFDakMsaUNBQWlDLEVBQUUsRUFBRTtZQUNyQyxtQ0FBbUMsRUFBRSxFQUFFO1lBQ3ZDLHNCQUFzQixFQUFFLEVBQUU7WUFDMUIsaUJBQWlCLEVBQUUsRUFBRTtTQUM0QixDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQyxHQUFHLE1BQU0sSUFBQSxrQkFBVSxFQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FDeEc7WUFDSSxNQUFNLEVBQUUsV0FBVztZQUNuQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFB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
|