@unchainedshop/core-orders 4.0.0-rc.9 → 4.0.1

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.
Files changed (140) hide show
  1. package/lib/db/OrderDeliveriesCollection.d.ts +2 -2
  2. package/lib/db/OrderDeliveriesCollection.d.ts.map +1 -1
  3. package/lib/db/OrderDeliveriesSchema.d.ts +3 -0
  4. package/lib/db/OrderDeliveriesSchema.d.ts.map +1 -0
  5. package/lib/db/OrderDeliveriesSchema.js +20 -0
  6. package/lib/db/OrderDeliveriesSchema.js.map +1 -0
  7. package/lib/db/OrderDiscountTrigger.d.ts +5 -0
  8. package/lib/db/OrderDiscountTrigger.d.ts.map +1 -0
  9. package/lib/db/OrderDiscountTrigger.js +6 -0
  10. package/lib/db/OrderDiscountTrigger.js.map +1 -0
  11. package/lib/db/OrderDiscountsCollection.d.ts +2 -2
  12. package/lib/db/OrderDiscountsCollection.d.ts.map +1 -1
  13. package/lib/db/OrderDiscountsSchema.d.ts +3 -0
  14. package/lib/db/OrderDiscountsSchema.d.ts.map +1 -0
  15. package/lib/db/OrderDiscountsSchema.js +12 -0
  16. package/lib/db/OrderDiscountsSchema.js.map +1 -0
  17. package/lib/db/OrderPaymentsCollection.d.ts +3 -3
  18. package/lib/db/OrderPaymentsCollection.d.ts.map +1 -1
  19. package/lib/db/OrderPaymentsSchema.d.ts +3 -0
  20. package/lib/db/OrderPaymentsSchema.d.ts.map +1 -0
  21. package/lib/db/OrderPaymentsSchema.js +20 -0
  22. package/lib/db/OrderPaymentsSchema.js.map +1 -0
  23. package/lib/db/OrderPositionsCollection.d.ts +2 -3
  24. package/lib/db/OrderPositionsCollection.d.ts.map +1 -1
  25. package/lib/db/OrderPositionsCollection.js.map +1 -1
  26. package/lib/db/OrderPositionsSchema.d.ts +3 -0
  27. package/lib/db/OrderPositionsSchema.d.ts.map +1 -0
  28. package/lib/db/OrderPositionsSchema.js +37 -0
  29. package/lib/db/OrderPositionsSchema.js.map +1 -0
  30. package/lib/db/OrdersCollection.d.ts +5 -1
  31. package/lib/db/OrdersCollection.d.ts.map +1 -1
  32. package/lib/db/OrdersCollection.js +25 -21
  33. package/lib/db/OrdersCollection.js.map +1 -1
  34. package/lib/db/OrdersSchema.d.ts +3 -0
  35. package/lib/db/OrdersSchema.d.ts.map +1 -0
  36. package/lib/db/OrdersSchema.js +30 -0
  37. package/lib/db/OrdersSchema.js.map +1 -0
  38. package/lib/director/OrderDiscountAdapter.d.ts +4 -0
  39. package/lib/director/OrderDiscountAdapter.d.ts.map +1 -0
  40. package/lib/director/OrderDiscountAdapter.js +3 -0
  41. package/lib/director/OrderDiscountAdapter.js.map +1 -0
  42. package/lib/director/OrderDiscountConfiguration.d.ts +6 -0
  43. package/lib/director/OrderDiscountConfiguration.d.ts.map +1 -0
  44. package/lib/director/OrderDiscountConfiguration.js +2 -0
  45. package/lib/director/OrderDiscountConfiguration.js.map +1 -0
  46. package/lib/director/OrderDiscountDirector.d.ts +3 -0
  47. package/lib/director/OrderDiscountDirector.d.ts.map +1 -0
  48. package/lib/director/OrderDiscountDirector.js +3 -0
  49. package/lib/director/OrderDiscountDirector.js.map +1 -0
  50. package/lib/director/OrderPricingAdapter.d.ts +4 -0
  51. package/lib/director/OrderPricingAdapter.d.ts.map +1 -0
  52. package/lib/director/OrderPricingAdapter.js +25 -0
  53. package/lib/director/OrderPricingAdapter.js.map +1 -0
  54. package/lib/director/OrderPricingDirector.d.ts +3 -0
  55. package/lib/director/OrderPricingDirector.d.ts.map +1 -0
  56. package/lib/director/OrderPricingDirector.js +39 -0
  57. package/lib/director/OrderPricingDirector.js.map +1 -0
  58. package/lib/director/OrderPricingSheet.d.ts +4 -0
  59. package/lib/director/OrderPricingSheet.d.ts.map +1 -0
  60. package/lib/director/OrderPricingSheet.js +101 -0
  61. package/lib/director/OrderPricingSheet.js.map +1 -0
  62. package/lib/migrations/20250502111800-currency-code copy.d.ts +3 -0
  63. package/lib/migrations/20250502111800-currency-code copy.d.ts.map +1 -0
  64. package/lib/migrations/20250502111800-currency-code copy.js +14 -0
  65. package/lib/migrations/20250502111800-currency-code copy.js.map +1 -0
  66. package/lib/migrations/20251020080000-position-config.d.ts +3 -0
  67. package/lib/migrations/20251020080000-position-config.d.ts.map +1 -0
  68. package/lib/migrations/20251020080000-position-config.js +14 -0
  69. package/lib/migrations/20251020080000-position-config.js.map +1 -0
  70. package/lib/module/buildFindSelector.d.ts +1 -1
  71. package/lib/module/buildFindSelector.d.ts.map +1 -1
  72. package/lib/module/buildFindSelector.js +17 -1
  73. package/lib/module/buildFindSelector.js.map +1 -1
  74. package/lib/module/configureOrderDeliveriesModule.d.ts +9 -6
  75. package/lib/module/configureOrderDeliveriesModule.d.ts.map +1 -1
  76. package/lib/module/configureOrderDeliveriesModule.js +14 -10
  77. package/lib/module/configureOrderDeliveriesModule.js.map +1 -1
  78. package/lib/module/configureOrderDiscountsModule.d.ts +5 -5
  79. package/lib/module/configureOrderDiscountsModule.d.ts.map +1 -1
  80. package/lib/module/configureOrderDiscountsModule.js +3 -3
  81. package/lib/module/configureOrderDiscountsModule.js.map +1 -1
  82. package/lib/module/configureOrderPaymentsModule.d.ts +10 -7
  83. package/lib/module/configureOrderPaymentsModule.d.ts.map +1 -1
  84. package/lib/module/configureOrderPaymentsModule.js +18 -10
  85. package/lib/module/configureOrderPaymentsModule.js.map +1 -1
  86. package/lib/module/configureOrderPositionsModule.d.ts +17 -6
  87. package/lib/module/configureOrderPositionsModule.d.ts.map +1 -1
  88. package/lib/module/configureOrderPositionsModule.js +25 -5
  89. package/lib/module/configureOrderPositionsModule.js.map +1 -1
  90. package/lib/module/configureOrdersModule-mutations.d.ts +14 -13
  91. package/lib/module/configureOrdersModule-mutations.d.ts.map +1 -1
  92. package/lib/module/configureOrdersModule-mutations.js +19 -11
  93. package/lib/module/configureOrdersModule-mutations.js.map +1 -1
  94. package/lib/module/configureOrdersModule-processing.d.ts +14 -0
  95. package/lib/module/configureOrdersModule-processing.d.ts.map +1 -0
  96. package/lib/module/configureOrdersModule-processing.js +348 -0
  97. package/lib/module/configureOrdersModule-processing.js.map +1 -0
  98. package/lib/module/configureOrdersModule-queries.d.ts +21 -6
  99. package/lib/module/configureOrdersModule-queries.d.ts.map +1 -1
  100. package/lib/module/configureOrdersModule-queries.js +19 -84
  101. package/lib/module/configureOrdersModule-queries.js.map +1 -1
  102. package/lib/module/configureOrdersModule-transformations.d.ts +6 -0
  103. package/lib/module/configureOrdersModule-transformations.d.ts.map +1 -0
  104. package/lib/module/configureOrdersModule-transformations.js +112 -0
  105. package/lib/module/configureOrdersModule-transformations.js.map +1 -0
  106. package/lib/module/configureOrdersModule.d.ts +154 -21
  107. package/lib/module/configureOrdersModule.d.ts.map +1 -1
  108. package/lib/module/configureOrdersModule.js +9 -3
  109. package/lib/module/configureOrdersModule.js.map +1 -1
  110. package/lib/orders-settings.d.ts +9 -13
  111. package/lib/orders-settings.d.ts.map +1 -1
  112. package/lib/orders-settings.js +8 -8
  113. package/lib/orders-settings.js.map +1 -1
  114. package/lib/service/migrateOrderCartService.d.ts +3 -0
  115. package/lib/service/migrateOrderCartService.d.ts.map +1 -0
  116. package/lib/service/migrateOrderCartService.js +32 -0
  117. package/lib/service/migrateOrderCartService.js.map +1 -0
  118. package/lib/service/nextUserCartService.d.ts +3 -0
  119. package/lib/service/nextUserCartService.d.ts.map +1 -0
  120. package/lib/service/nextUserCartService.js +34 -0
  121. package/lib/service/nextUserCartService.js.map +1 -0
  122. package/lib/service/orderServices.d.ts +3 -0
  123. package/lib/service/orderServices.d.ts.map +1 -0
  124. package/lib/service/orderServices.js +7 -0
  125. package/lib/service/orderServices.js.map +1 -0
  126. package/package.json +4 -4
  127. package/src/db/OrderDeliveriesCollection.ts +2 -2
  128. package/src/db/OrderDiscountsCollection.ts +2 -2
  129. package/src/db/OrderPaymentsCollection.ts +3 -3
  130. package/src/db/OrderPositionsCollection.ts +2 -3
  131. package/src/db/OrdersCollection.ts +31 -22
  132. package/src/module/buildFindSelector.ts +19 -1
  133. package/src/module/configureOrderDeliveriesModule.ts +28 -16
  134. package/src/module/configureOrderDiscountsModule.ts +11 -11
  135. package/src/module/configureOrderPaymentsModule.ts +31 -20
  136. package/src/module/configureOrderPositionsModule.ts +48 -17
  137. package/src/module/configureOrdersModule-mutations.ts +46 -44
  138. package/src/module/configureOrdersModule-queries.ts +42 -91
  139. package/src/module/configureOrdersModule.ts +21 -33
  140. package/src/orders-settings.ts +21 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureOrdersModule-processing.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-processing.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SortOption, DateFilterInput } from '@unchainedshop/utils';
1
+ import { SortOption } from '@unchainedshop/utils';
2
2
  import { mongodb } from '@unchainedshop/mongodb';
3
3
  import { Order, OrderQuery } from '../db/OrdersCollection.js';
4
4
  export interface OrderReport {
@@ -8,6 +8,23 @@ export interface OrderReport {
8
8
  confirmCount: number;
9
9
  fulfillCount: number;
10
10
  }
11
+ export interface OrderStatisticsRecord {
12
+ date: string;
13
+ total: {
14
+ amount: number;
15
+ currency: string;
16
+ };
17
+ }
18
+ export interface OrderAggregateParams {
19
+ match?: Record<string, any>;
20
+ matchAfterGroup?: Record<string, any>;
21
+ project?: Record<string, any>;
22
+ group?: Record<string, any>;
23
+ sort?: Record<string, number>;
24
+ limit?: number;
25
+ addFields?: Record<string, any>;
26
+ pipeline?: any[];
27
+ }
11
28
  export declare const configureOrdersModuleQueries: ({ Orders }: {
12
29
  Orders: mongodb.Collection<Order>;
13
30
  }) => {
@@ -16,24 +33,22 @@ export declare const configureOrdersModuleQueries: ({ Orders }: {
16
33
  countryCode?: string;
17
34
  orderNumber?: string;
18
35
  userId: string;
19
- }) => Promise<Order>;
36
+ }) => Promise<mongodb.WithId<Order> | null>;
20
37
  count: (query: OrderQuery) => Promise<number>;
21
38
  findOrder: ({ orderId, orderNumber, }: {
22
39
  orderId?: string;
23
40
  orderNumber?: string;
24
- }, options?: mongodb.FindOptions) => Promise<Order>;
41
+ }, options?: mongodb.FindOptions) => Promise<Order | null>;
25
42
  findCartsToInvalidate: (maxAgeDays?: number) => Promise<mongodb.WithId<Order>[]>;
26
43
  findOrders: ({ limit, offset, queryString, sort, ...query }: OrderQuery & {
27
44
  limit?: number;
28
45
  offset?: number;
29
46
  sort?: SortOption[];
30
47
  }, options?: mongodb.FindOptions) => Promise<Order[]>;
31
- getReport: (params: {
32
- dateRange?: DateFilterInput;
33
- }) => Promise<OrderReport>;
34
48
  orderExists: ({ orderId }: {
35
49
  orderId: string;
36
50
  }) => Promise<boolean>;
51
+ aggregateOrders: ({ match, project, group, sort, limit, addFields, pipeline, }: OrderAggregateParams) => Promise<mongodb.Document[]>;
37
52
  };
38
53
  export type OrderQueries = ReturnType<typeof configureOrdersModuleQueries>;
39
54
  //# sourceMappingURL=configureOrdersModule-queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrdersModule-queries.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAA0C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEzF,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAiBD,eAAO,MAAM,4BAA4B,GAAI,YAAY;IAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;CAAE;oBAE1E,KAAK;kDAQlB;QACD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,KAAG,OAAO,CAAC,KAAK,CAAC;mBAmBG,UAAU,KAAG,OAAO,CAAC,MAAM,CAAC;2CAQ5C;QACD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,YACS,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,KAAK,CAAC;;iEAyBZ,UAAU,GAAG;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;KACrB,YACS,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,KAAK,EAAE,CAAC;wBAoBO;QAAE,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE,KAAG,OAAO,CAAC,WAAW,CAAC;+BAyE/C;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,OAAO,CAAC;CAO1E,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"configureOrdersModule-queries.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAA0C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEzF,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AACD,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,4BAA4B,GAAI,YAAY;IAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;CAAE;oBAE1E,KAAK;kDAQlB;QACD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB;mBAmBoB,UAAU,KAAG,OAAO,CAAC,MAAM,CAAC;2CAQ5C;QACD,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,YACS,OAAO,CAAC,WAAW;;iEA0B1B,UAAU,GAAG;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;KACrB,YACS,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,KAAK,EAAE,CAAC;+BAmBc;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,OAAO,CAAC;oFAcpE,oBAAoB,KAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;CAgBxD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -1,19 +1,6 @@
1
1
  import { SortDirection } from '@unchainedshop/utils';
2
2
  import { generateDbFilterById, buildSortOptions } from '@unchainedshop/mongodb';
3
3
  import buildFindSelector from './buildFindSelector.js';
4
- const normalizeOrderAggregateResult = (data = {}) => {
5
- const statusToFieldMap = {
6
- newCount: 0,
7
- checkoutCount: 0,
8
- rejectCount: 0,
9
- confirmCount: 0,
10
- fulfillCount: 0,
11
- };
12
- Object.entries(data).forEach(([key, value]) => {
13
- statusToFieldMap[key] = value;
14
- });
15
- return statusToFieldMap;
16
- };
17
4
  export const configureOrdersModuleQueries = ({ Orders }) => {
18
5
  return {
19
6
  isCart: (order) => {
@@ -69,83 +56,31 @@ export const configureOrdersModuleQueries = ({ Orders }) => {
69
56
  }
70
57
  return Orders.find(selector, findOptions).toArray();
71
58
  },
72
- getReport: async (params) => {
73
- const { dateRange } = params || {};
74
- const selector = { $exists: true };
75
- if (dateRange?.end || dateRange?.start) {
76
- if (dateRange?.start) {
77
- const fromDate = new Date(dateRange?.start);
78
- selector.$gte = fromDate;
79
- }
80
- if (dateRange?.end) {
81
- const toDate = new Date(dateRange?.end);
82
- selector.$lte = toDate;
83
- }
84
- }
85
- const pipeline = [
86
- {
87
- $facet: {
88
- checkoutCount: [
89
- {
90
- $match: {
91
- ordered: selector,
92
- },
93
- },
94
- { $count: 'count' },
95
- ],
96
- fulfillCount: [
97
- {
98
- $match: {
99
- fullfilled: selector,
100
- },
101
- },
102
- { $count: 'count' },
103
- ],
104
- rejectCount: [
105
- {
106
- $match: {
107
- rejected: selector,
108
- },
109
- },
110
- { $count: 'count' },
111
- ],
112
- newCount: [
113
- {
114
- $match: {
115
- created: selector,
116
- },
117
- },
118
- { $count: 'count' },
119
- ],
120
- confirmCount: [
121
- {
122
- $match: {
123
- confirmed: selector,
124
- },
125
- },
126
- { $count: 'count' },
127
- ],
128
- },
129
- },
130
- {
131
- $project: {
132
- checkoutCount: { $arrayElemAt: ['$checkoutCount.count', 0] },
133
- fulfillCount: { $arrayElemAt: ['$fulfillCount.count', 0] },
134
- rejectCount: { $arrayElemAt: ['$rejectCount.count', 0] },
135
- newCount: { $arrayElemAt: ['$newCount.count', 0] },
136
- confirmCount: { $arrayElemAt: ['$confirmCount.count', 0] },
137
- },
138
- },
139
- ];
140
- const [facetedResult] = await Orders.aggregate(pipeline).toArray();
141
- return normalizeOrderAggregateResult(facetedResult);
142
- },
143
59
  orderExists: async ({ orderId }) => {
144
60
  const orderCount = await Orders.countDocuments(generateDbFilterById(orderId), {
145
61
  limit: 1,
146
62
  });
147
63
  return !!orderCount;
148
64
  },
65
+ aggregateOrders: async ({ match, project, group, sort, limit, addFields, pipeline, }) => {
66
+ const stages = [];
67
+ if (pipeline?.length) {
68
+ return await Orders.aggregate(pipeline).toArray();
69
+ }
70
+ if (match)
71
+ stages.push({ $match: match });
72
+ if (project)
73
+ stages.push({ $project: project });
74
+ if (group)
75
+ stages.push({ $group: group });
76
+ if (addFields)
77
+ stages.push({ $addFields: addFields });
78
+ if (sort)
79
+ stages.push({ $sort: sort });
80
+ if (typeof limit === 'number')
81
+ stages.push({ $limit: limit });
82
+ return Orders.aggregate(stages, { allowDiskUse: true }).toArray();
83
+ },
149
84
  };
150
85
  };
151
86
  //# sourceMappingURL=configureOrdersModule-queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrdersModule-queries.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureOrdersModule-queries.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-queries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Order, OrderTransformations } from '@unchainedshop/types/orders.js';
2
+ import { mongodb } from '@unchainedshop/mongodb';
3
+ export declare const configureOrderModuleTransformations: ({ Orders, }: {
4
+ Orders: mongodb.Collection<Order>;
5
+ }) => OrderTransformations;
6
+ //# sourceMappingURL=configureOrdersModule-transformations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureOrdersModule-transformations.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule-transformations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAOjD,eAAO,MAAM,mCAAmC,gBAE7C;IACD,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;CACnC,KAAG,oBAwIH,CAAC"}
@@ -0,0 +1,112 @@
1
+ import { DeliveryPricingRowCategory } from '@unchainedshop/types/delivery.pricing.js';
2
+ import { PaymentPricingRowCategory } from '@unchainedshop/types/payments.pricing.js';
3
+ import { ProductPricingRowCategory } from '@unchainedshop/types/products.pricing.js';
4
+ import { OrderPricingRowCategory } from '@unchainedshop/types/orders.pricing.js';
5
+ import { OrderPricingSheet } from '../director/OrderPricingSheet.js';
6
+ export const configureOrderModuleTransformations = ({ Orders, }) => {
7
+ return {
8
+ discounted: async (order, orderDiscount, unchainedAPI) => {
9
+ const { modules } = unchainedAPI;
10
+ // Delivery discounts
11
+ const orderDelivery = await modules.orders.deliveries.findDelivery({
12
+ orderDeliveryId: order.deliveryId,
13
+ });
14
+ const orderDeliveryDiscounts = modules.orders.deliveries.discounts(orderDelivery, { order, orderDiscount }, unchainedAPI);
15
+ // Payment discounts
16
+ const orderPayment = await modules.orders.payments.findOrderPayment({
17
+ orderPaymentId: order.paymentId,
18
+ });
19
+ const orderPaymentDiscounts = modules.orders.payments.discounts(orderPayment, { order, orderDiscount }, unchainedAPI);
20
+ // Position discounts
21
+ const orderPositions = await modules.orders.positions.findOrderPositions({
22
+ orderId: order._id,
23
+ });
24
+ const orderPositionDiscounts = orderPositions.flatMap((orderPosition) => modules.orders.positions.discounts(orderPosition, { order, orderDiscount }, unchainedAPI));
25
+ // order discounts
26
+ const pricingSheet = OrderPricingSheet({
27
+ calculation: order.calculation,
28
+ currency: order.currency,
29
+ });
30
+ const orderDiscounts = pricingSheet
31
+ .discountPrices(orderDiscount._id)
32
+ .map((discount) => ({ order, ...discount }));
33
+ // All discounts
34
+ const discounted = [
35
+ ...orderPaymentDiscounts,
36
+ ...orderDeliveryDiscounts,
37
+ ...orderPositionDiscounts,
38
+ ...orderDiscounts,
39
+ ].filter(Boolean);
40
+ return discounted;
41
+ },
42
+ discountTotal: async (order, orderDiscount, unchainedAPI) => {
43
+ const { modules } = unchainedAPI;
44
+ const orderDiscountId = orderDiscount._id;
45
+ // Delivery discounts
46
+ const orderDelivery = await modules.orders.deliveries.findDelivery({
47
+ orderDeliveryId: order.deliveryId,
48
+ });
49
+ const orderDeliveryDiscountSum = orderDelivery &&
50
+ modules.orders.deliveries
51
+ .pricingSheet(orderDelivery, order.currency, unchainedAPI)
52
+ .total({ category: DeliveryPricingRowCategory.Discount, discountId: orderDiscountId });
53
+ // Payment discounts
54
+ const orderPayment = await modules.orders.payments.findOrderPayment({
55
+ orderPaymentId: order.paymentId,
56
+ });
57
+ const orderPaymentDiscountSum = orderPayment &&
58
+ modules.orders.payments
59
+ .pricingSheet(orderPayment, order.currency, unchainedAPI)
60
+ .total({ category: PaymentPricingRowCategory.Discount, discountId: orderDiscountId });
61
+ // Position discounts
62
+ const orderPositions = await modules.orders.positions.findOrderPositions({
63
+ orderId: order._id,
64
+ });
65
+ const orderPositionDiscounts = orderPositions.map((orderPosition) => modules.orders.positions
66
+ .pricingSheet(orderPosition, order.currency, unchainedAPI)
67
+ .total({ category: ProductPricingRowCategory.Discount, discountId: orderDiscountId }));
68
+ // order discounts
69
+ const orderDiscountSum = OrderPricingSheet({
70
+ calculation: order.calculation,
71
+ currency: order.currency,
72
+ }).total({ category: OrderPricingRowCategory.Discounts, discountId: orderDiscountId });
73
+ const prices = [
74
+ orderDeliveryDiscountSum.amount,
75
+ orderPaymentDiscountSum.amount,
76
+ ...orderPositionDiscounts.map((positionDiscount) => positionDiscount.amount),
77
+ orderDiscountSum.amount,
78
+ ];
79
+ const amount = prices.reduce((oldValue, price) => oldValue + (price || 0), 0);
80
+ return {
81
+ amount,
82
+ currency: order.currency,
83
+ };
84
+ },
85
+ isCart: (order) => {
86
+ return order.status === null;
87
+ },
88
+ cart: async ({ orderNumber, countryContext, userId }) => {
89
+ const selector = {
90
+ countryCode: countryContext,
91
+ status: { $eq: null },
92
+ userId,
93
+ };
94
+ if (orderNumber) {
95
+ selector.orderNumber = orderNumber;
96
+ }
97
+ const options = {
98
+ sort: {
99
+ updated: -1,
100
+ },
101
+ };
102
+ return Orders.findOne(selector, options);
103
+ },
104
+ pricingSheet: (order) => {
105
+ return OrderPricingSheet({
106
+ calculation: order.calculation,
107
+ currency: order.currency,
108
+ });
109
+ },
110
+ };
111
+ };
112
+ //# sourceMappingURL=configureOrdersModule-transformations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureOrdersModule-transformations.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule-transformations.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,159 @@
1
- import { ModuleInput } from '@unchainedshop/mongodb';
1
+ import { ModuleInput, mongodb } from '@unchainedshop/mongodb';
2
2
  import { Order, OrderStatus } from '../db/OrdersCollection.js';
3
3
  import { OrdersSettingsOptions } from '../orders-settings.js';
4
- import { OrderDeliveriesModule } from './configureOrderDeliveriesModule.js';
5
- import { OrderDiscountsModule } from './configureOrderDiscountsModule.js';
6
- import { OrderPaymentsModule } from './configureOrderPaymentsModule.js';
7
- import { OrderPositionsModule } from './configureOrderPositionsModule.js';
8
- import { OrderMutations } from './configureOrdersModule-mutations.js';
9
- import { OrderQueries } from './configureOrdersModule-queries.js';
10
- export type OrdersModule = OrderQueries & OrderMutations & {
11
- deliveries: OrderDeliveriesModule;
12
- discounts: OrderDiscountsModule;
13
- positions: OrderPositionsModule;
14
- payments: OrderPaymentsModule;
15
- updateStatus: (orderId: string, params: {
16
- status: OrderStatus;
4
+ export declare const configureOrdersModule: ({ db, migrationRepository, options: orderOptions, }: ModuleInput<OrdersSettingsOptions>) => Promise<{
5
+ deliveries: {
6
+ findDelivery: ({ orderDeliveryId }: {
7
+ orderDeliveryId: string;
8
+ }, options?: mongodb.FindOptions) => Promise<import("../db/OrderDeliveriesCollection.js").OrderDelivery | null>;
9
+ findDeliveryByProvidersId: ({ deliveryProviderIds }: {
10
+ deliveryProviderIds: string[];
11
+ }, options?: mongodb.FindOptions) => Promise<import("../db/OrderDeliveriesCollection.js").OrderDelivery[]>;
12
+ normalizedStatus: (orderDelivery: import("../db/OrderDeliveriesCollection.js").OrderDelivery) => import("../db/OrderDeliveriesCollection.js").OrderDeliveryStatus;
13
+ create: (doc: Omit<import("../db/OrderDeliveriesCollection.js").OrderDelivery, "_id" | "created"> & Pick<Partial<import("../db/OrderDeliveriesCollection.js").OrderDelivery>, "_id" | "created">) => Promise<import("../db/OrderDeliveriesCollection.js").OrderDelivery>;
14
+ delete: (orderDeliveryId: string) => Promise<number>;
15
+ markAsDelivered: (orderDelivery: import("../db/OrderDeliveriesCollection.js").OrderDelivery) => Promise<mongodb.WithId<import("../db/OrderDeliveriesCollection.js").OrderDelivery> | null | undefined>;
16
+ updateContext: (orderDeliveryId: string, context: any) => Promise<mongodb.WithId<import("../db/OrderDeliveriesCollection.js").OrderDelivery> | null>;
17
+ updateStatus: (orderDeliveryId: string, { status, info }: {
18
+ status: import("../db/OrderDeliveriesCollection.js").OrderDeliveryStatus;
19
+ info?: string;
20
+ }) => Promise<mongodb.WithId<import("../db/OrderDeliveriesCollection.js").OrderDelivery> | null>;
21
+ updateCalculation: <T extends import("@unchainedshop/utils").PricingCalculation>(orderDeliveryId: string, calculation: T[]) => Promise<mongodb.WithId<import("../db/OrderDeliveriesCollection.js").OrderDelivery> | null>;
22
+ deleteOrderDeliveries: (orderId: string) => Promise<number>;
23
+ };
24
+ discounts: {
25
+ findOrderDiscount: ({ discountId }: {
26
+ discountId: string;
27
+ }, options?: mongodb.FindOptions) => Promise<import("../db/OrderDiscountsCollection.js").OrderDiscount | null>;
28
+ findOrderDiscounts: ({ orderId }: {
29
+ orderId: string;
30
+ }) => Promise<import("../db/OrderDiscountsCollection.js").OrderDiscount[]>;
31
+ create: (doc: Omit<import("../db/OrderDiscountsCollection.js").OrderDiscount, "_id" | "created" | "trigger"> & Pick<Partial<import("../db/OrderDiscountsCollection.js").OrderDiscount>, "_id" | "created" | "trigger">) => Promise<import("../db/OrderDiscountsCollection.js").OrderDiscount>;
32
+ delete: (orderDiscountId: string) => Promise<mongodb.WithId<import("../db/OrderDiscountsCollection.js").OrderDiscount> | null>;
33
+ isDiscountCodeUsed: ({ code, orderId }: {
34
+ code: any;
35
+ orderId: any;
36
+ }) => Promise<boolean>;
37
+ findSpareDiscount: ({ code }: {
38
+ code: any;
39
+ }) => Promise<mongodb.WithId<import("../db/OrderDiscountsCollection.js").OrderDiscount> | null>;
40
+ update: (orderDiscountId: string, doc: Partial<import("../db/OrderDiscountsCollection.js").OrderDiscount>) => Promise<mongodb.WithId<import("../db/OrderDiscountsCollection.js").OrderDiscount> | null>;
41
+ deleteOrderDiscounts: (orderId: string) => Promise<number>;
42
+ };
43
+ positions: {
44
+ findOrderPosition: ({ itemId }: {
45
+ itemId: string;
46
+ }, options?: mongodb.FindOptions) => Promise<import("../db/OrderPositionsCollection.js").OrderPosition | null>;
47
+ findOrderPositions: ({ orderId }: {
48
+ orderId: string;
49
+ }) => Promise<import("../db/OrderPositionsCollection.js").OrderPosition[]>;
50
+ delete: (orderPositionId: string) => Promise<mongodb.WithId<import("../db/OrderPositionsCollection.js").OrderPosition> | null>;
51
+ removePositions: ({ orderId }: {
52
+ orderId: string;
53
+ }) => Promise<number>;
54
+ updateProductItem: ({ orderPositionId, quantity, configuration, }: {
55
+ orderPositionId: string;
56
+ configuration?: {
57
+ key: string;
58
+ value: string;
59
+ }[];
60
+ quantity?: number;
61
+ }) => Promise<mongodb.WithId<import("../db/OrderPositionsCollection.js").OrderPosition> | null>;
62
+ removeProductByIdFromAllOpenPositions: (productId: string) => Promise<string[]>;
63
+ updateScheduling: (orderPositionId: any, scheduling: any) => Promise<mongodb.WithId<import("../db/OrderPositionsCollection.js").OrderPosition> | null>;
64
+ updateCalculation: <T extends import("@unchainedshop/utils").PricingCalculation>(orderPositionId: string, calculation: T[]) => Promise<mongodb.WithId<import("../db/OrderPositionsCollection.js").OrderPosition> | null>;
65
+ addProductItem: (orderPosition: {
66
+ context?: any;
67
+ configuration?: {
68
+ key: string;
69
+ value: string;
70
+ }[] | null;
71
+ orderId: string;
72
+ originalProductId: string;
73
+ productId: string;
74
+ quantity: number;
75
+ quotationId?: string;
76
+ }) => Promise<import("../db/OrderPositionsCollection.js").OrderPosition>;
77
+ deleteOrderPositions: (orderId: string) => Promise<number>;
78
+ aggregatePositions: ({ match, project, group, addFields, sort, limit, pipeline, }: import("./configureOrderPositionsModule.js").OrderPositionAggregateParams) => Promise<mongodb.Document[]>;
79
+ };
80
+ payments: {
81
+ findOrderPayment: ({ orderPaymentId, }: {
82
+ orderPaymentId: string;
83
+ }, options?: mongodb.FindOptions) => Promise<import("../db/OrderPaymentsCollection.js").OrderPayment | null>;
84
+ findOrderPaymentsByProviderIds: ({ paymentProviderIds, }: {
85
+ paymentProviderIds: string[];
86
+ }, options?: mongodb.FindOptions) => Promise<import("../db/OrderPaymentsCollection.js").OrderPayment[]>;
87
+ findOrderPaymentByContextData: ({ context, }: {
88
+ context: any;
89
+ }, options?: mongodb.FindOptions) => Promise<import("../db/OrderPaymentsCollection.js").OrderPayment | null>;
90
+ countOrderPaymentsByContextData: ({ context, }: {
91
+ context: any;
92
+ }, options?: mongodb.FindOptions) => Promise<number>;
93
+ normalizedStatus: (orderPayment: import("../db/OrderPaymentsCollection.js").OrderPayment) => import("../db/OrderPaymentsCollection.js").OrderPaymentStatus;
94
+ create: (doc: Omit<import("../db/OrderPaymentsCollection.js").OrderPayment, "_id" | "created"> & Pick<Partial<import("../db/OrderPaymentsCollection.js").OrderPayment>, "_id" | "created">) => Promise<import("../db/OrderPaymentsCollection.js").OrderPayment>;
95
+ logEvent: (orderPaymentId: string, event: any) => Promise<boolean>;
96
+ markAsPaid: (orderPayment: import("../db/OrderPaymentsCollection.js").OrderPayment, meta: any) => Promise<void>;
97
+ updateContext: (orderPaymentId: string, context: any) => Promise<mongodb.WithId<import("../db/OrderPaymentsCollection.js").OrderPayment> | null>;
98
+ updateStatus: (orderPaymentId: string, { transactionId, status, info, }: {
99
+ transactionId?: string;
100
+ status: import("../db/OrderPaymentsCollection.js").OrderPaymentStatus;
101
+ info?: string;
102
+ }) => Promise<mongodb.WithId<import("../db/OrderPaymentsCollection.js").OrderPayment> | null>;
103
+ updateCalculation: <T extends import("@unchainedshop/utils").PricingCalculation>(orderPaymentId: string, calculation: T[]) => Promise<mongodb.WithId<import("../db/OrderPaymentsCollection.js").OrderPayment> | null>;
104
+ deleteOrderPayments: (orderId: string) => Promise<number>;
105
+ };
106
+ updateStatus: (orderId: string, { status, info }: {
107
+ status: OrderStatus | null;
17
108
  info?: string;
109
+ }) => Promise<mongodb.WithId<Order> | null>;
110
+ acquireLock: (orderId: string, identifier: string, timeout?: number) => Promise<any>;
111
+ setDeliveryProvider: (orderId: string, deliveryProviderId: string) => Promise<mongodb.WithId<Order> | null>;
112
+ setPaymentProvider: (orderId: string, paymentProviderId: string) => Promise<mongodb.WithId<Order> | null>;
113
+ create: ({ userId, orderNumber, currencyCode, countryCode, billingAddress, contact, context, }: {
114
+ userId: string;
115
+ billingAddress?: import("@unchainedshop/mongodb").Address;
116
+ contact?: import("@unchainedshop/mongodb").Contact;
117
+ countryCode: string;
118
+ currencyCode: string;
119
+ orderNumber?: string;
120
+ originEnrollmentId?: string;
121
+ context?: Record<string, any>;
18
122
  }) => Promise<Order>;
19
- acquireLock: (orderId: string, identifier: string, timeout?: number) => Promise<{
20
- release: () => void;
21
- }>;
22
- setDeliveryProvider: (orderId: string, deliveryProviderId: string) => Promise<Order>;
23
- setPaymentProvider: (orderId: string, paymentProviderId: string) => Promise<Order>;
24
- };
25
- export declare const configureOrdersModule: ({ db, migrationRepository, options: orderOptions, }: ModuleInput<OrdersSettingsOptions>) => Promise<OrdersModule>;
123
+ delete: (orderId: string) => Promise<number>;
124
+ setCartOwner: ({ orderId, userId }: {
125
+ orderId: string;
126
+ userId: string;
127
+ }) => Promise<void>;
128
+ moveCartPositions: ({ fromOrderId, toOrderId, }: {
129
+ fromOrderId: string;
130
+ toOrderId: string;
131
+ }) => Promise<void>;
132
+ updateBillingAddress: (orderId: string, billingAddress: import("@unchainedshop/mongodb").Address) => Promise<mongodb.WithId<Order> | null>;
133
+ updateContact: (orderId: string, contact: import("@unchainedshop/mongodb").Contact) => Promise<mongodb.WithId<Order> | null>;
134
+ updateCalculationSheet: (orderId: string, calculation: any) => Promise<mongodb.WithId<Order> | null>;
135
+ updateContext: (orderId: string, context: any) => Promise<mongodb.WithId<Order> | null>;
136
+ isCart: (order: Order) => boolean;
137
+ cart: ({ orderNumber, countryCode, userId, }: {
138
+ countryCode?: string;
139
+ orderNumber?: string;
140
+ userId: string;
141
+ }) => Promise<mongodb.WithId<Order> | null>;
142
+ count: (query: import("../db/OrdersCollection.js").OrderQuery) => Promise<number>;
143
+ findOrder: ({ orderId, orderNumber, }: {
144
+ orderId?: string;
145
+ orderNumber?: string;
146
+ }, options?: mongodb.FindOptions) => Promise<Order | null>;
147
+ findCartsToInvalidate: (maxAgeDays?: number) => Promise<mongodb.WithId<Order>[]>;
148
+ findOrders: ({ limit, offset, queryString, sort, ...query }: import("../db/OrdersCollection.js").OrderQuery & {
149
+ limit?: number;
150
+ offset?: number;
151
+ sort?: import("@unchainedshop/utils").SortOption[];
152
+ }, options?: mongodb.FindOptions) => Promise<Order[]>;
153
+ orderExists: ({ orderId }: {
154
+ orderId: string;
155
+ }) => Promise<boolean>;
156
+ aggregateOrders: ({ match, project, group, sort, limit, addFields, pipeline, }: import("./configureOrdersModule-queries.js").OrderAggregateParams) => Promise<mongodb.Document[]>;
157
+ }>;
158
+ export type OrdersModule = Awaited<ReturnType<typeof configureOrdersModule>>;
26
159
  //# sourceMappingURL=configureOrdersModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrdersModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,EAAW,MAAM,wBAAwB,CAAC;AAMpF,OAAO,EAAoB,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAkB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAEL,qBAAqB,EACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAiC,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACzG,OAAO,EAAgC,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACtG,OAAO,EAAiC,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACzG,OAAO,EAAiC,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAgC,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKhG,MAAM,MAAM,YAAY,GAAG,YAAY,GACrC,cAAc,GAAG;IAEf,UAAU,EAAE,qBAAqB,CAAC;IAClC,SAAS,EAAE,oBAAoB,CAAC;IAChC,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,mBAAmB,CAAC;IAE9B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IAClG,WAAW,EAAE,CACX,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAC;IACtC,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACrF,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;CACpF,CAAC;AAaJ,eAAO,MAAM,qBAAqB,GAAU,qDAIzC,WAAW,CAAC,qBAAqB,CAAC,KAAG,OAAO,CAAC,YAAY,CAsN3D,CAAC"}
1
+ {"version":3,"file":"configureOrdersModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,WAAW,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAMpF,OAAO,EAAoB,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAkB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAsB9E,eAAO,MAAM,qBAAqB,GAAU,qDAIzC,WAAW,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;gBArB6C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAyCxE,CAAC;;;;oBACuB,CAAC;;;;;;mBA+E1B,CAAC;yBAED,CAAH;;;;;;;;uBASC,CAAN;;;;;;;;;;;;;;;;;;;;;;;;yBAzHe,CAAC;;gBAGhB,CAAF;;;;;4BAyEe,MAAM,oBACG;QAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;2BA8EpC,MAAM,cAAc,MAAM;mCAIlB,MAAM,sBAAsB,MAAM;kCAqCnC,MAAM,qBAAqB,MAAM;;;sBAhNtC,CAAC;eAAwB,CAAC;;;mBACD,CAAC;0BACpD,CAAC;eAAuB,CAAC;;;;;;;;;;;;;;;;;mBAC9B,CAAC;mBAA2B,CAAC;;;;;eAuBJ,CAAC;mBAEJ,CAAC;;;;aAyBY,CAAC;cACpC,CAAF;YACE,CAAC;;;;;;EA4LJ,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC"}
@@ -6,7 +6,7 @@ import { OrderPaymentsCollection } from '../db/OrderPaymentsCollection.js';
6
6
  import { OrderPositionsCollection } from '../db/OrderPositionsCollection.js';
7
7
  import { OrdersCollection, OrderStatus } from '../db/OrdersCollection.js';
8
8
  import { ordersSettings } from '../orders-settings.js';
9
- import { configureOrderDeliveriesModule, } from './configureOrderDeliveriesModule.js';
9
+ import { configureOrderDeliveriesModule } from './configureOrderDeliveriesModule.js';
10
10
  import { configureOrderDiscountsModule } from './configureOrderDiscountsModule.js';
11
11
  import { configureOrderPaymentsModule } from './configureOrderPaymentsModule.js';
12
12
  import { configureOrderPositionsModule } from './configureOrderPositionsModule.js';
@@ -77,6 +77,8 @@ export const configureOrdersModule = async ({ db, migrationRepository, options:
77
77
  updateStatus: async (orderId, { status, info }) => {
78
78
  const selector = generateDbFilterById(orderId);
79
79
  const order = await Orders.findOne(selector, {});
80
+ if (!order)
81
+ return null;
80
82
  if (order.status === status)
81
83
  return order;
82
84
  const date = new Date();
@@ -157,12 +159,14 @@ export const configureOrdersModule = async ({ db, migrationRepository, options:
157
159
  orderId,
158
160
  status: null,
159
161
  }))._id;
160
- const order = await Orders.findOneAndUpdate({ _id: orderId }, {
162
+ const order = await Orders.findOneAndUpdate({ _id: orderId, deliveryId: { $ne: deliveryId } }, {
161
163
  $set: {
162
164
  deliveryId,
163
165
  updated: new Date(),
164
166
  },
165
167
  }, { returnDocument: 'after' });
168
+ if (!order)
169
+ return null;
166
170
  await emit('ORDER_SET_DELIVERY_PROVIDER', {
167
171
  order,
168
172
  deliveryProviderId,
@@ -182,9 +186,11 @@ export const configureOrdersModule = async ({ db, migrationRepository, options:
182
186
  orderId,
183
187
  status: null,
184
188
  }))._id;
185
- const order = await Orders.findOneAndUpdate({ _id: orderId }, {
189
+ const order = await Orders.findOneAndUpdate({ _id: orderId, paymentId: { $ne: paymentId } }, {
186
190
  $set: { paymentId, updated: new Date() },
187
191
  }, { returnDocument: 'after' });
192
+ if (!order)
193
+ return null;
188
194
  await emit('ORDER_SET_PAYMENT_PROVIDER', {
189
195
  order,
190
196
  paymentProviderId,