@unchainedshop/core-orders 3.1.13 → 4.0.0-rc.10
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 +1 -1
- package/lib/db/OrderDeliveriesCollection.d.ts.map +1 -1
- package/lib/db/OrderPaymentsCollection.d.ts +1 -1
- package/lib/db/OrderPaymentsCollection.d.ts.map +1 -1
- package/lib/db/OrderPositionsCollection.d.ts +4 -4
- package/lib/db/OrderPositionsCollection.d.ts.map +1 -1
- package/lib/db/OrdersCollection.d.ts +4 -5
- package/lib/db/OrdersCollection.d.ts.map +1 -1
- package/lib/db/OrdersCollection.js +2 -2
- 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/buildFindSelector.js +4 -2
- package/lib/module/buildFindSelector.js.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.map +1 -1
- package/lib/module/configureOrderDiscountsModule.d.ts +1 -1
- package/lib/module/configureOrderDiscountsModule.d.ts.map +1 -1
- package/lib/module/configureOrderDiscountsModule.js.map +1 -1
- package/lib/module/configureOrderPaymentsModule.d.ts +1 -1
- package/lib/module/configureOrderPaymentsModule.d.ts.map +1 -1
- package/lib/module/configureOrderPaymentsModule.js.map +1 -1
- package/lib/module/configureOrderPositionsModule.d.ts +6 -6
- package/lib/module/configureOrderPositionsModule.d.ts.map +1 -1
- package/lib/module/configureOrderPositionsModule.js.map +1 -1
- package/lib/module/configureOrdersModule-mutations.d.ts +1 -1
- package/lib/module/configureOrdersModule-mutations.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-mutations.js +2 -2
- package/lib/module/configureOrdersModule-mutations.js.map +1 -1
- package/lib/module/configureOrdersModule-queries.d.ts +4 -4
- package/lib/module/configureOrdersModule-queries.d.ts.map +1 -1
- package/lib/module/configureOrdersModule-queries.js +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 +5 -2
- package/lib/module/configureOrdersModule.js.map +1 -1
- package/lib/orders-settings.d.ts +2 -2
- package/lib/orders-settings.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/db/OrderDeliveriesCollection.ts +1 -1
- package/src/db/OrderPaymentsCollection.ts +1 -1
- package/src/db/OrderPositionsCollection.ts +3 -3
- package/src/db/OrdersCollection.ts +6 -6
- package/src/migrations/20250502111800-currency-code.ts +18 -0
- package/src/module/buildFindSelector.ts +10 -3
- package/src/module/configureOrderDeliveriesModule.ts +1 -1
- package/src/module/configureOrderDiscountsModule.ts +1 -1
- package/src/module/configureOrderPaymentsModule.ts +1 -1
- package/src/module/configureOrderPositionsModule.ts +4 -4
- package/src/module/configureOrdersModule-mutations.ts +3 -3
- package/src/module/configureOrdersModule-queries.ts +6 -6
- package/src/module/configureOrdersModule.ts +7 -2
- package/src/orders-settings.ts +1 -1
- package/lib/db/OrderDeliveriesSchema.d.ts +0 -3
- package/lib/db/OrderDeliveriesSchema.d.ts.map +0 -1
- package/lib/db/OrderDeliveriesSchema.js +0 -20
- package/lib/db/OrderDeliveriesSchema.js.map +0 -1
- package/lib/db/OrderDiscountTrigger.d.ts +0 -5
- package/lib/db/OrderDiscountTrigger.d.ts.map +0 -1
- package/lib/db/OrderDiscountTrigger.js +0 -6
- package/lib/db/OrderDiscountTrigger.js.map +0 -1
- package/lib/db/OrderDiscountsSchema.d.ts +0 -3
- package/lib/db/OrderDiscountsSchema.d.ts.map +0 -1
- package/lib/db/OrderDiscountsSchema.js +0 -12
- package/lib/db/OrderDiscountsSchema.js.map +0 -1
- package/lib/db/OrderPaymentsSchema.d.ts +0 -3
- package/lib/db/OrderPaymentsSchema.d.ts.map +0 -1
- package/lib/db/OrderPaymentsSchema.js +0 -20
- package/lib/db/OrderPaymentsSchema.js.map +0 -1
- package/lib/db/OrderPositionsSchema.d.ts +0 -3
- package/lib/db/OrderPositionsSchema.d.ts.map +0 -1
- package/lib/db/OrderPositionsSchema.js +0 -37
- package/lib/db/OrderPositionsSchema.js.map +0 -1
- package/lib/db/OrdersSchema.d.ts +0 -3
- package/lib/db/OrdersSchema.d.ts.map +0 -1
- package/lib/db/OrdersSchema.js +0 -30
- package/lib/db/OrdersSchema.js.map +0 -1
- package/lib/director/OrderDiscountAdapter.d.ts +0 -4
- package/lib/director/OrderDiscountAdapter.d.ts.map +0 -1
- package/lib/director/OrderDiscountAdapter.js +0 -3
- package/lib/director/OrderDiscountAdapter.js.map +0 -1
- package/lib/director/OrderDiscountConfiguration.d.ts +0 -6
- package/lib/director/OrderDiscountConfiguration.d.ts.map +0 -1
- package/lib/director/OrderDiscountConfiguration.js +0 -2
- package/lib/director/OrderDiscountConfiguration.js.map +0 -1
- package/lib/director/OrderDiscountDirector.d.ts +0 -3
- package/lib/director/OrderDiscountDirector.d.ts.map +0 -1
- package/lib/director/OrderDiscountDirector.js +0 -3
- package/lib/director/OrderDiscountDirector.js.map +0 -1
- package/lib/director/OrderPricingAdapter.d.ts +0 -4
- package/lib/director/OrderPricingAdapter.d.ts.map +0 -1
- package/lib/director/OrderPricingAdapter.js +0 -25
- package/lib/director/OrderPricingAdapter.js.map +0 -1
- package/lib/director/OrderPricingDirector.d.ts +0 -3
- package/lib/director/OrderPricingDirector.d.ts.map +0 -1
- package/lib/director/OrderPricingDirector.js +0 -39
- package/lib/director/OrderPricingDirector.js.map +0 -1
- package/lib/director/OrderPricingSheet.d.ts +0 -4
- package/lib/director/OrderPricingSheet.d.ts.map +0 -1
- package/lib/director/OrderPricingSheet.js +0 -101
- package/lib/director/OrderPricingSheet.js.map +0 -1
- package/lib/module/configureOrdersModule-processing.d.ts +0 -14
- package/lib/module/configureOrdersModule-processing.d.ts.map +0 -1
- package/lib/module/configureOrdersModule-processing.js +0 -348
- package/lib/module/configureOrdersModule-processing.js.map +0 -1
- package/lib/module/configureOrdersModule-transformations.d.ts +0 -6
- package/lib/module/configureOrdersModule-transformations.d.ts.map +0 -1
- package/lib/module/configureOrdersModule-transformations.js +0 -112
- package/lib/module/configureOrdersModule-transformations.js.map +0 -1
- package/lib/service/migrateOrderCartService.d.ts +0 -3
- 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 -3
- 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 -3
- 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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/core-orders",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-rc.10",
|
|
4
4
|
"main": "lib/orders-index.js",
|
|
5
5
|
"types": "lib/orders-index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@kontsedal/locco": "0.1.0",
|
|
35
|
-
"@unchainedshop/events": "^
|
|
36
|
-
"@unchainedshop/logger": "^
|
|
37
|
-
"@unchainedshop/utils": "^
|
|
35
|
+
"@unchainedshop/events": "^4.0.0-rc.4",
|
|
36
|
+
"@unchainedshop/logger": "^4.0.0-rc.4",
|
|
37
|
+
"@unchainedshop/utils": "^4.0.0-rc.4"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@types/node": "^24.0.
|
|
40
|
+
"@types/node": "^24.0.13",
|
|
41
41
|
"tsx": "^4.20.3",
|
|
42
42
|
"typescript": "^5.8.3"
|
|
43
43
|
}
|
|
@@ -3,15 +3,15 @@ import { Price } from '@unchainedshop/utils';
|
|
|
3
3
|
|
|
4
4
|
export type OrderPosition = {
|
|
5
5
|
_id?: string;
|
|
6
|
-
calculation:
|
|
7
|
-
configuration:
|
|
6
|
+
calculation: any[];
|
|
7
|
+
configuration: { key: string; value: string }[];
|
|
8
8
|
context?: any;
|
|
9
9
|
orderId: string;
|
|
10
10
|
originalProductId: string;
|
|
11
11
|
productId: string;
|
|
12
12
|
quantity: number;
|
|
13
13
|
quotationId?: string;
|
|
14
|
-
scheduling:
|
|
14
|
+
scheduling: any[];
|
|
15
15
|
} & TimestampFields;
|
|
16
16
|
|
|
17
17
|
export type OrderPositionDiscount = Omit<Price, '_id'> & {
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
Contact,
|
|
6
6
|
LogFields,
|
|
7
7
|
TimestampFields,
|
|
8
|
+
isDocumentDBCompatModeEnabled,
|
|
8
9
|
} from '@unchainedshop/mongodb';
|
|
9
10
|
|
|
10
11
|
export enum OrderStatus {
|
|
@@ -17,13 +18,13 @@ export enum OrderStatus {
|
|
|
17
18
|
export type Order = {
|
|
18
19
|
_id?: string;
|
|
19
20
|
billingAddress?: Address;
|
|
20
|
-
calculation:
|
|
21
|
+
calculation: any[];
|
|
21
22
|
confirmed?: Date;
|
|
22
23
|
rejected?: Date;
|
|
23
24
|
contact?: Contact;
|
|
24
25
|
context?: any;
|
|
25
26
|
countryCode: string;
|
|
26
|
-
|
|
27
|
+
currencyCode: string;
|
|
27
28
|
deliveryId?: string;
|
|
28
29
|
fullfilled?: Date;
|
|
29
30
|
ordered?: Date;
|
|
@@ -35,13 +36,12 @@ export type Order = {
|
|
|
35
36
|
} & LogFields &
|
|
36
37
|
TimestampFields;
|
|
37
38
|
|
|
38
|
-
export
|
|
39
|
+
export interface OrderQuery extends mongodb.Filter<Order> {
|
|
39
40
|
includeCarts?: boolean;
|
|
40
|
-
orderStatus?: OrderStatus[];
|
|
41
41
|
queryString?: string;
|
|
42
42
|
status?: OrderStatus[];
|
|
43
43
|
userId?: string;
|
|
44
|
-
}
|
|
44
|
+
}
|
|
45
45
|
|
|
46
46
|
export const OrdersCollection = async (db: mongodb.Db) => {
|
|
47
47
|
const Orders = db.collection<Order>('orders');
|
|
@@ -51,7 +51,7 @@ export const OrdersCollection = async (db: mongodb.Db) => {
|
|
|
51
51
|
{ index: { userId: 1 } },
|
|
52
52
|
{ index: { status: 1 } },
|
|
53
53
|
{ index: { orderNumber: 1 } },
|
|
54
|
-
{
|
|
54
|
+
!isDocumentDBCompatModeEnabled() && {
|
|
55
55
|
index: {
|
|
56
56
|
_id: 'text',
|
|
57
57
|
userId: 'text',
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MigrationRepository } from '@unchainedshop/mongodb';
|
|
2
|
+
import { OrdersCollection } from '../orders-index.js';
|
|
3
|
+
|
|
4
|
+
export default function renameCurrencyCode(repository: MigrationRepository) {
|
|
5
|
+
repository?.register({
|
|
6
|
+
id: 20250502111800,
|
|
7
|
+
name: 'Rename order.currency to order.currencyCode',
|
|
8
|
+
up: async () => {
|
|
9
|
+
const Orders = await OrdersCollection(repository.db);
|
|
10
|
+
await Orders.updateMany(
|
|
11
|
+
{},
|
|
12
|
+
{
|
|
13
|
+
$rename: { currency: 'currencyCode' },
|
|
14
|
+
},
|
|
15
|
+
);
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { OrderQuery, Order } from '../db/OrdersCollection.js';
|
|
2
|
-
import { mongodb } from '@unchainedshop/mongodb';
|
|
2
|
+
import { assertDocumentDBCompatMode, mongodb } from '@unchainedshop/mongodb';
|
|
3
3
|
|
|
4
|
-
export const buildFindSelector = ({
|
|
5
|
-
|
|
4
|
+
export const buildFindSelector = ({
|
|
5
|
+
includeCarts,
|
|
6
|
+
status,
|
|
7
|
+
userId,
|
|
8
|
+
queryString,
|
|
9
|
+
...rest
|
|
10
|
+
}: OrderQuery) => {
|
|
11
|
+
const selector: mongodb.Filter<Order> = { ...rest };
|
|
6
12
|
|
|
7
13
|
if (userId) {
|
|
8
14
|
selector.userId = userId;
|
|
@@ -15,6 +21,7 @@ export const buildFindSelector = ({ includeCarts, status, userId, queryString }:
|
|
|
15
21
|
}
|
|
16
22
|
|
|
17
23
|
if (queryString) {
|
|
24
|
+
assertDocumentDBCompatMode();
|
|
18
25
|
(selector as any).$text = { $search: queryString };
|
|
19
26
|
}
|
|
20
27
|
|
|
@@ -119,7 +119,7 @@ export const configureOrderDeliveriesModule = ({
|
|
|
119
119
|
|
|
120
120
|
updateCalculation: async <T extends PricingCalculation>(
|
|
121
121
|
orderDeliveryId: string,
|
|
122
|
-
calculation:
|
|
122
|
+
calculation: T[],
|
|
123
123
|
): Promise<OrderDelivery> => {
|
|
124
124
|
return OrderDeliveries.findOneAndUpdate(
|
|
125
125
|
{ _id: orderDeliveryId },
|
|
@@ -27,7 +27,7 @@ export const configureOrderDiscountsModule = ({
|
|
|
27
27
|
return OrderDiscounts.findOne(buildFindOrderDiscountByIdSelector(discountId), options);
|
|
28
28
|
},
|
|
29
29
|
|
|
30
|
-
findOrderDiscounts: async ({ orderId }: { orderId: string }): Promise<
|
|
30
|
+
findOrderDiscounts: async ({ orderId }: { orderId: string }): Promise<OrderDiscount[]> => {
|
|
31
31
|
const discounts = OrderDiscounts.find({ orderId });
|
|
32
32
|
return discounts.toArray();
|
|
33
33
|
},
|
|
@@ -188,7 +188,7 @@ export const configureOrderPaymentsModule = ({
|
|
|
188
188
|
|
|
189
189
|
updateCalculation: async <T extends PricingCalculation>(
|
|
190
190
|
orderPaymentId: string,
|
|
191
|
-
calculation:
|
|
191
|
+
calculation: T[],
|
|
192
192
|
) => {
|
|
193
193
|
return OrderPayments.findOneAndUpdate(
|
|
194
194
|
buildFindOrderPaymentByIdSelector(orderPaymentId),
|
|
@@ -58,7 +58,7 @@ export const configureOrderPositionsModule = ({
|
|
|
58
58
|
configuration,
|
|
59
59
|
}: {
|
|
60
60
|
orderPositionId: string;
|
|
61
|
-
configuration?:
|
|
61
|
+
configuration?: { key: string; value: string }[];
|
|
62
62
|
quantity?: number;
|
|
63
63
|
}): Promise<OrderPosition> => {
|
|
64
64
|
const modifier: any = {
|
|
@@ -92,7 +92,7 @@ export const configureOrderPositionsModule = ({
|
|
|
92
92
|
return updatedOrderPosition;
|
|
93
93
|
},
|
|
94
94
|
|
|
95
|
-
removeProductByIdFromAllOpenPositions: async (productId: string): Promise<
|
|
95
|
+
removeProductByIdFromAllOpenPositions: async (productId: string): Promise<string[]> => {
|
|
96
96
|
const positions = await OrderPositions.aggregate([
|
|
97
97
|
{
|
|
98
98
|
$match: {
|
|
@@ -142,7 +142,7 @@ export const configureOrderPositionsModule = ({
|
|
|
142
142
|
|
|
143
143
|
updateCalculation: async <T extends PricingCalculation>(
|
|
144
144
|
orderPositionId: string,
|
|
145
|
-
calculation:
|
|
145
|
+
calculation: T[],
|
|
146
146
|
): Promise<OrderPosition> => {
|
|
147
147
|
return OrderPositions.findOneAndUpdate(
|
|
148
148
|
{ _id: orderPositionId },
|
|
@@ -157,7 +157,7 @@ export const configureOrderPositionsModule = ({
|
|
|
157
157
|
|
|
158
158
|
addProductItem: async (orderPosition: {
|
|
159
159
|
context?: any;
|
|
160
|
-
configuration?:
|
|
160
|
+
configuration?: { key: string; value: string }[];
|
|
161
161
|
orderId: string;
|
|
162
162
|
originalProductId: string;
|
|
163
163
|
productId: string;
|
|
@@ -15,7 +15,7 @@ export interface OrderMutations {
|
|
|
15
15
|
billingAddress?: Address;
|
|
16
16
|
contact?: Contact;
|
|
17
17
|
countryCode: string;
|
|
18
|
-
|
|
18
|
+
currencyCode: string;
|
|
19
19
|
orderNumber?: string;
|
|
20
20
|
originEnrollmentId?: string;
|
|
21
21
|
}) => Promise<Order>;
|
|
@@ -49,7 +49,7 @@ export const configureOrderModuleMutations = ({
|
|
|
49
49
|
registerEvents(ORDER_EVENTS);
|
|
50
50
|
|
|
51
51
|
return {
|
|
52
|
-
create: async ({ userId, orderNumber,
|
|
52
|
+
create: async ({ userId, orderNumber, currencyCode, countryCode, billingAddress, contact }) => {
|
|
53
53
|
const { insertedId: orderId } = await Orders.insertOne({
|
|
54
54
|
_id: generateDbObjectId(),
|
|
55
55
|
created: new Date(),
|
|
@@ -57,7 +57,7 @@ export const configureOrderModuleMutations = ({
|
|
|
57
57
|
billingAddress,
|
|
58
58
|
contact,
|
|
59
59
|
userId,
|
|
60
|
-
|
|
60
|
+
currencyCode,
|
|
61
61
|
countryCode,
|
|
62
62
|
calculation: [],
|
|
63
63
|
log: [],
|
|
@@ -3,13 +3,13 @@ import { generateDbFilterById, buildSortOptions, mongodb } from '@unchainedshop/
|
|
|
3
3
|
import buildFindSelector from './buildFindSelector.js';
|
|
4
4
|
import { Order, OrderQuery } from '../db/OrdersCollection.js';
|
|
5
5
|
|
|
6
|
-
export
|
|
6
|
+
export interface OrderReport {
|
|
7
7
|
newCount: number;
|
|
8
8
|
checkoutCount: number;
|
|
9
9
|
rejectCount: number;
|
|
10
10
|
confirmCount: number;
|
|
11
11
|
fulfillCount: number;
|
|
12
|
-
}
|
|
12
|
+
}
|
|
13
13
|
|
|
14
14
|
const normalizeOrderAggregateResult = (data = {}): OrderReport => {
|
|
15
15
|
const statusToFieldMap = {
|
|
@@ -100,11 +100,11 @@ export const configureOrdersModuleQueries = ({ Orders }: { Orders: mongodb.Colle
|
|
|
100
100
|
}: OrderQuery & {
|
|
101
101
|
limit?: number;
|
|
102
102
|
offset?: number;
|
|
103
|
-
sort?:
|
|
103
|
+
sort?: SortOption[];
|
|
104
104
|
},
|
|
105
105
|
options?: mongodb.FindOptions,
|
|
106
|
-
): Promise<
|
|
107
|
-
const defaultSortOption:
|
|
106
|
+
): Promise<Order[]> => {
|
|
107
|
+
const defaultSortOption: SortOption[] = [{ key: 'created', value: SortDirection.DESC }];
|
|
108
108
|
const findOptions: mongodb.FindOptions = {
|
|
109
109
|
skip: offset,
|
|
110
110
|
limit,
|
|
@@ -125,7 +125,7 @@ export const configureOrdersModuleQueries = ({ Orders }: { Orders: mongodb.Colle
|
|
|
125
125
|
|
|
126
126
|
getReport: async (params: { dateRange?: DateFilterInput }): Promise<OrderReport> => {
|
|
127
127
|
const { dateRange } = params || {};
|
|
128
|
-
const selector: any = {
|
|
128
|
+
const selector: any = {};
|
|
129
129
|
if (dateRange?.end || dateRange?.start) {
|
|
130
130
|
if (dateRange?.start) {
|
|
131
131
|
const fromDate = new Date(dateRange?.start);
|
|
@@ -15,9 +15,10 @@ import { configureOrderPaymentsModule, OrderPaymentsModule } from './configureOr
|
|
|
15
15
|
import { configureOrderPositionsModule, OrderPositionsModule } from './configureOrderPositionsModule.js';
|
|
16
16
|
import { configureOrderModuleMutations, OrderMutations } from './configureOrdersModule-mutations.js';
|
|
17
17
|
import { configureOrdersModuleQueries, OrderQueries } from './configureOrdersModule-queries.js';
|
|
18
|
-
|
|
19
18
|
import { emit, registerEvents } from '@unchainedshop/events';
|
|
20
19
|
|
|
20
|
+
import renameCurrencyCode from '../migrations/20250502111800-currency-code.js';
|
|
21
|
+
|
|
21
22
|
export type OrdersModule = OrderQueries &
|
|
22
23
|
OrderMutations & {
|
|
23
24
|
// Sub entities
|
|
@@ -49,8 +50,12 @@ const ORDER_EVENTS: string[] = [
|
|
|
49
50
|
|
|
50
51
|
export const configureOrdersModule = async ({
|
|
51
52
|
db,
|
|
53
|
+
migrationRepository,
|
|
52
54
|
options: orderOptions = {},
|
|
53
55
|
}: ModuleInput<OrdersSettingsOptions>): Promise<OrdersModule> => {
|
|
56
|
+
// Migration v3 -> v4
|
|
57
|
+
renameCurrencyCode(migrationRepository);
|
|
58
|
+
|
|
54
59
|
registerEvents(ORDER_EVENTS);
|
|
55
60
|
|
|
56
61
|
ordersSettings.configureSettings(orderOptions);
|
|
@@ -128,7 +133,7 @@ export const configureOrdersModule = async ({
|
|
|
128
133
|
case OrderStatus.FULLFILLED:
|
|
129
134
|
$set.fullfilled = order.fullfilled || date;
|
|
130
135
|
case OrderStatus.REJECTED: // eslint-disable-line no-fallthrough
|
|
131
|
-
case OrderStatus.CONFIRMED:
|
|
136
|
+
case OrderStatus.CONFIRMED:
|
|
132
137
|
if (status === OrderStatus.REJECTED) {
|
|
133
138
|
$set.rejected = order.rejected || date;
|
|
134
139
|
} else {
|
package/src/orders-settings.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface OrderSettingsOrderPositionValidation<Product = unknown> {
|
|
|
5
5
|
order: Order;
|
|
6
6
|
product: Product;
|
|
7
7
|
quantityDiff?: number;
|
|
8
|
-
configuration?:
|
|
8
|
+
configuration?: { key: string; value: string }[];
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export interface OrdersSettingsOptions {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDeliveriesSchema.d.ts","sourceRoot":"","sources":["../../src/db/OrderDeliveriesSchema.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,cAAc,CAAC;AAUxC,eAAO,MAAM,qBAAqB,cAYjC,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Schemas } from '@unchainedshop/utils';
|
|
2
|
-
import SimpleSchema from 'simpl-schema';
|
|
3
|
-
const calculationFields = {
|
|
4
|
-
calculation: Array,
|
|
5
|
-
'calculation.$': {
|
|
6
|
-
type: Object,
|
|
7
|
-
blackbox: true,
|
|
8
|
-
},
|
|
9
|
-
};
|
|
10
|
-
export const OrderDeliveriesSchema = new SimpleSchema({
|
|
11
|
-
delivered: Date,
|
|
12
|
-
deliveryProviderId: String,
|
|
13
|
-
orderId: String,
|
|
14
|
-
status: String,
|
|
15
|
-
...calculationFields,
|
|
16
|
-
...Schemas.contextFields,
|
|
17
|
-
...Schemas.logFields,
|
|
18
|
-
...Schemas.timestampFields,
|
|
19
|
-
}, { requiredByDefault: false });
|
|
20
|
-
//# sourceMappingURL=OrderDeliveriesSchema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDeliveriesSchema.js","sourceRoot":"","sources":["../../src/db/OrderDeliveriesSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,iBAAiB,GAAG;IACxB,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE;QACf,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,YAAY,CACnD;IACE,SAAS,EAAE,IAAI;IACf,kBAAkB,EAAE,MAAM;IAC1B,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,MAAM;IACd,GAAG,iBAAiB;IACpB,GAAG,OAAO,CAAC,aAAa;IACxB,GAAG,OAAO,CAAC,SAAS;IACpB,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountTrigger.d.ts","sourceRoot":"","sources":["../../src/db/OrderDiscountTrigger.ts"],"names":[],"mappings":"AAAA,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountTrigger.js","sourceRoot":"","sources":["../../src/db/OrderDiscountTrigger.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,qCAAa,CAAA;IACb,yCAAiB,CAAA;AACnB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountsSchema.d.ts","sourceRoot":"","sources":["../../src/db/OrderDiscountsSchema.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,eAAO,MAAM,oBAAoB,cAWhC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Schemas } from '@unchainedshop/utils';
|
|
2
|
-
import SimpleSchema from 'simpl-schema';
|
|
3
|
-
export const OrderDiscountsSchema = new SimpleSchema({
|
|
4
|
-
orderId: String,
|
|
5
|
-
code: String,
|
|
6
|
-
trigger: { type: String, required: true },
|
|
7
|
-
discountKey: { type: String, required: true },
|
|
8
|
-
reservation: { type: Object, blackbox: true },
|
|
9
|
-
...Schemas.contextFields,
|
|
10
|
-
...Schemas.timestampFields,
|
|
11
|
-
}, { requiredByDefault: false });
|
|
12
|
-
//# sourceMappingURL=OrderDiscountsSchema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountsSchema.js","sourceRoot":"","sources":["../../src/db/OrderDiscountsSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,YAAY,CAClD;IACE,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,GAAG,OAAO,CAAC,aAAa;IACxB,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderPaymentsSchema.d.ts","sourceRoot":"","sources":["../../src/db/OrderPaymentsSchema.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,cAAc,CAAC;AAUxC,eAAO,MAAM,mBAAmB,cAY/B,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Schemas } from '@unchainedshop/utils';
|
|
2
|
-
import SimpleSchema from 'simpl-schema';
|
|
3
|
-
const calculationFields = {
|
|
4
|
-
calculation: Array,
|
|
5
|
-
'calculation.$': {
|
|
6
|
-
type: Object,
|
|
7
|
-
blackbox: true,
|
|
8
|
-
},
|
|
9
|
-
};
|
|
10
|
-
export const OrderPaymentsSchema = new SimpleSchema({
|
|
11
|
-
orderId: String,
|
|
12
|
-
paymentProviderId: String,
|
|
13
|
-
paid: Date,
|
|
14
|
-
status: String,
|
|
15
|
-
...calculationFields,
|
|
16
|
-
...Schemas.contextFields,
|
|
17
|
-
...Schemas.logFields,
|
|
18
|
-
...Schemas.timestampFields,
|
|
19
|
-
}, { requiredByDefault: false });
|
|
20
|
-
//# sourceMappingURL=OrderPaymentsSchema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderPaymentsSchema.js","sourceRoot":"","sources":["../../src/db/OrderPaymentsSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,iBAAiB,GAAG;IACxB,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE;QACf,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,YAAY,CACjD;IACE,OAAO,EAAE,MAAM;IACf,iBAAiB,EAAE,MAAM;IACzB,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,MAAM;IACd,GAAG,iBAAiB;IACpB,GAAG,OAAO,CAAC,aAAa;IACxB,GAAG,OAAO,CAAC,SAAS;IACpB,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderPositionsSchema.d.ts","sourceRoot":"","sources":["../../src/db/OrderPositionsSchema.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,cAAc,CAAC;AAexC,eAAO,MAAM,oBAAoB,cAwBhC,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Schemas } from '@unchainedshop/utils';
|
|
2
|
-
import SimpleSchema from 'simpl-schema';
|
|
3
|
-
const calculationFields = {
|
|
4
|
-
calculation: Array,
|
|
5
|
-
'calculation.$': {
|
|
6
|
-
type: Object,
|
|
7
|
-
blackbox: true,
|
|
8
|
-
},
|
|
9
|
-
scheduling: Array,
|
|
10
|
-
'scheduling.$': {
|
|
11
|
-
type: Object,
|
|
12
|
-
blackbox: true,
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
export const OrderPositionsSchema = new SimpleSchema({
|
|
16
|
-
productId: String,
|
|
17
|
-
orderId: String,
|
|
18
|
-
originalProductId: { type: String },
|
|
19
|
-
quotationId: { type: String },
|
|
20
|
-
quantity: Number,
|
|
21
|
-
configuration: Array,
|
|
22
|
-
'configuration.$': {
|
|
23
|
-
type: Object,
|
|
24
|
-
required: true,
|
|
25
|
-
},
|
|
26
|
-
'configuration.$.key': {
|
|
27
|
-
type: String,
|
|
28
|
-
required: true,
|
|
29
|
-
},
|
|
30
|
-
'configuration.$.value': {
|
|
31
|
-
type: String,
|
|
32
|
-
},
|
|
33
|
-
...calculationFields,
|
|
34
|
-
...Schemas.contextFields,
|
|
35
|
-
...Schemas.timestampFields,
|
|
36
|
-
}, { requiredByDefault: false });
|
|
37
|
-
//# sourceMappingURL=OrderPositionsSchema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderPositionsSchema.js","sourceRoot":"","sources":["../../src/db/OrderPositionsSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,iBAAiB,GAAG;IACxB,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE;QACf,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,YAAY,CAClD;IACE,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IACnC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7B,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,KAAK;IACpB,iBAAiB,EAAE;QACjB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,MAAM;KACb;IACD,GAAG,iBAAiB;IACpB,GAAG,OAAO,CAAC,aAAa;IACxB,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
|
package/lib/db/OrdersSchema.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrdersSchema.d.ts","sourceRoot":"","sources":["../../src/db/OrdersSchema.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,cAAc,CAAC;AAUxC,eAAO,MAAM,YAAY,cAsBxB,CAAC"}
|
package/lib/db/OrdersSchema.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Schemas } from '@unchainedshop/utils';
|
|
2
|
-
import SimpleSchema from 'simpl-schema';
|
|
3
|
-
const calculationFields = {
|
|
4
|
-
calculation: Array,
|
|
5
|
-
'calculation.$': {
|
|
6
|
-
type: Object,
|
|
7
|
-
blackbox: true,
|
|
8
|
-
},
|
|
9
|
-
};
|
|
10
|
-
export const OrdersSchema = new SimpleSchema({
|
|
11
|
-
billingAddress: Schemas.Address,
|
|
12
|
-
confirmed: Date,
|
|
13
|
-
rejected: Date,
|
|
14
|
-
contact: Schemas.Contact,
|
|
15
|
-
countryCode: String,
|
|
16
|
-
currency: String,
|
|
17
|
-
deliveryId: String,
|
|
18
|
-
fullfilled: Date,
|
|
19
|
-
ordered: Date,
|
|
20
|
-
orderNumber: String,
|
|
21
|
-
originEnrollmentId: String,
|
|
22
|
-
paymentId: String,
|
|
23
|
-
status: String,
|
|
24
|
-
userId: String,
|
|
25
|
-
...calculationFields,
|
|
26
|
-
...Schemas.contextFields,
|
|
27
|
-
...Schemas.logFields,
|
|
28
|
-
...Schemas.timestampFields,
|
|
29
|
-
}, { requiredByDefault: false });
|
|
30
|
-
//# sourceMappingURL=OrdersSchema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrdersSchema.js","sourceRoot":"","sources":["../../src/db/OrdersSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,YAAY,MAAM,cAAc,CAAC;AAExC,MAAM,iBAAiB,GAAG;IACxB,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE;QACf,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,CAC1C;IACE,cAAc,EAAE,OAAO,CAAC,OAAO;IAC/B,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,OAAO,CAAC,OAAO;IACxB,WAAW,EAAE,MAAM;IACnB,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,GAAG,iBAAiB;IACpB,GAAG,OAAO,CAAC,aAAa;IACxB,GAAG,OAAO,CAAC,SAAS;IACpB,GAAG,OAAO,CAAC,eAAe;CAC3B,EACD,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAC7B,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { IDiscountAdapter } from '@unchainedshop/types/discount.js';
|
|
2
|
-
import { OrderDiscountConfiguration } from './OrderDiscountConfiguration.js';
|
|
3
|
-
export declare const OrderDiscountAdapter: Omit<IDiscountAdapter<OrderDiscountConfiguration>, 'key' | 'label' | 'version'>;
|
|
4
|
-
//# sourceMappingURL=OrderDiscountAdapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountAdapter.d.ts","sourceRoot":"","sources":["../../src/director/OrderDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,eAAO,MAAM,oBAAoB,EAAE,IAAI,CACrC,gBAAgB,CAAC,0BAA0B,CAAC,EAC5C,KAAK,GAAG,OAAO,GAAG,SAAS,CACN,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountAdapter.js","sourceRoot":"","sources":["../../src/director/OrderDiscountAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,CAAC,MAAM,oBAAoB,GAG7B,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountConfiguration.d.ts","sourceRoot":"","sources":["../../src/director/OrderDiscountConfiguration.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountConfiguration.js","sourceRoot":"","sources":["../../src/director/OrderDiscountConfiguration.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountDirector.d.ts","sourceRoot":"","sources":["../../src/director/OrderDiscountDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,eAAO,MAAM,qBAAqB,0FACyC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDiscountDirector.js","sourceRoot":"","sources":["../../src/director/OrderDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,MAAM,CAAC,MAAM,qBAAqB,GAChC,oBAAoB,CAA6B,uBAAuB,CAAC,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { IOrderPricingSheet, OrderPricingAdapterContext, OrderPricingCalculation } from '@unchainedshop/types/orders.pricing.js';
|
|
2
|
-
import { IPricingAdapter } from '@unchainedshop/types/pricing.js';
|
|
3
|
-
export declare const OrderPricingAdapter: IPricingAdapter<OrderPricingAdapterContext, OrderPricingCalculation, IOrderPricingSheet>;
|
|
4
|
-
//# sourceMappingURL=OrderPricingAdapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrderPricingAdapter.d.ts","sourceRoot":"","sources":["../../src/director/OrderPricingAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMlE,eAAO,MAAM,mBAAmB,EAAE,eAAe,CAC/C,0BAA0B,EAC1B,uBAAuB,EACvB,kBAAkB,CA0BnB,CAAC"}
|