@unchainedshop/core-orders 4.0.0-rc.16 → 4.0.0-rc.18

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.
Files changed (126) hide show
  1. package/lib/db/OrderDeliveriesCollection.d.ts +2 -2
  2. package/lib/db/OrderDeliveriesCollection.d.ts.map +1 -1
  3. package/lib/db/OrderDeliveriesSchema.d.ts +3 -0
  4. package/lib/db/OrderDeliveriesSchema.d.ts.map +1 -0
  5. package/lib/db/OrderDeliveriesSchema.js +20 -0
  6. package/lib/db/OrderDeliveriesSchema.js.map +1 -0
  7. package/lib/db/OrderDiscountTrigger.d.ts +5 -0
  8. package/lib/db/OrderDiscountTrigger.d.ts.map +1 -0
  9. package/lib/db/OrderDiscountTrigger.js +6 -0
  10. package/lib/db/OrderDiscountTrigger.js.map +1 -0
  11. package/lib/db/OrderDiscountsCollection.d.ts +2 -2
  12. package/lib/db/OrderDiscountsCollection.d.ts.map +1 -1
  13. package/lib/db/OrderDiscountsSchema.d.ts +3 -0
  14. package/lib/db/OrderDiscountsSchema.d.ts.map +1 -0
  15. package/lib/db/OrderDiscountsSchema.js +12 -0
  16. package/lib/db/OrderDiscountsSchema.js.map +1 -0
  17. package/lib/db/OrderPaymentsCollection.d.ts +3 -3
  18. package/lib/db/OrderPaymentsCollection.d.ts.map +1 -1
  19. package/lib/db/OrderPaymentsSchema.d.ts +3 -0
  20. package/lib/db/OrderPaymentsSchema.d.ts.map +1 -0
  21. package/lib/db/OrderPaymentsSchema.js +20 -0
  22. package/lib/db/OrderPaymentsSchema.js.map +1 -0
  23. package/lib/db/OrderPositionsCollection.d.ts +1 -2
  24. package/lib/db/OrderPositionsCollection.d.ts.map +1 -1
  25. package/lib/db/OrderPositionsCollection.js.map +1 -1
  26. package/lib/db/OrderPositionsSchema.d.ts +3 -0
  27. package/lib/db/OrderPositionsSchema.d.ts.map +1 -0
  28. package/lib/db/OrderPositionsSchema.js +37 -0
  29. package/lib/db/OrderPositionsSchema.js.map +1 -0
  30. package/lib/db/OrdersCollection.d.ts +1 -1
  31. package/lib/db/OrdersCollection.d.ts.map +1 -1
  32. package/lib/db/OrdersCollection.js +25 -21
  33. package/lib/db/OrdersCollection.js.map +1 -1
  34. package/lib/db/OrdersSchema.d.ts +3 -0
  35. package/lib/db/OrdersSchema.d.ts.map +1 -0
  36. package/lib/db/OrdersSchema.js +30 -0
  37. package/lib/db/OrdersSchema.js.map +1 -0
  38. package/lib/director/OrderDiscountAdapter.d.ts +4 -0
  39. package/lib/director/OrderDiscountAdapter.d.ts.map +1 -0
  40. package/lib/director/OrderDiscountAdapter.js +3 -0
  41. package/lib/director/OrderDiscountAdapter.js.map +1 -0
  42. package/lib/director/OrderDiscountConfiguration.d.ts +6 -0
  43. package/lib/director/OrderDiscountConfiguration.d.ts.map +1 -0
  44. package/lib/director/OrderDiscountConfiguration.js +2 -0
  45. package/lib/director/OrderDiscountConfiguration.js.map +1 -0
  46. package/lib/director/OrderDiscountDirector.d.ts +3 -0
  47. package/lib/director/OrderDiscountDirector.d.ts.map +1 -0
  48. package/lib/director/OrderDiscountDirector.js +3 -0
  49. package/lib/director/OrderDiscountDirector.js.map +1 -0
  50. package/lib/director/OrderPricingAdapter.d.ts +4 -0
  51. package/lib/director/OrderPricingAdapter.d.ts.map +1 -0
  52. package/lib/director/OrderPricingAdapter.js +25 -0
  53. package/lib/director/OrderPricingAdapter.js.map +1 -0
  54. package/lib/director/OrderPricingDirector.d.ts +3 -0
  55. package/lib/director/OrderPricingDirector.d.ts.map +1 -0
  56. package/lib/director/OrderPricingDirector.js +39 -0
  57. package/lib/director/OrderPricingDirector.js.map +1 -0
  58. package/lib/director/OrderPricingSheet.d.ts +4 -0
  59. package/lib/director/OrderPricingSheet.d.ts.map +1 -0
  60. package/lib/director/OrderPricingSheet.js +101 -0
  61. package/lib/director/OrderPricingSheet.js.map +1 -0
  62. package/lib/module/configureOrderDeliveriesModule.d.ts +6 -6
  63. package/lib/module/configureOrderDeliveriesModule.d.ts.map +1 -1
  64. package/lib/module/configureOrderDeliveriesModule.js +7 -8
  65. package/lib/module/configureOrderDeliveriesModule.js.map +1 -1
  66. package/lib/module/configureOrderDiscountsModule.d.ts +5 -5
  67. package/lib/module/configureOrderDiscountsModule.d.ts.map +1 -1
  68. package/lib/module/configureOrderDiscountsModule.js +3 -3
  69. package/lib/module/configureOrderDiscountsModule.js.map +1 -1
  70. package/lib/module/configureOrderPaymentsModule.d.ts +7 -7
  71. package/lib/module/configureOrderPaymentsModule.d.ts.map +1 -1
  72. package/lib/module/configureOrderPaymentsModule.js +11 -8
  73. package/lib/module/configureOrderPaymentsModule.js.map +1 -1
  74. package/lib/module/configureOrderPositionsModule.d.ts +14 -16
  75. package/lib/module/configureOrderPositionsModule.d.ts.map +1 -1
  76. package/lib/module/configureOrderPositionsModule.js +6 -5
  77. package/lib/module/configureOrderPositionsModule.js.map +1 -1
  78. package/lib/module/configureOrdersModule-mutations.d.ts +14 -13
  79. package/lib/module/configureOrdersModule-mutations.d.ts.map +1 -1
  80. package/lib/module/configureOrdersModule-mutations.js +16 -8
  81. package/lib/module/configureOrdersModule-mutations.js.map +1 -1
  82. package/lib/module/configureOrdersModule-processing.d.ts +14 -0
  83. package/lib/module/configureOrdersModule-processing.d.ts.map +1 -0
  84. package/lib/module/configureOrdersModule-processing.js +348 -0
  85. package/lib/module/configureOrdersModule-processing.js.map +1 -0
  86. package/lib/module/configureOrdersModule-queries.d.ts +4 -6
  87. package/lib/module/configureOrdersModule-queries.d.ts.map +1 -1
  88. package/lib/module/configureOrdersModule-queries.js.map +1 -1
  89. package/lib/module/configureOrdersModule-transformations.d.ts +6 -0
  90. package/lib/module/configureOrdersModule-transformations.d.ts.map +1 -0
  91. package/lib/module/configureOrdersModule-transformations.js +112 -0
  92. package/lib/module/configureOrdersModule-transformations.js.map +1 -0
  93. package/lib/module/configureOrdersModule.d.ts +154 -21
  94. package/lib/module/configureOrdersModule.d.ts.map +1 -1
  95. package/lib/module/configureOrdersModule.js +17 -17
  96. package/lib/module/configureOrdersModule.js.map +1 -1
  97. package/lib/orders-settings.d.ts +8 -12
  98. package/lib/orders-settings.d.ts.map +1 -1
  99. package/lib/orders-settings.js +8 -8
  100. package/lib/orders-settings.js.map +1 -1
  101. package/lib/service/migrateOrderCartService.d.ts +3 -0
  102. package/lib/service/migrateOrderCartService.d.ts.map +1 -0
  103. package/lib/service/migrateOrderCartService.js +32 -0
  104. package/lib/service/migrateOrderCartService.js.map +1 -0
  105. package/lib/service/nextUserCartService.d.ts +3 -0
  106. package/lib/service/nextUserCartService.d.ts.map +1 -0
  107. package/lib/service/nextUserCartService.js +34 -0
  108. package/lib/service/nextUserCartService.js.map +1 -0
  109. package/lib/service/orderServices.d.ts +3 -0
  110. package/lib/service/orderServices.d.ts.map +1 -0
  111. package/lib/service/orderServices.js +7 -0
  112. package/lib/service/orderServices.js.map +1 -0
  113. package/package.json +4 -4
  114. package/src/db/OrderDeliveriesCollection.ts +2 -2
  115. package/src/db/OrderDiscountsCollection.ts +2 -2
  116. package/src/db/OrderPaymentsCollection.ts +3 -3
  117. package/src/db/OrderPositionsCollection.ts +1 -2
  118. package/src/db/OrdersCollection.ts +27 -22
  119. package/src/module/configureOrderDeliveriesModule.ts +15 -14
  120. package/src/module/configureOrderDiscountsModule.ts +11 -11
  121. package/src/module/configureOrderPaymentsModule.ts +17 -18
  122. package/src/module/configureOrderPositionsModule.ts +21 -27
  123. package/src/module/configureOrdersModule-mutations.ts +43 -41
  124. package/src/module/configureOrdersModule-queries.ts +5 -7
  125. package/src/module/configureOrdersModule.ts +28 -49
  126. package/src/orders-settings.ts +20 -19
@@ -11,7 +11,7 @@ const ORDER_EVENTS = [
11
11
  export const configureOrderModuleMutations = ({ Orders, OrderPositions, }) => {
12
12
  registerEvents(ORDER_EVENTS);
13
13
  return {
14
- create: async ({ userId, orderNumber, currencyCode, countryCode, billingAddress, contact }) => {
14
+ create: async ({ userId, orderNumber, currencyCode, countryCode, billingAddress, contact, context, }) => {
15
15
  const { insertedId: orderId } = await Orders.insertOne({
16
16
  _id: generateDbObjectId(),
17
17
  created: new Date(),
@@ -24,13 +24,16 @@ export const configureOrderModuleMutations = ({ Orders, OrderPositions, }) => {
24
24
  calculation: [],
25
25
  log: [],
26
26
  orderNumber,
27
+ context: context || {},
27
28
  });
28
- const order = await Orders.findOne(generateDbFilterById(orderId), {});
29
+ const order = (await Orders.findOne(generateDbFilterById(orderId), {}));
29
30
  await emit('ORDER_CREATE', { order });
30
31
  return order;
31
32
  },
32
33
  delete: async (orderId) => {
33
34
  const { deletedCount } = await Orders.deleteOne({ _id: orderId });
35
+ if (!deletedCount)
36
+ return 0;
34
37
  await emit('ORDER_REMOVE', { orderId });
35
38
  return deletedCount;
36
39
  },
@@ -41,7 +44,7 @@ export const configureOrderModuleMutations = ({ Orders, OrderPositions, }) => {
41
44
  },
42
45
  });
43
46
  },
44
- moveCartPositions: async ({ fromOrderId, toOrderId }) => {
47
+ moveCartPositions: async ({ fromOrderId, toOrderId, }) => {
45
48
  await OrderPositions.updateMany({ orderId: fromOrderId }, {
46
49
  $set: {
47
50
  orderId: toOrderId,
@@ -56,6 +59,8 @@ export const configureOrderModuleMutations = ({ Orders, OrderPositions, }) => {
56
59
  updated: new Date(),
57
60
  },
58
61
  }, { returnDocument: 'after' });
62
+ if (!order)
63
+ return null;
59
64
  await emit('ORDER_UPDATE', { order, field: 'billingAddress' });
60
65
  return order;
61
66
  },
@@ -67,6 +72,8 @@ export const configureOrderModuleMutations = ({ Orders, OrderPositions, }) => {
67
72
  updated: new Date(),
68
73
  },
69
74
  }, { returnDocument: 'after' });
75
+ if (!order)
76
+ return null;
70
77
  await emit('ORDER_UPDATE', { order, field: 'contact' });
71
78
  return order;
72
79
  },
@@ -78,6 +85,8 @@ export const configureOrderModuleMutations = ({ Orders, OrderPositions, }) => {
78
85
  updated: new Date(),
79
86
  },
80
87
  }, { returnDocument: 'after' });
88
+ if (!order)
89
+ return null;
81
90
  await emit('ORDER_UPDATE', { order, field: 'calculation' });
82
91
  return order;
83
92
  },
@@ -93,11 +102,10 @@ export const configureOrderModuleMutations = ({ Orders, OrderPositions, }) => {
93
102
  updated: new Date(),
94
103
  },
95
104
  }, { returnDocument: 'after' });
96
- if (order) {
97
- await emit('ORDER_UPDATE', { order, field: 'context' });
98
- return order;
99
- }
100
- return null;
105
+ if (!order)
106
+ return null;
107
+ await emit('ORDER_UPDATE', { order, field: 'context' });
108
+ return order;
101
109
  },
102
110
  };
103
111
  };
@@ -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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"}
@@ -0,0 +1,14 @@
1
+ import { mongodb } from '@unchainedshop/mongodb';
2
+ import { Order, OrderProcessing } from '@unchainedshop/types/orders.js';
3
+ import type { Locker } from '@kontsedal/locco';
4
+ import { OrderDelivery } from '@unchainedshop/types/orders.deliveries.js';
5
+ import { OrderPayment } from '@unchainedshop/types/orders.payments.js';
6
+ import { OrderPosition } from '@unchainedshop/types/orders.positions.js';
7
+ export declare const configureOrderModuleProcessing: ({ Orders, OrderPositions, OrderDeliveries, OrderPayments, locker, }: {
8
+ Orders: mongodb.Collection<Order>;
9
+ OrderPositions: mongodb.Collection<OrderPosition>;
10
+ OrderDeliveries: mongodb.Collection<OrderDelivery>;
11
+ OrderPayments: mongodb.Collection<OrderPayment>;
12
+ locker: Locker;
13
+ }) => OrderProcessing;
14
+ //# sourceMappingURL=configureOrdersModule-processing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureOrdersModule-processing.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule-processing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAwB,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,KAAK,EAAe,eAAe,EAAgB,MAAM,gCAAgC,CAAC;AACnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAczE,eAAO,MAAM,8BAA8B,wEAMxC;IACD,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAClD,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACnD,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;CAChB,KAAG,eA6cH,CAAC"}
@@ -0,0 +1,348 @@
1
+ import { generateDbFilterById } from '@unchainedshop/mongodb';
2
+ import { OrderStatus } from '@unchainedshop/types/orders.js';
3
+ import { emit, registerEvents } from '@unchainedshop/events';
4
+ import { log } from '@unchainedshop/logger';
5
+ import { ProductType } from '@unchainedshop/types/products.js';
6
+ import { ordersSettings } from '../orders-settings.js';
7
+ const ORDER_PROCESSING_EVENTS = [
8
+ 'ORDER_CHECKOUT',
9
+ 'ORDER_CONFIRMED',
10
+ 'ORDER_REJECTED',
11
+ 'ORDER_FULLFILLED',
12
+ ];
13
+ export const configureOrderModuleProcessing = ({ Orders, OrderPositions, OrderDeliveries, OrderPayments, locker, }) => {
14
+ registerEvents(ORDER_PROCESSING_EVENTS);
15
+ const findNewOrderNumber = async (order, index = 0) => {
16
+ const newHashID = ordersSettings.orderNumberHashFn(order, index);
17
+ if ((await Orders.countDocuments({ orderNumber: newHashID }, { limit: 1 })) === 0) {
18
+ return newHashID;
19
+ }
20
+ return findNewOrderNumber(order, index + 1);
21
+ };
22
+ const updateStatus = async (orderId, { status, info }) => {
23
+ const selector = generateDbFilterById(orderId);
24
+ const order = await Orders.findOne(selector, {});
25
+ if (order.status === status)
26
+ return order;
27
+ const date = new Date();
28
+ const $set = {
29
+ status,
30
+ updated: new Date(),
31
+ };
32
+ switch (status) {
33
+ // explicitly use fallthrough here!
34
+ case OrderStatus.FULLFILLED:
35
+ $set.fullfilled = order.fullfilled || date;
36
+ case OrderStatus.REJECTED: // eslint-disable-line no-fallthrough
37
+ case OrderStatus.CONFIRMED: // eslint-disable-line no-fallthrough
38
+ if (status === OrderStatus.REJECTED) {
39
+ $set.rejected = order.rejected || date;
40
+ }
41
+ else {
42
+ $set.confirmed = order.confirmed || date;
43
+ }
44
+ case OrderStatus.PENDING: // eslint-disable-line no-fallthrough
45
+ $set.ordered = order.ordered || date;
46
+ $set.orderNumber = order.orderNumber || (await findNewOrderNumber(order));
47
+ break;
48
+ default:
49
+ break;
50
+ }
51
+ const modifier = {
52
+ $set,
53
+ $push: {
54
+ log: {
55
+ date,
56
+ status,
57
+ info,
58
+ },
59
+ },
60
+ };
61
+ const modificationResult = await Orders.findOneAndUpdate({
62
+ ...selector,
63
+ status: { $ne: status }, // Only update if status is different
64
+ }, modifier, {
65
+ returnDocument: 'after',
66
+ includeResultMetadata: true,
67
+ });
68
+ if (modificationResult.ok) {
69
+ log(`New Status: ${status}`, { orderId });
70
+ if (order.status === null) {
71
+ // The first time that an order transitions away from cart is a checkout event
72
+ await emit('ORDER_CHECKOUT', { order: modificationResult.value, oldStatus: order.status });
73
+ }
74
+ switch (status) {
75
+ case OrderStatus.FULLFILLED:
76
+ await emit('ORDER_FULLFILLED', { order: modificationResult.value, oldStatus: order.status });
77
+ break;
78
+ case OrderStatus.REJECTED:
79
+ await emit('ORDER_REJECTED', { order: modificationResult.value, oldStatus: order.status });
80
+ break;
81
+ case OrderStatus.CONFIRMED:
82
+ await emit('ORDER_CONFIRMED', { order: modificationResult.value, oldStatus: order.status });
83
+ break;
84
+ default:
85
+ break;
86
+ }
87
+ }
88
+ return modificationResult.value || Orders.findOne(selector, {});
89
+ };
90
+ const findOrderPositions = async (order) => OrderPositions.find({
91
+ orderId: order._id,
92
+ quantity: { $gt: 0 },
93
+ }).toArray();
94
+ const findOrderDelivery = async (order) => OrderDeliveries.findOne(generateDbFilterById(order.deliveryId), {});
95
+ const findOrderPayment = async (order) => OrderPayments.findOne(generateDbFilterById(order.paymentId), {});
96
+ const missingInputDataForCheckout = async (order) => {
97
+ const errors = [];
98
+ if (!order.contact)
99
+ errors.push(new Error('Contact data not provided'));
100
+ if (!order.billingAddress)
101
+ errors.push(new Error('Billing address not provided'));
102
+ if (!(await findOrderDelivery(order)))
103
+ errors.push('No delivery provider selected');
104
+ if (!(await findOrderPayment(order)))
105
+ errors.push('No payment provider selected');
106
+ return errors;
107
+ };
108
+ const itemValidationErrors = async (order, unchainedAPI) => {
109
+ // Check if items are valid
110
+ const orderPositions = await findOrderPositions(order);
111
+ if (orderPositions.length === 0) {
112
+ const NoItemsError = new Error('No items to checkout');
113
+ NoItemsError.name = 'NoItemsError';
114
+ return [NoItemsError];
115
+ }
116
+ const validationErrors = await Promise.all(orderPositions.map(async (orderPosition) => {
117
+ const errors = [];
118
+ log(`OrderPosition ${orderPosition._id} -> Validate ${orderPosition.quantity}`, {
119
+ orderId: orderPosition.orderId,
120
+ });
121
+ const product = await unchainedAPI.modules.products.findProduct({
122
+ productId: orderPosition.productId,
123
+ });
124
+ try {
125
+ await ordersSettings.validateOrderPosition({
126
+ order,
127
+ product,
128
+ configuration: orderPosition.configuration,
129
+ quantityDiff: 0,
130
+ }, unchainedAPI);
131
+ }
132
+ catch (e) {
133
+ errors.push(e);
134
+ }
135
+ const quotation = orderPosition.quotationId &&
136
+ (await unchainedAPI.modules.quotations.findQuotation({
137
+ quotationId: orderPosition.quotationId,
138
+ }));
139
+ if (quotation && !unchainedAPI.modules.quotations.isProposalValid(quotation)) {
140
+ errors.push(new Error('Quotation expired or fullfiled, please request a new offer'));
141
+ }
142
+ return errors;
143
+ }));
144
+ return validationErrors.flatMap((f) => f);
145
+ };
146
+ const isAutoConfirmationEnabled = async (order, unchainedAPI) => {
147
+ const { modules } = unchainedAPI;
148
+ if (order.status === OrderStatus.FULLFILLED || order.status === OrderStatus.CONFIRMED) {
149
+ return false;
150
+ }
151
+ const orderPayment = await findOrderPayment(order);
152
+ let isBlockingOrderConfirmation = orderPayment &&
153
+ (await modules.orders.payments.isBlockingOrderConfirmation(orderPayment, unchainedAPI));
154
+ if (isBlockingOrderConfirmation)
155
+ return false;
156
+ const orderDelivery = await findOrderDelivery(order);
157
+ isBlockingOrderConfirmation =
158
+ orderDelivery &&
159
+ (await modules.orders.deliveries.isBlockingOrderConfirmation(orderDelivery, unchainedAPI));
160
+ if (isBlockingOrderConfirmation)
161
+ return false;
162
+ return true;
163
+ };
164
+ const isAutoFullfillmentEnabled = async (order, unchainedAPI) => {
165
+ const { modules } = unchainedAPI;
166
+ const orderPayment = await findOrderPayment(order);
167
+ let isBlockingOrderFullfillment = orderPayment && modules.orders.payments.isBlockingOrderFullfillment(orderPayment);
168
+ if (isBlockingOrderFullfillment)
169
+ return false;
170
+ const orderDelivery = await findOrderDelivery(order);
171
+ isBlockingOrderFullfillment =
172
+ orderDelivery && modules.orders.deliveries.isBlockingOrderFullfillment(orderDelivery);
173
+ if (isBlockingOrderFullfillment)
174
+ return false;
175
+ if (order.status === OrderStatus.FULLFILLED) {
176
+ return false;
177
+ }
178
+ return true;
179
+ };
180
+ const findNextStatus = async (status, order, unchainedAPI) => {
181
+ if (status === null) {
182
+ return OrderStatus.PENDING;
183
+ }
184
+ if (status === OrderStatus.PENDING) {
185
+ if (await isAutoConfirmationEnabled(order, unchainedAPI)) {
186
+ return OrderStatus.CONFIRMED;
187
+ }
188
+ }
189
+ if (status === OrderStatus.CONFIRMED) {
190
+ if (await isAutoFullfillmentEnabled(order, unchainedAPI)) {
191
+ return OrderStatus.FULLFILLED;
192
+ }
193
+ }
194
+ return status;
195
+ };
196
+ return {
197
+ checkout: async (orderId, transactionContext, unchainedAPI) => {
198
+ const { modules, services } = unchainedAPI;
199
+ const order = await Orders.findOne(generateDbFilterById(orderId), {});
200
+ if (order.status !== null)
201
+ return order;
202
+ const errors = [
203
+ ...(await missingInputDataForCheckout(order)),
204
+ ...(await itemValidationErrors(order, unchainedAPI)),
205
+ ].filter(Boolean);
206
+ if (errors.length > 0) {
207
+ throw new Error(errors[0]);
208
+ }
209
+ const lock = await locker.lock(`order:checkout:${order._id}`, 5000).acquire();
210
+ try {
211
+ const processedOrder = await modules.orders.processOrder(order, transactionContext, unchainedAPI);
212
+ // After checkout, store last checkout information on user
213
+ await modules.users.updateLastBillingAddress(processedOrder.userId, processedOrder.billingAddress);
214
+ await modules.users.updateLastContact(processedOrder.userId, processedOrder.contact);
215
+ // Then eventually build next cart
216
+ const user = await modules.users.findUserById(processedOrder.userId);
217
+ const locale = modules.users.userLocale(user);
218
+ await services.orders.nextUserCart({
219
+ user,
220
+ countryCode: locale.country,
221
+ }, unchainedAPI);
222
+ return processedOrder;
223
+ }
224
+ finally {
225
+ await lock.release();
226
+ }
227
+ },
228
+ confirm: async (order, transactionContext, unchainedAPI) => {
229
+ const { modules } = unchainedAPI;
230
+ if (order.status !== OrderStatus.PENDING)
231
+ return order;
232
+ const lock = await locker.lock(`order:confirm-reject:${order._id}`, 1500).acquire();
233
+ try {
234
+ return await modules.orders.processOrder(order, {
235
+ ...transactionContext,
236
+ nextStatus: OrderStatus.CONFIRMED,
237
+ }, unchainedAPI);
238
+ }
239
+ finally {
240
+ await lock.release();
241
+ }
242
+ },
243
+ reject: async (order, transactionContext, unchainedAPI) => {
244
+ const { modules } = unchainedAPI;
245
+ if (order.status !== OrderStatus.PENDING)
246
+ return order;
247
+ const lock = await locker.lock(`order:confirm-reject:${order._id}`, 1500).acquire();
248
+ try {
249
+ return await modules.orders.processOrder(order, {
250
+ ...transactionContext,
251
+ nextStatus: OrderStatus.REJECTED,
252
+ }, unchainedAPI);
253
+ }
254
+ finally {
255
+ await lock.release();
256
+ }
257
+ },
258
+ processOrder: async (initialOrder, orderTransactionContext, unchainedAPI) => {
259
+ const { modules } = unchainedAPI;
260
+ const { paymentContext, deliveryContext, nextStatus: forceNextStatus, comment, } = orderTransactionContext;
261
+ const orderId = initialOrder._id;
262
+ let order = initialOrder;
263
+ let nextStatus = forceNextStatus || (await findNextStatus(initialOrder.status, order, unchainedAPI));
264
+ if (nextStatus === OrderStatus.PENDING) {
265
+ // auto charge during transition to pending
266
+ const orderPayment = await modules.orders.payments.findOrderPayment({
267
+ orderPaymentId: order.paymentId,
268
+ });
269
+ await modules.orders.payments.charge(orderPayment, { userId: order.userId, transactionContext: paymentContext }, unchainedAPI);
270
+ nextStatus = await findNextStatus(nextStatus, order, unchainedAPI);
271
+ }
272
+ if (nextStatus === OrderStatus.REJECTED) {
273
+ // auto cancel during transition to rejected
274
+ const orderPayment = await modules.orders.payments.findOrderPayment({
275
+ orderPaymentId: order.paymentId,
276
+ });
277
+ await modules.orders.payments.cancel(orderPayment, { userId: order.userId, transactionContext: paymentContext }, unchainedAPI);
278
+ }
279
+ if (nextStatus === OrderStatus.CONFIRMED) {
280
+ // confirm pre-authorized payments
281
+ const orderPayment = await modules.orders.payments.findOrderPayment({
282
+ orderPaymentId: order.paymentId,
283
+ });
284
+ await modules.orders.payments.confirm(orderPayment, { userId: order.userId, transactionContext: paymentContext }, unchainedAPI);
285
+ if (order.status !== OrderStatus.CONFIRMED) {
286
+ // we have to stop here shortly to complete the confirmation
287
+ // before auto delivery is started, else we have no chance to create
288
+ // numbers that are needed for delivery
289
+ order = await updateStatus(orderId, {
290
+ status: OrderStatus.CONFIRMED,
291
+ info: comment,
292
+ });
293
+ const orderDelivery = await modules.orders.deliveries.findDelivery({
294
+ orderDeliveryId: order.deliveryId,
295
+ });
296
+ await modules.orders.deliveries.send(orderDelivery, {
297
+ order,
298
+ deliveryContext,
299
+ }, unchainedAPI);
300
+ const orderPositions = await findOrderPositions(order);
301
+ const mappedProductOrderPositions = await Promise.all(orderPositions.map(async (orderPosition) => {
302
+ const product = await modules.products.findProduct({
303
+ productId: orderPosition.productId,
304
+ });
305
+ return {
306
+ orderPosition,
307
+ product,
308
+ };
309
+ }));
310
+ const tokenizedItems = mappedProductOrderPositions.filter((item) => item.product?.type === ProductType.TokenizedProduct);
311
+ if (tokenizedItems.length > 0) {
312
+ // Give virtual warehouse a chance to instantiate new virtual objects
313
+ await modules.warehousing.tokenizeItems(order, {
314
+ items: tokenizedItems,
315
+ }, unchainedAPI);
316
+ }
317
+ // Enrollments: Generate enrollments for plan products
318
+ const planItems = mappedProductOrderPositions.filter((item) => item.product?.type === ProductType.PlanProduct && !order.originEnrollmentId);
319
+ if (planItems.length > 0) {
320
+ await modules.enrollments.createFromCheckout(order, {
321
+ items: planItems,
322
+ context: {
323
+ paymentContext,
324
+ deliveryContext,
325
+ },
326
+ }, unchainedAPI);
327
+ }
328
+ // Quotations: If we came here, the checkout succeeded, so we can fullfill underlying quotations
329
+ const quotationItems = mappedProductOrderPositions.filter((item) => item.orderPosition.quotationId);
330
+ await Promise.all(quotationItems.map(async ({ orderPosition }) => {
331
+ await modules.quotations.fullfillQuotation(orderPosition.quotationId, {
332
+ orderId,
333
+ orderPositionId: orderPosition._id,
334
+ }, unchainedAPI);
335
+ }));
336
+ // TODO: we will use this function to keep a "Ordered in Flight" amount, allowing us to
337
+ // do live stock stuff
338
+ // 2. Reserve quantity at Warehousing Provider until order is CANCELLED/FULLFILLED
339
+ // ???
340
+ }
341
+ nextStatus = await findNextStatus(nextStatus, order, unchainedAPI);
342
+ }
343
+ return updateStatus(order._id, { status: nextStatus, info: comment });
344
+ },
345
+ updateStatus,
346
+ };
347
+ };
348
+ //# sourceMappingURL=configureOrdersModule-processing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureOrdersModule-processing.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-processing.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { SortOption } from '@unchainedshop/utils';
2
2
  import { mongodb } from '@unchainedshop/mongodb';
3
3
  import { Order, OrderQuery } from '../db/OrdersCollection.js';
4
- import { Document } from 'mongodb';
5
4
  export interface OrderReport {
6
5
  newCount: number;
7
6
  checkoutCount: number;
@@ -16,7 +15,7 @@ export interface OrderStatisticsRecord {
16
15
  currency: string;
17
16
  };
18
17
  }
19
- interface OrderAggregateParams {
18
+ export interface OrderAggregateParams {
20
19
  match?: Record<string, any>;
21
20
  matchAfterGroup?: Record<string, any>;
22
21
  project?: Record<string, any>;
@@ -34,12 +33,12 @@ export declare const configureOrdersModuleQueries: ({ Orders }: {
34
33
  countryCode?: string;
35
34
  orderNumber?: string;
36
35
  userId: string;
37
- }) => Promise<Order>;
36
+ }) => Promise<mongodb.WithId<Order> | null>;
38
37
  count: (query: OrderQuery) => Promise<number>;
39
38
  findOrder: ({ orderId, orderNumber, }: {
40
39
  orderId?: string;
41
40
  orderNumber?: string;
42
- }, options?: mongodb.FindOptions) => Promise<Order>;
41
+ }, options?: mongodb.FindOptions) => Promise<Order | null>;
43
42
  findCartsToInvalidate: (maxAgeDays?: number) => Promise<mongodb.WithId<Order>[]>;
44
43
  findOrders: ({ limit, offset, queryString, sort, ...query }: OrderQuery & {
45
44
  limit?: number;
@@ -49,8 +48,7 @@ export declare const configureOrdersModuleQueries: ({ Orders }: {
49
48
  orderExists: ({ orderId }: {
50
49
  orderId: string;
51
50
  }) => Promise<boolean>;
52
- aggregateOrders: ({ match, project, group, sort, limit, addFields, pipeline, }: OrderAggregateParams) => Promise<Document[]>;
51
+ aggregateOrders: ({ match, project, group, sort, limit, addFields, pipeline, }: OrderAggregateParams) => Promise<mongodb.Document[]>;
53
52
  };
54
53
  export type OrderQueries = ReturnType<typeof configureOrdersModuleQueries>;
55
- export {};
56
54
  //# sourceMappingURL=configureOrdersModule-queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrdersModule-queries.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAA0C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEzF,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,4BAA4B,GAAI,YAAY;IAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;CAAE;oBAE1E,KAAK;kDAQlB;QACD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,KAAG,OAAO,CAAC,KAAK,CAAC;mBAmBG,UAAU,KAAG,OAAO,CAAC,MAAM,CAAC;2CAQ5C;QACD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,YACS,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,KAAK,CAAC;;iEAyBZ,UAAU,GAAG;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;KACrB,YACS,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,KAAK,EAAE,CAAC;+BAmBc;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,OAAO,CAAC;oFAcpE,oBAAoB,KAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAgBhD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"configureOrdersModule-queries.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAA0C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEzF,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AACD,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,4BAA4B,GAAI,YAAY;IAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;CAAE;oBAE1E,KAAK;kDAQlB;QACD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB;mBAmBoB,UAAU,KAAG,OAAO,CAAC,MAAM,CAAC;2CAQ5C;QACD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,YACS,OAAO,CAAC,WAAW;;iEA0B1B,UAAU,GAAG;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;KACrB,YACS,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,KAAK,EAAE,CAAC;+BAmBc;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,OAAO,CAAC;oFAcpE,oBAAoB,KAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;CAgBxD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrdersModule-queries.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureOrdersModule-queries.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Order, OrderTransformations } from '@unchainedshop/types/orders.js';
2
+ import { mongodb } from '@unchainedshop/mongodb';
3
+ export declare const configureOrderModuleTransformations: ({ Orders, }: {
4
+ Orders: mongodb.Collection<Order>;
5
+ }) => OrderTransformations;
6
+ //# sourceMappingURL=configureOrdersModule-transformations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureOrdersModule-transformations.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule-transformations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAOjD,eAAO,MAAM,mCAAmC,gBAE7C;IACD,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;CACnC,KAAG,oBAwIH,CAAC"}