@unchainedshop/core-orders 3.0.0-rc1 → 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/module/buildFindSelector.d.ts +1 -1
- package/lib/module/buildFindSelector.d.ts.map +1 -1
- package/lib/module/configureOrderDeliveriesModule.d.ts +1 -1
- package/lib/module/configureOrderDeliveriesModule.d.ts.map +1 -1
- package/lib/module/configureOrderDeliveriesModule.js +1 -1
- package/lib/module/configureOrderDeliveriesModule.js.map +1 -1
- package/lib/module/configureOrderDiscountsModule.d.ts +2 -2
- package/lib/module/configureOrderDiscountsModule.d.ts.map +1 -1
- package/lib/module/configureOrderDiscountsModule.js +4 -4
- package/lib/module/configureOrderDiscountsModule.js.map +1 -1
- package/lib/module/configureOrderPaymentsModule.d.ts +2 -2
- package/lib/module/configureOrderPaymentsModule.d.ts.map +1 -1
- package/lib/module/configureOrderPaymentsModule.js +7 -7
- package/lib/module/configureOrderPaymentsModule.js.map +1 -1
- package/lib/module/configureOrderPositionsModule.d.ts +2 -2
- package/lib/module/configureOrderPositionsModule.d.ts.map +1 -1
- package/lib/module/configureOrderPositionsModule.js +3 -3
- package/lib/module/configureOrderPositionsModule.js.map +1 -1
- package/lib/module/configureOrdersModule-mutations.d.ts +2 -1
- package/lib/module/configureOrdersModule-mutations.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-mutations.js +1 -1
- package/lib/module/configureOrdersModule-mutations.js.map +1 -1
- package/lib/module/configureOrdersModule-queries.d.ts +8 -1
- package/lib/module/configureOrdersModule-queries.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-queries.js.map +1 -1
- package/lib/module/configureOrdersModule.d.ts +1 -1
- package/lib/module/configureOrdersModule.d.ts.map +1 -1
- package/lib/module/configureOrdersModule.js +1 -2
- package/lib/module/configureOrdersModule.js.map +1 -1
- package/lib/orders-index.d.ts +11 -1
- package/lib/orders-index.d.ts.map +1 -1
- package/lib/orders-index.js +11 -1
- package/lib/orders-index.js.map +1 -1
- package/lib/orders-settings.d.ts +1 -1
- package/lib/orders-settings.d.ts.map +1 -1
- package/lib/types.d.ts +0 -14
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +0 -5
- package/lib/types.js.map +1 -1
- package/package.json +4 -4
- 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 +7 -7
- package/src/module/buildFindSelector.ts +1 -1
- package/src/module/configureOrderDeliveriesModule.ts +1 -1
- package/src/module/configureOrderDiscountsModule.ts +4 -5
- package/src/module/configureOrderPaymentsModule.ts +9 -7
- package/src/module/configureOrderPositionsModule.ts +4 -4
- package/src/module/configureOrdersModule-mutations.ts +2 -1
- package/src/module/configureOrdersModule-queries.ts +9 -1
- package/src/module/configureOrdersModule.ts +1 -2
- package/src/orders-index.ts +11 -1
- package/src/orders-settings.ts +1 -1
- package/src/db/OrderDiscountTrigger.ts +0 -4
- package/src/types.ts +0 -128
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { OrderPosition } from '../types.js';
|
|
2
1
|
import { emit, registerEvents } from '@unchainedshop/events';
|
|
3
2
|
import { generateDbFilterById, generateDbObjectId, mongodb } from '@unchainedshop/mongodb';
|
|
4
3
|
import { PricingCalculation } from '@unchainedshop/utils';
|
|
4
|
+
import { OrderPosition } from '../db/OrderPositionsCollection.js';
|
|
5
5
|
|
|
6
6
|
const ORDER_POSITION_EVENTS: string[] = [
|
|
7
7
|
'ORDER_UPDATE_CART_ITEM',
|
|
@@ -10,7 +10,7 @@ const ORDER_POSITION_EVENTS: string[] = [
|
|
|
10
10
|
'ORDER_ADD_PRODUCT',
|
|
11
11
|
];
|
|
12
12
|
|
|
13
|
-
export const
|
|
13
|
+
export const buildFindOrderPositionByIdSelector = (orderPositionId: string, orderId?: string) =>
|
|
14
14
|
generateDbFilterById(
|
|
15
15
|
orderPositionId,
|
|
16
16
|
orderId ? { orderId } : undefined,
|
|
@@ -29,7 +29,7 @@ export const configureOrderPositionsModule = ({
|
|
|
29
29
|
{ itemId }: { itemId: string },
|
|
30
30
|
options?: mongodb.FindOptions,
|
|
31
31
|
): Promise<OrderPosition> => {
|
|
32
|
-
return OrderPositions.findOne(
|
|
32
|
+
return OrderPositions.findOne(buildFindOrderPositionByIdSelector(itemId), options);
|
|
33
33
|
},
|
|
34
34
|
|
|
35
35
|
findOrderPositions: async ({ orderId }: { orderId: string }): Promise<OrderPosition[]> => {
|
|
@@ -38,7 +38,7 @@ export const configureOrderPositionsModule = ({
|
|
|
38
38
|
},
|
|
39
39
|
|
|
40
40
|
delete: async (orderPositionId: string): Promise<OrderPosition> => {
|
|
41
|
-
const selector =
|
|
41
|
+
const selector = buildFindOrderPositionByIdSelector(orderPositionId);
|
|
42
42
|
const orderPosition = await OrderPositions.findOneAndDelete(selector, {});
|
|
43
43
|
await emit('ORDER_REMOVE_CART_ITEM', {
|
|
44
44
|
orderPosition,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Order, OrderStatus, OrderPosition } from '../types.js';
|
|
2
1
|
import { emit, registerEvents } from '@unchainedshop/events';
|
|
3
2
|
import {
|
|
4
3
|
Address,
|
|
@@ -7,6 +6,8 @@ import {
|
|
|
7
6
|
generateDbObjectId,
|
|
8
7
|
mongodb,
|
|
9
8
|
} from '@unchainedshop/mongodb';
|
|
9
|
+
import { Order, OrderStatus } from '../db/OrdersCollection.js';
|
|
10
|
+
import { OrderPosition } from '../db/OrderPositionsCollection.js';
|
|
10
11
|
|
|
11
12
|
export interface OrderMutations {
|
|
12
13
|
create: (doc: {
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { SortDirection, SortOption, DateFilterInput } from '@unchainedshop/utils';
|
|
2
|
-
import { Order, OrderQuery, OrderReport } from '../types.js';
|
|
3
2
|
import { generateDbFilterById, buildSortOptions, mongodb } from '@unchainedshop/mongodb';
|
|
4
3
|
import buildFindSelector from './buildFindSelector.js';
|
|
4
|
+
import { Order, OrderQuery } from '../db/OrdersCollection.js';
|
|
5
|
+
|
|
6
|
+
export type OrderReport = {
|
|
7
|
+
newCount: number;
|
|
8
|
+
checkoutCount: number;
|
|
9
|
+
rejectCount: number;
|
|
10
|
+
confirmCount: number;
|
|
11
|
+
fulfillCount: number;
|
|
12
|
+
};
|
|
5
13
|
|
|
6
14
|
const normalizeOrderAggregateResult = (data = {}): OrderReport => {
|
|
7
15
|
const statusToFieldMap = {
|
|
@@ -4,7 +4,7 @@ import { OrderDeliveriesCollection } from '../db/OrderDeliveriesCollection.js';
|
|
|
4
4
|
import { OrderDiscountsCollection } from '../db/OrderDiscountsCollection.js';
|
|
5
5
|
import { OrderPaymentsCollection } from '../db/OrderPaymentsCollection.js';
|
|
6
6
|
import { OrderPositionsCollection } from '../db/OrderPositionsCollection.js';
|
|
7
|
-
import { OrdersCollection } from '../db/OrdersCollection.js';
|
|
7
|
+
import { OrdersCollection, Order, OrderStatus } from '../db/OrdersCollection.js';
|
|
8
8
|
import { ordersSettings, OrdersSettingsOptions } from '../orders-settings.js';
|
|
9
9
|
import {
|
|
10
10
|
configureOrderDeliveriesModule,
|
|
@@ -17,7 +17,6 @@ import { configureOrderModuleMutations, OrderMutations } from './configureOrders
|
|
|
17
17
|
import { configureOrdersModuleQueries, OrderQueries } from './configureOrdersModule-queries.js';
|
|
18
18
|
|
|
19
19
|
import { emit, registerEvents } from '@unchainedshop/events';
|
|
20
|
-
import { Order, OrderStatus } from '../types.js';
|
|
21
20
|
|
|
22
21
|
export type OrdersModule = OrderQueries &
|
|
23
22
|
OrderMutations & {
|
package/src/orders-index.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
export * from './types.js';
|
|
2
1
|
export * from './module/configureOrdersModule.js';
|
|
2
|
+
export * from './module/configureOrderDeliveriesModule.js';
|
|
3
|
+
export * from './module/configureOrderDiscountsModule.js';
|
|
4
|
+
export * from './module/configureOrderPaymentsModule.js';
|
|
5
|
+
export * from './module/configureOrderPositionsModule.js';
|
|
6
|
+
export * from './module/configureOrdersModule-mutations.js';
|
|
7
|
+
export * from './module/configureOrdersModule-queries.js';
|
|
8
|
+
export * from './db/OrderDeliveriesCollection.js';
|
|
9
|
+
export * from './db/OrderDiscountsCollection.js';
|
|
10
|
+
export * from './db/OrderPaymentsCollection.js';
|
|
11
|
+
export * from './db/OrderPositionsCollection.js';
|
|
12
|
+
export * from './db/OrdersCollection.js';
|
|
3
13
|
export * from './orders-settings.js';
|
package/src/orders-settings.ts
CHANGED
package/src/types.ts
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { TimestampFields, LogFields, Address, Contact } from '@unchainedshop/mongodb';
|
|
2
|
-
import { Price } from '@unchainedshop/utils';
|
|
3
|
-
|
|
4
|
-
export type OrderReport = {
|
|
5
|
-
newCount: number;
|
|
6
|
-
checkoutCount: number;
|
|
7
|
-
rejectCount: number;
|
|
8
|
-
confirmCount: number;
|
|
9
|
-
fulfillCount: number;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export enum OrderStatus {
|
|
13
|
-
PENDING = 'PENDING',
|
|
14
|
-
CONFIRMED = 'CONFIRMED',
|
|
15
|
-
FULLFILLED = 'FULLFILLED',
|
|
16
|
-
REJECTED = 'REJECTED',
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export type OrderPosition = {
|
|
20
|
-
_id?: string;
|
|
21
|
-
calculation: Array<any>;
|
|
22
|
-
configuration: Array<{ key: string; value: string }>;
|
|
23
|
-
context?: any;
|
|
24
|
-
orderId: string;
|
|
25
|
-
originalProductId: string;
|
|
26
|
-
productId: string;
|
|
27
|
-
quantity: number;
|
|
28
|
-
quotationId?: string;
|
|
29
|
-
scheduling: Array<any>;
|
|
30
|
-
} & TimestampFields;
|
|
31
|
-
|
|
32
|
-
export type Order = {
|
|
33
|
-
_id?: string;
|
|
34
|
-
billingAddress?: Address;
|
|
35
|
-
calculation: Array<any>;
|
|
36
|
-
confirmed?: Date;
|
|
37
|
-
rejected?: Date;
|
|
38
|
-
contact?: Contact;
|
|
39
|
-
context?: any;
|
|
40
|
-
countryCode: string;
|
|
41
|
-
currency: string;
|
|
42
|
-
deliveryId?: string;
|
|
43
|
-
fullfilled?: Date;
|
|
44
|
-
ordered?: Date;
|
|
45
|
-
orderNumber?: string;
|
|
46
|
-
originEnrollmentId?: string;
|
|
47
|
-
paymentId?: string;
|
|
48
|
-
status: OrderStatus | null;
|
|
49
|
-
userId: string;
|
|
50
|
-
} & LogFields &
|
|
51
|
-
TimestampFields;
|
|
52
|
-
|
|
53
|
-
export enum OrderDiscountTrigger {
|
|
54
|
-
USER = 'USER',
|
|
55
|
-
SYSTEM = 'SYSTEM',
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export type OrderDiscount = {
|
|
59
|
-
_id?: string;
|
|
60
|
-
orderId: string;
|
|
61
|
-
code?: string;
|
|
62
|
-
total?: Price;
|
|
63
|
-
trigger?: OrderDiscountTrigger;
|
|
64
|
-
discountKey?: string;
|
|
65
|
-
reservation?: any;
|
|
66
|
-
context?: any;
|
|
67
|
-
} & TimestampFields;
|
|
68
|
-
|
|
69
|
-
export type OrderQuery = {
|
|
70
|
-
includeCarts?: boolean;
|
|
71
|
-
orderStatus?: OrderStatus[];
|
|
72
|
-
queryString?: string;
|
|
73
|
-
status?: OrderStatus[];
|
|
74
|
-
userId?: string;
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export enum OrderDeliveryStatus {
|
|
78
|
-
OPEN = 'OPEN', // Null value is mapped to OPEN status
|
|
79
|
-
DELIVERED = 'DELIVERED',
|
|
80
|
-
RETURNED = 'RETURNED',
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export enum OrderPaymentStatus {
|
|
84
|
-
OPEN = 'OPEN', // Null value is mapped to OPEN status
|
|
85
|
-
PAID = 'PAID',
|
|
86
|
-
REFUNDED = 'REFUNDED',
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export type OrderPayment = {
|
|
90
|
-
_id?: string;
|
|
91
|
-
orderId: string;
|
|
92
|
-
context?: any;
|
|
93
|
-
paid?: Date;
|
|
94
|
-
transactionId?: string;
|
|
95
|
-
paymentProviderId?: string;
|
|
96
|
-
status?: OrderPaymentStatus | null;
|
|
97
|
-
calculation?: Array<any>;
|
|
98
|
-
} & LogFields &
|
|
99
|
-
TimestampFields;
|
|
100
|
-
|
|
101
|
-
export type OrderPaymentDiscount = Omit<Price, '_id'> & {
|
|
102
|
-
_id?: string;
|
|
103
|
-
discountId: string;
|
|
104
|
-
item: OrderPayment;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
export type OrderDelivery = {
|
|
108
|
-
_id?: string;
|
|
109
|
-
orderId: string;
|
|
110
|
-
deliveryProviderId: string;
|
|
111
|
-
delivered?: Date;
|
|
112
|
-
status: OrderDeliveryStatus | null;
|
|
113
|
-
context?: any;
|
|
114
|
-
calculation: Array<any>;
|
|
115
|
-
} & LogFields &
|
|
116
|
-
TimestampFields;
|
|
117
|
-
|
|
118
|
-
export type OrderDeliveryDiscount = Omit<Price, '_id'> & {
|
|
119
|
-
_id?: string;
|
|
120
|
-
discountId: string;
|
|
121
|
-
item: OrderDelivery;
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
export type OrderPositionDiscount = Omit<Price, '_id'> & {
|
|
125
|
-
_id?: string;
|
|
126
|
-
discountId: string;
|
|
127
|
-
item: OrderPosition;
|
|
128
|
-
};
|