@unchainedshop/core-orders 1.2.55 → 1.2.56

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.
@@ -2,11 +2,12 @@ import { Collection } from '@unchainedshop/types/common';
2
2
  import { Order, OrderMutations, OrdersModule } from '@unchainedshop/types/orders';
3
3
  import { OrderDelivery } from '@unchainedshop/types/orders.deliveries';
4
4
  import { OrderPayment } from '@unchainedshop/types/orders.payments';
5
- export declare const configureOrderModuleMutations: ({ Orders, OrderDeliveries, OrderPayments, initProviders, updateStatus, updateCalculation, }: {
5
+ import { OrderPosition } from '@unchainedshop/types/orders.positions';
6
+ export declare const configureOrderModuleMutations: ({ Orders, OrderDeliveries, OrderPayments, OrderPositions, initProviders, updateCalculation, }: {
6
7
  Orders: Collection<Order>;
7
8
  OrderDeliveries: Collection<OrderDelivery>;
8
9
  OrderPayments: Collection<OrderPayment>;
10
+ OrderPositions: Collection<OrderPosition>;
9
11
  initProviders: OrdersModule['initProviders'];
10
- updateStatus: OrdersModule['updateStatus'];
11
12
  updateCalculation: OrdersModule['updateCalculation'];
12
13
  }) => OrderMutations;
@@ -10,7 +10,7 @@ const ORDER_EVENTS = [
10
10
  'ORDER_SET_PAYMENT_PROVIDER',
11
11
  'ORDER_UPDATE',
12
12
  ];
13
- export const configureOrderModuleMutations = ({ Orders, OrderDeliveries, OrderPayments, initProviders, updateStatus, updateCalculation, }) => {
13
+ export const configureOrderModuleMutations = ({ Orders, OrderDeliveries, OrderPayments, OrderPositions, initProviders, updateCalculation, }) => {
14
14
  registerEvents(ORDER_EVENTS);
15
15
  const mutations = generateDbMutations(Orders, OrdersSchema, {
16
16
  permanentlyDeleteByDefault: true,
@@ -53,6 +53,20 @@ export const configureOrderModuleMutations = ({ Orders, OrderDeliveries, OrderPa
53
53
  }).toArray();
54
54
  await Promise.all(orders.map((order) => initProviders(order, requestContext))); // TODO: Refactor Types
55
55
  },
56
+ setCartOwner: async ({ orderId, userId }) => {
57
+ await Orders.updateOne(generateDbFilterById(orderId), {
58
+ $set: {
59
+ userId,
60
+ },
61
+ });
62
+ },
63
+ moveCartPositions: async ({ fromOrderId, toOrderId }) => {
64
+ await OrderPositions.updateMany({ orderId: fromOrderId }, {
65
+ $set: {
66
+ orderId: toOrderId,
67
+ },
68
+ });
69
+ },
56
70
  setDeliveryProvider: async (orderId, deliveryProviderId, requestContext) => {
57
71
  const { modules } = requestContext;
58
72
  const delivery = await OrderDeliveries.findOne({
@@ -158,7 +172,6 @@ export const configureOrderModuleMutations = ({ Orders, OrderDeliveries, OrderPa
158
172
  }
159
173
  return false;
160
174
  },
161
- updateStatus,
162
175
  updateCalculation,
163
176
  };
164
177
  };
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrdersModule-mutations.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureOrdersModule-mutations.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-mutations.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import { Collection } from '@unchainedshop/types/common';
2
- import { Order, OrderProcessing, OrdersModule } from '@unchainedshop/types/orders';
2
+ import { Order, OrderProcessing } from '@unchainedshop/types/orders';
3
3
  import { OrderDelivery } from '@unchainedshop/types/orders.deliveries';
4
4
  import { OrderPayment } from '@unchainedshop/types/orders.payments';
5
5
  import { OrderPosition } from '@unchainedshop/types/orders.positions';
6
- export declare const configureOrderModuleProcessing: ({ Orders, OrderPositions, OrderDeliveries, OrderPayments, updateStatus, }: {
6
+ export declare const configureOrderModuleProcessing: ({ Orders, OrderPositions, OrderDeliveries, OrderPayments, }: {
7
7
  Orders: Collection<Order>;
8
8
  OrderPositions: Collection<OrderPosition>;
9
9
  OrderDeliveries: Collection<OrderDelivery>;
10
10
  OrderPayments: Collection<OrderPayment>;
11
- updateStatus: OrdersModule['updateStatus'];
12
11
  }) => OrderProcessing;
@@ -3,9 +3,93 @@ import { emit, registerEvents } from '@unchainedshop/events';
3
3
  import { log } from '@unchainedshop/logger';
4
4
  import { generateDbFilterById } from '@unchainedshop/utils';
5
5
  import { ordersSettings } from '../orders-settings';
6
- const ORDER_PROCESSING_EVENTS = ['ORDER_CHECKOUT', 'ORDER_CONFIRMED', 'ORDER_FULLFILLED'];
7
- export const configureOrderModuleProcessing = ({ Orders, OrderPositions, OrderDeliveries, OrderPayments, updateStatus, }) => {
6
+ const ORDER_PROCESSING_EVENTS = [
7
+ 'ORDER_CHECKOUT',
8
+ 'ORDER_CONFIRMED',
9
+ 'ORDER_REJECTED',
10
+ 'ORDER_FULLFILLED',
11
+ ];
12
+ export const configureOrderModuleProcessing = ({ Orders, OrderPositions, OrderDeliveries, OrderPayments, }) => {
8
13
  registerEvents(ORDER_PROCESSING_EVENTS);
14
+ const findNewOrderNumber = async (order, index = 0) => {
15
+ const newHashID = ordersSettings.orderNumberHashFn(order, index);
16
+ if ((await Orders.countDocuments({ orderNumber: newHashID }, { limit: 1 })) === 0) {
17
+ return newHashID;
18
+ }
19
+ return findNewOrderNumber(order, index + 1);
20
+ };
21
+ const updateStatus = async (orderId, { status, info }, requestContext) => {
22
+ const selector = generateDbFilterById(orderId);
23
+ const order = await Orders.findOne(selector, {});
24
+ if (order.status === status)
25
+ return order;
26
+ const date = new Date();
27
+ const $set = {
28
+ status,
29
+ updated: new Date(),
30
+ updatedBy: requestContext.userId,
31
+ };
32
+ switch (status) {
33
+ // explicitly use fallthrough here!
34
+ case OrderStatus.FULLFILLED:
35
+ if (!order.fullfilled) {
36
+ $set.fullfilled = date;
37
+ }
38
+ case OrderStatus.REJECTED: // eslint-disable-line no-fallthrough
39
+ if (!order.rejected) {
40
+ $set.rejected = date;
41
+ }
42
+ case OrderStatus.CONFIRMED: // eslint-disable-line no-fallthrough
43
+ if (!order.confirmed) {
44
+ $set.confirmed = date;
45
+ }
46
+ case OrderStatus.PENDING: // eslint-disable-line no-fallthrough
47
+ if (!order.ordered) {
48
+ $set.ordered = date;
49
+ }
50
+ if (!order.orderNumber) {
51
+ // Order Numbers can be set by the user
52
+ $set.orderNumber = await findNewOrderNumber(order);
53
+ }
54
+ break;
55
+ default:
56
+ break;
57
+ }
58
+ const modifier = {
59
+ $set,
60
+ $push: {
61
+ log: {
62
+ date,
63
+ status,
64
+ info,
65
+ },
66
+ },
67
+ };
68
+ log(`New Status: ${status}`, { orderId });
69
+ await Orders.updateOne(selector, modifier);
70
+ const updatedOrder = await Orders.findOne(selector, {});
71
+ if (order.status === null) {
72
+ // The first time that an order transitions away from cart is a checkout event
73
+ await emit('ORDER_CHECKOUT', { order });
74
+ }
75
+ switch (status) {
76
+ case OrderStatus.FULLFILLED:
77
+ await emit('ORDER_FULLFILLED', { order });
78
+ break;
79
+ case OrderStatus.REJECTED:
80
+ await emit('ORDER_REJECTED', { order });
81
+ break;
82
+ case OrderStatus.CONFIRMED:
83
+ await emit('ORDER_CONFIRMED', { order });
84
+ break;
85
+ case OrderStatus.PENDING:
86
+ await emit('ORDER_CHECKOUT', { order });
87
+ break;
88
+ default:
89
+ break;
90
+ }
91
+ return updatedOrder;
92
+ };
9
93
  const findOrderPositions = async (order) => OrderPositions.find({
10
94
  orderId: order._id,
11
95
  quantity: { $gt: 0 },
@@ -24,7 +108,7 @@ export const configureOrderModuleProcessing = ({ Orders, OrderPositions, OrderDe
24
108
  errors.push('No payment provider selected');
25
109
  return errors;
26
110
  };
27
- const itemValidationErrors = async (order, { modules }) => {
111
+ const itemValidationErrors = async (order, unchainedAPI) => {
28
112
  // Check if items are valid
29
113
  const orderPositions = await findOrderPositions(order);
30
114
  if (orderPositions.length === 0) {
@@ -37,17 +121,25 @@ export const configureOrderModuleProcessing = ({ Orders, OrderPositions, OrderDe
37
121
  log(`OrderPosition ${orderPosition._id} -> Validate ${orderPosition.quantity}`, {
38
122
  orderId: orderPosition.orderId,
39
123
  });
40
- const product = await modules.products.findProduct({
124
+ const product = await unchainedAPI.modules.products.findProduct({
41
125
  productId: orderPosition.productId,
42
126
  });
43
- if (!modules.products.isActive(product)) {
44
- errors.push(new Error('This product is not available anymore'));
127
+ try {
128
+ await ordersSettings.validateOrderPosition({
129
+ order,
130
+ product,
131
+ configuration: orderPosition.configuration,
132
+ quantityDiff: 0,
133
+ }, unchainedAPI);
134
+ }
135
+ catch (e) {
136
+ errors.push(e);
45
137
  }
46
138
  const quotation = orderPosition.quotationId &&
47
- (await modules.quotations.findQuotation({
139
+ (await unchainedAPI.modules.quotations.findQuotation({
48
140
  quotationId: orderPosition.quotationId,
49
141
  }));
50
- if (quotation && !modules.quotations.isProposalValid(quotation)) {
142
+ if (quotation && !unchainedAPI.modules.quotations.isProposalValid(quotation)) {
51
143
  errors.push(new Error('Quotation expired or fullfiled, please request a new offer'));
52
144
  }
53
145
  return errors;
@@ -91,20 +183,16 @@ export const configureOrderModuleProcessing = ({ Orders, OrderPositions, OrderDe
91
183
  const findNextStatus = async (status, order, requestContext) => {
92
184
  if (status === null) {
93
185
  if ((await missingInputDataForCheckout(order)).length === 0) {
94
- await emit('ORDER_CHECKOUT', { order });
95
186
  return OrderStatus.PENDING;
96
187
  }
97
188
  }
98
189
  if (status === OrderStatus.PENDING) {
99
190
  if (await isAutoConfirmationEnabled(order, requestContext)) {
100
- await emit('ORDER_CONFIRMED', { order });
101
191
  return OrderStatus.CONFIRMED;
102
192
  }
103
193
  }
104
194
  if (status === OrderStatus.CONFIRMED) {
105
- const isFullfilled = await isAutoFullfillmentEnabled(order, requestContext);
106
- if (isFullfilled) {
107
- await emit('ORDER_FULLFILLED', { order });
195
+ if (await isAutoFullfillmentEnabled(order, requestContext)) {
108
196
  return OrderStatus.FULLFILLED;
109
197
  }
110
198
  }
@@ -179,20 +267,6 @@ export const configureOrderModuleProcessing = ({ Orders, OrderPositions, OrderDe
179
267
  countryCode,
180
268
  }, requestContext);
181
269
  },
182
- setCartOwner: async ({ orderId, userId }) => {
183
- await Orders.updateOne(generateDbFilterById(orderId), {
184
- $set: {
185
- userId,
186
- },
187
- });
188
- },
189
- moveCartPositions: async ({ fromOrderId, toOrderId }) => {
190
- await OrderPositions.updateMany({ orderId: fromOrderId }, {
191
- $set: {
192
- orderId: toOrderId,
193
- },
194
- });
195
- },
196
270
  processOrder: async (initialOrder, params, requestContext) => {
197
271
  const { modules } = requestContext;
198
272
  const { paymentContext, deliveryContext, nextStatus: forceNextStatus } = params;
@@ -331,6 +405,7 @@ export const configureOrderModuleProcessing = ({ Orders, OrderPositions, OrderDe
331
405
  }, userId);
332
406
  return order;
333
407
  },
408
+ updateStatus,
334
409
  };
335
410
  };
336
411
  //# sourceMappingURL=configureOrdersModule-processing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrdersModule-processing.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-processing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureOrdersModule-processing.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-processing.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- import { OrderStatus } from '@unchainedshop/types/orders';
2
- import { log } from '@unchainedshop/logger';
3
1
  import { generateDbFilterById } from '@unchainedshop/utils';
4
2
  import { OrderDeliveriesCollection } from '../db/OrderDeliveriesCollection';
5
3
  import { OrderDiscountsCollection } from '../db/OrderDiscountsCollection';
@@ -31,64 +29,6 @@ export const configureOrdersModule = async ({ db, options: orderOptions = {}, })
31
29
  }, {}).toArray();
32
30
  const findOrderDelivery = async (order) => OrderDeliveries.findOne(generateDbFilterById(order.deliveryId), {});
33
31
  const findOrderPayment = async (order) => OrderPayments.findOne(generateDbFilterById(order.paymentId), {});
34
- const findNewOrderNumber = async (order, index = 0) => {
35
- const newHashID = ordersSettings.orderNumberHashFn(order, index);
36
- if ((await Orders.countDocuments({ orderNumber: newHashID }, { limit: 1 })) === 0) {
37
- return newHashID;
38
- }
39
- return findNewOrderNumber(order, index + 1);
40
- };
41
- const updateStatus = async (orderId, { status, info }, requestContext) => {
42
- const selector = generateDbFilterById(orderId);
43
- const order = await Orders.findOne(selector, {});
44
- if (order.status === status)
45
- return order;
46
- const date = new Date();
47
- const $set = {
48
- status,
49
- updated: new Date(),
50
- updatedBy: requestContext.userId,
51
- };
52
- switch (status) {
53
- // explicitly use fallthrough here!
54
- case OrderStatus.FULLFILLED:
55
- if (!order.fullfilled) {
56
- $set.fullfilled = date;
57
- }
58
- case OrderStatus.REJECTED: // eslint-disable-line no-fallthrough
59
- if (!order.rejected) {
60
- $set.rejected = date;
61
- }
62
- case OrderStatus.CONFIRMED: // eslint-disable-line no-fallthrough
63
- if (!order.confirmed) {
64
- $set.confirmed = date;
65
- }
66
- case OrderStatus.PENDING: // eslint-disable-line no-fallthrough
67
- if (!order.ordered) {
68
- $set.ordered = date;
69
- }
70
- if (!order.orderNumber) {
71
- // Order Numbers can be set by the user
72
- $set.orderNumber = await findNewOrderNumber(order);
73
- }
74
- break;
75
- default:
76
- break;
77
- }
78
- const modifier = {
79
- $set,
80
- $push: {
81
- log: {
82
- date,
83
- status,
84
- info,
85
- },
86
- },
87
- };
88
- log(`New Status: ${status}`, { orderId });
89
- await Orders.updateOne(selector, modifier);
90
- return Orders.findOne(selector, {});
91
- };
92
32
  const updateDiscounts = async (order, requestContext) => {
93
33
  const { modules } = requestContext;
94
34
  // 1. go through existing order-discounts and check if discount still valid,
@@ -197,15 +137,14 @@ export const configureOrdersModule = async ({ db, options: orderOptions = {}, })
197
137
  OrderDeliveries,
198
138
  OrderPayments,
199
139
  OrderPositions,
200
- updateStatus,
201
140
  });
202
141
  const orderMutations = configureOrderModuleMutations({
203
142
  Orders,
204
143
  OrderDeliveries,
205
144
  OrderPayments,
145
+ OrderPositions,
206
146
  initProviders,
207
147
  updateCalculation,
208
- updateStatus,
209
148
  });
210
149
  const orderDiscountsModule = configureOrderDiscountsModule({
211
150
  OrderDiscounts,
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrdersModule.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureOrdersModule.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/core-orders",
3
- "version": "1.2.55",
3
+ "version": "1.2.56",
4
4
  "main": "lib/orders-index.js",
5
5
  "exports": {
6
6
  ".": "./lib/orders-index.js",
@@ -30,15 +30,15 @@
30
30
  },
31
31
  "homepage": "https://github.com/unchainedshop/unchained#readme",
32
32
  "dependencies": {
33
- "@unchainedshop/events": "^1.2.55",
34
- "@unchainedshop/logger": "^1.2.55",
35
- "@unchainedshop/utils": "^1.2.55",
33
+ "@unchainedshop/events": "^1.2.56",
34
+ "@unchainedshop/logger": "^1.2.56",
35
+ "@unchainedshop/utils": "^1.2.56",
36
36
  "simpl-schema": "=3.2.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "^16.18.12",
40
- "@unchainedshop/types": "^1.2.55",
41
- "jest": "^29.4.2",
40
+ "@unchainedshop/types": "^1.2.56",
41
+ "jest": "^29.4.3",
42
42
  "ts-jest": "^29.0.5",
43
43
  "typescript": "^4.9.5"
44
44
  }
@@ -7,6 +7,7 @@ import { emit, registerEvents } from '@unchainedshop/events';
7
7
  import { log, LogLevel } from '@unchainedshop/logger';
8
8
  import { generateDbFilterById, generateDbMutations } from '@unchainedshop/utils';
9
9
  import { Context } from '@unchainedshop/types/api';
10
+ import { OrderPosition } from '@unchainedshop/types/orders.positions';
10
11
  import { OrdersSchema } from '../db/OrdersSchema';
11
12
 
12
13
  const ORDER_EVENTS: string[] = [
@@ -21,15 +22,15 @@ export const configureOrderModuleMutations = ({
21
22
  Orders,
22
23
  OrderDeliveries,
23
24
  OrderPayments,
25
+ OrderPositions,
24
26
  initProviders,
25
- updateStatus,
26
27
  updateCalculation,
27
28
  }: {
28
29
  Orders: Collection<Order>;
29
30
  OrderDeliveries: Collection<OrderDelivery>;
30
31
  OrderPayments: Collection<OrderPayment>;
32
+ OrderPositions: Collection<OrderPosition>;
31
33
  initProviders: OrdersModule['initProviders'];
32
- updateStatus: OrdersModule['updateStatus'];
33
34
  updateCalculation: OrdersModule['updateCalculation'];
34
35
  }): OrderMutations => {
35
36
  registerEvents(ORDER_EVENTS);
@@ -89,6 +90,25 @@ export const configureOrderModuleMutations = ({
89
90
  await Promise.all(orders.map((order) => initProviders(order, requestContext as Context))); // TODO: Refactor Types
90
91
  },
91
92
 
93
+ setCartOwner: async ({ orderId, userId }) => {
94
+ await Orders.updateOne(generateDbFilterById(orderId), {
95
+ $set: {
96
+ userId,
97
+ },
98
+ });
99
+ },
100
+
101
+ moveCartPositions: async ({ fromOrderId, toOrderId }) => {
102
+ await OrderPositions.updateMany(
103
+ { orderId: fromOrderId },
104
+ {
105
+ $set: {
106
+ orderId: toOrderId,
107
+ },
108
+ },
109
+ );
110
+ },
111
+
92
112
  setDeliveryProvider: async (orderId, deliveryProviderId, requestContext) => {
93
113
  const { modules } = requestContext;
94
114
  const delivery = await OrderDeliveries.findOne({
@@ -227,7 +247,6 @@ export const configureOrderModuleMutations = ({
227
247
  return false;
228
248
  },
229
249
 
230
- updateStatus,
231
250
  updateCalculation,
232
251
  };
233
252
  };
@@ -1,5 +1,5 @@
1
1
  import { Context } from '@unchainedshop/types/api';
2
- import { Collection } from '@unchainedshop/types/common';
2
+ import { Collection, Update } from '@unchainedshop/types/common';
3
3
  import { Order, OrderStatus, OrderProcessing, OrdersModule } from '@unchainedshop/types/orders';
4
4
  import { OrderDelivery } from '@unchainedshop/types/orders.deliveries';
5
5
  import { OrderPayment } from '@unchainedshop/types/orders.payments';
@@ -7,25 +7,121 @@ import { OrderPosition } from '@unchainedshop/types/orders.positions';
7
7
  import { emit, registerEvents } from '@unchainedshop/events';
8
8
  import { log } from '@unchainedshop/logger';
9
9
  import { generateDbFilterById } from '@unchainedshop/utils';
10
+ import { UnchainedCore } from '@unchainedshop/types/core';
10
11
  import { ordersSettings } from '../orders-settings';
11
12
 
12
- const ORDER_PROCESSING_EVENTS: string[] = ['ORDER_CHECKOUT', 'ORDER_CONFIRMED', 'ORDER_FULLFILLED'];
13
+ const ORDER_PROCESSING_EVENTS: string[] = [
14
+ 'ORDER_CHECKOUT',
15
+ 'ORDER_CONFIRMED',
16
+ 'ORDER_REJECTED',
17
+ 'ORDER_FULLFILLED',
18
+ ];
13
19
 
14
20
  export const configureOrderModuleProcessing = ({
15
21
  Orders,
16
22
  OrderPositions,
17
23
  OrderDeliveries,
18
24
  OrderPayments,
19
- updateStatus,
20
25
  }: {
21
26
  Orders: Collection<Order>;
22
27
  OrderPositions: Collection<OrderPosition>;
23
28
  OrderDeliveries: Collection<OrderDelivery>;
24
29
  OrderPayments: Collection<OrderPayment>;
25
- updateStatus: OrdersModule['updateStatus'];
26
30
  }): OrderProcessing => {
27
31
  registerEvents(ORDER_PROCESSING_EVENTS);
28
32
 
33
+ const findNewOrderNumber = async (order: Order, index = 0) => {
34
+ const newHashID = ordersSettings.orderNumberHashFn(order, index);
35
+ if ((await Orders.countDocuments({ orderNumber: newHashID }, { limit: 1 })) === 0) {
36
+ return newHashID;
37
+ }
38
+ return findNewOrderNumber(order, index + 1);
39
+ };
40
+
41
+ const updateStatus: OrdersModule['updateStatus'] = async (
42
+ orderId,
43
+ { status, info },
44
+ requestContext,
45
+ ) => {
46
+ const selector = generateDbFilterById(orderId);
47
+ const order = await Orders.findOne(selector, {});
48
+
49
+ if (order.status === status) return order;
50
+
51
+ const date = new Date();
52
+ const $set: Partial<Order> = {
53
+ status,
54
+ updated: new Date(),
55
+ updatedBy: requestContext.userId,
56
+ };
57
+
58
+ switch (status) {
59
+ // explicitly use fallthrough here!
60
+ case OrderStatus.FULLFILLED:
61
+ if (!order.fullfilled) {
62
+ $set.fullfilled = date;
63
+ }
64
+ case OrderStatus.REJECTED: // eslint-disable-line no-fallthrough
65
+ if (!order.rejected) {
66
+ $set.rejected = date;
67
+ }
68
+ case OrderStatus.CONFIRMED: // eslint-disable-line no-fallthrough
69
+ if (!order.confirmed) {
70
+ $set.confirmed = date;
71
+ }
72
+ case OrderStatus.PENDING: // eslint-disable-line no-fallthrough
73
+ if (!order.ordered) {
74
+ $set.ordered = date;
75
+ }
76
+ if (!order.orderNumber) {
77
+ // Order Numbers can be set by the user
78
+ $set.orderNumber = await findNewOrderNumber(order);
79
+ }
80
+ break;
81
+ default:
82
+ break;
83
+ }
84
+
85
+ const modifier: Update<Order> = {
86
+ $set,
87
+ $push: {
88
+ log: {
89
+ date,
90
+ status,
91
+ info,
92
+ },
93
+ },
94
+ };
95
+
96
+ log(`New Status: ${status}`, { orderId });
97
+
98
+ await Orders.updateOne(selector, modifier);
99
+
100
+ const updatedOrder = await Orders.findOne(selector, {});
101
+ if (order.status === null) {
102
+ // The first time that an order transitions away from cart is a checkout event
103
+ await emit('ORDER_CHECKOUT', { order });
104
+ }
105
+ switch (status) {
106
+ case OrderStatus.FULLFILLED:
107
+ await emit('ORDER_FULLFILLED', { order });
108
+ break;
109
+ case OrderStatus.REJECTED:
110
+ await emit('ORDER_REJECTED', { order });
111
+ break;
112
+ case OrderStatus.CONFIRMED:
113
+ await emit('ORDER_CONFIRMED', { order });
114
+ break;
115
+ case OrderStatus.PENDING:
116
+ await emit('ORDER_CHECKOUT', { order });
117
+ break;
118
+ default:
119
+ break;
120
+ }
121
+
122
+ return updatedOrder;
123
+ };
124
+
29
125
  const findOrderPositions = async (order: Order) =>
30
126
  OrderPositions.find({
31
127
  orderId: order._id,
@@ -47,7 +143,7 @@ export const configureOrderModuleProcessing = ({
47
143
  return errors;
48
144
  };
49
145
 
50
- const itemValidationErrors = async (order: Order, { modules }: Context) => {
146
+ const itemValidationErrors = async (order: Order, unchainedAPI: UnchainedCore) => {
51
147
  // Check if items are valid
52
148
  const orderPositions = await findOrderPositions(order);
53
149
  if (orderPositions.length === 0) {
@@ -63,20 +159,30 @@ export const configureOrderModuleProcessing = ({
63
159
  orderId: orderPosition.orderId,
64
160
  });
65
161
 
66
- const product = await modules.products.findProduct({
162
+ const product = await unchainedAPI.modules.products.findProduct({
67
163
  productId: orderPosition.productId,
68
164
  });
69
165
 
70
- if (!modules.products.isActive(product)) {
71
- errors.push(new Error('This product is not available anymore'));
166
+ try {
167
+ await ordersSettings.validateOrderPosition(
168
+ {
169
+ order,
170
+ product,
171
+ configuration: orderPosition.configuration,
172
+ quantityDiff: 0,
173
+ },
174
+ unchainedAPI,
175
+ );
176
+ } catch (e) {
177
+ errors.push(e);
72
178
  }
73
179
 
74
180
  const quotation =
75
181
  orderPosition.quotationId &&
76
- (await modules.quotations.findQuotation({
182
+ (await unchainedAPI.modules.quotations.findQuotation({
77
183
  quotationId: orderPosition.quotationId,
78
184
  }));
79
- if (quotation && !modules.quotations.isProposalValid(quotation)) {
185
+ if (quotation && !unchainedAPI.modules.quotations.isProposalValid(quotation)) {
80
186
  errors.push(new Error('Quotation expired or fullfiled, please request a new offer'));
81
187
  }
82
188
  return errors;
@@ -136,25 +242,21 @@ export const configureOrderModuleProcessing = ({
136
242
  status: OrderStatus | null,
137
243
  order: Order,
138
244
  requestContext: Context,
139
- ): Promise<OrderStatus> => {
245
+ ): Promise<OrderStatus | null> => {
140
246
  if (status === null) {
141
247
  if ((await missingInputDataForCheckout(order)).length === 0) {
142
- await emit('ORDER_CHECKOUT', { order });
143
248
  return OrderStatus.PENDING;
144
249
  }
145
250
  }
146
251
 
147
252
  if (status === OrderStatus.PENDING) {
148
253
  if (await isAutoConfirmationEnabled(order, requestContext)) {
149
- await emit('ORDER_CONFIRMED', { order });
150
254
  return OrderStatus.CONFIRMED;
151
255
  }
152
256
  }
153
257
 
154
258
  if (status === OrderStatus.CONFIRMED) {
155
- const isFullfilled = await isAutoFullfillmentEnabled(order, requestContext);
156
- if (isFullfilled) {
157
- await emit('ORDER_FULLFILLED', { order });
259
+ if (await isAutoFullfillmentEnabled(order, requestContext)) {
158
260
  return OrderStatus.FULLFILLED;
159
261
  }
160
262
  }
@@ -265,25 +367,6 @@ export const configureOrderModuleProcessing = ({
265
367
  );
266
368
  },
267
369
 
268
- setCartOwner: async ({ orderId, userId }) => {
269
- await Orders.updateOne(generateDbFilterById(orderId), {
270
- $set: {
271
- userId,
272
- },
273
- });
274
- },
275
-
276
- moveCartPositions: async ({ fromOrderId, toOrderId }) => {
277
- await OrderPositions.updateMany(
278
- { orderId: fromOrderId },
279
- {
280
- $set: {
281
- orderId: toOrderId,
282
- },
283
- },
284
- );
285
- },
286
-
287
370
  processOrder: async (initialOrder, params, requestContext) => {
288
371
  const { modules } = requestContext;
289
372
  const { paymentContext, deliveryContext, nextStatus: forceNextStatus } = params;
@@ -491,5 +574,7 @@ export const configureOrderModuleProcessing = ({
491
574
 
492
575
  return order;
493
576
  },
577
+
578
+ updateStatus,
494
579
  };
495
580
  };
@@ -1,11 +1,9 @@
1
1
  import { Context } from '@unchainedshop/types/api';
2
- import { Update } from '@unchainedshop/types/common';
3
2
  import { ModuleInput } from '@unchainedshop/types/core';
4
- import { Order, OrderStatus, OrdersModule, OrdersSettingsOptions } from '@unchainedshop/types/orders';
3
+ import { Order, OrdersModule, OrdersSettingsOptions } from '@unchainedshop/types/orders';
5
4
  import { OrderDelivery } from '@unchainedshop/types/orders.deliveries';
6
5
  import { OrderPayment } from '@unchainedshop/types/orders.payments';
7
6
  import { OrderPosition } from '@unchainedshop/types/orders.positions';
8
- import { log } from '@unchainedshop/logger';
9
7
  import { generateDbFilterById } from '@unchainedshop/utils';
10
8
  import { OrderDeliveriesCollection } from '../db/OrderDeliveriesCollection';
11
9
  import { OrderDiscountsCollection } from '../db/OrderDiscountsCollection';
@@ -52,76 +50,6 @@ export const configureOrdersModule = async ({
52
50
  const findOrderPayment = async (order: Order) =>
53
51
  OrderPayments.findOne(generateDbFilterById(order.paymentId), {});
54
52
 
55
- const findNewOrderNumber = async (order: Order, index = 0) => {
56
- const newHashID = ordersSettings.orderNumberHashFn(order, index);
57
- if ((await Orders.countDocuments({ orderNumber: newHashID }, { limit: 1 })) === 0) {
58
- return newHashID;
59
- }
60
- return findNewOrderNumber(order, index + 1);
61
- };
62
-
63
- const updateStatus: OrdersModule['updateStatus'] = async (
64
- orderId,
65
- { status, info },
66
- requestContext,
67
- ) => {
68
- const selector = generateDbFilterById(orderId);
69
- const order = await Orders.findOne(selector, {});
70
-
71
- if (order.status === status) return order;
72
-
73
- const date = new Date();
74
- const $set: Partial<Order> = {
75
- status,
76
- updated: new Date(),
77
- updatedBy: requestContext.userId,
78
- };
79
-
80
- switch (status) {
81
- // explicitly use fallthrough here!
82
- case OrderStatus.FULLFILLED:
83
- if (!order.fullfilled) {
84
- $set.fullfilled = date;
85
- }
86
- case OrderStatus.REJECTED: // eslint-disable-line no-fallthrough
87
- if (!order.rejected) {
88
- $set.rejected = date;
89
- }
90
- case OrderStatus.CONFIRMED: // eslint-disable-line no-fallthrough
91
- if (!order.confirmed) {
92
- $set.confirmed = date;
93
- }
94
- case OrderStatus.PENDING: // eslint-disable-line no-fallthrough
95
- if (!order.ordered) {
96
- $set.ordered = date;
97
- }
98
- if (!order.orderNumber) {
99
- // Order Numbers can be set by the user
100
- $set.orderNumber = await findNewOrderNumber(order);
101
- }
102
- break;
103
- default:
104
- break;
105
- }
106
-
107
- const modifier: Update<Order> = {
108
- $set,
109
- $push: {
110
- log: {
111
- date,
112
- status,
113
- info,
114
- },
115
- },
116
- };
117
-
118
- log(`New Status: ${status}`, { orderId });
119
-
120
- await Orders.updateOne(selector, modifier);
121
-
122
- return Orders.findOne(selector, {});
123
- };
124
-
125
53
  const updateDiscounts = async (order: Order, requestContext: Context) => {
126
54
  const { modules } = requestContext;
127
55
 
@@ -313,15 +241,14 @@ export const configureOrdersModule = async ({
313
241
  OrderDeliveries,
314
242
  OrderPayments,
315
243
  OrderPositions,
316
- updateStatus,
317
244
  });
318
245
  const orderMutations = configureOrderModuleMutations({
319
246
  Orders,
320
247
  OrderDeliveries,
321
248
  OrderPayments,
249
+ OrderPositions,
322
250
  initProviders,
323
251
  updateCalculation,
324
- updateStatus,
325
252
  });
326
253
 
327
254
  const orderDiscountsModule = configureOrderDiscountsModule({