@unchainedshop/core-orders 4.0.0-rc.2 → 4.0.0-rc.21
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/db/OrderDeliveriesCollection.d.ts +2 -2
- package/lib/db/OrderDeliveriesCollection.d.ts.map +1 -1
- package/lib/db/OrderDeliveriesSchema.d.ts +3 -0
- package/lib/db/OrderDeliveriesSchema.d.ts.map +1 -0
- package/lib/db/OrderDeliveriesSchema.js +20 -0
- package/lib/db/OrderDeliveriesSchema.js.map +1 -0
- package/lib/db/OrderDiscountTrigger.d.ts +5 -0
- package/lib/db/OrderDiscountTrigger.d.ts.map +1 -0
- package/lib/db/OrderDiscountTrigger.js +6 -0
- package/lib/db/OrderDiscountTrigger.js.map +1 -0
- package/lib/db/OrderDiscountsCollection.d.ts +2 -2
- package/lib/db/OrderDiscountsCollection.d.ts.map +1 -1
- package/lib/db/OrderDiscountsSchema.d.ts +3 -0
- package/lib/db/OrderDiscountsSchema.d.ts.map +1 -0
- package/lib/db/OrderDiscountsSchema.js +12 -0
- package/lib/db/OrderDiscountsSchema.js.map +1 -0
- package/lib/db/OrderPaymentsCollection.d.ts +3 -3
- package/lib/db/OrderPaymentsCollection.d.ts.map +1 -1
- package/lib/db/OrderPaymentsSchema.d.ts +3 -0
- package/lib/db/OrderPaymentsSchema.d.ts.map +1 -0
- package/lib/db/OrderPaymentsSchema.js +20 -0
- package/lib/db/OrderPaymentsSchema.js.map +1 -0
- package/lib/db/OrderPositionsCollection.d.ts +1 -2
- package/lib/db/OrderPositionsCollection.d.ts.map +1 -1
- package/lib/db/OrderPositionsCollection.js.map +1 -1
- package/lib/db/OrderPositionsSchema.d.ts +3 -0
- package/lib/db/OrderPositionsSchema.d.ts.map +1 -0
- package/lib/db/OrderPositionsSchema.js +37 -0
- package/lib/db/OrderPositionsSchema.js.map +1 -0
- package/lib/db/OrdersCollection.d.ts +5 -1
- package/lib/db/OrdersCollection.d.ts.map +1 -1
- package/lib/db/OrdersCollection.js +25 -21
- package/lib/db/OrdersCollection.js.map +1 -1
- package/lib/db/OrdersSchema.d.ts +3 -0
- package/lib/db/OrdersSchema.d.ts.map +1 -0
- package/lib/db/OrdersSchema.js +30 -0
- package/lib/db/OrdersSchema.js.map +1 -0
- package/lib/director/OrderDiscountAdapter.d.ts +4 -0
- package/lib/director/OrderDiscountAdapter.d.ts.map +1 -0
- package/lib/director/OrderDiscountAdapter.js +3 -0
- package/lib/director/OrderDiscountAdapter.js.map +1 -0
- package/lib/director/OrderDiscountConfiguration.d.ts +6 -0
- package/lib/director/OrderDiscountConfiguration.d.ts.map +1 -0
- package/lib/director/OrderDiscountConfiguration.js +2 -0
- package/lib/director/OrderDiscountConfiguration.js.map +1 -0
- package/lib/director/OrderDiscountDirector.d.ts +3 -0
- package/lib/director/OrderDiscountDirector.d.ts.map +1 -0
- package/lib/director/OrderDiscountDirector.js +3 -0
- package/lib/director/OrderDiscountDirector.js.map +1 -0
- package/lib/director/OrderPricingAdapter.d.ts +4 -0
- package/lib/director/OrderPricingAdapter.d.ts.map +1 -0
- package/lib/director/OrderPricingAdapter.js +25 -0
- package/lib/director/OrderPricingAdapter.js.map +1 -0
- package/lib/director/OrderPricingDirector.d.ts +3 -0
- package/lib/director/OrderPricingDirector.d.ts.map +1 -0
- package/lib/director/OrderPricingDirector.js +39 -0
- package/lib/director/OrderPricingDirector.js.map +1 -0
- package/lib/director/OrderPricingSheet.d.ts +4 -0
- package/lib/director/OrderPricingSheet.d.ts.map +1 -0
- package/lib/director/OrderPricingSheet.js +101 -0
- package/lib/director/OrderPricingSheet.js.map +1 -0
- package/lib/module/buildFindSelector.d.ts +1 -1
- package/lib/module/buildFindSelector.d.ts.map +1 -1
- package/lib/module/buildFindSelector.js +17 -1
- package/lib/module/buildFindSelector.js.map +1 -1
- package/lib/module/configureOrderDeliveriesModule.d.ts +9 -6
- package/lib/module/configureOrderDeliveriesModule.d.ts.map +1 -1
- package/lib/module/configureOrderDeliveriesModule.js +14 -10
- package/lib/module/configureOrderDeliveriesModule.js.map +1 -1
- package/lib/module/configureOrderDiscountsModule.d.ts +5 -5
- package/lib/module/configureOrderDiscountsModule.d.ts.map +1 -1
- package/lib/module/configureOrderDiscountsModule.js +3 -3
- package/lib/module/configureOrderDiscountsModule.js.map +1 -1
- package/lib/module/configureOrderPaymentsModule.d.ts +10 -7
- package/lib/module/configureOrderPaymentsModule.d.ts.map +1 -1
- package/lib/module/configureOrderPaymentsModule.js +18 -10
- package/lib/module/configureOrderPaymentsModule.js.map +1 -1
- package/lib/module/configureOrderPositionsModule.d.ts +16 -5
- package/lib/module/configureOrderPositionsModule.d.ts.map +1 -1
- package/lib/module/configureOrderPositionsModule.js +25 -5
- package/lib/module/configureOrderPositionsModule.js.map +1 -1
- package/lib/module/configureOrdersModule-mutations.d.ts +14 -13
- package/lib/module/configureOrdersModule-mutations.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-mutations.js +19 -11
- package/lib/module/configureOrdersModule-mutations.js.map +1 -1
- package/lib/module/configureOrdersModule-processing.d.ts +14 -0
- package/lib/module/configureOrdersModule-processing.d.ts.map +1 -0
- package/lib/module/configureOrdersModule-processing.js +348 -0
- package/lib/module/configureOrdersModule-processing.js.map +1 -0
- package/lib/module/configureOrdersModule-queries.d.ts +21 -6
- package/lib/module/configureOrdersModule-queries.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-queries.js +19 -84
- package/lib/module/configureOrdersModule-queries.js.map +1 -1
- package/lib/module/configureOrdersModule-transformations.d.ts +6 -0
- package/lib/module/configureOrdersModule-transformations.d.ts.map +1 -0
- package/lib/module/configureOrdersModule-transformations.js +112 -0
- package/lib/module/configureOrdersModule-transformations.js.map +1 -0
- package/lib/module/configureOrdersModule.d.ts +154 -21
- package/lib/module/configureOrdersModule.d.ts.map +1 -1
- package/lib/module/configureOrdersModule.js +9 -3
- package/lib/module/configureOrdersModule.js.map +1 -1
- package/lib/orders-settings.d.ts +8 -12
- package/lib/orders-settings.d.ts.map +1 -1
- package/lib/orders-settings.js +8 -8
- package/lib/orders-settings.js.map +1 -1
- package/lib/service/migrateOrderCartService.d.ts +3 -0
- package/lib/service/migrateOrderCartService.d.ts.map +1 -0
- package/lib/service/migrateOrderCartService.js +32 -0
- package/lib/service/migrateOrderCartService.js.map +1 -0
- package/lib/service/nextUserCartService.d.ts +3 -0
- package/lib/service/nextUserCartService.d.ts.map +1 -0
- package/lib/service/nextUserCartService.js +34 -0
- package/lib/service/nextUserCartService.js.map +1 -0
- package/lib/service/orderServices.d.ts +3 -0
- package/lib/service/orderServices.d.ts.map +1 -0
- package/lib/service/orderServices.js +7 -0
- package/lib/service/orderServices.js.map +1 -0
- package/package.json +6 -6
- package/src/db/OrderDeliveriesCollection.ts +2 -2
- package/src/db/OrderDiscountsCollection.ts +2 -2
- package/src/db/OrderPaymentsCollection.ts +3 -3
- package/src/db/OrderPositionsCollection.ts +1 -2
- package/src/db/OrdersCollection.ts +31 -22
- package/src/module/buildFindSelector.ts +19 -1
- package/src/module/configureOrderDeliveriesModule.ts +28 -16
- package/src/module/configureOrderDiscountsModule.ts +11 -11
- package/src/module/configureOrderPaymentsModule.ts +31 -20
- package/src/module/configureOrderPositionsModule.ts +47 -16
- package/src/module/configureOrdersModule-mutations.ts +46 -44
- package/src/module/configureOrdersModule-queries.ts +42 -91
- package/src/module/configureOrdersModule.ts +21 -33
- package/src/orders-settings.ts +20 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrdersModule-queries.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,
|
|
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,19 +1,6 @@
|
|
|
1
1
|
import { SortDirection } from '@unchainedshop/utils';
|
|
2
2
|
import { generateDbFilterById, buildSortOptions } from '@unchainedshop/mongodb';
|
|
3
3
|
import buildFindSelector from './buildFindSelector.js';
|
|
4
|
-
const normalizeOrderAggregateResult = (data = {}) => {
|
|
5
|
-
const statusToFieldMap = {
|
|
6
|
-
newCount: 0,
|
|
7
|
-
checkoutCount: 0,
|
|
8
|
-
rejectCount: 0,
|
|
9
|
-
confirmCount: 0,
|
|
10
|
-
fulfillCount: 0,
|
|
11
|
-
};
|
|
12
|
-
Object.entries(data).forEach(([key, value]) => {
|
|
13
|
-
statusToFieldMap[key] = value;
|
|
14
|
-
});
|
|
15
|
-
return statusToFieldMap;
|
|
16
|
-
};
|
|
17
4
|
export const configureOrdersModuleQueries = ({ Orders }) => {
|
|
18
5
|
return {
|
|
19
6
|
isCart: (order) => {
|
|
@@ -69,83 +56,31 @@ export const configureOrdersModuleQueries = ({ Orders }) => {
|
|
|
69
56
|
}
|
|
70
57
|
return Orders.find(selector, findOptions).toArray();
|
|
71
58
|
},
|
|
72
|
-
getReport: async (params) => {
|
|
73
|
-
const { dateRange } = params || {};
|
|
74
|
-
const selector = { $exists: true };
|
|
75
|
-
if (dateRange?.end || dateRange?.start) {
|
|
76
|
-
if (dateRange?.start) {
|
|
77
|
-
const fromDate = new Date(dateRange?.start);
|
|
78
|
-
selector.$gte = fromDate;
|
|
79
|
-
}
|
|
80
|
-
if (dateRange?.end) {
|
|
81
|
-
const toDate = new Date(dateRange?.end);
|
|
82
|
-
selector.$lte = toDate;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
const pipeline = [
|
|
86
|
-
{
|
|
87
|
-
$facet: {
|
|
88
|
-
checkoutCount: [
|
|
89
|
-
{
|
|
90
|
-
$match: {
|
|
91
|
-
ordered: selector,
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
{ $count: 'count' },
|
|
95
|
-
],
|
|
96
|
-
fulfillCount: [
|
|
97
|
-
{
|
|
98
|
-
$match: {
|
|
99
|
-
fullfilled: selector,
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
{ $count: 'count' },
|
|
103
|
-
],
|
|
104
|
-
rejectCount: [
|
|
105
|
-
{
|
|
106
|
-
$match: {
|
|
107
|
-
rejected: selector,
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
|
-
{ $count: 'count' },
|
|
111
|
-
],
|
|
112
|
-
newCount: [
|
|
113
|
-
{
|
|
114
|
-
$match: {
|
|
115
|
-
created: selector,
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
{ $count: 'count' },
|
|
119
|
-
],
|
|
120
|
-
confirmCount: [
|
|
121
|
-
{
|
|
122
|
-
$match: {
|
|
123
|
-
confirmed: selector,
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
{ $count: 'count' },
|
|
127
|
-
],
|
|
128
|
-
},
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
$project: {
|
|
132
|
-
checkoutCount: { $arrayElemAt: ['$checkoutCount.count', 0] },
|
|
133
|
-
fulfillCount: { $arrayElemAt: ['$fulfillCount.count', 0] },
|
|
134
|
-
rejectCount: { $arrayElemAt: ['$rejectCount.count', 0] },
|
|
135
|
-
newCount: { $arrayElemAt: ['$newCount.count', 0] },
|
|
136
|
-
confirmCount: { $arrayElemAt: ['$confirmCount.count', 0] },
|
|
137
|
-
},
|
|
138
|
-
},
|
|
139
|
-
];
|
|
140
|
-
const [facetedResult] = await Orders.aggregate(pipeline).toArray();
|
|
141
|
-
return normalizeOrderAggregateResult(facetedResult);
|
|
142
|
-
},
|
|
143
59
|
orderExists: async ({ orderId }) => {
|
|
144
60
|
const orderCount = await Orders.countDocuments(generateDbFilterById(orderId), {
|
|
145
61
|
limit: 1,
|
|
146
62
|
});
|
|
147
63
|
return !!orderCount;
|
|
148
64
|
},
|
|
65
|
+
aggregateOrders: async ({ match, project, group, sort, limit, addFields, pipeline, }) => {
|
|
66
|
+
const stages = [];
|
|
67
|
+
if (pipeline?.length) {
|
|
68
|
+
return await Orders.aggregate(pipeline).toArray();
|
|
69
|
+
}
|
|
70
|
+
if (match)
|
|
71
|
+
stages.push({ $match: match });
|
|
72
|
+
if (project)
|
|
73
|
+
stages.push({ $project: project });
|
|
74
|
+
if (group)
|
|
75
|
+
stages.push({ $group: group });
|
|
76
|
+
if (addFields)
|
|
77
|
+
stages.push({ $addFields: addFields });
|
|
78
|
+
if (sort)
|
|
79
|
+
stages.push({ $sort: sort });
|
|
80
|
+
if (typeof limit === 'number')
|
|
81
|
+
stages.push({ $limit: limit });
|
|
82
|
+
return Orders.aggregate(stages, { allowDiskUse: true }).toArray();
|
|
83
|
+
},
|
|
149
84
|
};
|
|
150
85
|
};
|
|
151
86
|
//# sourceMappingURL=configureOrdersModule-queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrdersModule-queries.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,
|
|
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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
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';
|
|
5
|
+
import { OrderPricingSheet } from '../director/OrderPricingSheet.js';
|
|
6
|
+
export const configureOrderModuleTransformations = ({ Orders, }) => {
|
|
7
|
+
return {
|
|
8
|
+
discounted: async (order, orderDiscount, unchainedAPI) => {
|
|
9
|
+
const { modules } = unchainedAPI;
|
|
10
|
+
// Delivery discounts
|
|
11
|
+
const orderDelivery = await modules.orders.deliveries.findDelivery({
|
|
12
|
+
orderDeliveryId: order.deliveryId,
|
|
13
|
+
});
|
|
14
|
+
const orderDeliveryDiscounts = modules.orders.deliveries.discounts(orderDelivery, { order, orderDiscount }, unchainedAPI);
|
|
15
|
+
// Payment discounts
|
|
16
|
+
const orderPayment = await modules.orders.payments.findOrderPayment({
|
|
17
|
+
orderPaymentId: order.paymentId,
|
|
18
|
+
});
|
|
19
|
+
const orderPaymentDiscounts = modules.orders.payments.discounts(orderPayment, { order, orderDiscount }, unchainedAPI);
|
|
20
|
+
// Position discounts
|
|
21
|
+
const orderPositions = await modules.orders.positions.findOrderPositions({
|
|
22
|
+
orderId: order._id,
|
|
23
|
+
});
|
|
24
|
+
const orderPositionDiscounts = orderPositions.flatMap((orderPosition) => modules.orders.positions.discounts(orderPosition, { order, orderDiscount }, unchainedAPI));
|
|
25
|
+
// order discounts
|
|
26
|
+
const pricingSheet = OrderPricingSheet({
|
|
27
|
+
calculation: order.calculation,
|
|
28
|
+
currency: order.currency,
|
|
29
|
+
});
|
|
30
|
+
const orderDiscounts = pricingSheet
|
|
31
|
+
.discountPrices(orderDiscount._id)
|
|
32
|
+
.map((discount) => ({ order, ...discount }));
|
|
33
|
+
// All discounts
|
|
34
|
+
const discounted = [
|
|
35
|
+
...orderPaymentDiscounts,
|
|
36
|
+
...orderDeliveryDiscounts,
|
|
37
|
+
...orderPositionDiscounts,
|
|
38
|
+
...orderDiscounts,
|
|
39
|
+
].filter(Boolean);
|
|
40
|
+
return discounted;
|
|
41
|
+
},
|
|
42
|
+
discountTotal: async (order, orderDiscount, unchainedAPI) => {
|
|
43
|
+
const { modules } = unchainedAPI;
|
|
44
|
+
const orderDiscountId = orderDiscount._id;
|
|
45
|
+
// Delivery discounts
|
|
46
|
+
const orderDelivery = await modules.orders.deliveries.findDelivery({
|
|
47
|
+
orderDeliveryId: order.deliveryId,
|
|
48
|
+
});
|
|
49
|
+
const orderDeliveryDiscountSum = orderDelivery &&
|
|
50
|
+
modules.orders.deliveries
|
|
51
|
+
.pricingSheet(orderDelivery, order.currency, unchainedAPI)
|
|
52
|
+
.total({ category: DeliveryPricingRowCategory.Discount, discountId: orderDiscountId });
|
|
53
|
+
// Payment discounts
|
|
54
|
+
const orderPayment = await modules.orders.payments.findOrderPayment({
|
|
55
|
+
orderPaymentId: order.paymentId,
|
|
56
|
+
});
|
|
57
|
+
const orderPaymentDiscountSum = orderPayment &&
|
|
58
|
+
modules.orders.payments
|
|
59
|
+
.pricingSheet(orderPayment, order.currency, unchainedAPI)
|
|
60
|
+
.total({ category: PaymentPricingRowCategory.Discount, discountId: orderDiscountId });
|
|
61
|
+
// Position discounts
|
|
62
|
+
const orderPositions = await modules.orders.positions.findOrderPositions({
|
|
63
|
+
orderId: order._id,
|
|
64
|
+
});
|
|
65
|
+
const orderPositionDiscounts = orderPositions.map((orderPosition) => modules.orders.positions
|
|
66
|
+
.pricingSheet(orderPosition, order.currency, unchainedAPI)
|
|
67
|
+
.total({ category: ProductPricingRowCategory.Discount, discountId: orderDiscountId }));
|
|
68
|
+
// order discounts
|
|
69
|
+
const orderDiscountSum = OrderPricingSheet({
|
|
70
|
+
calculation: order.calculation,
|
|
71
|
+
currency: order.currency,
|
|
72
|
+
}).total({ category: OrderPricingRowCategory.Discounts, discountId: orderDiscountId });
|
|
73
|
+
const prices = [
|
|
74
|
+
orderDeliveryDiscountSum.amount,
|
|
75
|
+
orderPaymentDiscountSum.amount,
|
|
76
|
+
...orderPositionDiscounts.map((positionDiscount) => positionDiscount.amount),
|
|
77
|
+
orderDiscountSum.amount,
|
|
78
|
+
];
|
|
79
|
+
const amount = prices.reduce((oldValue, price) => oldValue + (price || 0), 0);
|
|
80
|
+
return {
|
|
81
|
+
amount,
|
|
82
|
+
currency: order.currency,
|
|
83
|
+
};
|
|
84
|
+
},
|
|
85
|
+
isCart: (order) => {
|
|
86
|
+
return order.status === null;
|
|
87
|
+
},
|
|
88
|
+
cart: async ({ orderNumber, countryContext, userId }) => {
|
|
89
|
+
const selector = {
|
|
90
|
+
countryCode: countryContext,
|
|
91
|
+
status: { $eq: null },
|
|
92
|
+
userId,
|
|
93
|
+
};
|
|
94
|
+
if (orderNumber) {
|
|
95
|
+
selector.orderNumber = orderNumber;
|
|
96
|
+
}
|
|
97
|
+
const options = {
|
|
98
|
+
sort: {
|
|
99
|
+
updated: -1,
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
return Orders.findOne(selector, options);
|
|
103
|
+
},
|
|
104
|
+
pricingSheet: (order) => {
|
|
105
|
+
return OrderPricingSheet({
|
|
106
|
+
calculation: order.calculation,
|
|
107
|
+
currency: order.currency,
|
|
108
|
+
});
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=configureOrdersModule-transformations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configureOrdersModule-transformations.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-transformations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,159 @@
|
|
|
1
|
-
import { ModuleInput } from '@unchainedshop/mongodb';
|
|
1
|
+
import { ModuleInput, mongodb } from '@unchainedshop/mongodb';
|
|
2
2
|
import { Order, OrderStatus } from '../db/OrdersCollection.js';
|
|
3
3
|
import { OrdersSettingsOptions } from '../orders-settings.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
4
|
+
export declare const configureOrdersModule: ({ db, migrationRepository, options: orderOptions, }: ModuleInput<OrdersSettingsOptions>) => Promise<{
|
|
5
|
+
deliveries: {
|
|
6
|
+
findDelivery: ({ orderDeliveryId }: {
|
|
7
|
+
orderDeliveryId: string;
|
|
8
|
+
}, options?: mongodb.FindOptions) => Promise<import("../db/OrderDeliveriesCollection.js").OrderDelivery | null>;
|
|
9
|
+
findDeliveryByProvidersId: ({ deliveryProviderIds }: {
|
|
10
|
+
deliveryProviderIds: string[];
|
|
11
|
+
}, options?: mongodb.FindOptions) => Promise<import("../db/OrderDeliveriesCollection.js").OrderDelivery[]>;
|
|
12
|
+
normalizedStatus: (orderDelivery: import("../db/OrderDeliveriesCollection.js").OrderDelivery) => import("../db/OrderDeliveriesCollection.js").OrderDeliveryStatus;
|
|
13
|
+
create: (doc: Omit<import("../db/OrderDeliveriesCollection.js").OrderDelivery, "_id" | "created"> & Pick<Partial<import("../db/OrderDeliveriesCollection.js").OrderDelivery>, "_id" | "created">) => Promise<import("../db/OrderDeliveriesCollection.js").OrderDelivery>;
|
|
14
|
+
delete: (orderDeliveryId: string) => Promise<number>;
|
|
15
|
+
markAsDelivered: (orderDelivery: import("../db/OrderDeliveriesCollection.js").OrderDelivery) => Promise<mongodb.WithId<import("../db/OrderDeliveriesCollection.js").OrderDelivery> | null | undefined>;
|
|
16
|
+
updateContext: (orderDeliveryId: string, context: any) => Promise<mongodb.WithId<import("../db/OrderDeliveriesCollection.js").OrderDelivery> | null>;
|
|
17
|
+
updateStatus: (orderDeliveryId: string, { status, info }: {
|
|
18
|
+
status: import("../db/OrderDeliveriesCollection.js").OrderDeliveryStatus;
|
|
19
|
+
info?: string;
|
|
20
|
+
}) => Promise<mongodb.WithId<import("../db/OrderDeliveriesCollection.js").OrderDelivery> | null>;
|
|
21
|
+
updateCalculation: <T extends import("@unchainedshop/utils").PricingCalculation>(orderDeliveryId: string, calculation: T[]) => Promise<mongodb.WithId<import("../db/OrderDeliveriesCollection.js").OrderDelivery> | null>;
|
|
22
|
+
deleteOrderDeliveries: (orderId: string) => Promise<number>;
|
|
23
|
+
};
|
|
24
|
+
discounts: {
|
|
25
|
+
findOrderDiscount: ({ discountId }: {
|
|
26
|
+
discountId: string;
|
|
27
|
+
}, options?: mongodb.FindOptions) => Promise<import("../db/OrderDiscountsCollection.js").OrderDiscount | null>;
|
|
28
|
+
findOrderDiscounts: ({ orderId }: {
|
|
29
|
+
orderId: string;
|
|
30
|
+
}) => Promise<import("../db/OrderDiscountsCollection.js").OrderDiscount[]>;
|
|
31
|
+
create: (doc: Omit<import("../db/OrderDiscountsCollection.js").OrderDiscount, "_id" | "created" | "trigger"> & Pick<Partial<import("../db/OrderDiscountsCollection.js").OrderDiscount>, "_id" | "created" | "trigger">) => Promise<import("../db/OrderDiscountsCollection.js").OrderDiscount>;
|
|
32
|
+
delete: (orderDiscountId: string) => Promise<mongodb.WithId<import("../db/OrderDiscountsCollection.js").OrderDiscount> | null>;
|
|
33
|
+
isDiscountCodeUsed: ({ code, orderId }: {
|
|
34
|
+
code: any;
|
|
35
|
+
orderId: any;
|
|
36
|
+
}) => Promise<boolean>;
|
|
37
|
+
findSpareDiscount: ({ code }: {
|
|
38
|
+
code: any;
|
|
39
|
+
}) => Promise<mongodb.WithId<import("../db/OrderDiscountsCollection.js").OrderDiscount> | null>;
|
|
40
|
+
update: (orderDiscountId: string, doc: Partial<import("../db/OrderDiscountsCollection.js").OrderDiscount>) => Promise<mongodb.WithId<import("../db/OrderDiscountsCollection.js").OrderDiscount> | null>;
|
|
41
|
+
deleteOrderDiscounts: (orderId: string) => Promise<number>;
|
|
42
|
+
};
|
|
43
|
+
positions: {
|
|
44
|
+
findOrderPosition: ({ itemId }: {
|
|
45
|
+
itemId: string;
|
|
46
|
+
}, options?: mongodb.FindOptions) => Promise<import("../db/OrderPositionsCollection.js").OrderPosition | null>;
|
|
47
|
+
findOrderPositions: ({ orderId }: {
|
|
48
|
+
orderId: string;
|
|
49
|
+
}) => Promise<import("../db/OrderPositionsCollection.js").OrderPosition[]>;
|
|
50
|
+
delete: (orderPositionId: string) => Promise<mongodb.WithId<import("../db/OrderPositionsCollection.js").OrderPosition> | null>;
|
|
51
|
+
removePositions: ({ orderId }: {
|
|
52
|
+
orderId: string;
|
|
53
|
+
}) => Promise<number>;
|
|
54
|
+
updateProductItem: ({ orderPositionId, quantity, configuration, }: {
|
|
55
|
+
orderPositionId: string;
|
|
56
|
+
configuration?: {
|
|
57
|
+
key: string;
|
|
58
|
+
value: string;
|
|
59
|
+
}[];
|
|
60
|
+
quantity?: number;
|
|
61
|
+
}) => Promise<mongodb.WithId<import("../db/OrderPositionsCollection.js").OrderPosition> | null>;
|
|
62
|
+
removeProductByIdFromAllOpenPositions: (productId: string) => Promise<string[]>;
|
|
63
|
+
updateScheduling: (orderPositionId: any, scheduling: any) => Promise<mongodb.WithId<import("../db/OrderPositionsCollection.js").OrderPosition> | null>;
|
|
64
|
+
updateCalculation: <T extends import("@unchainedshop/utils").PricingCalculation>(orderPositionId: string, calculation: T[]) => Promise<mongodb.WithId<import("../db/OrderPositionsCollection.js").OrderPosition> | null>;
|
|
65
|
+
addProductItem: (orderPosition: {
|
|
66
|
+
context?: any;
|
|
67
|
+
configuration?: {
|
|
68
|
+
key: string;
|
|
69
|
+
value: string;
|
|
70
|
+
}[];
|
|
71
|
+
orderId: string;
|
|
72
|
+
originalProductId: string;
|
|
73
|
+
productId: string;
|
|
74
|
+
quantity: number;
|
|
75
|
+
quotationId?: string;
|
|
76
|
+
}) => Promise<import("../db/OrderPositionsCollection.js").OrderPosition>;
|
|
77
|
+
deleteOrderPositions: (orderId: string) => Promise<number>;
|
|
78
|
+
aggregatePositions: ({ match, project, group, addFields, sort, limit, pipeline, }: import("./configureOrderPositionsModule.js").OrderPositionAggregateParams) => Promise<mongodb.Document[]>;
|
|
79
|
+
};
|
|
80
|
+
payments: {
|
|
81
|
+
findOrderPayment: ({ orderPaymentId, }: {
|
|
82
|
+
orderPaymentId: string;
|
|
83
|
+
}, options?: mongodb.FindOptions) => Promise<import("../db/OrderPaymentsCollection.js").OrderPayment | null>;
|
|
84
|
+
findOrderPaymentsByProviderIds: ({ paymentProviderIds, }: {
|
|
85
|
+
paymentProviderIds: string[];
|
|
86
|
+
}, options?: mongodb.FindOptions) => Promise<import("../db/OrderPaymentsCollection.js").OrderPayment[]>;
|
|
87
|
+
findOrderPaymentByContextData: ({ context, }: {
|
|
88
|
+
context: any;
|
|
89
|
+
}, options?: mongodb.FindOptions) => Promise<import("../db/OrderPaymentsCollection.js").OrderPayment | null>;
|
|
90
|
+
countOrderPaymentsByContextData: ({ context, }: {
|
|
91
|
+
context: any;
|
|
92
|
+
}, options?: mongodb.FindOptions) => Promise<number>;
|
|
93
|
+
normalizedStatus: (orderPayment: import("../db/OrderPaymentsCollection.js").OrderPayment) => import("../db/OrderPaymentsCollection.js").OrderPaymentStatus;
|
|
94
|
+
create: (doc: Omit<import("../db/OrderPaymentsCollection.js").OrderPayment, "_id" | "created"> & Pick<Partial<import("../db/OrderPaymentsCollection.js").OrderPayment>, "_id" | "created">) => Promise<import("../db/OrderPaymentsCollection.js").OrderPayment>;
|
|
95
|
+
logEvent: (orderPaymentId: string, event: any) => Promise<boolean>;
|
|
96
|
+
markAsPaid: (orderPayment: import("../db/OrderPaymentsCollection.js").OrderPayment, meta: any) => Promise<void>;
|
|
97
|
+
updateContext: (orderPaymentId: string, context: any) => Promise<mongodb.WithId<import("../db/OrderPaymentsCollection.js").OrderPayment> | null>;
|
|
98
|
+
updateStatus: (orderPaymentId: string, { transactionId, status, info, }: {
|
|
99
|
+
transactionId?: string;
|
|
100
|
+
status: import("../db/OrderPaymentsCollection.js").OrderPaymentStatus;
|
|
101
|
+
info?: string;
|
|
102
|
+
}) => Promise<mongodb.WithId<import("../db/OrderPaymentsCollection.js").OrderPayment> | null>;
|
|
103
|
+
updateCalculation: <T extends import("@unchainedshop/utils").PricingCalculation>(orderPaymentId: string, calculation: T[]) => Promise<mongodb.WithId<import("../db/OrderPaymentsCollection.js").OrderPayment> | null>;
|
|
104
|
+
deleteOrderPayments: (orderId: string) => Promise<number>;
|
|
105
|
+
};
|
|
106
|
+
updateStatus: (orderId: string, { status, info }: {
|
|
107
|
+
status: OrderStatus | null;
|
|
17
108
|
info?: string;
|
|
109
|
+
}) => Promise<mongodb.WithId<Order> | null>;
|
|
110
|
+
acquireLock: (orderId: string, identifier: string, timeout?: number) => Promise<any>;
|
|
111
|
+
setDeliveryProvider: (orderId: string, deliveryProviderId: string) => Promise<mongodb.WithId<Order> | null>;
|
|
112
|
+
setPaymentProvider: (orderId: string, paymentProviderId: string) => Promise<mongodb.WithId<Order> | null>;
|
|
113
|
+
create: ({ userId, orderNumber, currencyCode, countryCode, billingAddress, contact, context, }: {
|
|
114
|
+
userId: string;
|
|
115
|
+
billingAddress?: import("@unchainedshop/mongodb").Address;
|
|
116
|
+
contact?: import("@unchainedshop/mongodb").Contact;
|
|
117
|
+
countryCode: string;
|
|
118
|
+
currencyCode: string;
|
|
119
|
+
orderNumber?: string;
|
|
120
|
+
originEnrollmentId?: string;
|
|
121
|
+
context?: Record<string, any>;
|
|
18
122
|
}) => Promise<Order>;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
123
|
+
delete: (orderId: string) => Promise<number>;
|
|
124
|
+
setCartOwner: ({ orderId, userId }: {
|
|
125
|
+
orderId: string;
|
|
126
|
+
userId: string;
|
|
127
|
+
}) => Promise<void>;
|
|
128
|
+
moveCartPositions: ({ fromOrderId, toOrderId, }: {
|
|
129
|
+
fromOrderId: string;
|
|
130
|
+
toOrderId: string;
|
|
131
|
+
}) => Promise<void>;
|
|
132
|
+
updateBillingAddress: (orderId: string, billingAddress: import("@unchainedshop/mongodb").Address) => Promise<mongodb.WithId<Order> | null>;
|
|
133
|
+
updateContact: (orderId: string, contact: import("@unchainedshop/mongodb").Contact) => Promise<mongodb.WithId<Order> | null>;
|
|
134
|
+
updateCalculationSheet: (orderId: string, calculation: any) => Promise<mongodb.WithId<Order> | null>;
|
|
135
|
+
updateContext: (orderId: string, context: any) => Promise<mongodb.WithId<Order> | null>;
|
|
136
|
+
isCart: (order: Order) => boolean;
|
|
137
|
+
cart: ({ orderNumber, countryCode, userId, }: {
|
|
138
|
+
countryCode?: string;
|
|
139
|
+
orderNumber?: string;
|
|
140
|
+
userId: string;
|
|
141
|
+
}) => Promise<mongodb.WithId<Order> | null>;
|
|
142
|
+
count: (query: import("../db/OrdersCollection.js").OrderQuery) => Promise<number>;
|
|
143
|
+
findOrder: ({ orderId, orderNumber, }: {
|
|
144
|
+
orderId?: string;
|
|
145
|
+
orderNumber?: string;
|
|
146
|
+
}, options?: mongodb.FindOptions) => Promise<Order | null>;
|
|
147
|
+
findCartsToInvalidate: (maxAgeDays?: number) => Promise<mongodb.WithId<Order>[]>;
|
|
148
|
+
findOrders: ({ limit, offset, queryString, sort, ...query }: import("../db/OrdersCollection.js").OrderQuery & {
|
|
149
|
+
limit?: number;
|
|
150
|
+
offset?: number;
|
|
151
|
+
sort?: import("@unchainedshop/utils").SortOption[];
|
|
152
|
+
}, options?: mongodb.FindOptions) => Promise<Order[]>;
|
|
153
|
+
orderExists: ({ orderId }: {
|
|
154
|
+
orderId: string;
|
|
155
|
+
}) => Promise<boolean>;
|
|
156
|
+
aggregateOrders: ({ match, project, group, sort, limit, addFields, pipeline, }: import("./configureOrdersModule-queries.js").OrderAggregateParams) => Promise<mongodb.Document[]>;
|
|
157
|
+
}>;
|
|
158
|
+
export type OrdersModule = Awaited<ReturnType<typeof configureOrdersModule>>;
|
|
26
159
|
//# sourceMappingURL=configureOrdersModule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrdersModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,
|
|
1
|
+
{"version":3,"file":"configureOrdersModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAMpF,OAAO,EAAoB,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAkB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAsB9E,eAAO,MAAM,qBAAqB,GAAU,qDAIzC,WAAW,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;gBArB6C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAyCxE,CAAC;;;;oBACuB,CAAC;;;;;;mBA+E1B,CAAC;yBAED,CAAH;;;;;;;;uBAQmD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;yBAxH1C,CAAC;;gBAGhB,CAAF;;;;;4BAyEe,MAAM,oBACG;QAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;2BA8EpC,MAAM,cAAc,MAAM;mCAIlB,MAAM,sBAAsB,MAAM;kCAqCnC,MAAM,qBAAqB,MAAM;;;sBAhNtC,CAAC;eAAwB,CAAC;;;mBACD,CAAC;0BACpD,CAAC;eAAuB,CAAC;;;;;;;;;;;;;;;;;mBAC9B,CAAC;mBAA2B,CAAC;;;;;eAuBJ,CAAC;mBAEJ,CAAC;;;;aAyBY,CAAC;cACpC,CAAF;YACE,CAAC;;;;;;EA4LJ,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { OrderPaymentsCollection } from '../db/OrderPaymentsCollection.js';
|
|
|
6
6
|
import { OrderPositionsCollection } from '../db/OrderPositionsCollection.js';
|
|
7
7
|
import { OrdersCollection, OrderStatus } from '../db/OrdersCollection.js';
|
|
8
8
|
import { ordersSettings } from '../orders-settings.js';
|
|
9
|
-
import { configureOrderDeliveriesModule
|
|
9
|
+
import { configureOrderDeliveriesModule } from './configureOrderDeliveriesModule.js';
|
|
10
10
|
import { configureOrderDiscountsModule } from './configureOrderDiscountsModule.js';
|
|
11
11
|
import { configureOrderPaymentsModule } from './configureOrderPaymentsModule.js';
|
|
12
12
|
import { configureOrderPositionsModule } from './configureOrderPositionsModule.js';
|
|
@@ -77,6 +77,8 @@ export const configureOrdersModule = async ({ db, migrationRepository, options:
|
|
|
77
77
|
updateStatus: async (orderId, { status, info }) => {
|
|
78
78
|
const selector = generateDbFilterById(orderId);
|
|
79
79
|
const order = await Orders.findOne(selector, {});
|
|
80
|
+
if (!order)
|
|
81
|
+
return null;
|
|
80
82
|
if (order.status === status)
|
|
81
83
|
return order;
|
|
82
84
|
const date = new Date();
|
|
@@ -157,12 +159,14 @@ export const configureOrdersModule = async ({ db, migrationRepository, options:
|
|
|
157
159
|
orderId,
|
|
158
160
|
status: null,
|
|
159
161
|
}))._id;
|
|
160
|
-
const order = await Orders.findOneAndUpdate({ _id: orderId }, {
|
|
162
|
+
const order = await Orders.findOneAndUpdate({ _id: orderId, deliveryId: { $ne: deliveryId } }, {
|
|
161
163
|
$set: {
|
|
162
164
|
deliveryId,
|
|
163
165
|
updated: new Date(),
|
|
164
166
|
},
|
|
165
167
|
}, { returnDocument: 'after' });
|
|
168
|
+
if (!order)
|
|
169
|
+
return null;
|
|
166
170
|
await emit('ORDER_SET_DELIVERY_PROVIDER', {
|
|
167
171
|
order,
|
|
168
172
|
deliveryProviderId,
|
|
@@ -182,9 +186,11 @@ export const configureOrdersModule = async ({ db, migrationRepository, options:
|
|
|
182
186
|
orderId,
|
|
183
187
|
status: null,
|
|
184
188
|
}))._id;
|
|
185
|
-
const order = await Orders.findOneAndUpdate({ _id: orderId }, {
|
|
189
|
+
const order = await Orders.findOneAndUpdate({ _id: orderId, paymentId: { $ne: paymentId } }, {
|
|
186
190
|
$set: { paymentId, updated: new Date() },
|
|
187
191
|
}, { returnDocument: 'after' });
|
|
192
|
+
if (!order)
|
|
193
|
+
return null;
|
|
188
194
|
await emit('ORDER_SET_PAYMENT_PROVIDER', {
|
|
189
195
|
order,
|
|
190
196
|
paymentProviderId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrdersModule.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAS,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAyB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"configureOrdersModule.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"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"}
|
package/lib/orders-settings.d.ts
CHANGED
|
@@ -8,20 +8,16 @@ export interface OrderSettingsOrderPositionValidation<Product = unknown> {
|
|
|
8
8
|
value: string;
|
|
9
9
|
}[];
|
|
10
10
|
}
|
|
11
|
-
export interface
|
|
12
|
-
ensureUserHasCart
|
|
13
|
-
orderNumberHashFn
|
|
14
|
-
validateOrderPosition
|
|
15
|
-
lockOrderDuringCheckout
|
|
11
|
+
export interface OrdersSettings {
|
|
12
|
+
ensureUserHasCart: boolean;
|
|
13
|
+
orderNumberHashFn: (order: Order, index: number) => string;
|
|
14
|
+
validateOrderPosition: <UnchainedAPI = unknown>(validationParams: OrderSettingsOrderPositionValidation, unchainedAPI: UnchainedAPI) => Promise<void>;
|
|
15
|
+
lockOrderDuringCheckout: boolean;
|
|
16
|
+
configureSettings: (options?: OrdersSettingsOptions) => void;
|
|
16
17
|
}
|
|
18
|
+
export type OrdersSettingsOptions = Omit<Partial<OrdersSettings>, 'configureSettings'>;
|
|
17
19
|
export declare const defaultValidateOrderPosition: ({ product }: {
|
|
18
20
|
product: any;
|
|
19
21
|
}, { modules }: any) => Promise<void>;
|
|
20
|
-
export declare const ordersSettings:
|
|
21
|
-
ensureUserHasCart: any;
|
|
22
|
-
orderNumberHashFn: any;
|
|
23
|
-
validateOrderPosition: any;
|
|
24
|
-
lockOrderDuringCheckout: boolean;
|
|
25
|
-
configureSettings({ ensureUserHasCart, orderNumberHashFn, validateOrderPosition, lockOrderDuringCheckout, }?: OrdersSettingsOptions): void;
|
|
26
|
-
};
|
|
22
|
+
export declare const ordersSettings: OrdersSettings;
|
|
27
23
|
//# sourceMappingURL=orders-settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-settings.d.ts","sourceRoot":"","sources":["../src/orders-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,MAAM,WAAW,oCAAoC,CAAC,OAAO,GAAG,OAAO;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"orders-settings.d.ts","sourceRoot":"","sources":["../src/orders-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,MAAM,WAAW,oCAAoC,CAAC,OAAO,GAAG,OAAO;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3D,qBAAqB,EAAE,CAAC,YAAY,GAAG,OAAO,EAC5C,gBAAgB,EAAE,oCAAoC,EACtD,YAAY,EAAE,YAAY,KACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,uBAAuB,EAAE,OAAO,CAAC;IACjC,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC9D;AACD,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAEvF,eAAO,MAAM,4BAA4B,GAAU;;CAAW,EAAE,aAAa,GAAG,kBAI/E,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cAgB5B,CAAC"}
|