@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
@@ -1 +1 @@
1
- {"version":3,"file":"configureOrdersModule.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureOrdersModule.js","sourceRoot":"","sources":["../../src/module/configureOrdersModule.ts"],"names":[],"mappings":"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"}
@@ -6,22 +6,18 @@ export interface OrderSettingsOrderPositionValidation<Product = unknown> {
6
6
  configuration?: {
7
7
  key: string;
8
8
  value: string;
9
- }[];
9
+ }[] | null;
10
10
  }
11
- export interface OrdersSettingsOptions {
12
- ensureUserHasCart?: boolean;
13
- orderNumberHashFn?: (order: Order, index: number) => string;
14
- validateOrderPosition?: <UnchainedAPI = unknown>(validationParams: OrderSettingsOrderPositionValidation, unchainedAPI: UnchainedAPI) => Promise<void>;
15
- lockOrderDuringCheckout?: boolean;
11
+ export interface OrdersSettings {
12
+ ensureUserHasCart: boolean;
13
+ orderNumberHashFn: (order: Order, index: number) => string;
14
+ validateOrderPosition: <UnchainedAPI = unknown>(validationParams: OrderSettingsOrderPositionValidation, unchainedAPI: UnchainedAPI) => Promise<void>;
15
+ lockOrderDuringCheckout: boolean;
16
+ configureSettings: (options?: OrdersSettingsOptions) => void;
16
17
  }
18
+ export type OrdersSettingsOptions = Omit<Partial<OrdersSettings>, 'configureSettings'>;
17
19
  export declare const defaultValidateOrderPosition: ({ product }: {
18
20
  product: any;
19
21
  }, { modules }: any) => Promise<void>;
20
- export declare const ordersSettings: {
21
- ensureUserHasCart: any;
22
- orderNumberHashFn: any;
23
- validateOrderPosition: any;
24
- lockOrderDuringCheckout: boolean;
25
- configureSettings({ ensureUserHasCart, orderNumberHashFn, validateOrderPosition, lockOrderDuringCheckout, }?: OrdersSettingsOptions): void;
26
- };
22
+ export declare const ordersSettings: OrdersSettings;
27
23
  //# sourceMappingURL=orders-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orders-settings.d.ts","sourceRoot":"","sources":["../src/orders-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,MAAM,WAAW,oCAAoC,CAAC,OAAO,GAAG,OAAO;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5D,qBAAqB,CAAC,EAAE,CAAC,YAAY,GAAG,OAAO,EAC7C,gBAAgB,EAAE,oCAAoC,EACtD,YAAY,EAAE,YAAY,KACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,4BAA4B,GAAU;;CAAW,EAAE,aAAa,GAAG,kBAI/E,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;kHAWtB,qBAAqB;CAMzB,CAAC"}
1
+ {"version":3,"file":"orders-settings.d.ts","sourceRoot":"","sources":["../src/orders-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,MAAM,WAAW,oCAAoC,CAAC,OAAO,GAAG,OAAO;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3D,qBAAqB,EAAE,CAAC,YAAY,GAAG,OAAO,EAC5C,gBAAgB,EAAE,oCAAoC,EACtD,YAAY,EAAE,YAAY,KACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,uBAAuB,EAAE,OAAO,CAAC;IACjC,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC9D;AACD,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAEvF,eAAO,MAAM,4BAA4B,GAAU;;CAAW,EAAE,aAAa,GAAG,kBAI/E,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cAgB5B,CAAC"}
@@ -5,15 +5,15 @@ export const defaultValidateOrderPosition = async ({ product }, { modules }) =>
5
5
  }
6
6
  };
7
7
  export const ordersSettings = {
8
- ensureUserHasCart: null,
9
- orderNumberHashFn: null,
10
- validateOrderPosition: null,
8
+ ensureUserHasCart: false,
9
+ orderNumberHashFn: generateRandomHash,
10
+ validateOrderPosition: defaultValidateOrderPosition,
11
11
  lockOrderDuringCheckout: false,
12
- configureSettings({ ensureUserHasCart = false, orderNumberHashFn = generateRandomHash, validateOrderPosition = defaultValidateOrderPosition, lockOrderDuringCheckout = false, } = {}) {
13
- this.ensureUserHasCart = ensureUserHasCart;
14
- this.orderNumberHashFn = orderNumberHashFn;
15
- this.validateOrderPosition = validateOrderPosition;
16
- this.lockOrderDuringCheckout = lockOrderDuringCheckout;
12
+ configureSettings({ ensureUserHasCart, orderNumberHashFn, validateOrderPosition, lockOrderDuringCheckout, } = {}) {
13
+ this.ensureUserHasCart = ensureUserHasCart || false;
14
+ this.orderNumberHashFn = orderNumberHashFn || generateRandomHash;
15
+ this.validateOrderPosition = validateOrderPosition || defaultValidateOrderPosition;
16
+ this.lockOrderDuringCheckout = lockOrderDuringCheckout || false;
17
17
  },
18
18
  };
19
19
  //# sourceMappingURL=orders-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orders-settings.js","sourceRoot":"","sources":["../src/orders-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAoB1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAO,EAAE,EAAE;IAClF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,IAAI;IAC3B,uBAAuB,EAAE,KAAK;IAE9B,iBAAiB,CAAC,EAChB,iBAAiB,GAAG,KAAK,EACzB,iBAAiB,GAAG,kBAAkB,EACtC,qBAAqB,GAAG,4BAA4B,EACpD,uBAAuB,GAAG,KAAK,MACN,EAAE;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IACzD,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"orders-settings.js","sourceRoot":"","sources":["../src/orders-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAsB1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAO,EAAE,EAAE;IAClF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,iBAAiB,EAAE,KAAK;IACxB,iBAAiB,EAAE,kBAAkB;IACrC,qBAAqB,EAAE,4BAA4B;IACnD,uBAAuB,EAAE,KAAK;IAC9B,iBAAiB,CAAC,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,GACxB,GAAG,EAAE;QACJ,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,KAAK,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,kBAAkB,CAAC;QACjE,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,IAAI,4BAA4B,CAAC;QACnF,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,IAAI,KAAK,CAAC;IAClE,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MigrateOrderCartsService } from '@unchainedshop/types/orders.js';
2
+ export declare const migrateOrderCartsService: MigrateOrderCartsService;
3
+ //# sourceMappingURL=migrateOrderCartService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateOrderCartService.d.ts","sourceRoot":"","sources":["../../src/service/migrateOrderCartService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,eAAO,MAAM,wBAAwB,EAAE,wBA2CtC,CAAC"}
@@ -0,0 +1,32 @@
1
+ export const migrateOrderCartsService = async ({ fromUserId, toUserId, shouldMerge, countryContext }, unchainedAPI) => {
2
+ const fromCart = await unchainedAPI.modules.orders.cart({
3
+ countryContext,
4
+ userId: fromUserId,
5
+ });
6
+ const toCart = await unchainedAPI.modules.orders.cart({
7
+ countryContext,
8
+ userId: toUserId,
9
+ });
10
+ if (!fromCart) {
11
+ // No cart, don't copy
12
+ return toCart;
13
+ }
14
+ if (!toCart || !shouldMerge) {
15
+ // No destination cart, move whole cart
16
+ unchainedAPI.modules.orders.setCartOwner({ orderId: fromCart._id, userId: toUserId });
17
+ return unchainedAPI.modules.orders.updateCalculation(fromCart._id, unchainedAPI);
18
+ }
19
+ // Move positions
20
+ unchainedAPI.modules.orders.moveCartPositions({ fromOrderId: fromCart._id, toOrderId: toCart._id });
21
+ // Move billing address if target order has none
22
+ if (fromCart.billingAddress && !toCart.billingAddress) {
23
+ await unchainedAPI.modules.orders.updateBillingAddress(toCart._id, fromCart.billingAddress, unchainedAPI);
24
+ }
25
+ // Move contact data if target order has none
26
+ if (fromCart.contact && !toCart.contact) {
27
+ await unchainedAPI.modules.orders.updateContact(toCart._id, fromCart.contact, unchainedAPI);
28
+ }
29
+ await unchainedAPI.modules.orders.updateCalculation(fromCart._id, unchainedAPI);
30
+ return unchainedAPI.modules.orders.updateCalculation(toCart._id, unchainedAPI);
31
+ };
32
+ //# sourceMappingURL=migrateOrderCartService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateOrderCartService.js","sourceRoot":"","sources":["../../src/service/migrateOrderCartService.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,wBAAwB,GAA6B,KAAK,EACrE,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,EACrD,YAAY,EACZ,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACtD,cAAc;QACd,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACpD,cAAc;QACd,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,sBAAsB;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,uCAAuC;QACvC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACnF,CAAC;IAED,iBAAiB;IACjB,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAEpG,gDAAgD;IAChD,IAAI,QAAQ,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACtD,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CACpD,MAAM,CAAC,GAAG,EACV,QAAQ,CAAC,cAAc,EACvB,YAAY,CACb,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAChF,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AACjF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { NextUserCartService } from '@unchainedshop/types/orders.js';
2
+ export declare const nextUserCartService: NextUserCartService;
3
+ //# sourceMappingURL=nextUserCartService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nextUserCartService.d.ts","sourceRoot":"","sources":["../../src/service/nextUserCartService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,eAAO,MAAM,mBAAmB,EAAE,mBAqCjC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { ordersSettings } from '../orders-settings.js';
2
+ import { resolveBestCurrency } from '@unchainedshop/utils';
3
+ export const nextUserCartService = async ({ user, orderNumber, countryCode, forceCartCreation }, unchainedAPI) => {
4
+ const { modules } = unchainedAPI;
5
+ const cart = await modules.orders.cart({
6
+ countryContext: countryCode || user.lastLogin?.countryCode,
7
+ orderNumber,
8
+ userId: user._id,
9
+ });
10
+ if (cart)
11
+ return cart;
12
+ const shouldCreateNewCart = forceCartCreation || ordersSettings.ensureUserHasCart;
13
+ if (!shouldCreateNewCart)
14
+ return null;
15
+ const countryObject = await modules.countries.findCountry({ isoCode: countryCode });
16
+ const currencies = await modules.currencies.findCurrencies({ includeInactive: false });
17
+ const currency = resolveBestCurrency(countryObject.defaultCurrencyCode, currencies);
18
+ const order = await modules.orders.create({
19
+ userId: user._id,
20
+ orderNumber,
21
+ currency,
22
+ countryCode,
23
+ billingAddress: user.lastBillingAddress || user.profile?.address,
24
+ contact: user.lastContact ||
25
+ (!user.guest
26
+ ? {
27
+ telNumber: user.profile?.phoneMobile,
28
+ emailAddress: modules.users.primaryEmail(user)?.address,
29
+ }
30
+ : {}),
31
+ });
32
+ return modules.orders.initProviders(order, unchainedAPI);
33
+ };
34
+ //# sourceMappingURL=nextUserCartService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nextUserCartService.js","sourceRoot":"","sources":["../../src/service/nextUserCartService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,CAAC,MAAM,mBAAmB,GAAwB,KAAK,EAC3D,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,EACrD,YAAY,EACZ,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IAEjC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACrC,cAAc,EAAE,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW;QAC1D,WAAW;QACX,MAAM,EAAE,IAAI,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,mBAAmB,GAAG,iBAAiB,IAAI,cAAc,CAAC,iBAAiB,CAAC;IAClF,IAAI,CAAC,mBAAmB;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,aAAa,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAEpF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,GAAG;QAChB,WAAW;QACX,QAAQ;QACR,WAAW;QACX,cAAc,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO;QAChE,OAAO,EACL,IAAI,CAAC,WAAW;YAChB,CAAC,CAAC,IAAI,CAAC,KAAK;gBACV,CAAC,CAAC;oBACE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW;oBACpC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO;iBACxD;gBACH,CAAC,CAAC,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AAC3D,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { OrderServices } from '@unchainedshop/types/orders.js';
2
+ export declare const orderServices: OrderServices;
3
+ //# sourceMappingURL=orderServices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderServices.d.ts","sourceRoot":"","sources":["../../src/service/orderServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAI/D,eAAO,MAAM,aAAa,EAAE,aAG3B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { migrateOrderCartsService } from './migrateOrderCartService.js';
2
+ import { nextUserCartService } from './nextUserCartService.js';
3
+ export const orderServices = {
4
+ migrateOrderCarts: migrateOrderCartsService,
5
+ nextUserCart: nextUserCartService,
6
+ };
7
+ //# sourceMappingURL=orderServices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderServices.js","sourceRoot":"","sources":["../../src/service/orderServices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,iBAAiB,EAAE,wBAAwB;IAC3C,YAAY,EAAE,mBAAmB;CAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/core-orders",
3
- "version": "4.0.0-rc.9",
3
+ "version": "4.0.1",
4
4
  "main": "lib/orders-index.js",
5
5
  "types": "lib/orders-index.d.ts",
6
6
  "type": "module",
@@ -32,9 +32,9 @@
32
32
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
33
  "dependencies": {
34
34
  "@kontsedal/locco": "0.1.0",
35
- "@unchainedshop/events": "^4.0.0-rc.4",
36
- "@unchainedshop/logger": "^4.0.0-rc.4",
37
- "@unchainedshop/utils": "^4.0.0-rc.4"
35
+ "@unchainedshop/events": "^4.0.0",
36
+ "@unchainedshop/logger": "^4.0.0",
37
+ "@unchainedshop/utils": "^4.0.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^24.0.13",
@@ -8,7 +8,7 @@ export enum OrderDeliveryStatus {
8
8
  }
9
9
 
10
10
  export type OrderDelivery = {
11
- _id?: string;
11
+ _id: string;
12
12
  orderId: string;
13
13
  deliveryProviderId: string;
14
14
  delivered?: Date;
@@ -19,7 +19,7 @@ export type OrderDelivery = {
19
19
  TimestampFields;
20
20
 
21
21
  export type OrderDeliveryDiscount = Omit<Price, '_id'> & {
22
- _id?: string;
22
+ _id: string;
23
23
  discountId: string;
24
24
  item: OrderDelivery;
25
25
  };
@@ -2,12 +2,12 @@ import { mongodb, buildDbIndexes, TimestampFields } from '@unchainedshop/mongodb
2
2
  import { Price } from '@unchainedshop/utils';
3
3
 
4
4
  export type OrderDiscount = {
5
- _id?: string;
5
+ _id: string;
6
6
  orderId: string;
7
7
  code?: string;
8
8
  total?: Price;
9
9
  trigger?: OrderDiscountTrigger;
10
- discountKey?: string;
10
+ discountKey: string;
11
11
  reservation?: any;
12
12
  context?: any;
13
13
  } & TimestampFields;
@@ -8,19 +8,19 @@ export enum OrderPaymentStatus {
8
8
  }
9
9
 
10
10
  export type OrderPayment = {
11
- _id?: string;
11
+ _id: string;
12
12
  orderId: string;
13
13
  context?: any;
14
14
  paid?: Date;
15
15
  transactionId?: string;
16
- paymentProviderId?: string;
16
+ paymentProviderId: string;
17
17
  status?: OrderPaymentStatus | null;
18
18
  calculation?: any[];
19
19
  } & LogFields &
20
20
  TimestampFields;
21
21
 
22
22
  export type OrderPaymentDiscount = Omit<Price, '_id'> & {
23
- _id?: string;
23
+ _id: string;
24
24
  discountId: string;
25
25
  item: OrderPayment;
26
26
  };
@@ -2,9 +2,9 @@ import { mongodb, buildDbIndexes, TimestampFields } from '@unchainedshop/mongodb
2
2
  import { Price } from '@unchainedshop/utils';
3
3
 
4
4
  export type OrderPosition = {
5
- _id?: string;
5
+ _id: string;
6
6
  calculation: any[];
7
- configuration: { key: string; value: string }[];
7
+ configuration: { key: string; value: string }[] | null;
8
8
  context?: any;
9
9
  orderId: string;
10
10
  originalProductId: string;
@@ -15,7 +15,6 @@ export type OrderPosition = {
15
15
  } & TimestampFields;
16
16
 
17
17
  export type OrderPositionDiscount = Omit<Price, '_id'> & {
18
- _id?: string;
19
18
  discountId: string;
20
19
  item: OrderPosition;
21
20
  };
@@ -7,6 +7,7 @@ import {
7
7
  TimestampFields,
8
8
  isDocumentDBCompatModeEnabled,
9
9
  } from '@unchainedshop/mongodb';
10
+ import { DateFilterInput } from '@unchainedshop/utils';
10
11
 
11
12
  export enum OrderStatus {
12
13
  PENDING = 'PENDING',
@@ -16,7 +17,7 @@ export enum OrderStatus {
16
17
  }
17
18
 
18
19
  export type Order = {
19
- _id?: string;
20
+ _id: string;
20
21
  billingAddress?: Address;
21
22
  calculation: any[];
22
23
  confirmed?: Date;
@@ -41,37 +42,45 @@ export interface OrderQuery extends mongodb.Filter<Order> {
41
42
  queryString?: string;
42
43
  status?: OrderStatus[];
43
44
  userId?: string;
45
+ deliveryIds?: string[];
46
+ paymentIds?: string[];
47
+ dateRange?: DateFilterInput;
44
48
  }
45
49
 
46
50
  export const OrdersCollection = async (db: mongodb.Db) => {
47
51
  const Orders = db.collection<Order>('orders');
48
52
 
53
+ if (!isDocumentDBCompatModeEnabled()) {
54
+ await buildDbIndexes<Order>(Orders, [
55
+ {
56
+ index: {
57
+ _id: 'text',
58
+ userId: 'text',
59
+ orderNumber: 'text',
60
+ status: 'text',
61
+ 'contact.emailAddress': 'text',
62
+ 'contact.telNumber': 'text',
63
+ } as any,
64
+ options: {
65
+ weights: {
66
+ _id: 8,
67
+ userId: 3,
68
+ orderNumber: 6,
69
+ 'contact.telNumber': 5,
70
+ 'contact.emailAddress': 4,
71
+ status: 1,
72
+ },
73
+ name: 'order_fulltext_search',
74
+ },
75
+ },
76
+ ]);
77
+ }
78
+
49
79
  // Order Indexes
50
80
  await buildDbIndexes<Order>(Orders, [
51
81
  { index: { userId: 1 } },
52
82
  { index: { status: 1 } },
53
83
  { index: { orderNumber: 1 } },
54
- !isDocumentDBCompatModeEnabled() && {
55
- index: {
56
- _id: 'text',
57
- userId: 'text',
58
- orderNumber: 'text',
59
- status: 'text',
60
- 'contact.emailAddress': 'text',
61
- 'contact.telNumber': 'text',
62
- } as any,
63
- options: {
64
- weights: {
65
- _id: 8,
66
- userId: 3,
67
- orderNumber: 6,
68
- 'contact.telNumber': 5,
69
- 'contact.emailAddress': 4,
70
- status: 1,
71
- },
72
- name: 'order_fulltext_search',
73
- },
74
- },
75
84
  ]);
76
85
 
77
86
  return Orders;
@@ -6,6 +6,9 @@ export const buildFindSelector = ({
6
6
  status,
7
7
  userId,
8
8
  queryString,
9
+ paymentIds,
10
+ deliveryIds,
11
+ dateRange,
9
12
  ...rest
10
13
  }: OrderQuery) => {
11
14
  const selector: mongodb.Filter<Order> = { ...rest };
@@ -13,13 +16,28 @@ export const buildFindSelector = ({
13
16
  if (userId) {
14
17
  selector.userId = userId;
15
18
  }
19
+ if (dateRange) {
20
+ const dateFilter: mongodb.Filter<Order> = {};
21
+ if (dateRange.start) dateFilter.$gte = new Date(dateRange.start);
22
+ if (dateRange.end) dateFilter.$lte = new Date(dateRange.end);
23
+ if (Object.keys(dateFilter).length > 0) {
24
+ selector.ordered = dateFilter;
25
+ }
26
+ }
27
+
28
+ if (Array.isArray(deliveryIds) && deliveryIds?.length) {
29
+ selector.deliveryId = { $in: deliveryIds };
30
+ }
31
+
32
+ if (Array.isArray(paymentIds) && paymentIds?.length) {
33
+ selector.paymentId = { $in: paymentIds };
34
+ }
16
35
 
17
36
  if (Array.isArray(status) && status?.length) {
18
37
  selector.status = { $in: status };
19
38
  } else if (!includeCarts) {
20
39
  selector.status = { $ne: null }; // TODO: Slow performance! IDXSCAN in common query!
21
40
  }
22
-
23
41
  if (queryString) {
24
42
  assertDocumentDBCompatMode();
25
43
  (selector as any).$text = { $search: queryString };
@@ -24,7 +24,7 @@ export const configureOrderDeliveriesModule = ({
24
24
  const updateStatus = async (
25
25
  orderDeliveryId: string,
26
26
  { status, info }: { status: OrderDeliveryStatus; info?: string },
27
- ): Promise<OrderDelivery> => {
27
+ ) => {
28
28
  const date = new Date();
29
29
  const modifier: mongodb.UpdateFilter<OrderDelivery> = {
30
30
  $set: { status, updated: new Date() },
@@ -51,15 +51,28 @@ export const configureOrderDeliveriesModule = ({
51
51
  findDelivery: async (
52
52
  { orderDeliveryId }: { orderDeliveryId: string },
53
53
  options?: mongodb.FindOptions,
54
- ): Promise<OrderDelivery> => {
54
+ ) => {
55
55
  return OrderDeliveries.findOne(buildFindByIdSelector(orderDeliveryId), options);
56
56
  },
57
57
 
58
+ findDeliveryByProvidersId: async (
59
+ { deliveryProviderIds }: { deliveryProviderIds: string[] },
60
+ options?: mongodb.FindOptions,
61
+ ): Promise<OrderDelivery[]> => {
62
+ if (!deliveryProviderIds?.length) return [];
63
+ return OrderDeliveries.find(
64
+ { deliveryProviderId: { $in: deliveryProviderIds } },
65
+ options,
66
+ ).toArray();
67
+ },
68
+
58
69
  normalizedStatus,
59
70
 
60
71
  // Mutations
61
72
 
62
- create: async (doc: OrderDelivery): Promise<OrderDelivery> => {
73
+ create: async (
74
+ doc: Omit<OrderDelivery, '_id' | 'created'> & Pick<Partial<OrderDelivery>, '_id' | 'created'>,
75
+ ) => {
63
76
  const { insertedId: orderDeliveryId } = await OrderDeliveries.insertOne({
64
77
  _id: generateDbObjectId(),
65
78
  created: new Date(),
@@ -68,7 +81,9 @@ export const configureOrderDeliveriesModule = ({
68
81
  status: null,
69
82
  });
70
83
 
71
- const orderDelivery = await OrderDeliveries.findOne(buildFindByIdSelector(orderDeliveryId));
84
+ const orderDelivery = (await OrderDeliveries.findOne(
85
+ buildFindByIdSelector(orderDeliveryId),
86
+ )) as OrderDelivery;
72
87
  return orderDelivery;
73
88
  },
74
89
 
@@ -87,14 +102,14 @@ export const configureOrderDeliveriesModule = ({
87
102
  return updatedOrderDelivery;
88
103
  },
89
104
 
90
- updateContext: async (orderDeliveryId: string, context: any): Promise<OrderDelivery> => {
105
+ updateContext: async (orderDeliveryId: string, context: any) => {
91
106
  const selector = buildFindByIdSelector(orderDeliveryId);
92
107
  if (!context || Object.keys(context).length === 0) return OrderDeliveries.findOne(selector, {});
93
108
  const contextSetters = Object.fromEntries(
94
109
  Object.entries(context).map(([key, value]) => [`context.${key}`, value]),
95
110
  );
96
111
 
97
- const result = await OrderDeliveries.findOneAndUpdate(
112
+ const orderDelivery = await OrderDeliveries.findOneAndUpdate(
98
113
  selector,
99
114
  {
100
115
  $set: {
@@ -102,17 +117,14 @@ export const configureOrderDeliveriesModule = ({
102
117
  updated: new Date(),
103
118
  },
104
119
  },
105
- { includeResultMetadata: true, returnDocument: 'after' },
120
+ { returnDocument: 'after' },
106
121
  );
107
122
 
108
- if (result.ok) {
109
- await emit('ORDER_UPDATE_DELIVERY', {
110
- orderDelivery: result.value,
111
- });
112
- return result.value;
113
- }
114
-
115
- return null;
123
+ if (!orderDelivery) return null;
124
+ await emit('ORDER_UPDATE_DELIVERY', {
125
+ orderDelivery,
126
+ });
127
+ return orderDelivery;
116
128
  },
117
129
 
118
130
  updateStatus,
@@ -120,7 +132,7 @@ export const configureOrderDeliveriesModule = ({
120
132
  updateCalculation: async <T extends PricingCalculation>(
121
133
  orderDeliveryId: string,
122
134
  calculation: T[],
123
- ): Promise<OrderDelivery> => {
135
+ ) => {
124
136
  return OrderDeliveries.findOneAndUpdate(
125
137
  { _id: orderDeliveryId },
126
138
  {
@@ -20,10 +20,7 @@ export const configureOrderDiscountsModule = ({
20
20
 
21
21
  return {
22
22
  // Queries
23
- findOrderDiscount: async (
24
- { discountId }: { discountId: string },
25
- options?: mongodb.FindOptions,
26
- ): Promise<OrderDiscount> => {
23
+ findOrderDiscount: async ({ discountId }: { discountId: string }, options?: mongodb.FindOptions) => {
27
24
  return OrderDiscounts.findOne(buildFindOrderDiscountByIdSelector(discountId), options);
28
25
  },
29
26
 
@@ -32,7 +29,10 @@ export const configureOrderDiscountsModule = ({
32
29
  return discounts.toArray();
33
30
  },
34
31
 
35
- create: async (doc: OrderDiscount): Promise<OrderDiscount> => {
32
+ create: async (
33
+ doc: Omit<OrderDiscount, '_id' | 'created' | 'trigger'> &
34
+ Pick<Partial<OrderDiscount>, '_id' | 'created' | 'trigger'>,
35
+ ): Promise<OrderDiscount> => {
36
36
  const normalizedTrigger = doc.trigger || OrderDiscountTrigger.USER;
37
37
  const { insertedId: discountId } = await OrderDiscounts.insertOne({
38
38
  _id: generateDbObjectId(),
@@ -40,14 +40,14 @@ export const configureOrderDiscountsModule = ({
40
40
  ...doc,
41
41
  trigger: normalizedTrigger,
42
42
  });
43
- const discount = await OrderDiscounts.findOne({
43
+ const discount = (await OrderDiscounts.findOne({
44
44
  _id: discountId,
45
- });
45
+ })) as OrderDiscount;
46
46
  await emit('ORDER_CREATE_DISCOUNT', { discount });
47
47
  return discount;
48
48
  },
49
49
 
50
- delete: async (orderDiscountId: string): Promise<OrderDiscount> => {
50
+ delete: async (orderDiscountId: string) => {
51
51
  const selector = buildFindOrderDiscountByIdSelector(orderDiscountId);
52
52
  const orderDiscount = await OrderDiscounts.findOneAndDelete(selector);
53
53
  await emit('ORDER_REMOVE_DISCOUNT', { discount: orderDiscount });
@@ -63,14 +63,14 @@ export const configureOrderDiscountsModule = ({
63
63
  );
64
64
  },
65
65
 
66
- findSpareDiscount: async ({ code }): Promise<OrderDiscount> => {
66
+ findSpareDiscount: async ({ code }) => {
67
67
  return OrderDiscounts.findOne({
68
68
  code,
69
- orderId: { $in: [undefined, null] },
69
+ orderId: { $exists: false },
70
70
  });
71
71
  },
72
72
 
73
- update: async (orderDiscountId: string, doc: OrderDiscount): Promise<OrderDiscount> => {
73
+ update: async (orderDiscountId: string, doc: Partial<OrderDiscount>) => {
74
74
  const discount = await OrderDiscounts.findOneAndUpdate(
75
75
  { _id: orderDiscountId },
76
76
  {