@unchainedshop/core-orders 2.7.0 → 2.7.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/lib/director/OrderPricingSheet.js +4 -13
- package/lib/director/OrderPricingSheet.js.map +1 -1
- package/lib/module/configureOrdersModule-transformations.js +12 -8
- package/lib/module/configureOrdersModule-transformations.js.map +1 -1
- package/lib/orders-index.d.ts +1 -0
- package/lib/orders-index.js.map +1 -1
- package/package.json +5 -5
- package/src/director/OrderPricingSheet.ts +4 -15
- package/src/module/configureOrdersModule-transformations.ts +12 -8
- package/src/orders-index.ts +1 -0
|
@@ -77,15 +77,12 @@ export const OrderPricingSheet = (params) => {
|
|
|
77
77
|
currency: params.currency,
|
|
78
78
|
};
|
|
79
79
|
},
|
|
80
|
-
discountSum(discountId) {
|
|
81
|
-
return basePricingSheet.sum({
|
|
82
|
-
category: OrderPricingRowCategory.Discounts,
|
|
83
|
-
discountId,
|
|
84
|
-
});
|
|
85
|
-
},
|
|
86
80
|
discountPrices(explicitDiscountId) {
|
|
87
81
|
const discountIds = pricingSheet
|
|
88
|
-
.
|
|
82
|
+
.filterBy({
|
|
83
|
+
category: OrderPricingRowCategory.Discounts,
|
|
84
|
+
discountId: explicitDiscountId,
|
|
85
|
+
})
|
|
89
86
|
.map(({ discountId }) => discountId);
|
|
90
87
|
return [...new Set(discountIds)]
|
|
91
88
|
.map((discountId) => {
|
|
@@ -104,12 +101,6 @@ export const OrderPricingSheet = (params) => {
|
|
|
104
101
|
})
|
|
105
102
|
.filter(Boolean);
|
|
106
103
|
},
|
|
107
|
-
getDiscountRows(discountId) {
|
|
108
|
-
return basePricingSheet.filterBy({
|
|
109
|
-
category: OrderPricingRowCategory.Discounts,
|
|
110
|
-
discountId,
|
|
111
|
-
});
|
|
112
|
-
},
|
|
113
104
|
};
|
|
114
105
|
return pricingSheet;
|
|
115
106
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderPricingSheet.js","sourceRoot":"","sources":["../../src/director/OrderPricingSheet.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"OrderPricingSheet.js","sourceRoot":"","sources":["../../src/director/OrderPricingSheet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { DeliveryPricingRowCategory } from '@unchainedshop/types/delivery.pricing.js';
|
|
2
|
+
import { PaymentPricingRowCategory } from '@unchainedshop/types/payments.pricing.js';
|
|
3
|
+
import { ProductPricingRowCategory } from '@unchainedshop/types/products.pricing.js';
|
|
4
|
+
import { OrderPricingRowCategory } from '@unchainedshop/types/orders.pricing.js';
|
|
1
5
|
import { OrderPricingSheet } from '../director/OrderPricingSheet.js';
|
|
2
6
|
export const configureOrderModuleTransformations = ({ Orders, }) => {
|
|
3
7
|
return {
|
|
@@ -45,7 +49,7 @@ export const configureOrderModuleTransformations = ({ Orders, }) => {
|
|
|
45
49
|
const orderDeliveryDiscountSum = orderDelivery &&
|
|
46
50
|
modules.orders.deliveries
|
|
47
51
|
.pricingSheet(orderDelivery, order.currency, unchainedAPI)
|
|
48
|
-
.
|
|
52
|
+
.total({ category: DeliveryPricingRowCategory.Discount, discountId: orderDiscountId });
|
|
49
53
|
// Payment discounts
|
|
50
54
|
const orderPayment = await modules.orders.payments.findOrderPayment({
|
|
51
55
|
orderPaymentId: order.paymentId,
|
|
@@ -53,24 +57,24 @@ export const configureOrderModuleTransformations = ({ Orders, }) => {
|
|
|
53
57
|
const orderPaymentDiscountSum = orderPayment &&
|
|
54
58
|
modules.orders.payments
|
|
55
59
|
.pricingSheet(orderPayment, order.currency, unchainedAPI)
|
|
56
|
-
.
|
|
60
|
+
.total({ category: PaymentPricingRowCategory.Discount, discountId: orderDiscountId });
|
|
57
61
|
// Position discounts
|
|
58
62
|
const orderPositions = await modules.orders.positions.findOrderPositions({
|
|
59
63
|
orderId: order._id,
|
|
60
64
|
});
|
|
61
65
|
const orderPositionDiscounts = orderPositions.map((orderPosition) => modules.orders.positions
|
|
62
66
|
.pricingSheet(orderPosition, order.currency, unchainedAPI)
|
|
63
|
-
.
|
|
67
|
+
.total({ category: ProductPricingRowCategory.Discount, discountId: orderDiscountId }));
|
|
64
68
|
// order discounts
|
|
65
69
|
const orderDiscountSum = OrderPricingSheet({
|
|
66
70
|
calculation: order.calculation,
|
|
67
71
|
currency: order.currency,
|
|
68
|
-
}).
|
|
72
|
+
}).total({ category: OrderPricingRowCategory.Discounts, discountId: orderDiscountId });
|
|
69
73
|
const prices = [
|
|
70
|
-
orderDeliveryDiscountSum,
|
|
71
|
-
orderPaymentDiscountSum,
|
|
72
|
-
...orderPositionDiscounts,
|
|
73
|
-
orderDiscountSum,
|
|
74
|
+
orderDeliveryDiscountSum.amount,
|
|
75
|
+
orderPaymentDiscountSum.amount,
|
|
76
|
+
...orderPositionDiscounts.map((positionDiscount) => positionDiscount.amount),
|
|
77
|
+
orderDiscountSum.amount,
|
|
74
78
|
];
|
|
75
79
|
const amount = prices.reduce((oldValue, price) => oldValue + (price || 0), 0);
|
|
76
80
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrdersModule-transformations.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-transformations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,EAClD,MAAM,GAGP,EAAwB,EAAE;IACzB,OAAO;QACL,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE;YACvD,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;YAEjC,qBAAqB;YACrB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;gBACjE,eAAe,EAAE,KAAK,CAAC,UAAU;aAClC,CAAC,CAAC;YACH,MAAM,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAChE,aAAa,EACb,EAAE,KAAK,EAAE,aAAa,EAAE,EACxB,YAAY,CACb,CAAC;YAEF,oBAAoB;YACpB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAClE,cAAc,EAAE,KAAK,CAAC,SAAS;aAChC,CAAC,CAAC;YACH,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAC7D,YAAY,EACZ,EAAE,KAAK,EAAE,aAAa,EAAE,EACxB,YAAY,CACb,CAAC;YAEF,qBAAqB;YACrB,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;gBACvE,OAAO,EAAE,KAAK,CAAC,GAAG;aACnB,CAAC,CAAC;YACH,MAAM,sBAAsB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE,CACtE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,YAAY,CAAC,CAC1F,CAAC;YAEF,kBAAkB;YAClB,MAAM,YAAY,GAAG,iBAAiB,CAAC;gBACrC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,YAAY;iBAChC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC;iBACjC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;YAE/C,gBAAgB;YAChB,MAAM,UAAU,GAAG;gBACjB,GAAG,qBAAqB;gBACxB,GAAG,sBAAsB;gBACzB,GAAG,sBAAsB;gBACzB,GAAG,cAAc;aAClB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAElB,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE;YAC1D,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;YACjC,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC;YAE1C,qBAAqB;YACrB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;gBACjE,eAAe,EAAE,KAAK,CAAC,UAAU;aAClC,CAAC,CAAC;YACH,MAAM,wBAAwB,GAC5B,aAAa;gBACb,OAAO,CAAC,MAAM,CAAC,UAAU;qBACtB,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC;qBACzD,
|
|
1
|
+
{"version":3,"file":"configureOrdersModule-transformations.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-transformations.ts"],"names":[],"mappings":"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"}
|
package/lib/orders-index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { orderServices } from './service/orderServices.js';
|
|
|
3
3
|
export { OrderStatus } from '@unchainedshop/types/orders.js';
|
|
4
4
|
export { OrderDeliveryStatus } from '@unchainedshop/types/orders.deliveries.js';
|
|
5
5
|
export { OrderPaymentStatus } from '@unchainedshop/types/orders.payments.js';
|
|
6
|
+
export { OrderDiscountConfiguration } from './director/OrderDiscountConfiguration.js';
|
|
6
7
|
export { OrderDiscountAdapter } from './director/OrderDiscountAdapter.js';
|
|
7
8
|
export { OrderDiscountDirector } from './director/OrderDiscountDirector.js';
|
|
8
9
|
export { OrderPricingAdapter } from './director/OrderPricingAdapter.js';
|
package/lib/orders-index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-index.js","sourceRoot":"","sources":["../src/orders-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"orders-index.js","sourceRoot":"","sources":["../src/orders-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core-orders",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.2",
|
|
4
4
|
"main": "lib/orders-index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./lib/orders-index.js",
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
},
|
|
32
32
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@unchainedshop/events": "^2.7.
|
|
35
|
-
"@unchainedshop/logger": "^2.7.
|
|
36
|
-
"@unchainedshop/utils": "^2.7.
|
|
34
|
+
"@unchainedshop/events": "^2.7.2",
|
|
35
|
+
"@unchainedshop/logger": "^2.7.2",
|
|
36
|
+
"@unchainedshop/utils": "^2.7.2",
|
|
37
37
|
"simpl-schema": "=3.2.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^20.11.17",
|
|
41
|
-
"@unchainedshop/types": "^2.7.
|
|
41
|
+
"@unchainedshop/types": "^2.7.2",
|
|
42
42
|
"jest": "^29.7.0",
|
|
43
43
|
"ts-jest": "^29.1.2",
|
|
44
44
|
"typescript": "^5.3.3"
|
|
@@ -103,16 +103,12 @@ export const OrderPricingSheet = (
|
|
|
103
103
|
};
|
|
104
104
|
},
|
|
105
105
|
|
|
106
|
-
discountSum(discountId) {
|
|
107
|
-
return basePricingSheet.sum({
|
|
108
|
-
category: OrderPricingRowCategory.Discounts,
|
|
109
|
-
discountId,
|
|
110
|
-
});
|
|
111
|
-
},
|
|
112
|
-
|
|
113
106
|
discountPrices(explicitDiscountId) {
|
|
114
107
|
const discountIds = pricingSheet
|
|
115
|
-
.
|
|
108
|
+
.filterBy({
|
|
109
|
+
category: OrderPricingRowCategory.Discounts,
|
|
110
|
+
discountId: explicitDiscountId,
|
|
111
|
+
})
|
|
116
112
|
.map(({ discountId }) => discountId);
|
|
117
113
|
|
|
118
114
|
return [...new Set(discountIds)]
|
|
@@ -132,13 +128,6 @@ export const OrderPricingSheet = (
|
|
|
132
128
|
})
|
|
133
129
|
.filter(Boolean);
|
|
134
130
|
},
|
|
135
|
-
|
|
136
|
-
getDiscountRows(discountId) {
|
|
137
|
-
return basePricingSheet.filterBy({
|
|
138
|
-
category: OrderPricingRowCategory.Discounts,
|
|
139
|
-
discountId,
|
|
140
|
-
});
|
|
141
|
-
},
|
|
142
131
|
};
|
|
143
132
|
|
|
144
133
|
return pricingSheet;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Order, OrderTransformations } from '@unchainedshop/types/orders.js';
|
|
2
2
|
import { mongodb } from '@unchainedshop/mongodb';
|
|
3
|
+
import { DeliveryPricingRowCategory } from '@unchainedshop/types/delivery.pricing.js';
|
|
4
|
+
import { PaymentPricingRowCategory } from '@unchainedshop/types/payments.pricing.js';
|
|
5
|
+
import { ProductPricingRowCategory } from '@unchainedshop/types/products.pricing.js';
|
|
6
|
+
import { OrderPricingRowCategory } from '@unchainedshop/types/orders.pricing.js';
|
|
3
7
|
import { OrderPricingSheet } from '../director/OrderPricingSheet.js';
|
|
4
8
|
|
|
5
9
|
export const configureOrderModuleTransformations = ({
|
|
@@ -72,7 +76,7 @@ export const configureOrderModuleTransformations = ({
|
|
|
72
76
|
orderDelivery &&
|
|
73
77
|
modules.orders.deliveries
|
|
74
78
|
.pricingSheet(orderDelivery, order.currency, unchainedAPI)
|
|
75
|
-
.
|
|
79
|
+
.total({ category: DeliveryPricingRowCategory.Discount, discountId: orderDiscountId });
|
|
76
80
|
|
|
77
81
|
// Payment discounts
|
|
78
82
|
const orderPayment = await modules.orders.payments.findOrderPayment({
|
|
@@ -82,7 +86,7 @@ export const configureOrderModuleTransformations = ({
|
|
|
82
86
|
orderPayment &&
|
|
83
87
|
modules.orders.payments
|
|
84
88
|
.pricingSheet(orderPayment, order.currency, unchainedAPI)
|
|
85
|
-
.
|
|
89
|
+
.total({ category: PaymentPricingRowCategory.Discount, discountId: orderDiscountId });
|
|
86
90
|
|
|
87
91
|
// Position discounts
|
|
88
92
|
const orderPositions = await modules.orders.positions.findOrderPositions({
|
|
@@ -91,20 +95,20 @@ export const configureOrderModuleTransformations = ({
|
|
|
91
95
|
const orderPositionDiscounts = orderPositions.map((orderPosition) =>
|
|
92
96
|
modules.orders.positions
|
|
93
97
|
.pricingSheet(orderPosition, order.currency, unchainedAPI)
|
|
94
|
-
.
|
|
98
|
+
.total({ category: ProductPricingRowCategory.Discount, discountId: orderDiscountId }),
|
|
95
99
|
);
|
|
96
100
|
|
|
97
101
|
// order discounts
|
|
98
102
|
const orderDiscountSum = OrderPricingSheet({
|
|
99
103
|
calculation: order.calculation,
|
|
100
104
|
currency: order.currency,
|
|
101
|
-
}).
|
|
105
|
+
}).total({ category: OrderPricingRowCategory.Discounts, discountId: orderDiscountId });
|
|
102
106
|
|
|
103
107
|
const prices = [
|
|
104
|
-
orderDeliveryDiscountSum,
|
|
105
|
-
orderPaymentDiscountSum,
|
|
106
|
-
...orderPositionDiscounts,
|
|
107
|
-
orderDiscountSum,
|
|
108
|
+
orderDeliveryDiscountSum.amount,
|
|
109
|
+
orderPaymentDiscountSum.amount,
|
|
110
|
+
...orderPositionDiscounts.map((positionDiscount) => positionDiscount.amount),
|
|
111
|
+
orderDiscountSum.amount,
|
|
108
112
|
];
|
|
109
113
|
const amount = prices.reduce((oldValue, price) => oldValue + (price || 0), 0);
|
|
110
114
|
return {
|
package/src/orders-index.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { orderServices } from './service/orderServices.js';
|
|
|
4
4
|
export { OrderStatus } from '@unchainedshop/types/orders.js';
|
|
5
5
|
export { OrderDeliveryStatus } from '@unchainedshop/types/orders.deliveries.js';
|
|
6
6
|
export { OrderPaymentStatus } from '@unchainedshop/types/orders.payments.js';
|
|
7
|
+
export { OrderDiscountConfiguration } from './director/OrderDiscountConfiguration.js';
|
|
7
8
|
|
|
8
9
|
export { OrderDiscountAdapter } from './director/OrderDiscountAdapter.js';
|
|
9
10
|
export { OrderDiscountDirector } from './director/OrderDiscountDirector.js';
|