@unchainedshop/core-orders 2.0.0-beta7 → 2.0.0-beta9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/jest.config.js +9 -0
- package/lib/director/OrderPricingDirector.js +5 -5
- package/lib/director/OrderPricingDirector.js.map +1 -1
- package/lib/module/configureOrderDeliveriesModule.d.ts +2 -1
- package/lib/module/configureOrderDeliveriesModule.js +30 -28
- package/lib/module/configureOrderDeliveriesModule.js.map +1 -1
- package/lib/module/configureOrderDiscountsModule.d.ts +2 -1
- package/lib/module/configureOrderDiscountsModule.js +40 -40
- package/lib/module/configureOrderDiscountsModule.js.map +1 -1
- package/lib/module/configureOrderPaymentsModule.d.ts +3 -1
- package/lib/module/configureOrderPaymentsModule.js +65 -39
- package/lib/module/configureOrderPaymentsModule.js.map +1 -1
- package/lib/module/configureOrderPositionsModule.d.ts +2 -1
- package/lib/module/configureOrderPositionsModule.js +39 -33
- package/lib/module/configureOrderPositionsModule.js.map +1 -1
- package/lib/module/configureOrdersModule-mutations.js +28 -33
- package/lib/module/configureOrdersModule-mutations.js.map +1 -1
- package/lib/module/configureOrdersModule-processing.js +55 -61
- package/lib/module/configureOrdersModule-processing.js.map +1 -1
- package/lib/module/configureOrdersModule-queries.d.ts +3 -2
- package/lib/module/configureOrdersModule-queries.js +1 -1
- package/lib/module/configureOrdersModule-queries.js.map +1 -1
- package/lib/module/configureOrdersModule-transformations.js +10 -10
- package/lib/module/configureOrdersModule-transformations.js.map +1 -1
- package/lib/module/configureOrdersModule.js +24 -26
- package/lib/module/configureOrdersModule.js.map +1 -1
- package/lib/service/createUserCartService.js +8 -8
- package/lib/service/createUserCartService.js.map +1 -1
- package/lib/service/migrateOrderCartService.js +3 -9
- package/lib/service/migrateOrderCartService.js.map +1 -1
- package/package.json +10 -9
- package/src/director/OrderPricingDirector.ts +5 -5
- package/src/module/configureOrderDeliveriesModule.ts +36 -46
- package/src/module/configureOrderDiscountsModule.ts +47 -59
- package/src/module/configureOrderPaymentsModule.ts +95 -78
- package/src/module/configureOrderPositionsModule.ts +61 -50
- package/src/module/configureOrdersModule-mutations.ts +50 -65
- package/src/module/configureOrdersModule-processing.ts +78 -88
- package/src/module/configureOrdersModule-queries.ts +1 -1
- package/src/module/configureOrdersModule-transformations.ts +10 -10
- package/src/module/configureOrdersModule.ts +29 -42
- package/src/service/createUserCartService.ts +20 -24
- package/src/service/migrateOrderCartService.ts +3 -11
- package/tests/orders-index.test.ts +103 -48
package/jest.config.js
CHANGED
|
@@ -3,8 +3,8 @@ import { OrderPricingSheet } from './OrderPricingSheet';
|
|
|
3
3
|
const baseDirector = BasePricingDirector('OrderPricingDirector');
|
|
4
4
|
export const OrderPricingDirector = {
|
|
5
5
|
...baseDirector,
|
|
6
|
-
buildPricingContext: async ({ order, ...context },
|
|
7
|
-
const { modules } =
|
|
6
|
+
buildPricingContext: async ({ order, ...context }, unchainedAPI) => {
|
|
7
|
+
const { modules } = unchainedAPI;
|
|
8
8
|
const user = await modules.users.findUserById(order.userId);
|
|
9
9
|
const orderDelivery = await modules.orders.deliveries.findDelivery({
|
|
10
10
|
orderDeliveryId: order.deliveryId,
|
|
@@ -22,7 +22,7 @@ export const OrderPricingDirector = {
|
|
|
22
22
|
country: order.countryCode,
|
|
23
23
|
currency: order.currency,
|
|
24
24
|
...context,
|
|
25
|
-
...
|
|
25
|
+
...unchainedAPI,
|
|
26
26
|
discounts,
|
|
27
27
|
order,
|
|
28
28
|
orderDelivery,
|
|
@@ -31,8 +31,8 @@ export const OrderPricingDirector = {
|
|
|
31
31
|
user,
|
|
32
32
|
};
|
|
33
33
|
},
|
|
34
|
-
async actions(pricingContext,
|
|
35
|
-
const actions = await baseDirector.actions(pricingContext,
|
|
34
|
+
async actions(pricingContext, unchainedAPI) {
|
|
35
|
+
const actions = await baseDirector.actions(pricingContext, unchainedAPI, this.buildPricingContext);
|
|
36
36
|
return {
|
|
37
37
|
...actions,
|
|
38
38
|
calculationSheet() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderPricingDirector.js","sourceRoot":"","sources":["../../src/director/OrderPricingDirector.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,YAAY,GAAG,mBAAmB,CAKtC,sBAAsB,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,oBAAoB,GAA0B;IACzD,GAAG,YAAY;IAEf,mBAAmB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"OrderPricingDirector.js","sourceRoot":"","sources":["../../src/director/OrderPricingDirector.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,YAAY,GAAG,mBAAmB,CAKtC,sBAAsB,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,oBAAoB,GAA0B;IACzD,GAAG,YAAY;IAEf,mBAAmB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE;QACjE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE5D,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;YACjE,eAAe,EAAE,KAAK,CAAC,UAAU;SAClC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAClE,cAAc,EAAE,KAAK,CAAC,SAAS;SAChC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;YACvE,OAAO,EAAE,KAAK,CAAC,GAAG;SACnB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;YAClE,OAAO,EAAE,KAAK,CAAC,GAAG;SACnB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,WAAW;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,GAAG,OAAO;YACV,GAAG,YAAY;YACf,SAAS;YACT,KAAK;YACL,aAAa;YACb,YAAY;YACZ,cAAc;YACd,IAAI;SACL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY;QACxC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnG,OAAO;YACL,GAAG,OAAO;YACV,gBAAgB;gBACd,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrC,OAAO,iBAAiB,CAAC;oBACvB,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE;oBACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Collection } from '@unchainedshop/types/common';
|
|
1
|
+
import { Collection, Filter } from '@unchainedshop/types/common';
|
|
2
2
|
import { OrdersModule } from '@unchainedshop/types/orders';
|
|
3
3
|
import { OrderDeliveriesModule, OrderDelivery } from '@unchainedshop/types/orders.deliveries';
|
|
4
|
+
export declare const buildFindByIdSelector: (orderDeliveryId: string) => Filter<OrderDelivery>;
|
|
4
5
|
export declare const configureOrderDeliveriesModule: ({ OrderDeliveries, updateCalculation, }: {
|
|
5
6
|
OrderDeliveries: Collection<OrderDelivery>;
|
|
6
7
|
updateCalculation: OrdersModule['updateCalculation'];
|
|
@@ -4,7 +4,7 @@ import { log } from '@unchainedshop/logger';
|
|
|
4
4
|
import { generateDbFilterById, generateDbMutations } from '@unchainedshop/utils';
|
|
5
5
|
import { OrderDeliveriesSchema } from '../db/OrderDeliveriesSchema';
|
|
6
6
|
const ORDER_DELIVERY_EVENTS = ['ORDER_DELIVER', 'ORDER_UPDATE_DELIVERY'];
|
|
7
|
-
const buildFindByIdSelector = (orderDeliveryId) => generateDbFilterById(orderDeliveryId);
|
|
7
|
+
export const buildFindByIdSelector = (orderDeliveryId) => generateDbFilterById(orderDeliveryId);
|
|
8
8
|
export const configureOrderDeliveriesModule = ({ OrderDeliveries, updateCalculation, }) => {
|
|
9
9
|
registerEvents(ORDER_DELIVERY_EVENTS);
|
|
10
10
|
const mutations = generateDbMutations(OrderDeliveries, OrderDeliveriesSchema, {
|
|
@@ -16,11 +16,11 @@ export const configureOrderDeliveriesModule = ({ OrderDeliveries, updateCalculat
|
|
|
16
16
|
? OrderDeliveryStatus.OPEN
|
|
17
17
|
: orderDelivery.status;
|
|
18
18
|
};
|
|
19
|
-
const updateStatus = async (orderDeliveryId, { status, info }
|
|
19
|
+
const updateStatus = async (orderDeliveryId, { status, info }) => {
|
|
20
20
|
log(`OrderDelivery ${orderDeliveryId} -> New Status: ${status}`);
|
|
21
21
|
const date = new Date();
|
|
22
22
|
const modifier = {
|
|
23
|
-
$set: { status, updated: new Date()
|
|
23
|
+
$set: { status, updated: new Date() },
|
|
24
24
|
$push: {
|
|
25
25
|
log: {
|
|
26
26
|
date,
|
|
@@ -54,11 +54,11 @@ export const configureOrderDeliveriesModule = ({ OrderDeliveries, updateCalculat
|
|
|
54
54
|
...discount,
|
|
55
55
|
}));
|
|
56
56
|
},
|
|
57
|
-
isBlockingOrderConfirmation: async (orderDelivery,
|
|
58
|
-
const provider = await
|
|
57
|
+
isBlockingOrderConfirmation: async (orderDelivery, unchainedAPI) => {
|
|
58
|
+
const provider = await unchainedAPI.modules.delivery.findProvider({
|
|
59
59
|
deliveryProviderId: orderDelivery.deliveryProviderId,
|
|
60
60
|
});
|
|
61
|
-
const isAutoReleaseAllowed = await
|
|
61
|
+
const isAutoReleaseAllowed = await unchainedAPI.modules.delivery.isAutoReleaseAllowed(provider, unchainedAPI);
|
|
62
62
|
return !isAutoReleaseAllowed;
|
|
63
63
|
},
|
|
64
64
|
isBlockingOrderFullfillment: (orderDelivery) => {
|
|
@@ -74,50 +74,54 @@ export const configureOrderDeliveriesModule = ({ OrderDeliveries, updateCalculat
|
|
|
74
74
|
});
|
|
75
75
|
},
|
|
76
76
|
// Mutations
|
|
77
|
-
create: async (doc
|
|
78
|
-
const orderDeliveryId = await mutations.create({
|
|
77
|
+
create: async (doc) => {
|
|
78
|
+
const orderDeliveryId = await mutations.create({
|
|
79
|
+
...doc,
|
|
80
|
+
context: doc.context || {},
|
|
81
|
+
status: null,
|
|
82
|
+
});
|
|
79
83
|
const orderDelivery = await OrderDeliveries.findOne(buildFindByIdSelector(orderDeliveryId));
|
|
80
84
|
return orderDelivery;
|
|
81
85
|
},
|
|
82
|
-
delete: async (orderDeliveryId
|
|
83
|
-
const deletedCount = await mutations.delete(orderDeliveryId
|
|
86
|
+
delete: async (orderDeliveryId) => {
|
|
87
|
+
const deletedCount = await mutations.delete(orderDeliveryId);
|
|
84
88
|
return deletedCount;
|
|
85
89
|
},
|
|
86
|
-
markAsDelivered: async (orderDelivery
|
|
90
|
+
markAsDelivered: async (orderDelivery) => {
|
|
87
91
|
if (normalizedStatus(orderDelivery) !== OrderDeliveryStatus.OPEN)
|
|
88
92
|
return;
|
|
89
93
|
const updatedOrderDelivery = await updateStatus(orderDelivery._id, {
|
|
90
94
|
status: OrderDeliveryStatus.DELIVERED,
|
|
91
95
|
info: 'mark delivered manually',
|
|
92
|
-
}
|
|
93
|
-
emit('ORDER_DELIVER', { orderDelivery: updatedOrderDelivery });
|
|
96
|
+
});
|
|
97
|
+
await emit('ORDER_DELIVER', { orderDelivery: updatedOrderDelivery });
|
|
94
98
|
},
|
|
95
|
-
send: async (orderDelivery, { order, deliveryContext },
|
|
99
|
+
send: async (orderDelivery, { order, deliveryContext }, unchainedAPI) => {
|
|
96
100
|
if (normalizedStatus(orderDelivery) !== OrderDeliveryStatus.OPEN)
|
|
97
101
|
return orderDelivery;
|
|
98
|
-
const deliveryProvider = await
|
|
102
|
+
const deliveryProvider = await unchainedAPI.modules.delivery.findProvider({
|
|
99
103
|
deliveryProviderId: orderDelivery.deliveryProviderId,
|
|
100
104
|
});
|
|
101
105
|
const deliveryProviderId = deliveryProvider._id;
|
|
102
|
-
const address = orderDelivery.context?.address || order || order.billingAddress
|
|
103
|
-
const arbitraryResponseData = await
|
|
106
|
+
const address = orderDelivery.context?.address || order || order.billingAddress;
|
|
107
|
+
const arbitraryResponseData = await unchainedAPI.modules.delivery.send(deliveryProviderId, {
|
|
104
108
|
order,
|
|
105
109
|
orderDelivery,
|
|
106
110
|
transactionContext: {
|
|
107
111
|
...(deliveryContext || {}),
|
|
108
112
|
...(orderDelivery.context || {}),
|
|
109
|
-
address,
|
|
113
|
+
...(address || {}),
|
|
110
114
|
},
|
|
111
|
-
},
|
|
115
|
+
}, unchainedAPI);
|
|
112
116
|
if (arbitraryResponseData) {
|
|
113
117
|
return updateStatus(orderDelivery._id, {
|
|
114
118
|
status: OrderDeliveryStatus.DELIVERED,
|
|
115
119
|
info: JSON.stringify(arbitraryResponseData),
|
|
116
|
-
}
|
|
120
|
+
});
|
|
117
121
|
}
|
|
118
122
|
return orderDelivery;
|
|
119
123
|
},
|
|
120
|
-
updateContext: async (orderDeliveryId, context,
|
|
124
|
+
updateContext: async (orderDeliveryId, context, unchainedAPI) => {
|
|
121
125
|
if (!context)
|
|
122
126
|
return false;
|
|
123
127
|
const selector = buildFindByIdSelector(orderDeliveryId);
|
|
@@ -130,12 +134,11 @@ export const configureOrderDeliveriesModule = ({ OrderDeliveries, updateCalculat
|
|
|
130
134
|
$set: {
|
|
131
135
|
context: { ...(orderDelivery.context || {}), ...context },
|
|
132
136
|
updated: new Date(),
|
|
133
|
-
updatedBy: requestContext.userId,
|
|
134
137
|
},
|
|
135
138
|
});
|
|
136
139
|
if (result.modifiedCount) {
|
|
137
|
-
await updateCalculation(orderId,
|
|
138
|
-
emit('ORDER_UPDATE_DELIVERY', {
|
|
140
|
+
await updateCalculation(orderId, unchainedAPI);
|
|
141
|
+
await emit('ORDER_UPDATE_DELIVERY', {
|
|
139
142
|
orderDelivery: {
|
|
140
143
|
...orderDelivery,
|
|
141
144
|
context: { ...(orderDelivery.context || {}), ...context },
|
|
@@ -146,19 +149,18 @@ export const configureOrderDeliveriesModule = ({ OrderDeliveries, updateCalculat
|
|
|
146
149
|
return false;
|
|
147
150
|
},
|
|
148
151
|
updateStatus,
|
|
149
|
-
updateCalculation: async (orderDelivery,
|
|
152
|
+
updateCalculation: async (orderDelivery, unchainedAPI) => {
|
|
150
153
|
log(`OrderDelivery ${orderDelivery._id} -> Update Calculation`, {
|
|
151
154
|
orderId: orderDelivery.orderId,
|
|
152
155
|
});
|
|
153
|
-
const calculation = await
|
|
156
|
+
const calculation = await unchainedAPI.modules.delivery.calculate({
|
|
154
157
|
item: orderDelivery,
|
|
155
|
-
},
|
|
158
|
+
}, unchainedAPI);
|
|
156
159
|
const selector = buildFindByIdSelector(orderDelivery._id);
|
|
157
160
|
await OrderDeliveries.updateOne(selector, {
|
|
158
161
|
$set: {
|
|
159
162
|
calculation,
|
|
160
163
|
updated: new Date(),
|
|
161
|
-
updatedBy: requestContext.userId,
|
|
162
164
|
},
|
|
163
165
|
});
|
|
164
166
|
return OrderDeliveries.findOne(selector);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrderDeliveriesModule.js","sourceRoot":"","sources":["../../src/module/configureOrderDeliveriesModule.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,qBAAqB,GAAa,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;AAEnF,MAAM,qBAAqB,GAAG,CAAC,eAAuB,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"configureOrderDeliveriesModule.js","sourceRoot":"","sources":["../../src/module/configureOrderDeliveriesModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Collection } from '@unchainedshop/types/common';
|
|
1
|
+
import { Collection, Filter } from '@unchainedshop/types/common';
|
|
2
2
|
import { OrdersModule } from '@unchainedshop/types/orders';
|
|
3
3
|
import { OrderDiscount, OrderDiscountsModule } from '@unchainedshop/types/orders.discounts';
|
|
4
|
+
export declare const buildFindByIdSelector: (orderDiscountId: string) => Filter<OrderDiscount>;
|
|
4
5
|
export declare const configureOrderDiscountsModule: ({ OrderDiscounts, updateCalculation, }: {
|
|
5
6
|
OrderDiscounts: Collection<OrderDiscount>;
|
|
6
7
|
updateCalculation: OrdersModule['updateCalculation'];
|
|
@@ -14,35 +14,35 @@ const OrderDiscountErrorCode = {
|
|
|
14
14
|
CODE_ALREADY_PRESENT: 'CODE_ALREADY_PRESENT',
|
|
15
15
|
CODE_NOT_VALID: 'CODE_NOT_VALID',
|
|
16
16
|
};
|
|
17
|
-
const buildFindByIdSelector = (orderDiscountId) => generateDbFilterById(orderDiscountId);
|
|
17
|
+
export const buildFindByIdSelector = (orderDiscountId) => generateDbFilterById(orderDiscountId);
|
|
18
18
|
export const configureOrderDiscountsModule = ({ OrderDiscounts, updateCalculation, }) => {
|
|
19
19
|
registerEvents(ORDER_DISCOUNT_EVENTS);
|
|
20
20
|
const mutations = generateDbMutations(OrderDiscounts, OrderDiscountsSchema, {
|
|
21
21
|
permanentlyDeleteByDefault: true,
|
|
22
22
|
hasCreateOnly: false,
|
|
23
23
|
});
|
|
24
|
-
const getAdapter = async (orderDiscount,
|
|
25
|
-
const order = await
|
|
24
|
+
const getAdapter = async (orderDiscount, unchainedAPI) => {
|
|
25
|
+
const order = await unchainedAPI.modules.orders.findOrder({
|
|
26
26
|
orderId: orderDiscount.orderId,
|
|
27
27
|
});
|
|
28
28
|
const Adapter = OrderDiscountDirector.getAdapter(orderDiscount.discountKey);
|
|
29
29
|
if (!Adapter)
|
|
30
30
|
return null;
|
|
31
31
|
const adapter = await Adapter.actions({
|
|
32
|
-
context: { order, orderDiscount, code: orderDiscount.code, ...
|
|
32
|
+
context: { order, orderDiscount, code: orderDiscount.code, ...unchainedAPI },
|
|
33
33
|
});
|
|
34
34
|
return adapter;
|
|
35
35
|
};
|
|
36
|
-
const createDiscount = async (doc
|
|
36
|
+
const createDiscount = async (doc) => {
|
|
37
37
|
const normalizedTrigger = doc.trigger || OrderDiscountTrigger.USER;
|
|
38
38
|
log(`Create Order Discount: ${doc.discountKey} with trigger ${normalizedTrigger}`, {
|
|
39
39
|
orderId: doc.orderId,
|
|
40
40
|
});
|
|
41
|
-
const discountId = await mutations.create({ ...doc, trigger: normalizedTrigger }
|
|
41
|
+
const discountId = await mutations.create({ ...doc, trigger: normalizedTrigger });
|
|
42
42
|
const discount = await OrderDiscounts.findOne(buildFindByIdSelector(discountId));
|
|
43
43
|
return discount;
|
|
44
44
|
};
|
|
45
|
-
const deleteDiscount = async (orderDiscountId,
|
|
45
|
+
const deleteDiscount = async (orderDiscountId, unchainedAPI) => {
|
|
46
46
|
const selector = buildFindByIdSelector(orderDiscountId);
|
|
47
47
|
const discount = await OrderDiscounts.findOne(selector, {});
|
|
48
48
|
log(`OrderDiscounts -> Remove Discount ${orderDiscountId}`, {
|
|
@@ -50,38 +50,38 @@ export const configureOrderDiscountsModule = ({ OrderDiscounts, updateCalculatio
|
|
|
50
50
|
});
|
|
51
51
|
if (discount.trigger === OrderDiscountTrigger.USER) {
|
|
52
52
|
// Release
|
|
53
|
-
const adapter = await getAdapter(discount,
|
|
53
|
+
const adapter = await getAdapter(discount, unchainedAPI);
|
|
54
54
|
if (!adapter)
|
|
55
55
|
return null;
|
|
56
56
|
await adapter.release();
|
|
57
57
|
await OrderDiscounts.deleteOne(selector);
|
|
58
|
-
await updateCalculation(discount.orderId,
|
|
58
|
+
await updateCalculation(discount.orderId, unchainedAPI);
|
|
59
59
|
}
|
|
60
60
|
else {
|
|
61
61
|
await OrderDiscounts.deleteOne(selector);
|
|
62
|
-
emit('ORDER_REMOVE_DISCOUNT', { discount });
|
|
62
|
+
await emit('ORDER_REMOVE_DISCOUNT', { discount });
|
|
63
63
|
}
|
|
64
64
|
return discount;
|
|
65
65
|
};
|
|
66
|
-
const updateDiscount = async (orderDiscountId, doc
|
|
66
|
+
const updateDiscount = async (orderDiscountId, doc) => {
|
|
67
67
|
await mutations.update(orderDiscountId, {
|
|
68
68
|
$set: doc,
|
|
69
|
-
}
|
|
69
|
+
});
|
|
70
70
|
const selector = buildFindByIdSelector(orderDiscountId);
|
|
71
71
|
const discount = await OrderDiscounts.findOne(selector, {});
|
|
72
|
-
emit('ORDER_UPDATE_DISCOUNT', { discount });
|
|
72
|
+
await emit('ORDER_UPDATE_DISCOUNT', { discount });
|
|
73
73
|
return discount;
|
|
74
74
|
};
|
|
75
|
-
const reserveDiscount = async (orderDiscount,
|
|
76
|
-
const adapter = await getAdapter(orderDiscount,
|
|
75
|
+
const reserveDiscount = async (orderDiscount, unchainedAPI) => {
|
|
76
|
+
const adapter = await getAdapter(orderDiscount, unchainedAPI);
|
|
77
77
|
if (!adapter)
|
|
78
78
|
return null;
|
|
79
79
|
const reservation = await adapter.reserve({
|
|
80
80
|
code: orderDiscount.code,
|
|
81
81
|
});
|
|
82
|
-
return updateDiscount(orderDiscount._id, { orderId: orderDiscount.orderId, reservation }
|
|
82
|
+
return updateDiscount(orderDiscount._id, { orderId: orderDiscount.orderId, reservation });
|
|
83
83
|
};
|
|
84
|
-
const grabDiscount = async ({ code, orderId },
|
|
84
|
+
const grabDiscount = async ({ code, orderId }, unchainedAPI) => {
|
|
85
85
|
log(`OrderDiscounts -> Try to grab ${code}`, { orderId });
|
|
86
86
|
const existingDiscount = await OrderDiscounts.findOne({ code, orderId });
|
|
87
87
|
if (existingDiscount)
|
|
@@ -91,13 +91,13 @@ export const configureOrderDiscountsModule = ({ OrderDiscounts, updateCalculatio
|
|
|
91
91
|
return null;
|
|
92
92
|
const discountId = discount._id;
|
|
93
93
|
try {
|
|
94
|
-
const updatedDiscount = await updateDiscount(discountId, { orderId }
|
|
95
|
-
const reservedDiscount = await reserveDiscount(updatedDiscount,
|
|
94
|
+
const updatedDiscount = await updateDiscount(discountId, { orderId });
|
|
95
|
+
const reservedDiscount = await reserveDiscount(updatedDiscount, unchainedAPI);
|
|
96
96
|
return reservedDiscount;
|
|
97
97
|
}
|
|
98
98
|
catch (error) {
|
|
99
99
|
// Rollback
|
|
100
|
-
await updateDiscount(discountId, { orderId: discount.orderId }
|
|
100
|
+
await updateDiscount(discountId, { orderId: discount.orderId });
|
|
101
101
|
throw error;
|
|
102
102
|
}
|
|
103
103
|
};
|
|
@@ -111,12 +111,12 @@ export const configureOrderDiscountsModule = ({ OrderDiscounts, updateCalculatio
|
|
|
111
111
|
return discounts.toArray();
|
|
112
112
|
},
|
|
113
113
|
// Transformations
|
|
114
|
-
interface: async (orderDiscount,
|
|
115
|
-
const adapter = await getAdapter(orderDiscount,
|
|
114
|
+
interface: async (orderDiscount, unchainedAPI) => {
|
|
115
|
+
const adapter = await getAdapter(orderDiscount, unchainedAPI);
|
|
116
116
|
return adapter;
|
|
117
117
|
},
|
|
118
|
-
isValid: async (orderDiscount,
|
|
119
|
-
const adapter = await getAdapter(orderDiscount,
|
|
118
|
+
isValid: async (orderDiscount, unchainedAPI) => {
|
|
119
|
+
const adapter = await getAdapter(orderDiscount, unchainedAPI);
|
|
120
120
|
if (!adapter)
|
|
121
121
|
return null;
|
|
122
122
|
if (orderDiscount.trigger === OrderDiscountTrigger.SYSTEM) {
|
|
@@ -127,8 +127,8 @@ export const configureOrderDiscountsModule = ({ OrderDiscounts, updateCalculatio
|
|
|
127
127
|
});
|
|
128
128
|
},
|
|
129
129
|
// Adapter
|
|
130
|
-
configurationForPricingAdapterKey: async (orderDiscount, adapterKey, calculationSheet,
|
|
131
|
-
const adapter = await getAdapter(orderDiscount,
|
|
130
|
+
configurationForPricingAdapterKey: async (orderDiscount, adapterKey, calculationSheet, unchainedAPI) => {
|
|
131
|
+
const adapter = await getAdapter(orderDiscount, unchainedAPI);
|
|
132
132
|
if (!adapter)
|
|
133
133
|
return null;
|
|
134
134
|
return adapter.discountForPricingAdapterKey({
|
|
@@ -137,14 +137,14 @@ export const configureOrderDiscountsModule = ({ OrderDiscounts, updateCalculatio
|
|
|
137
137
|
});
|
|
138
138
|
},
|
|
139
139
|
// Mutations
|
|
140
|
-
createManualOrderDiscount: async ({ order, code },
|
|
140
|
+
createManualOrderDiscount: async ({ order, code }, unchainedAPI) => {
|
|
141
141
|
// Try to grab single-usage-discount
|
|
142
142
|
if (!code)
|
|
143
143
|
throw new Error(OrderDiscountErrorCode.CODE_NOT_VALID);
|
|
144
|
-
const fetchedDiscount = await grabDiscount({ code, orderId: order._id },
|
|
144
|
+
const fetchedDiscount = await grabDiscount({ code, orderId: order._id }, unchainedAPI);
|
|
145
145
|
if (fetchedDiscount)
|
|
146
146
|
return fetchedDiscount;
|
|
147
|
-
const director = await OrderDiscountDirector.actions({ order, code },
|
|
147
|
+
const director = await OrderDiscountDirector.actions({ order, code }, unchainedAPI);
|
|
148
148
|
const discountKey = await director.resolveDiscountKeyFromStaticCode({
|
|
149
149
|
code,
|
|
150
150
|
});
|
|
@@ -153,33 +153,33 @@ export const configureOrderDiscountsModule = ({ OrderDiscounts, updateCalculatio
|
|
|
153
153
|
orderId: order._id,
|
|
154
154
|
code,
|
|
155
155
|
discountKey,
|
|
156
|
-
}
|
|
156
|
+
});
|
|
157
157
|
try {
|
|
158
|
-
const reservedDiscount = await reserveDiscount(newDiscount,
|
|
159
|
-
await updateCalculation(order._id,
|
|
160
|
-
emit('ORDER_ADD_DISCOUNT', { discount: reserveDiscount });
|
|
158
|
+
const reservedDiscount = await reserveDiscount(newDiscount, unchainedAPI);
|
|
159
|
+
await updateCalculation(order._id, unchainedAPI);
|
|
160
|
+
await emit('ORDER_ADD_DISCOUNT', { discount: reserveDiscount });
|
|
161
161
|
return reservedDiscount;
|
|
162
162
|
}
|
|
163
163
|
catch (error) {
|
|
164
|
-
await deleteDiscount(newDiscount._id,
|
|
164
|
+
await deleteDiscount(newDiscount._id, unchainedAPI);
|
|
165
165
|
throw error;
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
throw new Error(OrderDiscountErrorCode.CODE_NOT_VALID);
|
|
169
169
|
},
|
|
170
|
-
create: async (doc
|
|
171
|
-
const discount = await createDiscount(doc
|
|
170
|
+
create: async (doc) => {
|
|
171
|
+
const discount = await createDiscount(doc);
|
|
172
172
|
if (discount.trigger === OrderDiscountTrigger.USER) {
|
|
173
|
-
emit('ORDER_CREATE_DISCOUNT', { discount });
|
|
173
|
+
await emit('ORDER_CREATE_DISCOUNT', { discount });
|
|
174
174
|
}
|
|
175
175
|
return discount;
|
|
176
176
|
},
|
|
177
177
|
delete: deleteDiscount,
|
|
178
|
-
update: async (orderDiscountId, doc
|
|
179
|
-
await mutations.update(orderDiscountId, doc
|
|
178
|
+
update: async (orderDiscountId, doc) => {
|
|
179
|
+
await mutations.update(orderDiscountId, doc);
|
|
180
180
|
const selector = buildFindByIdSelector(orderDiscountId);
|
|
181
181
|
const discount = await OrderDiscounts.findOne(selector, {});
|
|
182
|
-
emit('ORDER_UPDATE_DISCOUNT', { discount });
|
|
182
|
+
await emit('ORDER_UPDATE_DISCOUNT', { discount });
|
|
183
183
|
return discount;
|
|
184
184
|
},
|
|
185
185
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureOrderDiscountsModule.js","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configureOrderDiscountsModule.js","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { Collection } from '@unchainedshop/types/common';
|
|
1
|
+
import { Collection, Filter, Query } from '@unchainedshop/types/common';
|
|
2
2
|
import { OrdersModule } from '@unchainedshop/types/orders';
|
|
3
3
|
import { OrderPayment, OrderPaymentsModule } from '@unchainedshop/types/orders.payments';
|
|
4
|
+
export declare const buildFindByIdSelector: (orderPaymentId: string) => Filter<OrderPayment>;
|
|
5
|
+
export declare const buildFindByContextDataSelector: (context: any) => Query;
|
|
4
6
|
export declare const configureOrderPaymentsModule: ({ OrderPayments, updateCalculation, }: {
|
|
5
7
|
OrderPayments: Collection<OrderPayment>;
|
|
6
8
|
updateCalculation: OrdersModule['updateCalculation'];
|