@unchainedshop/core-orders 2.0.0-beta8 → 2.0.0-beta9
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/jest.config.js +9 -0
- package/lib/director/OrderPricingDirector.js +5 -5
- package/lib/director/OrderPricingDirector.js.map +1 -1
- package/lib/module/configureOrderDeliveriesModule.d.ts +2 -1
- package/lib/module/configureOrderDeliveriesModule.js +26 -24
- package/lib/module/configureOrderDeliveriesModule.js.map +1 -1
- package/lib/module/configureOrderDiscountsModule.d.ts +2 -1
- package/lib/module/configureOrderDiscountsModule.js +35 -35
- package/lib/module/configureOrderDiscountsModule.js.map +1 -1
- package/lib/module/configureOrderPaymentsModule.d.ts +3 -1
- package/lib/module/configureOrderPaymentsModule.js +63 -37
- package/lib/module/configureOrderPaymentsModule.js.map +1 -1
- package/lib/module/configureOrderPositionsModule.d.ts +2 -1
- package/lib/module/configureOrderPositionsModule.js +35 -29
- package/lib/module/configureOrderPositionsModule.js.map +1 -1
- package/lib/module/configureOrdersModule-mutations.js +21 -26
- package/lib/module/configureOrdersModule-mutations.js.map +1 -1
- package/lib/module/configureOrdersModule-processing.js +52 -58
- package/lib/module/configureOrdersModule-processing.js.map +1 -1
- package/lib/module/configureOrdersModule-queries.d.ts +3 -2
- package/lib/module/configureOrdersModule-queries.js +1 -1
- package/lib/module/configureOrdersModule-queries.js.map +1 -1
- package/lib/module/configureOrdersModule-transformations.js +10 -10
- package/lib/module/configureOrdersModule-transformations.js.map +1 -1
- package/lib/module/configureOrdersModule.js +24 -26
- package/lib/module/configureOrdersModule.js.map +1 -1
- package/lib/service/createUserCartService.js +8 -8
- package/lib/service/createUserCartService.js.map +1 -1
- package/lib/service/migrateOrderCartService.js +3 -9
- package/lib/service/migrateOrderCartService.js.map +1 -1
- package/package.json +10 -9
- package/src/director/OrderPricingDirector.ts +5 -5
- package/src/module/configureOrderDeliveriesModule.ts +32 -42
- package/src/module/configureOrderDiscountsModule.ts +42 -54
- package/src/module/configureOrderPaymentsModule.ts +93 -76
- package/src/module/configureOrderPositionsModule.ts +57 -46
- package/src/module/configureOrdersModule-mutations.ts +43 -58
- package/src/module/configureOrdersModule-processing.ts +75 -85
- package/src/module/configureOrdersModule-queries.ts +1 -1
- package/src/module/configureOrdersModule-transformations.ts +10 -10
- package/src/module/configureOrdersModule.ts +29 -42
- package/src/service/createUserCartService.ts +20 -24
- package/src/service/migrateOrderCartService.ts +3 -11
- package/tests/orders-index.test.ts +103 -48
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrdersModule-transformations.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-transformations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,EAClD,MAAM,GAGP,EAAwB,EAAE;IACzB,OAAO;QACL,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"configureOrdersModule-transformations.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-transformations.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ export const configureOrdersModule = async ({ db, options: orderOptions = {}, })
|
|
|
38
38
|
}
|
|
39
39
|
return findNewOrderNumber(order, index + 1);
|
|
40
40
|
};
|
|
41
|
-
const updateStatus = async (orderId, { status, info }
|
|
41
|
+
const updateStatus = async (orderId, { status, info }) => {
|
|
42
42
|
const selector = generateDbFilterById(orderId);
|
|
43
43
|
const order = await Orders.findOne(selector, {});
|
|
44
44
|
if (order.status === status)
|
|
@@ -47,7 +47,6 @@ export const configureOrdersModule = async ({ db, options: orderOptions = {}, })
|
|
|
47
47
|
const $set = {
|
|
48
48
|
status,
|
|
49
49
|
updated: new Date(),
|
|
50
|
-
updatedBy: requestContext.userId,
|
|
51
50
|
};
|
|
52
51
|
switch (status) {
|
|
53
52
|
// explicitly use fallthrough here!
|
|
@@ -89,17 +88,17 @@ export const configureOrdersModule = async ({ db, options: orderOptions = {}, })
|
|
|
89
88
|
await Orders.updateOne(selector, modifier);
|
|
90
89
|
return Orders.findOne(selector, {});
|
|
91
90
|
};
|
|
92
|
-
const updateDiscounts = async (order,
|
|
93
|
-
const { modules } =
|
|
91
|
+
const updateDiscounts = async (order, unchainedAPI) => {
|
|
92
|
+
const { modules } = unchainedAPI;
|
|
94
93
|
// 1. go through existing order-discounts and check if discount still valid,
|
|
95
94
|
// those who are not valid anymore should get removed
|
|
96
95
|
const discounts = await modules.orders.discounts.findOrderDiscounts({
|
|
97
96
|
orderId: order._id,
|
|
98
97
|
});
|
|
99
98
|
await Promise.all(discounts.map(async (discount) => {
|
|
100
|
-
const isValid = await modules.orders.discounts.isValid(discount,
|
|
99
|
+
const isValid = await modules.orders.discounts.isValid(discount, unchainedAPI);
|
|
101
100
|
if (!isValid) {
|
|
102
|
-
await modules.orders.discounts.delete(discount._id,
|
|
101
|
+
await modules.orders.discounts.delete(discount._id, unchainedAPI);
|
|
103
102
|
}
|
|
104
103
|
}));
|
|
105
104
|
// 2. run auto-system discount
|
|
@@ -107,7 +106,7 @@ export const configureOrdersModule = async ({ db, options: orderOptions = {}, })
|
|
|
107
106
|
orderId: order._id,
|
|
108
107
|
});
|
|
109
108
|
const currentDiscountKeys = cleanedDiscounts.map(({ discountKey }) => discountKey);
|
|
110
|
-
const director = await OrderDiscountDirector.actions({ order, code: null },
|
|
109
|
+
const director = await OrderDiscountDirector.actions({ order, code: null }, unchainedAPI);
|
|
111
110
|
const systemDiscounts = await director.findSystemDiscounts();
|
|
112
111
|
await Promise.all(systemDiscounts
|
|
113
112
|
.filter((key) => currentDiscountKeys.indexOf(key) === -1)
|
|
@@ -115,13 +114,13 @@ export const configureOrdersModule = async ({ db, options: orderOptions = {}, })
|
|
|
115
114
|
orderId: order._id,
|
|
116
115
|
discountKey,
|
|
117
116
|
trigger: OrderDiscountTrigger.SYSTEM,
|
|
118
|
-
}
|
|
117
|
+
})));
|
|
119
118
|
};
|
|
120
|
-
const initProviders = async (order,
|
|
121
|
-
const { modules } =
|
|
119
|
+
const initProviders = async (order, unchainedAPI) => {
|
|
120
|
+
const { modules } = unchainedAPI;
|
|
122
121
|
let updatedOrder = order;
|
|
123
122
|
// Init delivery provider
|
|
124
|
-
const supportedDeliveryProviders = await modules.delivery.findSupported({ order: updatedOrder },
|
|
123
|
+
const supportedDeliveryProviders = await modules.delivery.findSupported({ order: updatedOrder }, unchainedAPI);
|
|
125
124
|
const orderDelivery = await modules.orders.deliveries.findDelivery({
|
|
126
125
|
orderDeliveryId: updatedOrder.deliveryId,
|
|
127
126
|
});
|
|
@@ -130,13 +129,13 @@ export const configureOrdersModule = async ({ db, options: orderOptions = {}, })
|
|
|
130
129
|
return provider._id === deliveryProviderId;
|
|
131
130
|
});
|
|
132
131
|
if (supportedDeliveryProviders?.length > 0 && !isAlreadyInitializedWithSupportedDeliveryProvider) {
|
|
133
|
-
const defaultOrderDeliveryProvider = await modules.delivery.determineDefault(supportedDeliveryProviders, { order: updatedOrder },
|
|
132
|
+
const defaultOrderDeliveryProvider = await modules.delivery.determineDefault(supportedDeliveryProviders, { order: updatedOrder }, unchainedAPI);
|
|
134
133
|
if (defaultOrderDeliveryProvider) {
|
|
135
|
-
updatedOrder = await modules.orders.setDeliveryProvider(updatedOrder._id, defaultOrderDeliveryProvider._id,
|
|
134
|
+
updatedOrder = await modules.orders.setDeliveryProvider(updatedOrder._id, defaultOrderDeliveryProvider._id, unchainedAPI);
|
|
136
135
|
}
|
|
137
136
|
}
|
|
138
137
|
// Init payment provider
|
|
139
|
-
const supportedPaymentProviders = await modules.payment.paymentProviders.findSupported({ order: updatedOrder },
|
|
138
|
+
const supportedPaymentProviders = await modules.payment.paymentProviders.findSupported({ order: updatedOrder }, unchainedAPI);
|
|
140
139
|
const orderPayment = await modules.orders.payments.findOrderPayment({
|
|
141
140
|
orderPaymentId: updatedOrder.paymentId,
|
|
142
141
|
});
|
|
@@ -150,40 +149,39 @@ export const configureOrdersModule = async ({ db, options: orderOptions = {}, })
|
|
|
150
149
|
created: -1,
|
|
151
150
|
},
|
|
152
151
|
});
|
|
153
|
-
const defaultOrderPaymentProvider = await modules.payment.paymentProviders.determineDefault(supportedPaymentProviders, { order: updatedOrder, paymentCredentials },
|
|
152
|
+
const defaultOrderPaymentProvider = await modules.payment.paymentProviders.determineDefault(supportedPaymentProviders, { order: updatedOrder, paymentCredentials }, unchainedAPI);
|
|
154
153
|
if (defaultOrderPaymentProvider) {
|
|
155
|
-
updatedOrder = await modules.orders.setPaymentProvider(updatedOrder._id, defaultOrderPaymentProvider._id,
|
|
154
|
+
updatedOrder = await modules.orders.setPaymentProvider(updatedOrder._id, defaultOrderPaymentProvider._id, unchainedAPI);
|
|
156
155
|
}
|
|
157
156
|
}
|
|
158
157
|
return updatedOrder;
|
|
159
158
|
};
|
|
160
|
-
const updateCalculation = async (orderId,
|
|
161
|
-
const { modules } =
|
|
159
|
+
const updateCalculation = async (orderId, unchainedAPI) => {
|
|
160
|
+
const { modules } = unchainedAPI;
|
|
162
161
|
const selector = generateDbFilterById(orderId);
|
|
163
162
|
let order = (await Orders.findOne(selector, {}));
|
|
164
163
|
// Don't recalculate orders, only carts
|
|
165
164
|
if (order.status !== null)
|
|
166
165
|
return order;
|
|
167
|
-
await updateDiscounts(order,
|
|
168
|
-
order = await initProviders(order,
|
|
166
|
+
await updateDiscounts(order, unchainedAPI);
|
|
167
|
+
order = await initProviders(order, unchainedAPI);
|
|
169
168
|
let orderPositions = (await findOrderPositions(order));
|
|
170
|
-
orderPositions = await Promise.all(orderPositions.map(async (orderPosition) => modules.orders.positions.updateCalculation(orderPosition,
|
|
169
|
+
orderPositions = await Promise.all(orderPositions.map(async (orderPosition) => modules.orders.positions.updateCalculation(orderPosition, unchainedAPI)));
|
|
171
170
|
let orderDelivery = (await findOrderDelivery(order));
|
|
172
171
|
if (orderDelivery) {
|
|
173
|
-
orderDelivery = await modules.orders.deliveries.updateCalculation(orderDelivery,
|
|
172
|
+
orderDelivery = await modules.orders.deliveries.updateCalculation(orderDelivery, unchainedAPI);
|
|
174
173
|
}
|
|
175
174
|
let orderPayment = (await findOrderPayment(order));
|
|
176
175
|
if (orderPayment) {
|
|
177
|
-
orderPayment = await modules.orders.payments.updateCalculation(orderPayment,
|
|
176
|
+
orderPayment = await modules.orders.payments.updateCalculation(orderPayment, unchainedAPI);
|
|
178
177
|
}
|
|
179
|
-
orderPositions = await Promise.all(orderPositions.map(async (orderPosition) => modules.orders.positions.updateScheduling({ order, orderDelivery, orderPosition },
|
|
180
|
-
const pricing = await OrderPricingDirector.actions({ order, orderPositions, orderDelivery, orderPayment },
|
|
178
|
+
orderPositions = await Promise.all(orderPositions.map(async (orderPosition) => modules.orders.positions.updateScheduling({ order, orderDelivery, orderPosition }, unchainedAPI)));
|
|
179
|
+
const pricing = await OrderPricingDirector.actions({ order, orderPositions, orderDelivery, orderPayment }, unchainedAPI);
|
|
181
180
|
const calculation = await pricing.calculate();
|
|
182
181
|
await Orders.updateOne(selector, {
|
|
183
182
|
$set: {
|
|
184
183
|
calculation,
|
|
185
184
|
updated: new Date(),
|
|
186
|
-
updatedBy: requestContext.userId,
|
|
187
185
|
},
|
|
188
186
|
});
|
|
189
187
|
return Orders.findOne(selector, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrdersModule.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configureOrdersModule.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export const createUserCartService = async ({ user, orderNumber, countryCode },
|
|
2
|
-
const {
|
|
3
|
-
const normalizedCountryCode = countryCode || countryContext;
|
|
1
|
+
export const createUserCartService = async ({ user, orderNumber, countryCode }, unchainedAPI) => {
|
|
2
|
+
const { modules, services } = unchainedAPI;
|
|
4
3
|
const currency = await services.countries.resolveDefaultCurrencyCode({
|
|
5
|
-
isoCode:
|
|
6
|
-
},
|
|
4
|
+
isoCode: countryCode,
|
|
5
|
+
}, unchainedAPI);
|
|
7
6
|
const order = await modules.orders.create({
|
|
7
|
+
userId: user._id,
|
|
8
8
|
orderNumber,
|
|
9
9
|
currency,
|
|
10
|
-
countryCode
|
|
10
|
+
countryCode,
|
|
11
11
|
billingAddress: user.lastBillingAddress || user.profile?.address,
|
|
12
12
|
contact: user.lastContact ||
|
|
13
13
|
(!user.guest
|
|
@@ -16,8 +16,8 @@ export const createUserCartService = async ({ user, orderNumber, countryCode },
|
|
|
16
16
|
emailAddress: modules.users.primaryEmail(user)?.address,
|
|
17
17
|
}
|
|
18
18
|
: {}),
|
|
19
|
-
}
|
|
20
|
-
await modules.orders.initProviders(order,
|
|
19
|
+
});
|
|
20
|
+
await modules.orders.initProviders(order, unchainedAPI);
|
|
21
21
|
return order;
|
|
22
22
|
};
|
|
23
23
|
//# sourceMappingURL=createUserCartService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createUserCartService.js","sourceRoot":"","sources":["../../src/service/createUserCartService.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAA0B,KAAK,EAC/D,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,EAClC,
|
|
1
|
+
{"version":3,"file":"createUserCartService.js","sourceRoot":"","sources":["../../src/service/createUserCartService.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAA0B,KAAK,EAC/D,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,EAClC,YAAY,EACZ,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;IAE3C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,0BAA0B,CAClE;QACE,OAAO,EAAE,WAAW;KACrB,EACD,YAAY,CACb,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,GAAG;QAChB,WAAW;QACX,QAAQ;QACR,WAAW;QACX,cAAc,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO;QAChE,OAAO,EACL,IAAI,CAAC,WAAW;YAChB,CAAC,CAAC,IAAI,CAAC,KAAK;gBACV,CAAC,CAAC;oBACE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW;oBACpC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO;iBACxD;gBACH,CAAC,CAAC,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -5,20 +5,14 @@ export const migrateOrderCartsService = async ({ fromUser, toUser, shouldMerge,
|
|
|
5
5
|
// No cart, don't copy
|
|
6
6
|
return toCart;
|
|
7
7
|
}
|
|
8
|
-
const artificialContext = {
|
|
9
|
-
countryContext,
|
|
10
|
-
user: toUser,
|
|
11
|
-
userId: toUser._id,
|
|
12
|
-
...unchainedAPI,
|
|
13
|
-
};
|
|
14
8
|
if (!toCart || !shouldMerge) {
|
|
15
9
|
// No destination cart, move whole cart
|
|
16
10
|
unchainedAPI.modules.orders.setCartOwner({ orderId: fromCart._id, userId: toUser._id });
|
|
17
|
-
return unchainedAPI.modules.orders.updateCalculation(fromCart._id,
|
|
11
|
+
return unchainedAPI.modules.orders.updateCalculation(fromCart._id, unchainedAPI);
|
|
18
12
|
}
|
|
19
13
|
// Move positions
|
|
20
14
|
unchainedAPI.modules.orders.moveCartPositions({ fromOrderId: fromCart._id, toOrderId: toCart._id });
|
|
21
|
-
await unchainedAPI.modules.orders.updateCalculation(fromCart._id,
|
|
22
|
-
return unchainedAPI.modules.orders.updateCalculation(toCart._id,
|
|
15
|
+
await unchainedAPI.modules.orders.updateCalculation(fromCart._id, unchainedAPI);
|
|
16
|
+
return unchainedAPI.modules.orders.updateCalculation(toCart._id, unchainedAPI);
|
|
23
17
|
};
|
|
24
18
|
//# sourceMappingURL=migrateOrderCartService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrateOrderCartService.js","sourceRoot":"","sources":["../../src/service/migrateOrderCartService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrateOrderCartService.js","sourceRoot":"","sources":["../../src/service/migrateOrderCartService.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,wBAAwB,GAA6B,KAAK,EACrE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EACjD,YAAY,EACZ,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;IAElF,IAAI,CAAC,QAAQ,EAAE;QACb,sBAAsB;QACtB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE;QAC3B,uCAAuC;QACvC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;KAClF;IAED,iBAAiB;IACjB,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAEpG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAChF,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AACjF,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core-orders",
|
|
3
|
-
"version": "2.0.0-
|
|
3
|
+
"version": "2.0.0-beta9",
|
|
4
4
|
"main": "lib/orders-index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./lib/orders-index.js",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"clean": "rm -rf lib",
|
|
13
13
|
"build": "npm run clean && tsc",
|
|
14
14
|
"watch": "tsc -w",
|
|
15
|
-
"test": "jest --
|
|
15
|
+
"test": "NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --forceExit",
|
|
16
|
+
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch --detectOpenHandles --forceExit"
|
|
16
17
|
},
|
|
17
18
|
"repository": {
|
|
18
19
|
"type": "git",
|
|
@@ -30,16 +31,16 @@
|
|
|
30
31
|
},
|
|
31
32
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
32
33
|
"dependencies": {
|
|
33
|
-
"@unchainedshop/events": "^2.0.0-
|
|
34
|
-
"@unchainedshop/logger": "^2.0.0-
|
|
35
|
-
"@unchainedshop/utils": "^2.0.0-
|
|
36
|
-
"simpl-schema": "^3.0
|
|
34
|
+
"@unchainedshop/events": "^2.0.0-beta9",
|
|
35
|
+
"@unchainedshop/logger": "^2.0.0-beta9",
|
|
36
|
+
"@unchainedshop/utils": "^2.0.0-beta9",
|
|
37
|
+
"simpl-schema": "^3.2.0"
|
|
37
38
|
},
|
|
38
39
|
"devDependencies": {
|
|
39
|
-
"@types/node": "^18.11.
|
|
40
|
-
"@unchainedshop/types": "^2.0.0-
|
|
40
|
+
"@types/node": "^18.11.12",
|
|
41
|
+
"@unchainedshop/types": "^2.0.0-beta9",
|
|
41
42
|
"jest": "^29.3.1",
|
|
42
43
|
"ts-jest": "^29.0.3",
|
|
43
|
-
"typescript": "^4.9.
|
|
44
|
+
"typescript": "^4.9.4"
|
|
44
45
|
}
|
|
45
46
|
}
|
|
@@ -18,8 +18,8 @@ const baseDirector = BasePricingDirector<
|
|
|
18
18
|
export const OrderPricingDirector: IOrderPricingDirector = {
|
|
19
19
|
...baseDirector,
|
|
20
20
|
|
|
21
|
-
buildPricingContext: async ({ order, ...context },
|
|
22
|
-
const { modules } =
|
|
21
|
+
buildPricingContext: async ({ order, ...context }, unchainedAPI) => {
|
|
22
|
+
const { modules } = unchainedAPI;
|
|
23
23
|
const user = await modules.users.findUserById(order.userId);
|
|
24
24
|
|
|
25
25
|
const orderDelivery = await modules.orders.deliveries.findDelivery({
|
|
@@ -42,7 +42,7 @@ export const OrderPricingDirector: IOrderPricingDirector = {
|
|
|
42
42
|
country: order.countryCode,
|
|
43
43
|
currency: order.currency,
|
|
44
44
|
...context,
|
|
45
|
-
...
|
|
45
|
+
...unchainedAPI,
|
|
46
46
|
discounts,
|
|
47
47
|
order,
|
|
48
48
|
orderDelivery,
|
|
@@ -52,8 +52,8 @@ export const OrderPricingDirector: IOrderPricingDirector = {
|
|
|
52
52
|
};
|
|
53
53
|
},
|
|
54
54
|
|
|
55
|
-
async actions(pricingContext,
|
|
56
|
-
const actions = await baseDirector.actions(pricingContext,
|
|
55
|
+
async actions(pricingContext, unchainedAPI) {
|
|
56
|
+
const actions = await baseDirector.actions(pricingContext, unchainedAPI, this.buildPricingContext);
|
|
57
57
|
return {
|
|
58
58
|
...actions,
|
|
59
59
|
calculationSheet() {
|
|
@@ -14,7 +14,7 @@ import { OrderDeliveriesSchema } from '../db/OrderDeliveriesSchema';
|
|
|
14
14
|
|
|
15
15
|
const ORDER_DELIVERY_EVENTS: string[] = ['ORDER_DELIVER', 'ORDER_UPDATE_DELIVERY'];
|
|
16
16
|
|
|
17
|
-
const buildFindByIdSelector = (orderDeliveryId: string) =>
|
|
17
|
+
export const buildFindByIdSelector = (orderDeliveryId: string) =>
|
|
18
18
|
generateDbFilterById(orderDeliveryId) as Filter<OrderDelivery>;
|
|
19
19
|
|
|
20
20
|
export const configureOrderDeliveriesModule = ({
|
|
@@ -40,13 +40,12 @@ export const configureOrderDeliveriesModule = ({
|
|
|
40
40
|
const updateStatus: OrderDeliveriesModule['updateStatus'] = async (
|
|
41
41
|
orderDeliveryId,
|
|
42
42
|
{ status, info },
|
|
43
|
-
userId,
|
|
44
43
|
) => {
|
|
45
44
|
log(`OrderDelivery ${orderDeliveryId} -> New Status: ${status}`);
|
|
46
45
|
|
|
47
46
|
const date = new Date();
|
|
48
47
|
const modifier: Update<OrderDelivery> = {
|
|
49
|
-
$set: { status, updated: new Date()
|
|
48
|
+
$set: { status, updated: new Date() },
|
|
50
49
|
$push: {
|
|
51
50
|
log: {
|
|
52
51
|
date,
|
|
@@ -89,14 +88,14 @@ export const configureOrderDeliveriesModule = ({
|
|
|
89
88
|
}));
|
|
90
89
|
},
|
|
91
90
|
|
|
92
|
-
isBlockingOrderConfirmation: async (orderDelivery,
|
|
93
|
-
const provider = await
|
|
91
|
+
isBlockingOrderConfirmation: async (orderDelivery, unchainedAPI) => {
|
|
92
|
+
const provider = await unchainedAPI.modules.delivery.findProvider({
|
|
94
93
|
deliveryProviderId: orderDelivery.deliveryProviderId,
|
|
95
94
|
});
|
|
96
95
|
|
|
97
|
-
const isAutoReleaseAllowed = await
|
|
96
|
+
const isAutoReleaseAllowed = await unchainedAPI.modules.delivery.isAutoReleaseAllowed(
|
|
98
97
|
provider,
|
|
99
|
-
|
|
98
|
+
unchainedAPI,
|
|
100
99
|
);
|
|
101
100
|
|
|
102
101
|
return !isAutoReleaseAllowed;
|
|
@@ -117,38 +116,35 @@ export const configureOrderDeliveriesModule = ({
|
|
|
117
116
|
|
|
118
117
|
// Mutations
|
|
119
118
|
|
|
120
|
-
create: async (doc
|
|
121
|
-
const orderDeliveryId = await mutations.create(
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
create: async (doc) => {
|
|
120
|
+
const orderDeliveryId = await mutations.create({
|
|
121
|
+
...doc,
|
|
122
|
+
context: doc.context || {},
|
|
123
|
+
status: null,
|
|
124
|
+
});
|
|
125
125
|
|
|
126
126
|
const orderDelivery = await OrderDeliveries.findOne(buildFindByIdSelector(orderDeliveryId));
|
|
127
127
|
return orderDelivery;
|
|
128
128
|
},
|
|
129
129
|
|
|
130
|
-
delete: async (orderDeliveryId
|
|
131
|
-
const deletedCount = await mutations.delete(orderDeliveryId
|
|
130
|
+
delete: async (orderDeliveryId) => {
|
|
131
|
+
const deletedCount = await mutations.delete(orderDeliveryId);
|
|
132
132
|
return deletedCount;
|
|
133
133
|
},
|
|
134
134
|
|
|
135
|
-
markAsDelivered: async (orderDelivery
|
|
135
|
+
markAsDelivered: async (orderDelivery) => {
|
|
136
136
|
if (normalizedStatus(orderDelivery) !== OrderDeliveryStatus.OPEN) return;
|
|
137
|
-
const updatedOrderDelivery = await updateStatus(
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
info: 'mark delivered manually',
|
|
142
|
-
},
|
|
143
|
-
userId,
|
|
144
|
-
);
|
|
137
|
+
const updatedOrderDelivery = await updateStatus(orderDelivery._id, {
|
|
138
|
+
status: OrderDeliveryStatus.DELIVERED,
|
|
139
|
+
info: 'mark delivered manually',
|
|
140
|
+
});
|
|
145
141
|
await emit('ORDER_DELIVER', { orderDelivery: updatedOrderDelivery });
|
|
146
142
|
},
|
|
147
143
|
|
|
148
|
-
send: async (orderDelivery, { order, deliveryContext },
|
|
144
|
+
send: async (orderDelivery, { order, deliveryContext }, unchainedAPI) => {
|
|
149
145
|
if (normalizedStatus(orderDelivery) !== OrderDeliveryStatus.OPEN) return orderDelivery;
|
|
150
146
|
|
|
151
|
-
const deliveryProvider = await
|
|
147
|
+
const deliveryProvider = await unchainedAPI.modules.delivery.findProvider({
|
|
152
148
|
deliveryProviderId: orderDelivery.deliveryProviderId,
|
|
153
149
|
});
|
|
154
150
|
|
|
@@ -156,7 +152,7 @@ export const configureOrderDeliveriesModule = ({
|
|
|
156
152
|
|
|
157
153
|
const address = orderDelivery.context?.address || order || order.billingAddress;
|
|
158
154
|
|
|
159
|
-
const arbitraryResponseData = await
|
|
155
|
+
const arbitraryResponseData = await unchainedAPI.modules.delivery.send(
|
|
160
156
|
deliveryProviderId,
|
|
161
157
|
{
|
|
162
158
|
order,
|
|
@@ -167,24 +163,20 @@ export const configureOrderDeliveriesModule = ({
|
|
|
167
163
|
...(address || {}),
|
|
168
164
|
},
|
|
169
165
|
},
|
|
170
|
-
|
|
166
|
+
unchainedAPI,
|
|
171
167
|
);
|
|
172
168
|
|
|
173
169
|
if (arbitraryResponseData) {
|
|
174
|
-
return updateStatus(
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
info: JSON.stringify(arbitraryResponseData),
|
|
179
|
-
},
|
|
180
|
-
requestContext.userId,
|
|
181
|
-
);
|
|
170
|
+
return updateStatus(orderDelivery._id, {
|
|
171
|
+
status: OrderDeliveryStatus.DELIVERED,
|
|
172
|
+
info: JSON.stringify(arbitraryResponseData),
|
|
173
|
+
});
|
|
182
174
|
}
|
|
183
175
|
|
|
184
176
|
return orderDelivery;
|
|
185
177
|
},
|
|
186
178
|
|
|
187
|
-
updateContext: async (orderDeliveryId, context,
|
|
179
|
+
updateContext: async (orderDeliveryId, context, unchainedAPI) => {
|
|
188
180
|
if (!context) return false;
|
|
189
181
|
|
|
190
182
|
const selector = buildFindByIdSelector(orderDeliveryId);
|
|
@@ -199,12 +191,11 @@ export const configureOrderDeliveriesModule = ({
|
|
|
199
191
|
$set: {
|
|
200
192
|
context: { ...(orderDelivery.context || {}), ...context },
|
|
201
193
|
updated: new Date(),
|
|
202
|
-
updatedBy: requestContext.userId,
|
|
203
194
|
},
|
|
204
195
|
});
|
|
205
196
|
|
|
206
197
|
if (result.modifiedCount) {
|
|
207
|
-
await updateCalculation(orderId,
|
|
198
|
+
await updateCalculation(orderId, unchainedAPI);
|
|
208
199
|
await emit('ORDER_UPDATE_DELIVERY', {
|
|
209
200
|
orderDelivery: {
|
|
210
201
|
...orderDelivery,
|
|
@@ -219,16 +210,16 @@ export const configureOrderDeliveriesModule = ({
|
|
|
219
210
|
|
|
220
211
|
updateStatus,
|
|
221
212
|
|
|
222
|
-
updateCalculation: async (orderDelivery,
|
|
213
|
+
updateCalculation: async (orderDelivery, unchainedAPI) => {
|
|
223
214
|
log(`OrderDelivery ${orderDelivery._id} -> Update Calculation`, {
|
|
224
215
|
orderId: orderDelivery.orderId,
|
|
225
216
|
});
|
|
226
217
|
|
|
227
|
-
const calculation = await
|
|
218
|
+
const calculation = await unchainedAPI.modules.delivery.calculate(
|
|
228
219
|
{
|
|
229
220
|
item: orderDelivery,
|
|
230
221
|
},
|
|
231
|
-
|
|
222
|
+
unchainedAPI,
|
|
232
223
|
);
|
|
233
224
|
|
|
234
225
|
const selector = buildFindByIdSelector(orderDelivery._id);
|
|
@@ -236,7 +227,6 @@ export const configureOrderDeliveriesModule = ({
|
|
|
236
227
|
$set: {
|
|
237
228
|
calculation,
|
|
238
229
|
updated: new Date(),
|
|
239
|
-
updatedBy: requestContext.userId,
|
|
240
230
|
},
|
|
241
231
|
});
|
|
242
232
|
|