@unchainedshop/core-orders 3.0.0-alpha7 → 3.0.0-rc2
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 +21 -2
- package/lib/db/OrderDeliveriesCollection.d.ts.map +1 -1
- package/lib/db/OrderDeliveriesCollection.js +6 -0
- package/lib/db/OrderDeliveriesCollection.js.map +1 -1
- package/lib/db/OrderDiscountsCollection.d.ts +16 -2
- package/lib/db/OrderDiscountsCollection.d.ts.map +1 -1
- package/lib/db/OrderDiscountsCollection.js +5 -0
- package/lib/db/OrderDiscountsCollection.js.map +1 -1
- package/lib/db/OrderPaymentsCollection.d.ts +22 -2
- package/lib/db/OrderPaymentsCollection.d.ts.map +1 -1
- package/lib/db/OrderPaymentsCollection.js +6 -0
- package/lib/db/OrderPaymentsCollection.js.map +1 -1
- package/lib/db/OrderPositionsCollection.d.ts +22 -2
- package/lib/db/OrderPositionsCollection.d.ts.map +1 -1
- package/lib/db/OrderPositionsCollection.js.map +1 -1
- package/lib/db/OrdersCollection.d.ts +33 -2
- package/lib/db/OrdersCollection.d.ts.map +1 -1
- package/lib/db/OrdersCollection.js +8 -1
- package/lib/db/OrdersCollection.js.map +1 -1
- package/lib/director/OrderDiscountAdapter.d.ts +2 -2
- package/lib/director/OrderDiscountAdapter.d.ts.map +1 -1
- package/lib/director/OrderDiscountAdapter.js.map +1 -1
- package/lib/director/OrderDiscountDirector.d.ts +1 -1
- package/lib/director/OrderDiscountDirector.d.ts.map +1 -1
- package/lib/director/OrderDiscountDirector.js.map +1 -1
- package/lib/director/OrderPricingAdapter.d.ts +3 -3
- package/lib/director/OrderPricingAdapter.d.ts.map +1 -1
- package/lib/director/OrderPricingAdapter.js.map +1 -1
- package/lib/director/OrderPricingDirector.d.ts +1 -1
- package/lib/director/OrderPricingDirector.d.ts.map +1 -1
- package/lib/module/buildFindSelector.d.ts +5 -0
- package/lib/module/buildFindSelector.d.ts.map +1 -0
- package/lib/module/buildFindSelector.js +18 -0
- package/lib/module/buildFindSelector.js.map +1 -0
- package/lib/module/configureOrderDeliveriesModule.d.ts +14 -27
- package/lib/module/configureOrderDeliveriesModule.d.ts.map +1 -1
- package/lib/module/configureOrderDeliveriesModule.js +8 -69
- package/lib/module/configureOrderDeliveriesModule.js.map +1 -1
- package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.d.ts +24 -0
- package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.d.ts.map +1 -0
- package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.js +101 -0
- package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.js.map +1 -0
- package/lib/module/configureOrderDeliveriesModule_BASE_54554.d.ts +36 -0
- package/lib/module/configureOrderDeliveriesModule_BASE_54554.d.ts.map +1 -0
- package/lib/module/configureOrderDeliveriesModule_BASE_54554.js +162 -0
- package/lib/module/configureOrderDeliveriesModule_BASE_54554.js.map +1 -0
- package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.d.ts +23 -0
- package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.d.ts.map +1 -0
- package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.js +97 -0
- package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.js.map +1 -0
- package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.d.ts +37 -0
- package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.d.ts.map +1 -0
- package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.js +166 -0
- package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.js.map +1 -0
- package/lib/module/configureOrderDiscountsModule.d.ts +17 -18
- package/lib/module/configureOrderDiscountsModule.d.ts.map +1 -1
- package/lib/module/configureOrderDiscountsModule.js +34 -143
- package/lib/module/configureOrderDiscountsModule.js.map +1 -1
- package/lib/module/configureOrderDiscountsModule_BACKUP_55046.d.ts +26 -0
- package/lib/module/configureOrderDiscountsModule_BACKUP_55046.d.ts.map +1 -0
- package/lib/module/configureOrderDiscountsModule_BACKUP_55046.js +69 -0
- package/lib/module/configureOrderDiscountsModule_BACKUP_55046.js.map +1 -0
- package/lib/module/configureOrderDiscountsModule_BASE_55046.d.ts +26 -0
- package/lib/module/configureOrderDiscountsModule_BASE_55046.d.ts.map +1 -0
- package/lib/module/configureOrderDiscountsModule_BASE_55046.js +178 -0
- package/lib/module/configureOrderDiscountsModule_BASE_55046.js.map +1 -0
- package/lib/module/configureOrderDiscountsModule_LOCAL_55046.d.ts +25 -0
- package/lib/module/configureOrderDiscountsModule_LOCAL_55046.d.ts.map +1 -0
- package/lib/module/configureOrderDiscountsModule_LOCAL_55046.js +65 -0
- package/lib/module/configureOrderDiscountsModule_LOCAL_55046.js.map +1 -0
- package/lib/module/configureOrderDiscountsModule_REMOTE_55046.d.ts +27 -0
- package/lib/module/configureOrderDiscountsModule_REMOTE_55046.d.ts.map +1 -0
- package/lib/module/configureOrderDiscountsModule_REMOTE_55046.js +182 -0
- package/lib/module/configureOrderDiscountsModule_REMOTE_55046.js.map +1 -0
- package/lib/module/configureOrderPaymentsModule.d.ts +17 -37
- package/lib/module/configureOrderPaymentsModule.d.ts.map +1 -1
- package/lib/module/configureOrderPaymentsModule.js +16 -124
- package/lib/module/configureOrderPaymentsModule.js.map +1 -1
- package/lib/module/configureOrderPaymentsModule_BACKUP_55464.d.ts +32 -0
- package/lib/module/configureOrderPaymentsModule_BACKUP_55464.d.ts.map +1 -0
- package/lib/module/configureOrderPaymentsModule_BACKUP_55464.js +135 -0
- package/lib/module/configureOrderPaymentsModule_BACKUP_55464.js.map +1 -0
- package/lib/module/configureOrderPaymentsModule_BACKUP_55877.d.ts +32 -0
- package/lib/module/configureOrderPaymentsModule_BACKUP_55877.d.ts.map +1 -0
- package/lib/module/configureOrderPaymentsModule_BACKUP_55877.js +135 -0
- package/lib/module/configureOrderPaymentsModule_BACKUP_55877.js.map +1 -0
- package/lib/module/configureOrderPaymentsModule_BASE_55464.d.ts +51 -0
- package/lib/module/configureOrderPaymentsModule_BASE_55464.d.ts.map +1 -0
- package/lib/module/configureOrderPaymentsModule_BASE_55464.js +243 -0
- package/lib/module/configureOrderPaymentsModule_BASE_55464.js.map +1 -0
- package/lib/module/configureOrderPaymentsModule_BASE_55877.d.ts +51 -0
- package/lib/module/configureOrderPaymentsModule_BASE_55877.d.ts.map +1 -0
- package/lib/module/configureOrderPaymentsModule_BASE_55877.js +243 -0
- package/lib/module/configureOrderPaymentsModule_BASE_55877.js.map +1 -0
- package/lib/module/configureOrderPaymentsModule_LOCAL_55464.d.ts +31 -0
- package/lib/module/configureOrderPaymentsModule_LOCAL_55464.d.ts.map +1 -0
- package/lib/module/configureOrderPaymentsModule_LOCAL_55464.js +131 -0
- package/lib/module/configureOrderPaymentsModule_LOCAL_55464.js.map +1 -0
- package/lib/module/configureOrderPaymentsModule_LOCAL_55877.d.ts +31 -0
- package/lib/module/configureOrderPaymentsModule_LOCAL_55877.d.ts.map +1 -0
- package/lib/module/configureOrderPaymentsModule_LOCAL_55877.js +131 -0
- package/lib/module/configureOrderPaymentsModule_LOCAL_55877.js.map +1 -0
- package/lib/module/configureOrderPaymentsModule_REMOTE_55464.d.ts +52 -0
- package/lib/module/configureOrderPaymentsModule_REMOTE_55464.d.ts.map +1 -0
- package/lib/module/configureOrderPaymentsModule_REMOTE_55464.js +247 -0
- package/lib/module/configureOrderPaymentsModule_REMOTE_55464.js.map +1 -0
- package/lib/module/configureOrderPaymentsModule_REMOTE_55877.d.ts +52 -0
- package/lib/module/configureOrderPaymentsModule_REMOTE_55877.d.ts.map +1 -0
- package/lib/module/configureOrderPaymentsModule_REMOTE_55877.js +247 -0
- package/lib/module/configureOrderPaymentsModule_REMOTE_55877.js.map +1 -0
- package/lib/module/configureOrderPositionsModule.d.ts +22 -41
- package/lib/module/configureOrderPositionsModule.d.ts.map +1 -1
- package/lib/module/configureOrderPositionsModule.js +22 -85
- package/lib/module/configureOrderPositionsModule.js.map +1 -1
- package/lib/module/configureOrderPositionsModule_BACKUP_56197.d.ts +44 -0
- package/lib/module/configureOrderPositionsModule_BACKUP_56197.d.ts.map +1 -0
- package/lib/module/configureOrderPositionsModule_BACKUP_56197.js +138 -0
- package/lib/module/configureOrderPositionsModule_BACKUP_56197.js.map +1 -0
- package/lib/module/configureOrderPositionsModule_BASE_56197.d.ts +60 -0
- package/lib/module/configureOrderPositionsModule_BASE_56197.d.ts.map +1 -0
- package/lib/module/configureOrderPositionsModule_BASE_56197.js +201 -0
- package/lib/module/configureOrderPositionsModule_BASE_56197.js.map +1 -0
- package/lib/module/configureOrderPositionsModule_LOCAL_56197.d.ts +43 -0
- package/lib/module/configureOrderPositionsModule_LOCAL_56197.d.ts.map +1 -0
- package/lib/module/configureOrderPositionsModule_LOCAL_56197.js +134 -0
- package/lib/module/configureOrderPositionsModule_LOCAL_56197.js.map +1 -0
- package/lib/module/configureOrderPositionsModule_REMOTE_56197.d.ts +61 -0
- package/lib/module/configureOrderPositionsModule_REMOTE_56197.d.ts.map +1 -0
- package/lib/module/configureOrderPositionsModule_REMOTE_56197.js +205 -0
- package/lib/module/configureOrderPositionsModule_REMOTE_56197.js.map +1 -0
- package/lib/module/configureOrdersModule-mutations.d.ts +5 -11
- package/lib/module/configureOrdersModule-mutations.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-mutations.js +11 -50
- package/lib/module/configureOrdersModule-mutations.js.map +1 -1
- package/lib/module/configureOrdersModule-processing.d.ts +4 -8
- package/lib/module/configureOrdersModule-processing.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-processing.js +3 -1
- package/lib/module/configureOrdersModule-processing.js.map +1 -1
- package/lib/module/configureOrdersModule-queries.d.ts +18 -6
- package/lib/module/configureOrdersModule-queries.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-queries.js +35 -22
- package/lib/module/configureOrdersModule-queries.js.map +1 -1
- package/lib/module/configureOrdersModule-transformations.d.ts +2 -3
- package/lib/module/configureOrdersModule-transformations.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-transformations.js +3 -3
- package/lib/module/configureOrdersModule-transformations.js.map +1 -1
- package/lib/module/configureOrdersModule.d.ts +11 -8
- package/lib/module/configureOrdersModule.d.ts.map +1 -1
- package/lib/module/configureOrdersModule.js +133 -154
- package/lib/module/configureOrdersModule.js.map +1 -1
- package/lib/orders-index.d.ts +11 -8
- package/lib/orders-index.d.ts.map +1 -1
- package/lib/orders-index.js +11 -8
- package/lib/orders-index.js.map +1 -1
- package/lib/orders-settings.d.ts +4 -8
- package/lib/orders-settings.d.ts.map +1 -1
- package/lib/orders-settings.js.map +1 -1
- package/lib/types.d.ts +7 -22
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +0 -5
- package/lib/types.js.map +1 -1
- package/package.json +9 -12
- package/src/db/OrderDeliveriesCollection.ts +25 -2
- package/src/db/OrderDiscountsCollection.ts +18 -2
- package/src/db/OrderPaymentsCollection.ts +26 -2
- package/src/db/OrderPositionsCollection.ts +21 -2
- package/src/db/OrdersCollection.ts +44 -2
- package/src/module/buildFindSelector.test.ts +8 -8
- package/src/module/buildFindSelector.ts +24 -0
- package/src/module/configureOrderDeliveriesModule.ts +29 -172
- package/src/module/configureOrderDiscountsModule.ts +46 -213
- package/src/module/configureOrderPaymentsModule.ts +58 -266
- package/src/module/configureOrderPositionsModule.ts +57 -208
- package/src/module/configureOrdersModule-mutations.ts +13 -85
- package/src/module/configureOrdersModule-queries.ts +61 -29
- package/src/module/configureOrdersModule.ts +180 -264
- package/src/orders-index.ts +11 -10
- package/src/orders-settings.ts +5 -7
- package/tsconfig.json +5 -7
- package/lib/service/migrateOrderCartService.d.ts +0 -10
- package/lib/service/migrateOrderCartService.d.ts.map +0 -1
- package/lib/service/migrateOrderCartService.js +0 -32
- package/lib/service/migrateOrderCartService.js.map +0 -1
- package/lib/service/nextUserCartService.d.ts +0 -11
- package/lib/service/nextUserCartService.d.ts.map +0 -1
- package/lib/service/nextUserCartService.js +0 -34
- package/lib/service/nextUserCartService.js.map +0 -1
- package/lib/service/orderServices.d.ts +0 -8
- package/lib/service/orderServices.d.ts.map +0 -1
- package/lib/service/orderServices.js +0 -7
- package/lib/service/orderServices.js.map +0 -1
- package/src/db/OrderDiscountTrigger.ts +0 -4
- package/src/director/OrderDiscountAdapter.ts +0 -8
- package/src/director/OrderDiscountConfiguration.ts +0 -5
- package/src/director/OrderDiscountDirector.ts +0 -5
- package/src/director/OrderPricingAdapter.ts +0 -61
- package/src/director/OrderPricingDirector.ts +0 -72
- package/src/director/OrderPricingSheet.ts +0 -146
- package/src/module/configureOrdersModule-processing.ts +0 -508
- package/src/module/configureOrdersModule-transformations.ts +0 -171
- package/src/service/migrateOrderCartService.ts +0 -53
- package/src/service/nextUserCartService.ts +0 -54
- package/src/service/orderServices.ts +0 -12
- package/src/types.ts +0 -129
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { MigrateOrderCartsService } from './migrateOrderCartService.js';
|
|
2
|
-
import { NextUserCartService } from './nextUserCartService.js';
|
|
3
|
-
export interface OrderServices {
|
|
4
|
-
migrateOrderCarts: MigrateOrderCartsService;
|
|
5
|
-
nextUserCart: NextUserCartService;
|
|
6
|
-
}
|
|
7
|
-
export declare const orderServices: OrderServices;
|
|
8
|
-
//# sourceMappingURL=orderServices.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orderServices.d.ts","sourceRoot":"","sources":["../../src/service/orderServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAuB,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpF,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED,eAAO,MAAM,aAAa,EAAE,aAG3B,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { migrateOrderCartsService } from './migrateOrderCartService.js';
|
|
2
|
-
import { nextUserCartService } from './nextUserCartService.js';
|
|
3
|
-
export const orderServices = {
|
|
4
|
-
migrateOrderCarts: migrateOrderCartsService,
|
|
5
|
-
nextUserCart: nextUserCartService,
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=orderServices.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orderServices.js","sourceRoot":"","sources":["../../src/service/orderServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAA4B,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAuB,MAAM,0BAA0B,CAAC;AAOpF,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,iBAAiB,EAAE,wBAAwB;IAC3C,YAAY,EAAE,mBAAmB;CAClC,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { BaseDiscountAdapter } from '@unchainedshop/utils';
|
|
2
|
-
import { OrderDiscountConfiguration } from './OrderDiscountConfiguration.js';
|
|
3
|
-
import { IDiscountAdapter } from '@unchainedshop/utils';
|
|
4
|
-
|
|
5
|
-
export const OrderDiscountAdapter: Omit<
|
|
6
|
-
IDiscountAdapter<OrderDiscountConfiguration>,
|
|
7
|
-
'key' | 'label' | 'version'
|
|
8
|
-
> = BaseDiscountAdapter;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { BasePricingAdapter, IPricingAdapter, BasePricingAdapterContext } from '@unchainedshop/utils';
|
|
2
|
-
import { IOrderPricingSheet, OrderPricingCalculation, OrderPricingSheet } from './OrderPricingSheet.js';
|
|
3
|
-
import { Order, OrderDelivery, OrderDiscount, OrderPayment, OrderPosition } from '../types.js';
|
|
4
|
-
import { User } from '@unchainedshop/core-users';
|
|
5
|
-
|
|
6
|
-
export interface OrderPricingAdapterContext extends BasePricingAdapterContext {
|
|
7
|
-
currency?: string;
|
|
8
|
-
discounts: Array<OrderDiscount>;
|
|
9
|
-
order: Order;
|
|
10
|
-
orderDelivery: OrderDelivery;
|
|
11
|
-
orderPositions: Array<OrderPosition>;
|
|
12
|
-
orderPayment: OrderPayment;
|
|
13
|
-
user: User;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface OrderPricingContext {
|
|
17
|
-
order: Order;
|
|
18
|
-
orderDelivery: OrderDelivery;
|
|
19
|
-
orderPositions: Array<OrderPosition>;
|
|
20
|
-
orderPayment: OrderPayment;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export type IOrderPricingAdapter<DiscountConfiguration = unknown> = IPricingAdapter<
|
|
24
|
-
OrderPricingAdapterContext,
|
|
25
|
-
OrderPricingCalculation,
|
|
26
|
-
IOrderPricingSheet,
|
|
27
|
-
DiscountConfiguration
|
|
28
|
-
>;
|
|
29
|
-
|
|
30
|
-
const basePricingAdapter = BasePricingAdapter<OrderPricingAdapterContext, OrderPricingCalculation>();
|
|
31
|
-
|
|
32
|
-
export const OrderPricingAdapter: IPricingAdapter<
|
|
33
|
-
OrderPricingAdapterContext,
|
|
34
|
-
OrderPricingCalculation,
|
|
35
|
-
IOrderPricingSheet
|
|
36
|
-
> = {
|
|
37
|
-
...basePricingAdapter,
|
|
38
|
-
|
|
39
|
-
isActivatedFor: () => {
|
|
40
|
-
return false;
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
actions: (params) => {
|
|
44
|
-
const { context } = params;
|
|
45
|
-
const { currency } = context;
|
|
46
|
-
const baseActions = basePricingAdapter.actions(params);
|
|
47
|
-
const resultSheet = OrderPricingSheet({ currency });
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
...baseActions,
|
|
51
|
-
calculate: async () => {
|
|
52
|
-
const resultRaw = resultSheet.getRawPricingSheet();
|
|
53
|
-
resultRaw.forEach(({ amount, category }) =>
|
|
54
|
-
basePricingAdapter.log(`Order Pricing Calculation -> ${category} ${amount}`),
|
|
55
|
-
);
|
|
56
|
-
return resultRaw;
|
|
57
|
-
},
|
|
58
|
-
resultSheet: () => resultSheet,
|
|
59
|
-
};
|
|
60
|
-
},
|
|
61
|
-
};
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { BasePricingDirector, PricingDiscount, IPricingDirector } from '@unchainedshop/utils';
|
|
2
|
-
import { IOrderPricingSheet, OrderPricingCalculation, OrderPricingSheet } from './OrderPricingSheet.js';
|
|
3
|
-
import { Order, OrderDelivery, OrderPayment, OrderPosition } from '../types.js';
|
|
4
|
-
import {
|
|
5
|
-
IOrderPricingAdapter,
|
|
6
|
-
OrderPricingAdapterContext,
|
|
7
|
-
OrderPricingContext,
|
|
8
|
-
} from './OrderPricingAdapter.js';
|
|
9
|
-
|
|
10
|
-
export type OrderPrice = { _id?: string; amount: number; currency: string };
|
|
11
|
-
|
|
12
|
-
export type OrderPricingDiscount = PricingDiscount & {
|
|
13
|
-
delivery?: OrderDelivery;
|
|
14
|
-
item?: OrderPosition;
|
|
15
|
-
order?: Order;
|
|
16
|
-
payment?: OrderPayment;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export type IOrderPricingDirector<DiscountConfiguration = unknown> = IPricingDirector<
|
|
20
|
-
OrderPricingContext,
|
|
21
|
-
OrderPricingCalculation,
|
|
22
|
-
OrderPricingAdapterContext,
|
|
23
|
-
IOrderPricingSheet,
|
|
24
|
-
IOrderPricingAdapter<DiscountConfiguration>
|
|
25
|
-
>;
|
|
26
|
-
|
|
27
|
-
const baseDirector = BasePricingDirector<
|
|
28
|
-
OrderPricingContext,
|
|
29
|
-
OrderPricingAdapterContext,
|
|
30
|
-
OrderPricingCalculation,
|
|
31
|
-
IOrderPricingAdapter
|
|
32
|
-
>('OrderPricingDirector');
|
|
33
|
-
|
|
34
|
-
export const OrderPricingDirector: IOrderPricingDirector = {
|
|
35
|
-
...baseDirector,
|
|
36
|
-
|
|
37
|
-
buildPricingContext: async (context, unchainedAPI) => {
|
|
38
|
-
const { modules } = unchainedAPI;
|
|
39
|
-
const { order } = context;
|
|
40
|
-
|
|
41
|
-
const user = await modules.users.findUserById(order.userId);
|
|
42
|
-
const discounts = await modules.orders.discounts.findOrderDiscounts({
|
|
43
|
-
orderId: order._id,
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
return {
|
|
47
|
-
...unchainedAPI,
|
|
48
|
-
country: order.countryCode,
|
|
49
|
-
currency: order.currency,
|
|
50
|
-
discounts,
|
|
51
|
-
order,
|
|
52
|
-
orderDelivery: context.orderDelivery,
|
|
53
|
-
orderPayment: context.orderPayment,
|
|
54
|
-
orderPositions: context.orderPositions,
|
|
55
|
-
user,
|
|
56
|
-
};
|
|
57
|
-
},
|
|
58
|
-
|
|
59
|
-
async actions(pricingContext, unchainedAPI) {
|
|
60
|
-
const actions = await baseDirector.actions(pricingContext, unchainedAPI, this.buildPricingContext);
|
|
61
|
-
return {
|
|
62
|
-
...actions,
|
|
63
|
-
calculationSheet() {
|
|
64
|
-
const context = actions.getContext();
|
|
65
|
-
return OrderPricingSheet({
|
|
66
|
-
calculation: actions.getCalculation(),
|
|
67
|
-
currency: context.currency,
|
|
68
|
-
});
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
},
|
|
72
|
-
};
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
BasePricingSheet,
|
|
3
|
-
IPricingSheet,
|
|
4
|
-
IBasePricingSheet,
|
|
5
|
-
PricingCalculation,
|
|
6
|
-
PricingSheetParams,
|
|
7
|
-
} from '@unchainedshop/utils';
|
|
8
|
-
|
|
9
|
-
export interface OrderPricingCalculation extends PricingCalculation {
|
|
10
|
-
discountId?: string;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export enum OrderPricingRowCategory {
|
|
14
|
-
Items = 'ITEMS',
|
|
15
|
-
Discounts = 'DISCOUNTS',
|
|
16
|
-
Taxes = 'TAXES',
|
|
17
|
-
Delivery = 'DELIVERY',
|
|
18
|
-
Payment = 'PAYMENT',
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface IOrderPricingSheet extends IPricingSheet<OrderPricingCalculation> {
|
|
22
|
-
addDelivery: (params: { amount: number; taxAmount: number; meta?: any }) => void;
|
|
23
|
-
addDiscount: (params: { amount: number; taxAmount: number; discountId: string; meta?: any }) => void;
|
|
24
|
-
addItems: (params: { amount: number; taxAmount: number; meta?: any }) => void;
|
|
25
|
-
addPayment: (params: { amount: number; taxAmount: number; meta?: any }) => void;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export const OrderPricingSheet = (
|
|
29
|
-
params: PricingSheetParams<OrderPricingCalculation>,
|
|
30
|
-
): IOrderPricingSheet => {
|
|
31
|
-
const basePricingSheet: IBasePricingSheet<OrderPricingCalculation> = BasePricingSheet(params);
|
|
32
|
-
|
|
33
|
-
const addTaxIfAvailabile = (category: string, taxAmount?: number, meta?: any, discountId?: string) => {
|
|
34
|
-
if (taxAmount) {
|
|
35
|
-
basePricingSheet.calculation.push({
|
|
36
|
-
category: OrderPricingRowCategory.Taxes,
|
|
37
|
-
amount: taxAmount,
|
|
38
|
-
baseCategory: category,
|
|
39
|
-
discountId,
|
|
40
|
-
meta,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const pricingSheet: IOrderPricingSheet = {
|
|
46
|
-
...basePricingSheet,
|
|
47
|
-
|
|
48
|
-
addItems({ amount, taxAmount, meta }) {
|
|
49
|
-
basePricingSheet.calculation.push({
|
|
50
|
-
category: OrderPricingRowCategory.Items,
|
|
51
|
-
amount,
|
|
52
|
-
meta,
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
addTaxIfAvailabile(OrderPricingRowCategory.Items, taxAmount, meta);
|
|
56
|
-
},
|
|
57
|
-
|
|
58
|
-
addDiscount({ amount, taxAmount, discountId, meta }) {
|
|
59
|
-
basePricingSheet.calculation.push({
|
|
60
|
-
category: OrderPricingRowCategory.Discounts,
|
|
61
|
-
amount,
|
|
62
|
-
discountId,
|
|
63
|
-
meta,
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
addTaxIfAvailabile(OrderPricingRowCategory.Discounts, taxAmount, meta, discountId);
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
addDelivery({ amount, taxAmount, meta }) {
|
|
70
|
-
basePricingSheet.calculation.push({
|
|
71
|
-
category: OrderPricingRowCategory.Delivery,
|
|
72
|
-
amount,
|
|
73
|
-
meta,
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
addTaxIfAvailabile(OrderPricingRowCategory.Delivery, taxAmount, meta);
|
|
77
|
-
},
|
|
78
|
-
|
|
79
|
-
addPayment({ amount, taxAmount, meta }) {
|
|
80
|
-
basePricingSheet.calculation.push({
|
|
81
|
-
category: OrderPricingRowCategory.Payment,
|
|
82
|
-
amount,
|
|
83
|
-
meta,
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
addTaxIfAvailabile(OrderPricingRowCategory.Payment, taxAmount, meta);
|
|
87
|
-
},
|
|
88
|
-
|
|
89
|
-
taxSum(filter) {
|
|
90
|
-
return basePricingSheet.sum({
|
|
91
|
-
category: OrderPricingRowCategory.Taxes,
|
|
92
|
-
...(filter || {}),
|
|
93
|
-
});
|
|
94
|
-
},
|
|
95
|
-
|
|
96
|
-
gross() {
|
|
97
|
-
// tax is included 2 times, this is only true for Order Pricing!
|
|
98
|
-
return basePricingSheet.sum() - this.taxSum();
|
|
99
|
-
},
|
|
100
|
-
|
|
101
|
-
net() {
|
|
102
|
-
return basePricingSheet.sum() - this.taxSum() - this.taxSum();
|
|
103
|
-
},
|
|
104
|
-
|
|
105
|
-
total({ category, useNetPrice, discountId } = { useNetPrice: false }) {
|
|
106
|
-
const taxAmount = this.taxSum({ baseCategory: category, discountId });
|
|
107
|
-
const amount = this.sum({ category, discountId }) - taxAmount;
|
|
108
|
-
|
|
109
|
-
// Sum does not contain taxes when filtering by category, it's net in that case and gross if there is no category
|
|
110
|
-
const netAmount = !category ? amount - taxAmount : amount;
|
|
111
|
-
|
|
112
|
-
return {
|
|
113
|
-
amount: Math.round(useNetPrice ? netAmount : netAmount + taxAmount),
|
|
114
|
-
currency: this.currency,
|
|
115
|
-
};
|
|
116
|
-
},
|
|
117
|
-
|
|
118
|
-
discountPrices(explicitDiscountId) {
|
|
119
|
-
const discountIds = pricingSheet
|
|
120
|
-
.filterBy({
|
|
121
|
-
category: OrderPricingRowCategory.Discounts,
|
|
122
|
-
discountId: explicitDiscountId,
|
|
123
|
-
})
|
|
124
|
-
.map(({ discountId }) => discountId);
|
|
125
|
-
|
|
126
|
-
return [...new Set(discountIds)]
|
|
127
|
-
.map((discountId) => {
|
|
128
|
-
const amount = basePricingSheet.sum({
|
|
129
|
-
category: OrderPricingRowCategory.Discounts,
|
|
130
|
-
discountId,
|
|
131
|
-
});
|
|
132
|
-
if (!amount) {
|
|
133
|
-
return null;
|
|
134
|
-
}
|
|
135
|
-
return {
|
|
136
|
-
discountId,
|
|
137
|
-
amount: Math.round(amount),
|
|
138
|
-
currency: basePricingSheet.currency,
|
|
139
|
-
};
|
|
140
|
-
})
|
|
141
|
-
.filter(Boolean);
|
|
142
|
-
},
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
return pricingSheet;
|
|
146
|
-
};
|