@unchainedshop/core-orders 4.0.0-rc.2 → 4.0.0-rc.21

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 (132) 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 +1 -2
  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/module/buildFindSelector.d.ts +1 -1
  63. package/lib/module/buildFindSelector.d.ts.map +1 -1
  64. package/lib/module/buildFindSelector.js +17 -1
  65. package/lib/module/buildFindSelector.js.map +1 -1
  66. package/lib/module/configureOrderDeliveriesModule.d.ts +9 -6
  67. package/lib/module/configureOrderDeliveriesModule.d.ts.map +1 -1
  68. package/lib/module/configureOrderDeliveriesModule.js +14 -10
  69. package/lib/module/configureOrderDeliveriesModule.js.map +1 -1
  70. package/lib/module/configureOrderDiscountsModule.d.ts +5 -5
  71. package/lib/module/configureOrderDiscountsModule.d.ts.map +1 -1
  72. package/lib/module/configureOrderDiscountsModule.js +3 -3
  73. package/lib/module/configureOrderDiscountsModule.js.map +1 -1
  74. package/lib/module/configureOrderPaymentsModule.d.ts +10 -7
  75. package/lib/module/configureOrderPaymentsModule.d.ts.map +1 -1
  76. package/lib/module/configureOrderPaymentsModule.js +18 -10
  77. package/lib/module/configureOrderPaymentsModule.js.map +1 -1
  78. package/lib/module/configureOrderPositionsModule.d.ts +16 -5
  79. package/lib/module/configureOrderPositionsModule.d.ts.map +1 -1
  80. package/lib/module/configureOrderPositionsModule.js +25 -5
  81. package/lib/module/configureOrderPositionsModule.js.map +1 -1
  82. package/lib/module/configureOrdersModule-mutations.d.ts +14 -13
  83. package/lib/module/configureOrdersModule-mutations.d.ts.map +1 -1
  84. package/lib/module/configureOrdersModule-mutations.js +19 -11
  85. package/lib/module/configureOrdersModule-mutations.js.map +1 -1
  86. package/lib/module/configureOrdersModule-processing.d.ts +14 -0
  87. package/lib/module/configureOrdersModule-processing.d.ts.map +1 -0
  88. package/lib/module/configureOrdersModule-processing.js +348 -0
  89. package/lib/module/configureOrdersModule-processing.js.map +1 -0
  90. package/lib/module/configureOrdersModule-queries.d.ts +21 -6
  91. package/lib/module/configureOrdersModule-queries.d.ts.map +1 -1
  92. package/lib/module/configureOrdersModule-queries.js +19 -84
  93. package/lib/module/configureOrdersModule-queries.js.map +1 -1
  94. package/lib/module/configureOrdersModule-transformations.d.ts +6 -0
  95. package/lib/module/configureOrdersModule-transformations.d.ts.map +1 -0
  96. package/lib/module/configureOrdersModule-transformations.js +112 -0
  97. package/lib/module/configureOrdersModule-transformations.js.map +1 -0
  98. package/lib/module/configureOrdersModule.d.ts +154 -21
  99. package/lib/module/configureOrdersModule.d.ts.map +1 -1
  100. package/lib/module/configureOrdersModule.js +9 -3
  101. package/lib/module/configureOrdersModule.js.map +1 -1
  102. package/lib/orders-settings.d.ts +8 -12
  103. package/lib/orders-settings.d.ts.map +1 -1
  104. package/lib/orders-settings.js +8 -8
  105. package/lib/orders-settings.js.map +1 -1
  106. package/lib/service/migrateOrderCartService.d.ts +3 -0
  107. package/lib/service/migrateOrderCartService.d.ts.map +1 -0
  108. package/lib/service/migrateOrderCartService.js +32 -0
  109. package/lib/service/migrateOrderCartService.js.map +1 -0
  110. package/lib/service/nextUserCartService.d.ts +3 -0
  111. package/lib/service/nextUserCartService.d.ts.map +1 -0
  112. package/lib/service/nextUserCartService.js +34 -0
  113. package/lib/service/nextUserCartService.js.map +1 -0
  114. package/lib/service/orderServices.d.ts +3 -0
  115. package/lib/service/orderServices.d.ts.map +1 -0
  116. package/lib/service/orderServices.js +7 -0
  117. package/lib/service/orderServices.js.map +1 -0
  118. package/package.json +6 -6
  119. package/src/db/OrderDeliveriesCollection.ts +2 -2
  120. package/src/db/OrderDiscountsCollection.ts +2 -2
  121. package/src/db/OrderPaymentsCollection.ts +3 -3
  122. package/src/db/OrderPositionsCollection.ts +1 -2
  123. package/src/db/OrdersCollection.ts +31 -22
  124. package/src/module/buildFindSelector.ts +19 -1
  125. package/src/module/configureOrderDeliveriesModule.ts +28 -16
  126. package/src/module/configureOrderDiscountsModule.ts +11 -11
  127. package/src/module/configureOrderPaymentsModule.ts +31 -20
  128. package/src/module/configureOrderPositionsModule.ts +47 -16
  129. package/src/module/configureOrdersModule-mutations.ts +46 -44
  130. package/src/module/configureOrdersModule-queries.ts +42 -91
  131. package/src/module/configureOrdersModule.ts +21 -33
  132. package/src/orders-settings.ts +20 -19
@@ -0,0 +1,101 @@
1
+ import { BasePricingSheet } from '@unchainedshop/utils';
2
+ import { OrderPricingRowCategory, } from '@unchainedshop/types/orders.pricing.js';
3
+ export const OrderPricingSheet = (params) => {
4
+ const basePricingSheet = BasePricingSheet(params);
5
+ const addTaxIfAvailabile = (category, taxAmount, meta, discountId) => {
6
+ if (taxAmount) {
7
+ basePricingSheet.calculation.push({
8
+ category: OrderPricingRowCategory.Taxes,
9
+ amount: taxAmount,
10
+ baseCategory: category,
11
+ discountId,
12
+ meta,
13
+ });
14
+ }
15
+ };
16
+ const pricingSheet = {
17
+ ...basePricingSheet,
18
+ addItems({ amount, taxAmount, meta }) {
19
+ basePricingSheet.calculation.push({
20
+ category: OrderPricingRowCategory.Items,
21
+ amount,
22
+ meta,
23
+ });
24
+ addTaxIfAvailabile(OrderPricingRowCategory.Items, taxAmount, meta);
25
+ },
26
+ addDiscount({ amount, taxAmount, discountId, meta }) {
27
+ basePricingSheet.calculation.push({
28
+ category: OrderPricingRowCategory.Discounts,
29
+ amount,
30
+ discountId,
31
+ meta,
32
+ });
33
+ addTaxIfAvailabile(OrderPricingRowCategory.Discounts, taxAmount, meta, discountId);
34
+ },
35
+ addDelivery({ amount, taxAmount, meta }) {
36
+ basePricingSheet.calculation.push({
37
+ category: OrderPricingRowCategory.Delivery,
38
+ amount,
39
+ meta,
40
+ });
41
+ addTaxIfAvailabile(OrderPricingRowCategory.Delivery, taxAmount, meta);
42
+ },
43
+ addPayment({ amount, taxAmount, meta }) {
44
+ basePricingSheet.calculation.push({
45
+ category: OrderPricingRowCategory.Payment,
46
+ amount,
47
+ meta,
48
+ });
49
+ addTaxIfAvailabile(OrderPricingRowCategory.Payment, taxAmount, meta);
50
+ },
51
+ taxSum(filter) {
52
+ return basePricingSheet.sum({
53
+ category: OrderPricingRowCategory.Taxes,
54
+ ...(filter || {}),
55
+ });
56
+ },
57
+ gross() {
58
+ // tax is included 2 times, this is only true for Order Pricing!
59
+ return basePricingSheet.sum() - this.taxSum();
60
+ },
61
+ net() {
62
+ return basePricingSheet.sum() - this.taxSum() - this.taxSum();
63
+ },
64
+ total({ category, useNetPrice, discountId } = { useNetPrice: false }) {
65
+ const taxAmount = this.taxSum({ baseCategory: category, discountId });
66
+ const amount = this.sum({ category, discountId }) - taxAmount;
67
+ // Sum does not contain taxes when filtering by category, it's net in that case and gross if there is no category
68
+ const netAmount = !category ? amount - taxAmount : amount;
69
+ return {
70
+ amount: Math.round(useNetPrice ? netAmount : netAmount + taxAmount),
71
+ currency: this.currency,
72
+ };
73
+ },
74
+ discountPrices(explicitDiscountId) {
75
+ const discountIds = pricingSheet
76
+ .filterBy({
77
+ category: OrderPricingRowCategory.Discounts,
78
+ discountId: explicitDiscountId,
79
+ })
80
+ .map(({ discountId }) => discountId);
81
+ return [...new Set(discountIds)]
82
+ .map((discountId) => {
83
+ const amount = basePricingSheet.sum({
84
+ category: OrderPricingRowCategory.Discounts,
85
+ discountId,
86
+ });
87
+ if (!amount) {
88
+ return null;
89
+ }
90
+ return {
91
+ discountId,
92
+ amount: Math.round(amount),
93
+ currency: basePricingSheet.currency,
94
+ };
95
+ })
96
+ .filter(Boolean);
97
+ },
98
+ };
99
+ return pricingSheet;
100
+ };
101
+ //# sourceMappingURL=OrderPricingSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderPricingSheet.js","sourceRoot":"","sources":["../../src/director/OrderPricingSheet.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { OrderQuery, Order } from '../db/OrdersCollection.js';
2
2
  import { mongodb } from '@unchainedshop/mongodb';
3
- export declare const buildFindSelector: ({ includeCarts, status, userId, queryString, ...rest }: OrderQuery) => mongodb.Filter<Order>;
3
+ export declare const buildFindSelector: ({ includeCarts, status, userId, queryString, paymentIds, deliveryIds, dateRange, ...rest }: OrderQuery) => mongodb.Filter<Order>;
4
4
  export default buildFindSelector;
5
5
  //# sourceMappingURL=buildFindSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildFindSelector.d.ts","sourceRoot":"","sources":["../../src/module/buildFindSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAA8B,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE7E,eAAO,MAAM,iBAAiB,GAAI,wDAM/B,UAAU,0BAmBZ,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"buildFindSelector.d.ts","sourceRoot":"","sources":["../../src/module/buildFindSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAA8B,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE7E,eAAO,MAAM,iBAAiB,GAAI,4FAS/B,UAAU,0BAkCZ,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,9 +1,25 @@
1
1
  import { assertDocumentDBCompatMode } from '@unchainedshop/mongodb';
2
- export const buildFindSelector = ({ includeCarts, status, userId, queryString, ...rest }) => {
2
+ export const buildFindSelector = ({ includeCarts, status, userId, queryString, paymentIds, deliveryIds, dateRange, ...rest }) => {
3
3
  const selector = { ...rest };
4
4
  if (userId) {
5
5
  selector.userId = userId;
6
6
  }
7
+ if (dateRange) {
8
+ const dateFilter = {};
9
+ if (dateRange.start)
10
+ dateFilter.$gte = new Date(dateRange.start);
11
+ if (dateRange.end)
12
+ dateFilter.$lte = new Date(dateRange.end);
13
+ if (Object.keys(dateFilter).length > 0) {
14
+ selector.ordered = dateFilter;
15
+ }
16
+ }
17
+ if (Array.isArray(deliveryIds) && deliveryIds?.length) {
18
+ selector.deliveryId = { $in: deliveryIds };
19
+ }
20
+ if (Array.isArray(paymentIds) && paymentIds?.length) {
21
+ selector.paymentId = { $in: paymentIds };
22
+ }
7
23
  if (Array.isArray(status) && status?.length) {
8
24
  selector.status = { $in: status };
9
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildFindSelector.js","sourceRoot":"","sources":["../../src/module/buildFindSelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAW,MAAM,wBAAwB,CAAC;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,YAAY,EACZ,MAAM,EACN,MAAM,EACN,WAAW,EACX,GAAG,IAAI,EACI,EAAE,EAAE;IACf,MAAM,QAAQ,GAA0B,EAAE,GAAG,IAAI,EAAE,CAAC;IAEpD,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5C,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;SAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACzB,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,mDAAmD;IACtF,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,0BAA0B,EAAE,CAAC;QAC5B,QAAgB,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACrD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"buildFindSelector.js","sourceRoot":"","sources":["../../src/module/buildFindSelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAW,MAAM,wBAAwB,CAAC;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,YAAY,EACZ,MAAM,EACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,EACT,GAAG,IAAI,EACI,EAAE,EAAE;IACf,MAAM,QAAQ,GAA0B,EAAE,GAAG,IAAI,EAAE,CAAC;IAEpD,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAC3B,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,UAAU,GAA0B,EAAE,CAAC;QAC7C,IAAI,SAAS,CAAC,KAAK;YAAE,UAAU,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,SAAS,CAAC,GAAG;YAAE,UAAU,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC;QAChC,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;QACtD,QAAQ,CAAC,UAAU,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;QACpD,QAAQ,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5C,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;SAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACzB,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,mDAAmD;IACtF,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,0BAA0B,EAAE,CAAC;QAC5B,QAAgB,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACrD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -7,17 +7,20 @@ export declare const configureOrderDeliveriesModule: ({ OrderDeliveries, }: {
7
7
  }) => {
8
8
  findDelivery: ({ orderDeliveryId }: {
9
9
  orderDeliveryId: string;
10
- }, options?: mongodb.FindOptions) => Promise<OrderDelivery>;
10
+ }, options?: mongodb.FindOptions) => Promise<OrderDelivery | null>;
11
+ findDeliveryByProvidersId: ({ deliveryProviderIds }: {
12
+ deliveryProviderIds: string[];
13
+ }, options?: mongodb.FindOptions) => Promise<OrderDelivery[]>;
11
14
  normalizedStatus: (orderDelivery: OrderDelivery) => OrderDeliveryStatus;
12
- create: (doc: OrderDelivery) => Promise<OrderDelivery>;
15
+ create: (doc: Omit<OrderDelivery, "_id" | "created"> & Pick<Partial<OrderDelivery>, "_id" | "created">) => Promise<OrderDelivery>;
13
16
  delete: (orderDeliveryId: string) => Promise<number>;
14
- markAsDelivered: (orderDelivery: OrderDelivery) => Promise<OrderDelivery>;
15
- updateContext: (orderDeliveryId: string, context: any) => Promise<OrderDelivery>;
17
+ markAsDelivered: (orderDelivery: OrderDelivery) => Promise<mongodb.WithId<OrderDelivery> | null | undefined>;
18
+ updateContext: (orderDeliveryId: string, context: any) => Promise<mongodb.WithId<OrderDelivery> | null>;
16
19
  updateStatus: (orderDeliveryId: string, { status, info }: {
17
20
  status: OrderDeliveryStatus;
18
21
  info?: string;
19
- }) => Promise<OrderDelivery>;
20
- updateCalculation: <T extends PricingCalculation>(orderDeliveryId: string, calculation: T[]) => Promise<OrderDelivery>;
22
+ }) => Promise<mongodb.WithId<OrderDelivery> | null>;
23
+ updateCalculation: <T extends PricingCalculation>(orderDeliveryId: string, calculation: T[]) => Promise<mongodb.WithId<OrderDelivery> | null>;
21
24
  deleteOrderDeliveries: (orderId: string) => Promise<number>;
22
25
  };
23
26
  export type OrderDeliveriesModule = ReturnType<typeof configureOrderDeliveriesModule>;
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrderDeliveriesModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderDeliveriesModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4C,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAIxF,eAAO,MAAM,qBAAqB,GAAI,iBAAiB,MAAM,KAClB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzE,eAAO,MAAM,8BAA8B,GAAI,sBAE5C;IACD,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CACpD;wCAqC0B;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,YACtC,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,aAAa,CAAC;sCApCc,aAAa;kBA4ChC,aAAa,KAAG,OAAO,CAAC,aAAa,CAAC;8BAa1B,MAAM;qCAKC,aAAa;qCAUb,MAAM,WAAW,GAAG,KAAG,OAAO,CAAC,aAAa,CAAC;oCAjEnE,MAAM,oBACL;QAAE,MAAM,EAAE,mBAAmB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAC/D,OAAO,CAAC,aAAa,CAAC;wBA6FG,CAAC,SAAS,kBAAkB,mBACnC,MAAM,eACV,CAAC,EAAE,KACf,OAAO,CAAC,aAAa,CAAC;qCAec,MAAM;CAKhD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
1
+ {"version":3,"file":"configureOrderDeliveriesModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderDeliveriesModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4C,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAIxF,eAAO,MAAM,qBAAqB,GAAI,iBAAiB,MAAM,KAClB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzE,eAAO,MAAM,8BAA8B,GAAI,sBAE5C;IACD,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CACpD;wCAqC0B;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,YACtC,OAAO,CAAC,WAAW;yDAMJ;QAAE,mBAAmB,EAAE,MAAM,EAAE,CAAA;KAAE,YAChD,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,aAAa,EAAE,CAAC;sCA3CY,aAAa;kBAwD7C,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;8BAgB/D,MAAM;qCAKC,aAAa;qCAUb,MAAM,WAAW,GAAG;oCAhF1C,MAAM,oBACL;QAAE,MAAM,EAAE,mBAAmB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;wBA0GtC,CAAC,SAAS,kBAAkB,mBACnC,MAAM,eACV,CAAC,EAAE;qCAgBqB,MAAM;CAKhD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
@@ -35,6 +35,11 @@ export const configureOrderDeliveriesModule = ({ OrderDeliveries, }) => {
35
35
  findDelivery: async ({ orderDeliveryId }, options) => {
36
36
  return OrderDeliveries.findOne(buildFindByIdSelector(orderDeliveryId), options);
37
37
  },
38
+ findDeliveryByProvidersId: async ({ deliveryProviderIds }, options) => {
39
+ if (!deliveryProviderIds?.length)
40
+ return [];
41
+ return OrderDeliveries.find({ deliveryProviderId: { $in: deliveryProviderIds } }, options).toArray();
42
+ },
38
43
  normalizedStatus,
39
44
  // Mutations
40
45
  create: async (doc) => {
@@ -45,7 +50,7 @@ export const configureOrderDeliveriesModule = ({ OrderDeliveries, }) => {
45
50
  context: doc.context || {},
46
51
  status: null,
47
52
  });
48
- const orderDelivery = await OrderDeliveries.findOne(buildFindByIdSelector(orderDeliveryId));
53
+ const orderDelivery = (await OrderDeliveries.findOne(buildFindByIdSelector(orderDeliveryId)));
49
54
  return orderDelivery;
50
55
  },
51
56
  delete: async (orderDeliveryId) => {
@@ -67,19 +72,18 @@ export const configureOrderDeliveriesModule = ({ OrderDeliveries, }) => {
67
72
  if (!context || Object.keys(context).length === 0)
68
73
  return OrderDeliveries.findOne(selector, {});
69
74
  const contextSetters = Object.fromEntries(Object.entries(context).map(([key, value]) => [`context.${key}`, value]));
70
- const result = await OrderDeliveries.findOneAndUpdate(selector, {
75
+ const orderDelivery = await OrderDeliveries.findOneAndUpdate(selector, {
71
76
  $set: {
72
77
  ...contextSetters,
73
78
  updated: new Date(),
74
79
  },
75
- }, { includeResultMetadata: true, returnDocument: 'after' });
76
- if (result.ok) {
77
- await emit('ORDER_UPDATE_DELIVERY', {
78
- orderDelivery: result.value,
79
- });
80
- return result.value;
81
- }
82
- return null;
80
+ }, { returnDocument: 'after' });
81
+ if (!orderDelivery)
82
+ return null;
83
+ await emit('ORDER_UPDATE_DELIVERY', {
84
+ orderDelivery,
85
+ });
86
+ return orderDelivery;
83
87
  },
84
88
  updateStatus,
85
89
  updateCalculation: async (orderDeliveryId, calculation) => {
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrderDeliveriesModule.js","sourceRoot":"","sources":["../../src/module/configureOrderDeliveriesModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureOrderDeliveriesModule.js","sourceRoot":"","sources":["../../src/module/configureOrderDeliveriesModule.ts"],"names":[],"mappings":"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"}
@@ -6,20 +6,20 @@ export declare const configureOrderDiscountsModule: ({ OrderDiscounts, }: {
6
6
  }) => {
7
7
  findOrderDiscount: ({ discountId }: {
8
8
  discountId: string;
9
- }, options?: mongodb.FindOptions) => Promise<OrderDiscount>;
9
+ }, options?: mongodb.FindOptions) => Promise<OrderDiscount | null>;
10
10
  findOrderDiscounts: ({ orderId }: {
11
11
  orderId: string;
12
12
  }) => Promise<OrderDiscount[]>;
13
- create: (doc: OrderDiscount) => Promise<OrderDiscount>;
14
- delete: (orderDiscountId: string) => Promise<OrderDiscount>;
13
+ create: (doc: Omit<OrderDiscount, "_id" | "created" | "trigger"> & Pick<Partial<OrderDiscount>, "_id" | "created" | "trigger">) => Promise<OrderDiscount>;
14
+ delete: (orderDiscountId: string) => Promise<mongodb.WithId<OrderDiscount> | null>;
15
15
  isDiscountCodeUsed: ({ code, orderId }: {
16
16
  code: any;
17
17
  orderId: any;
18
18
  }) => Promise<boolean>;
19
19
  findSpareDiscount: ({ code }: {
20
20
  code: any;
21
- }) => Promise<OrderDiscount>;
22
- update: (orderDiscountId: string, doc: OrderDiscount) => Promise<OrderDiscount>;
21
+ }) => Promise<mongodb.WithId<OrderDiscount> | null>;
22
+ update: (orderDiscountId: string, doc: Partial<OrderDiscount>) => Promise<mongodb.WithId<OrderDiscount> | null>;
23
23
  deleteOrderDiscounts: (orderId: string) => Promise<number>;
24
24
  };
25
25
  export type OrderDiscountsModule = ReturnType<typeof configureOrderDiscountsModule>;
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrderDiscountsModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAwB,MAAM,mCAAmC,CAAC;AAQxF,eAAO,MAAM,kCAAkC,GAAI,iBAAiB,MAAM,KAC/B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzE,eAAO,MAAM,6BAA6B,GAAI,qBAE3C;IACD,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CACnD;wCAMqB;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,YAC5B,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,aAAa,CAAC;sCAIe;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,aAAa,EAAE,CAAC;kBAKlE,aAAa,KAAG,OAAO,CAAC,aAAa,CAAC;8BAe1B,MAAM,KAAG,OAAO,CAAC,aAAa,CAAC;;;;UAOhB,OAAO,CAAC,OAAO,CAAC;;;UAS1B,OAAO,CAAC,aAAa,CAAC;8BAO3B,MAAM,OAAO,aAAa,KAAG,OAAO,CAAC,aAAa,CAAC;oCAe7C,MAAM;CAK/C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
1
+ {"version":3,"file":"configureOrderDiscountsModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAwB,MAAM,mCAAmC,CAAC;AAQxF,eAAO,MAAM,kCAAkC,GAAI,iBAAiB,MAAM,KAC/B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzE,eAAO,MAAM,6BAA6B,GAAI,qBAE3C;IACD,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CACnD;wCAK6C;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,YAAY,OAAO,CAAC,WAAW;sCAIvD;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,aAAa,EAAE,CAAC;kBAM/E,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC,GACrD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC,KAC5D,OAAO,CAAC,aAAa,CAAC;8BAeO,MAAM;;;;UAOS,OAAO,CAAC,OAAO,CAAC;;;;8BAgB/B,MAAM,OAAO,OAAO,CAAC,aAAa,CAAC;oCAe7B,MAAM;CAK/C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -26,9 +26,9 @@ export const configureOrderDiscountsModule = ({ OrderDiscounts, }) => {
26
26
  ...doc,
27
27
  trigger: normalizedTrigger,
28
28
  });
29
- const discount = await OrderDiscounts.findOne({
29
+ const discount = (await OrderDiscounts.findOne({
30
30
  _id: discountId,
31
- });
31
+ }));
32
32
  await emit('ORDER_CREATE_DISCOUNT', { discount });
33
33
  return discount;
34
34
  },
@@ -47,7 +47,7 @@ export const configureOrderDiscountsModule = ({ OrderDiscounts, }) => {
47
47
  findSpareDiscount: async ({ code }) => {
48
48
  return OrderDiscounts.findOne({
49
49
  code,
50
- orderId: { $in: [undefined, null] },
50
+ orderId: { $exists: false },
51
51
  });
52
52
  },
53
53
  update: async (orderDiscountId, doc) => {
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrderDiscountsModule.js","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAW,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAiB,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAExF,MAAM,qBAAqB,GAAa;IACtC,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,eAAuB,EAAE,EAAE,CAC5E,oBAAoB,CAAC,eAAe,CAAkC,CAAC;AAEzE,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAC5C,cAAc,GAGf,EAAE,EAAE;IACH,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEtC,OAAO;QACL,UAAU;QACV,iBAAiB,EAAE,KAAK,EACtB,EAAE,UAAU,EAA0B,EACtC,OAA6B,EACL,EAAE;YAC1B,OAAO,cAAc,CAAC,OAAO,CAAC,kCAAkC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QACzF,CAAC;QAED,kBAAkB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAuB,EAA4B,EAAE;YACvF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAkB,EAA0B,EAAE;YAC3D,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC;YACnE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC;gBAChE,GAAG,EAAE,kBAAkB,EAAE;gBACzB,OAAO,EAAE,IAAI,IAAI,EAAE;gBACnB,GAAG,GAAG;gBACN,OAAO,EAAE,iBAAiB;aAC3B,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC;gBAC5C,GAAG,EAAE,UAAU;aAChB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,eAAuB,EAA0B,EAAE;YAChE,MAAM,QAAQ,GAAG,kCAAkC,CAAC,eAAe,CAAC,CAAC;YACrE,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACtE,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;YACjE,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,kBAAkB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAoB,EAAE;YAChE,OAAO,CACL,CAAC,MAAM,cAAc,CAAC,cAAc,CAAC;gBACnC,IAAI;gBACJ,OAAO;aACR,CAAC,CAAC,GAAG,CAAC,CACR,CAAC;QACJ,CAAC;QAED,iBAAiB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAA0B,EAAE;YAC5D,OAAO,cAAc,CAAC,OAAO,CAAC;gBAC5B,IAAI;gBACJ,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,eAAuB,EAAE,GAAkB,EAA0B,EAAE;YACpF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,gBAAgB,CACpD,EAAE,GAAG,EAAE,eAAe,EAAE,EACxB;gBACE,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,IAAI,EAAE;oBACnB,GAAG,GAAG;iBACP;aACF,EACD,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;YAEF,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,oBAAoB,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;YAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YACtE,OAAO,YAAY,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"configureOrderDiscountsModule.js","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule.ts"],"names":[],"mappings":"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"}
@@ -2,30 +2,33 @@ import { mongodb } from '@unchainedshop/mongodb';
2
2
  import { PricingCalculation } from '@unchainedshop/utils';
3
3
  import { OrderPayment, OrderPaymentStatus } from '../db/OrderPaymentsCollection.js';
4
4
  export declare const buildFindOrderPaymentByIdSelector: (orderPaymentId: string) => mongodb.Filter<OrderPayment>;
5
- export declare const buildFindByContextDataSelector: (context: any) => mongodb.Filter<OrderPayment>;
5
+ export declare const buildFindByContextDataSelector: (context: any) => mongodb.Filter<OrderPayment> | null;
6
6
  export declare const configureOrderPaymentsModule: ({ OrderPayments, }: {
7
7
  OrderPayments: mongodb.Collection<OrderPayment>;
8
8
  }) => {
9
9
  findOrderPayment: ({ orderPaymentId, }: {
10
10
  orderPaymentId: string;
11
- }, options?: mongodb.FindOptions) => Promise<OrderPayment>;
11
+ }, options?: mongodb.FindOptions) => Promise<OrderPayment | null>;
12
+ findOrderPaymentsByProviderIds: ({ paymentProviderIds, }: {
13
+ paymentProviderIds: string[];
14
+ }, options?: mongodb.FindOptions) => Promise<OrderPayment[]>;
12
15
  findOrderPaymentByContextData: ({ context, }: {
13
16
  context: any;
14
- }, options?: mongodb.FindOptions) => Promise<OrderPayment>;
17
+ }, options?: mongodb.FindOptions) => Promise<OrderPayment | null>;
15
18
  countOrderPaymentsByContextData: ({ context, }: {
16
19
  context: any;
17
20
  }, options?: mongodb.FindOptions) => Promise<number>;
18
21
  normalizedStatus: (orderPayment: OrderPayment) => OrderPaymentStatus;
19
- create: (doc: OrderPayment) => Promise<OrderPayment>;
22
+ create: (doc: Omit<OrderPayment, "_id" | "created"> & Pick<Partial<OrderPayment>, "_id" | "created">) => Promise<OrderPayment>;
20
23
  logEvent: (orderPaymentId: string, event: any) => Promise<boolean>;
21
24
  markAsPaid: (orderPayment: OrderPayment, meta: any) => Promise<void>;
22
- updateContext: (orderPaymentId: string, context: any) => Promise<OrderPayment>;
25
+ updateContext: (orderPaymentId: string, context: any) => Promise<mongodb.WithId<OrderPayment> | null>;
23
26
  updateStatus: (orderPaymentId: string, { transactionId, status, info, }: {
24
27
  transactionId?: string;
25
28
  status: OrderPaymentStatus;
26
29
  info?: string;
27
- }) => Promise<OrderPayment>;
28
- updateCalculation: <T extends PricingCalculation>(orderPaymentId: string, calculation: T[]) => Promise<mongodb.WithId<OrderPayment>>;
30
+ }) => Promise<mongodb.WithId<OrderPayment> | null>;
31
+ updateCalculation: <T extends PricingCalculation>(orderPaymentId: string, calculation: T[]) => Promise<mongodb.WithId<OrderPayment> | null>;
29
32
  deleteOrderPayments: (orderId: string) => Promise<number>;
30
33
  };
31
34
  export type OrderPaymentsModule = ReturnType<typeof configureOrderPaymentsModule>;
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrderPaymentsModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderPaymentsModule.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAIpF,eAAO,MAAM,iCAAiC,GAAI,gBAAgB,MAAM,KAC9B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAEvE,eAAO,MAAM,8BAA8B,GAAI,SAAS,GAAG,KAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAgBxF,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,oBAE1C;IACD,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;CACjD;4CAgDQ;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,YACS,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,YAAY,CAAC;kDAMnB;QACD,OAAO,EAAE,GAAG,CAAC;KACd,YACS,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,YAAY,CAAC;oDAQnB;QACD,OAAO,EAAE,GAAG,CAAC;KACd,YACS,OAAO,CAAC,WAAW;qCAtEO,YAAY;kBAiF9B,YAAY,KAAG,OAAO,CAAC,YAAY,CAAC;+BAgBvB,MAAM,SAAS,GAAG,KAAG,OAAO,CAAC,OAAO,CAAC;+BAgBrC,YAAY,QAAQ,GAAG;oCAUlB,MAAM,WAAW,GAAG,KAAG,OAAO,CAAC,YAAY,CAAC;mCApHlE,MAAM,oCAKnB;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KACvE,OAAO,CAAC,YAAY,CAAC;wBA4II,CAAC,SAAS,kBAAkB,kBACpC,MAAM,eACT,CAAC,EAAE;mCAemB,MAAM;CAK9C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"configureOrderPaymentsModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderPaymentsModule.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAIpF,eAAO,MAAM,iCAAiC,GAAI,gBAAgB,MAAM,KAC9B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAEvE,eAAO,MAAM,8BAA8B,GAAI,SAAS,GAAG,wCAgB1D,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,oBAE1C;IACD,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;CACjD;4CAgDQ;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,YACS,OAAO,CAAC,WAAW;8DAQ1B;QACD,kBAAkB,EAAE,MAAM,EAAE,CAAC;KAC9B,YACS,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,YAAY,EAAE,CAAC;kDAOrB;QACD,OAAO,EAAE,GAAG,CAAC;KACd,YACS,OAAO,CAAC,WAAW;oDAS1B;QACD,OAAO,EAAE,GAAG,CAAC;KACd,YACS,OAAO,CAAC,WAAW;qCAlFO,YAAY;kBA8F3C,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,KAC1F,OAAO,CAAC,YAAY,CAAC;+BAgBS,MAAM,SAAS,GAAG,KAAG,OAAO,CAAC,OAAO,CAAC;+BAgBrC,YAAY,QAAQ,GAAG;oCAUlB,MAAM,WAAW,GAAG;mCAlI1C,MAAM,oCAKnB;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;wBAwJ9C,CAAC,SAAS,kBAAkB,kBACpC,MAAM,eACT,CAAC,EAAE;mCAemB,MAAM;CAK9C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -52,12 +52,21 @@ export const configureOrderPaymentsModule = ({ OrderPayments, }) => {
52
52
  findOrderPayment: async ({ orderPaymentId, }, options) => {
53
53
  return OrderPayments.findOne(buildFindOrderPaymentByIdSelector(orderPaymentId), options);
54
54
  },
55
+ findOrderPaymentsByProviderIds: async ({ paymentProviderIds, }, options) => {
56
+ if (!paymentProviderIds?.length)
57
+ return [];
58
+ return OrderPayments.find({ paymentProviderId: { $in: paymentProviderIds } }, options).toArray();
59
+ },
55
60
  findOrderPaymentByContextData: async ({ context, }, options) => {
56
61
  const selector = buildFindByContextDataSelector(context);
62
+ if (!selector)
63
+ return null;
57
64
  return OrderPayments.findOne(selector, options);
58
65
  },
59
66
  countOrderPaymentsByContextData: async ({ context, }, options) => {
60
67
  const selector = buildFindByContextDataSelector(context);
68
+ if (!selector)
69
+ return 0;
61
70
  return OrderPayments.countDocuments(selector, options);
62
71
  },
63
72
  normalizedStatus,
@@ -70,7 +79,7 @@ export const configureOrderPaymentsModule = ({ OrderPayments, }) => {
70
79
  status: null,
71
80
  context: doc.context || {},
72
81
  });
73
- const orderPayment = await OrderPayments.findOne(buildFindOrderPaymentByIdSelector(orderPaymentId));
82
+ const orderPayment = (await OrderPayments.findOne(buildFindOrderPaymentByIdSelector(orderPaymentId)));
74
83
  return orderPayment;
75
84
  },
76
85
  logEvent: async (orderPaymentId, event) => {
@@ -101,19 +110,18 @@ export const configureOrderPaymentsModule = ({ OrderPayments, }) => {
101
110
  if (!context || Object.keys(context).length === 0)
102
111
  return OrderPayments.findOne(selector, {});
103
112
  const contextSetters = Object.fromEntries(Object.entries(context).map(([key, value]) => [`context.${key}`, value]));
104
- const result = await OrderPayments.findOneAndUpdate(selector, {
113
+ const orderPayment = await OrderPayments.findOneAndUpdate(selector, {
105
114
  $set: {
106
115
  ...contextSetters,
107
116
  updated: new Date(),
108
117
  },
109
- }, { includeResultMetadata: true, returnDocument: 'after' });
110
- if (result.ok) {
111
- await emit('ORDER_UPDATE_PAYMENT', {
112
- orderPayment: result.value,
113
- });
114
- return result.value;
115
- }
116
- return null;
118
+ }, { returnDocument: 'after' });
119
+ if (!orderPayment)
120
+ return null;
121
+ await emit('ORDER_UPDATE_PAYMENT', {
122
+ orderPayment,
123
+ });
124
+ return orderPayment;
117
125
  },
118
126
  updateStatus,
119
127
  updateCalculation: async (orderPaymentId, calculation) => {
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrderPaymentsModule.js","sourceRoot":"","sources":["../../src/module/configureOrderPaymentsModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureOrderPaymentsModule.js","sourceRoot":"","sources":["../../src/module/configureOrderPaymentsModule.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,27 @@
1
1
  import { mongodb } from '@unchainedshop/mongodb';
2
2
  import { PricingCalculation } from '@unchainedshop/utils';
3
3
  import { OrderPosition } from '../db/OrderPositionsCollection.js';
4
+ export interface OrderPositionAggregateParams {
5
+ match?: mongodb.Document;
6
+ matchAfterGroup?: mongodb.Document;
7
+ project?: mongodb.Document;
8
+ group?: mongodb.Document;
9
+ addFields?: mongodb.Document;
10
+ sort?: mongodb.Document;
11
+ limit?: number;
12
+ pipeline?: mongodb.Document[];
13
+ }
4
14
  export declare const buildFindOrderPositionByIdSelector: (orderPositionId: string, orderId?: string) => mongodb.Filter<OrderPosition>;
5
15
  export declare const configureOrderPositionsModule: ({ OrderPositions, }: {
6
16
  OrderPositions: mongodb.Collection<OrderPosition>;
7
17
  }) => {
8
18
  findOrderPosition: ({ itemId }: {
9
19
  itemId: string;
10
- }, options?: mongodb.FindOptions) => Promise<OrderPosition>;
20
+ }, options?: mongodb.FindOptions) => Promise<OrderPosition | null>;
11
21
  findOrderPositions: ({ orderId }: {
12
22
  orderId: string;
13
23
  }) => Promise<OrderPosition[]>;
14
- delete: (orderPositionId: string) => Promise<OrderPosition>;
24
+ delete: (orderPositionId: string) => Promise<mongodb.WithId<OrderPosition> | null>;
15
25
  removePositions: ({ orderId }: {
16
26
  orderId: string;
17
27
  }) => Promise<number>;
@@ -22,10 +32,10 @@ export declare const configureOrderPositionsModule: ({ OrderPositions, }: {
22
32
  value: string;
23
33
  }[];
24
34
  quantity?: number;
25
- }) => Promise<OrderPosition>;
35
+ }) => Promise<mongodb.WithId<OrderPosition> | null>;
26
36
  removeProductByIdFromAllOpenPositions: (productId: string) => Promise<string[]>;
27
- updateScheduling: (orderPositionId: any, scheduling: any) => Promise<OrderPosition>;
28
- updateCalculation: <T extends PricingCalculation>(orderPositionId: string, calculation: T[]) => Promise<OrderPosition>;
37
+ updateScheduling: (orderPositionId: any, scheduling: any) => Promise<mongodb.WithId<OrderPosition> | null>;
38
+ updateCalculation: <T extends PricingCalculation>(orderPositionId: string, calculation: T[]) => Promise<mongodb.WithId<OrderPosition> | null>;
29
39
  addProductItem: (orderPosition: {
30
40
  context?: any;
31
41
  configuration?: {
@@ -39,6 +49,7 @@ export declare const configureOrderPositionsModule: ({ OrderPositions, }: {
39
49
  quotationId?: string;
40
50
  }) => Promise<OrderPosition>;
41
51
  deleteOrderPositions: (orderId: string) => Promise<number>;
52
+ aggregatePositions: ({ match, project, group, addFields, sort, limit, pipeline, }: OrderPositionAggregateParams) => Promise<mongodb.Document[]>;
42
53
  };
43
54
  export type OrderPositionsModule = ReturnType<typeof configureOrderPositionsModule>;
44
55
  //# sourceMappingURL=configureOrderPositionsModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrderPositionsModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderPositionsModule.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AASlE,eAAO,MAAM,kCAAkC,GAAI,iBAAiB,MAAM,EAAE,UAAU,MAAM,KAIrF,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAErC,eAAO,MAAM,6BAA6B,GAAI,qBAE3C;IACD,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CACnD;oCAMiB;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,YACpB,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,aAAa,CAAC;sCAIe;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,aAAa,EAAE,CAAC;8BAKtD,MAAM,KAAG,OAAO,CAAC,aAAa,CAAC;mCAS1B;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,MAAM,CAAC;uEAUvE;QACD,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,KAAG,OAAO,CAAC,aAAa,CAAC;uDAgC+B,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAAC;iEAoC5B,OAAO,CAAC,aAAa,CAAC;wBAYnD,CAAC,SAAS,kBAAkB,mBACnC,MAAM,eACV,CAAC,EAAE,KACf,OAAO,CAAC,aAAa,CAAC;oCAYa;QACpC,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,aAAa,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACjD,OAAO,EAAE,MAAM,CAAC;QAChB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAG,OAAO,CAAC,aAAa,CAAC;oCAwCY,MAAM;CAK/C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
1
+ {"version":3,"file":"configureOrderPositionsModule.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderPositionsModule.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AASlE,MAAM,WAAW,4BAA4B;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,kCAAkC,GAAI,iBAAiB,MAAM,EAAE,UAAU,MAAM,KAIrF,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAErC,eAAO,MAAM,6BAA6B,GAAI,qBAE3C;IACD,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CACnD;oCAKyC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,YAAY,OAAO,CAAC,WAAW;sCAI/C;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,aAAa,EAAE,CAAC;8BAKtD,MAAM;mCASD;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,MAAM,CAAC;uEAUvE;QACD,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;uDAiCwD,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAAC;;wBAgDzD,CAAC,SAAS,kBAAkB,mBACnC,MAAM,eACV,CAAC,EAAE;oCAaoB;QACpC,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,aAAa,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACjD,OAAO,EAAE,MAAM,CAAC;QAChB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAG,OAAO,CAAC,aAAa,CAAC;oCAqCY,MAAM;uFAazC,4BAA4B,KAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;CAiBhE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -24,7 +24,7 @@ export const configureOrderPositionsModule = ({ OrderPositions, }) => {
24
24
  await emit('ORDER_REMOVE_CART_ITEM', {
25
25
  orderPosition,
26
26
  });
27
- return { ...orderPosition, calculation: [] };
27
+ return orderPosition;
28
28
  },
29
29
  removePositions: async ({ orderId }) => {
30
30
  const result = await OrderPositions.deleteMany({ orderId });
@@ -48,6 +48,8 @@ export const configureOrderPositionsModule = ({ OrderPositions, }) => {
48
48
  }, modifier, {
49
49
  returnDocument: 'after',
50
50
  });
51
+ if (!updatedOrderPosition)
52
+ return null;
51
53
  await emit('ORDER_UPDATE_CART_ITEM', {
52
54
  orderPosition: updatedOrderPosition,
53
55
  });
@@ -105,10 +107,10 @@ export const configureOrderPositionsModule = ({ OrderPositions, }) => {
105
107
  orderId,
106
108
  productId,
107
109
  originalProductId,
108
- configuration: configuration || { $in: [null, undefined] },
110
+ configuration: configuration || { $exists: false },
109
111
  ...scope,
110
112
  };
111
- await OrderPositions.updateOne(selector, {
113
+ const upsertedOrderPosition = (await OrderPositions.findOneAndUpdate(selector, {
112
114
  $set: {
113
115
  updated: new Date(),
114
116
  },
@@ -124,8 +126,7 @@ export const configureOrderPositionsModule = ({ OrderPositions, }) => {
124
126
  configuration,
125
127
  ...scope,
126
128
  },
127
- }, { upsert: true });
128
- const upsertedOrderPosition = await OrderPositions.findOne(selector);
129
+ }, { upsert: true, returnDocument: 'after' }));
129
130
  await emit('ORDER_ADD_PRODUCT', { orderPosition: upsertedOrderPosition });
130
131
  return upsertedOrderPosition;
131
132
  },
@@ -133,6 +134,25 @@ export const configureOrderPositionsModule = ({ OrderPositions, }) => {
133
134
  const { deletedCount } = await OrderPositions.deleteMany({ orderId });
134
135
  return deletedCount;
135
136
  },
137
+ aggregatePositions: async ({ match, project, group, addFields, sort, limit, pipeline, }) => {
138
+ const stages = [];
139
+ if (pipeline?.length) {
140
+ return await OrderPositions.aggregate(pipeline).toArray();
141
+ }
142
+ if (match)
143
+ stages.push({ $match: match });
144
+ if (project)
145
+ stages.push({ $project: project });
146
+ if (group)
147
+ stages.push({ $group: group });
148
+ if (addFields)
149
+ stages.push({ $addFields: addFields });
150
+ if (sort)
151
+ stages.push({ $sort: sort });
152
+ if (typeof limit === 'number')
153
+ stages.push({ $limit: limit });
154
+ return OrderPositions.aggregate(stages).toArray();
155
+ },
136
156
  };
137
157
  };
138
158
  //# sourceMappingURL=configureOrderPositionsModule.js.map