@unchainedshop/core-orders 3.0.0-alpha7 → 3.0.0-rc1

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 (190) hide show
  1. package/lib/db/OrderDeliveriesCollection.d.ts +1 -1
  2. package/lib/db/OrderDeliveriesCollection.d.ts.map +1 -1
  3. package/lib/db/OrderDiscountsCollection.d.ts +1 -1
  4. package/lib/db/OrderDiscountsCollection.d.ts.map +1 -1
  5. package/lib/db/OrderPaymentsCollection.d.ts +1 -1
  6. package/lib/db/OrderPaymentsCollection.d.ts.map +1 -1
  7. package/lib/db/OrderPositionsCollection.d.ts +1 -1
  8. package/lib/db/OrderPositionsCollection.d.ts.map +1 -1
  9. package/lib/director/OrderDiscountAdapter.d.ts +2 -2
  10. package/lib/director/OrderDiscountAdapter.d.ts.map +1 -1
  11. package/lib/director/OrderDiscountAdapter.js.map +1 -1
  12. package/lib/director/OrderDiscountDirector.d.ts +1 -1
  13. package/lib/director/OrderDiscountDirector.d.ts.map +1 -1
  14. package/lib/director/OrderDiscountDirector.js.map +1 -1
  15. package/lib/director/OrderPricingAdapter.d.ts +3 -3
  16. package/lib/director/OrderPricingAdapter.d.ts.map +1 -1
  17. package/lib/director/OrderPricingAdapter.js.map +1 -1
  18. package/lib/director/OrderPricingDirector.d.ts +1 -1
  19. package/lib/director/OrderPricingDirector.d.ts.map +1 -1
  20. package/lib/module/buildFindSelector.d.ts +5 -0
  21. package/lib/module/buildFindSelector.d.ts.map +1 -0
  22. package/lib/module/buildFindSelector.js +18 -0
  23. package/lib/module/buildFindSelector.js.map +1 -0
  24. package/lib/module/configureOrderDeliveriesModule.d.ts +14 -27
  25. package/lib/module/configureOrderDeliveriesModule.d.ts.map +1 -1
  26. package/lib/module/configureOrderDeliveriesModule.js +7 -68
  27. package/lib/module/configureOrderDeliveriesModule.js.map +1 -1
  28. package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.d.ts +24 -0
  29. package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.d.ts.map +1 -0
  30. package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.js +101 -0
  31. package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.js.map +1 -0
  32. package/lib/module/configureOrderDeliveriesModule_BASE_54554.d.ts +36 -0
  33. package/lib/module/configureOrderDeliveriesModule_BASE_54554.d.ts.map +1 -0
  34. package/lib/module/configureOrderDeliveriesModule_BASE_54554.js +162 -0
  35. package/lib/module/configureOrderDeliveriesModule_BASE_54554.js.map +1 -0
  36. package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.d.ts +23 -0
  37. package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.d.ts.map +1 -0
  38. package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.js +97 -0
  39. package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.js.map +1 -0
  40. package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.d.ts +37 -0
  41. package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.d.ts.map +1 -0
  42. package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.js +166 -0
  43. package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.js.map +1 -0
  44. package/lib/module/configureOrderDiscountsModule.d.ts +17 -18
  45. package/lib/module/configureOrderDiscountsModule.d.ts.map +1 -1
  46. package/lib/module/configureOrderDiscountsModule.js +31 -140
  47. package/lib/module/configureOrderDiscountsModule.js.map +1 -1
  48. package/lib/module/configureOrderDiscountsModule_BACKUP_55046.d.ts +26 -0
  49. package/lib/module/configureOrderDiscountsModule_BACKUP_55046.d.ts.map +1 -0
  50. package/lib/module/configureOrderDiscountsModule_BACKUP_55046.js +69 -0
  51. package/lib/module/configureOrderDiscountsModule_BACKUP_55046.js.map +1 -0
  52. package/lib/module/configureOrderDiscountsModule_BASE_55046.d.ts +26 -0
  53. package/lib/module/configureOrderDiscountsModule_BASE_55046.d.ts.map +1 -0
  54. package/lib/module/configureOrderDiscountsModule_BASE_55046.js +178 -0
  55. package/lib/module/configureOrderDiscountsModule_BASE_55046.js.map +1 -0
  56. package/lib/module/configureOrderDiscountsModule_LOCAL_55046.d.ts +25 -0
  57. package/lib/module/configureOrderDiscountsModule_LOCAL_55046.d.ts.map +1 -0
  58. package/lib/module/configureOrderDiscountsModule_LOCAL_55046.js +65 -0
  59. package/lib/module/configureOrderDiscountsModule_LOCAL_55046.js.map +1 -0
  60. package/lib/module/configureOrderDiscountsModule_REMOTE_55046.d.ts +27 -0
  61. package/lib/module/configureOrderDiscountsModule_REMOTE_55046.d.ts.map +1 -0
  62. package/lib/module/configureOrderDiscountsModule_REMOTE_55046.js +182 -0
  63. package/lib/module/configureOrderDiscountsModule_REMOTE_55046.js.map +1 -0
  64. package/lib/module/configureOrderPaymentsModule.d.ts +17 -37
  65. package/lib/module/configureOrderPaymentsModule.d.ts.map +1 -1
  66. package/lib/module/configureOrderPaymentsModule.js +10 -118
  67. package/lib/module/configureOrderPaymentsModule.js.map +1 -1
  68. package/lib/module/configureOrderPaymentsModule_BACKUP_55464.d.ts +32 -0
  69. package/lib/module/configureOrderPaymentsModule_BACKUP_55464.d.ts.map +1 -0
  70. package/lib/module/configureOrderPaymentsModule_BACKUP_55464.js +135 -0
  71. package/lib/module/configureOrderPaymentsModule_BACKUP_55464.js.map +1 -0
  72. package/lib/module/configureOrderPaymentsModule_BACKUP_55877.d.ts +32 -0
  73. package/lib/module/configureOrderPaymentsModule_BACKUP_55877.d.ts.map +1 -0
  74. package/lib/module/configureOrderPaymentsModule_BACKUP_55877.js +135 -0
  75. package/lib/module/configureOrderPaymentsModule_BACKUP_55877.js.map +1 -0
  76. package/lib/module/configureOrderPaymentsModule_BASE_55464.d.ts +51 -0
  77. package/lib/module/configureOrderPaymentsModule_BASE_55464.d.ts.map +1 -0
  78. package/lib/module/configureOrderPaymentsModule_BASE_55464.js +243 -0
  79. package/lib/module/configureOrderPaymentsModule_BASE_55464.js.map +1 -0
  80. package/lib/module/configureOrderPaymentsModule_BASE_55877.d.ts +51 -0
  81. package/lib/module/configureOrderPaymentsModule_BASE_55877.d.ts.map +1 -0
  82. package/lib/module/configureOrderPaymentsModule_BASE_55877.js +243 -0
  83. package/lib/module/configureOrderPaymentsModule_BASE_55877.js.map +1 -0
  84. package/lib/module/configureOrderPaymentsModule_LOCAL_55464.d.ts +31 -0
  85. package/lib/module/configureOrderPaymentsModule_LOCAL_55464.d.ts.map +1 -0
  86. package/lib/module/configureOrderPaymentsModule_LOCAL_55464.js +131 -0
  87. package/lib/module/configureOrderPaymentsModule_LOCAL_55464.js.map +1 -0
  88. package/lib/module/configureOrderPaymentsModule_LOCAL_55877.d.ts +31 -0
  89. package/lib/module/configureOrderPaymentsModule_LOCAL_55877.d.ts.map +1 -0
  90. package/lib/module/configureOrderPaymentsModule_LOCAL_55877.js +131 -0
  91. package/lib/module/configureOrderPaymentsModule_LOCAL_55877.js.map +1 -0
  92. package/lib/module/configureOrderPaymentsModule_REMOTE_55464.d.ts +52 -0
  93. package/lib/module/configureOrderPaymentsModule_REMOTE_55464.d.ts.map +1 -0
  94. package/lib/module/configureOrderPaymentsModule_REMOTE_55464.js +247 -0
  95. package/lib/module/configureOrderPaymentsModule_REMOTE_55464.js.map +1 -0
  96. package/lib/module/configureOrderPaymentsModule_REMOTE_55877.d.ts +52 -0
  97. package/lib/module/configureOrderPaymentsModule_REMOTE_55877.d.ts.map +1 -0
  98. package/lib/module/configureOrderPaymentsModule_REMOTE_55877.js +247 -0
  99. package/lib/module/configureOrderPaymentsModule_REMOTE_55877.js.map +1 -0
  100. package/lib/module/configureOrderPositionsModule.d.ts +22 -41
  101. package/lib/module/configureOrderPositionsModule.d.ts.map +1 -1
  102. package/lib/module/configureOrderPositionsModule.js +19 -82
  103. package/lib/module/configureOrderPositionsModule.js.map +1 -1
  104. package/lib/module/configureOrderPositionsModule_BACKUP_56197.d.ts +44 -0
  105. package/lib/module/configureOrderPositionsModule_BACKUP_56197.d.ts.map +1 -0
  106. package/lib/module/configureOrderPositionsModule_BACKUP_56197.js +138 -0
  107. package/lib/module/configureOrderPositionsModule_BACKUP_56197.js.map +1 -0
  108. package/lib/module/configureOrderPositionsModule_BASE_56197.d.ts +60 -0
  109. package/lib/module/configureOrderPositionsModule_BASE_56197.d.ts.map +1 -0
  110. package/lib/module/configureOrderPositionsModule_BASE_56197.js +201 -0
  111. package/lib/module/configureOrderPositionsModule_BASE_56197.js.map +1 -0
  112. package/lib/module/configureOrderPositionsModule_LOCAL_56197.d.ts +43 -0
  113. package/lib/module/configureOrderPositionsModule_LOCAL_56197.d.ts.map +1 -0
  114. package/lib/module/configureOrderPositionsModule_LOCAL_56197.js +134 -0
  115. package/lib/module/configureOrderPositionsModule_LOCAL_56197.js.map +1 -0
  116. package/lib/module/configureOrderPositionsModule_REMOTE_56197.d.ts +61 -0
  117. package/lib/module/configureOrderPositionsModule_REMOTE_56197.d.ts.map +1 -0
  118. package/lib/module/configureOrderPositionsModule_REMOTE_56197.js +205 -0
  119. package/lib/module/configureOrderPositionsModule_REMOTE_56197.js.map +1 -0
  120. package/lib/module/configureOrdersModule-mutations.d.ts +4 -11
  121. package/lib/module/configureOrdersModule-mutations.d.ts.map +1 -1
  122. package/lib/module/configureOrdersModule-mutations.js +10 -49
  123. package/lib/module/configureOrdersModule-mutations.js.map +1 -1
  124. package/lib/module/configureOrdersModule-processing.d.ts +4 -8
  125. package/lib/module/configureOrdersModule-processing.d.ts.map +1 -1
  126. package/lib/module/configureOrdersModule-processing.js +3 -1
  127. package/lib/module/configureOrdersModule-processing.js.map +1 -1
  128. package/lib/module/configureOrdersModule-queries.d.ts +10 -5
  129. package/lib/module/configureOrdersModule-queries.d.ts.map +1 -1
  130. package/lib/module/configureOrdersModule-queries.js +35 -22
  131. package/lib/module/configureOrdersModule-queries.js.map +1 -1
  132. package/lib/module/configureOrdersModule-transformations.d.ts +2 -3
  133. package/lib/module/configureOrdersModule-transformations.d.ts.map +1 -1
  134. package/lib/module/configureOrdersModule-transformations.js +3 -3
  135. package/lib/module/configureOrdersModule-transformations.js.map +1 -1
  136. package/lib/module/configureOrdersModule.d.ts +11 -8
  137. package/lib/module/configureOrdersModule.d.ts.map +1 -1
  138. package/lib/module/configureOrdersModule.js +133 -153
  139. package/lib/module/configureOrdersModule.js.map +1 -1
  140. package/lib/orders-index.d.ts +0 -7
  141. package/lib/orders-index.d.ts.map +1 -1
  142. package/lib/orders-index.js +0 -7
  143. package/lib/orders-index.js.map +1 -1
  144. package/lib/orders-settings.d.ts +3 -7
  145. package/lib/orders-settings.d.ts.map +1 -1
  146. package/lib/orders-settings.js.map +1 -1
  147. package/lib/types.d.ts +8 -9
  148. package/lib/types.d.ts.map +1 -1
  149. package/lib/types.js.map +1 -1
  150. package/package.json +9 -12
  151. package/src/db/OrderDeliveriesCollection.ts +1 -1
  152. package/src/db/OrderDiscountsCollection.ts +1 -1
  153. package/src/db/OrderPaymentsCollection.ts +1 -1
  154. package/src/db/OrderPositionsCollection.ts +1 -1
  155. package/src/module/buildFindSelector.test.ts +1 -1
  156. package/src/module/buildFindSelector.ts +24 -0
  157. package/src/module/configureOrderDeliveriesModule.ts +29 -172
  158. package/src/module/configureOrderDiscountsModule.ts +44 -210
  159. package/src/module/configureOrderPaymentsModule.ts +51 -261
  160. package/src/module/configureOrderPositionsModule.ts +54 -205
  161. package/src/module/configureOrdersModule-mutations.ts +12 -85
  162. package/src/module/configureOrdersModule-queries.ts +53 -29
  163. package/src/module/configureOrdersModule.ts +180 -263
  164. package/src/orders-index.ts +0 -9
  165. package/src/orders-settings.ts +4 -6
  166. package/src/types.ts +8 -9
  167. package/tsconfig.json +5 -7
  168. package/lib/service/migrateOrderCartService.d.ts +0 -10
  169. package/lib/service/migrateOrderCartService.d.ts.map +0 -1
  170. package/lib/service/migrateOrderCartService.js +0 -32
  171. package/lib/service/migrateOrderCartService.js.map +0 -1
  172. package/lib/service/nextUserCartService.d.ts +0 -11
  173. package/lib/service/nextUserCartService.d.ts.map +0 -1
  174. package/lib/service/nextUserCartService.js +0 -34
  175. package/lib/service/nextUserCartService.js.map +0 -1
  176. package/lib/service/orderServices.d.ts +0 -8
  177. package/lib/service/orderServices.d.ts.map +0 -1
  178. package/lib/service/orderServices.js +0 -7
  179. package/lib/service/orderServices.js.map +0 -1
  180. package/src/director/OrderDiscountAdapter.ts +0 -8
  181. package/src/director/OrderDiscountConfiguration.ts +0 -5
  182. package/src/director/OrderDiscountDirector.ts +0 -5
  183. package/src/director/OrderPricingAdapter.ts +0 -61
  184. package/src/director/OrderPricingDirector.ts +0 -72
  185. package/src/director/OrderPricingSheet.ts +0 -146
  186. package/src/module/configureOrdersModule-processing.ts +0 -508
  187. package/src/module/configureOrdersModule-transformations.ts +0 -171
  188. package/src/service/migrateOrderCartService.ts +0 -53
  189. package/src/service/nextUserCartService.ts +0 -54
  190. package/src/service/orderServices.ts +0 -12
@@ -1,11 +1,4 @@
1
1
  export * from './types.js';
2
2
  export * from './module/configureOrdersModule.js';
3
- export * from './service/orderServices.js';
4
3
  export * from './orders-settings.js';
5
- export * from './director/OrderDiscountConfiguration.js';
6
- export * from './director/OrderDiscountAdapter.js';
7
- export * from './director/OrderDiscountDirector.js';
8
- export * from './director/OrderPricingAdapter.js';
9
- export * from './director/OrderPricingDirector.js';
10
- export * from './director/OrderPricingSheet.js';
11
4
  //# sourceMappingURL=orders-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orders-index.js","sourceRoot":"","sources":["../src/orders-index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AAErC,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"orders-index.js","sourceRoot":"","sources":["../src/orders-index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mCAAmC,CAAC;AAClD,cAAc,sBAAsB,CAAC"}
@@ -1,7 +1,5 @@
1
1
  import { Order } from './types.js';
2
- import { UnchainedCore } from '@unchainedshop/core';
3
- import { Product } from '@unchainedshop/core-products';
4
- export interface OrderSettingsOrderPositionValidation {
2
+ export interface OrderSettingsOrderPositionValidation<Product = unknown> {
5
3
  order: Order;
6
4
  product: Product;
7
5
  quantityDiff?: number;
@@ -13,14 +11,12 @@ export interface OrderSettingsOrderPositionValidation {
13
11
  export interface OrdersSettingsOptions {
14
12
  ensureUserHasCart?: boolean;
15
13
  orderNumberHashFn?: (order: Order, index: number) => string;
16
- validateOrderPosition?: (validationParams: OrderSettingsOrderPositionValidation, context: UnchainedCore) => Promise<void>;
14
+ validateOrderPosition?: <UnchainedAPI = unknown>(validationParams: OrderSettingsOrderPositionValidation, unchainedAPI: UnchainedAPI) => Promise<void>;
17
15
  lockOrderDuringCheckout?: boolean;
18
16
  }
19
17
  export declare const defaultValidateOrderPosition: ({ product }: {
20
18
  product: any;
21
- }, { modules }: {
22
- modules: any;
23
- }) => Promise<void>;
19
+ }, { modules }: any) => Promise<void>;
24
20
  export declare const ordersSettings: {
25
21
  ensureUserHasCart: any;
26
22
  orderNumberHashFn: any;
@@ -1 +1 @@
1
- {"version":3,"file":"orders-settings.d.ts","sourceRoot":"","sources":["../src/orders-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAEvD,MAAM,WAAW,oCAAoC;IACnD,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;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,CACtB,gBAAgB,EAAE,oCAAoC,EACtD,OAAO,EAAE,aAAa,KACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,4BAA4B;;;;mBAIxC,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,YAAY,CAAC;AAEnC,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,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;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;;gBAAoC,GAAG,kBAI/E,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;kHAWtB,qBAAqB;CAMzB,CAAC"}
@@ -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;AAsB1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7E,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;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"}
package/lib/types.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import type { ProductPricingCalculation } from '@unchainedshop/core-products';
2
- import type { TimestampFields, LogFields, Address, Contact } from '@unchainedshop/mongodb';
3
- import { OrderPrice } from './director/OrderPricingDirector.js';
1
+ import { TimestampFields, LogFields, Address, Contact } from '@unchainedshop/mongodb';
2
+ import { Price } from '@unchainedshop/utils';
4
3
  export type OrderReport = {
5
4
  newCount: number;
6
5
  checkoutCount: number;
@@ -16,14 +15,14 @@ export declare enum OrderStatus {
16
15
  }
17
16
  export type OrderPosition = {
18
17
  _id?: string;
19
- calculation: Array<ProductPricingCalculation>;
18
+ calculation: Array<any>;
20
19
  configuration: Array<{
21
20
  key: string;
22
21
  value: string;
23
22
  }>;
24
23
  context?: any;
25
24
  orderId: string;
26
- originalProductId?: string;
25
+ originalProductId: string;
27
26
  productId: string;
28
27
  quantity: number;
29
28
  quotationId?: string;
@@ -56,7 +55,7 @@ export type OrderDiscount = {
56
55
  _id?: string;
57
56
  orderId: string;
58
57
  code?: string;
59
- total?: OrderPrice;
58
+ total?: Price;
60
59
  trigger?: OrderDiscountTrigger;
61
60
  discountKey?: string;
62
61
  reservation?: any;
@@ -89,7 +88,7 @@ export type OrderPayment = {
89
88
  status?: OrderPaymentStatus | null;
90
89
  calculation?: Array<any>;
91
90
  } & LogFields & TimestampFields;
92
- export type OrderPaymentDiscount = Omit<OrderPrice, '_id'> & {
91
+ export type OrderPaymentDiscount = Omit<Price, '_id'> & {
93
92
  _id?: string;
94
93
  discountId: string;
95
94
  item: OrderPayment;
@@ -103,12 +102,12 @@ export type OrderDelivery = {
103
102
  context?: any;
104
103
  calculation: Array<any>;
105
104
  } & LogFields & TimestampFields;
106
- export type OrderDeliveryDiscount = Omit<OrderPrice, '_id'> & {
105
+ export type OrderDeliveryDiscount = Omit<Price, '_id'> & {
107
106
  _id?: string;
108
107
  discountId: string;
109
108
  item: OrderDelivery;
110
109
  };
111
- export type OrderPositionDiscount = Omit<OrderPrice, '_id'> & {
110
+ export type OrderPositionDiscount = Omit<Price, '_id'> & {
112
111
  _id?: string;
113
112
  discountId: string;
114
113
  item: OrderPosition;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAYA,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,wCAAyB,CAAA;IACzB,oCAAqB,CAAA;AACvB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAoCD,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,qCAAa,CAAA;IACb,yCAAiB,CAAA;AACnB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAqBD,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,8CAAuB,CAAA;IACvB,4CAAqB,CAAA;AACvB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,2CAAqB,CAAA;AACvB,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,wCAAyB,CAAA;IACzB,oCAAqB,CAAA;AACvB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAoCD,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,qCAAa,CAAA;IACb,yCAAiB,CAAA;AACnB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAqBD,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,8CAAuB,CAAA;IACvB,4CAAqB,CAAA;AACvB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,2CAAqB,CAAA;AACvB,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B"}
package/package.json CHANGED
@@ -1,16 +1,13 @@
1
1
  {
2
2
  "name": "@unchainedshop/core-orders",
3
- "version": "3.0.0-alpha7",
3
+ "version": "3.0.0-rc1",
4
4
  "main": "lib/orders-index.js",
5
- "exports": {
6
- ".": "./lib/orders-index.js",
7
- "./*": "./lib/*"
8
- },
9
5
  "types": "lib/orders-index.d.ts",
10
6
  "type": "module",
11
7
  "scripts": {
12
- "clean": "rm -rf lib",
13
- "prepublishOnly": "npm run clean && tsc",
8
+ "clean": "tsc -b --clean",
9
+ "build": "tsc -b",
10
+ "prepublishOnly": "npm run clean && npm run build",
14
11
  "watch": "tsc -w",
15
12
  "test": "NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --forceExit",
16
13
  "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch --detectOpenHandles --forceExit"
@@ -32,14 +29,14 @@
32
29
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
30
  "dependencies": {
34
31
  "@kontsedal/locco": "0.1.0",
35
- "@unchainedshop/events": "^3.0.0-alpha4",
36
- "@unchainedshop/logger": "^3.0.0-alpha4",
37
- "@unchainedshop/utils": "^3.0.0-alpha4"
32
+ "@unchainedshop/events": "^3.0.0-rc1",
33
+ "@unchainedshop/logger": "^3.0.0-rc1",
34
+ "@unchainedshop/utils": "^3.0.0-rc1"
38
35
  },
39
36
  "devDependencies": {
40
- "@types/node": "^22.8.1",
37
+ "@types/node": "^22.10.2",
41
38
  "jest": "^29.7.0",
42
39
  "ts-jest": "^29.2.5",
43
- "typescript": "^5.6.3"
40
+ "typescript": "^5.7.2"
44
41
  }
45
42
  }
@@ -1,5 +1,5 @@
1
1
  import { mongodb, buildDbIndexes } from '@unchainedshop/mongodb';
2
- import { OrderDelivery } from '@unchainedshop/core-orders';
2
+ import { OrderDelivery } from '../types.js';
3
3
 
4
4
  export const OrderDeliveriesCollection = async (db: mongodb.Db) => {
5
5
  const OrderDeliveries = db.collection<OrderDelivery>('order_deliveries');
@@ -1,5 +1,5 @@
1
1
  import { mongodb, buildDbIndexes } from '@unchainedshop/mongodb';
2
- import { OrderDiscount } from '@unchainedshop/core-orders';
2
+ import { OrderDiscount } from '../types.js';
3
3
 
4
4
  export const OrderDiscountsCollection = async (db: mongodb.Db) => {
5
5
  const OrderDiscounts = db.collection<OrderDiscount>('order_discounts');
@@ -1,5 +1,5 @@
1
1
  import { mongodb, buildDbIndexes } from '@unchainedshop/mongodb';
2
- import { OrderPayment } from '@unchainedshop/core-orders';
2
+ import { OrderPayment } from '../types.js';
3
3
 
4
4
  export const OrderPaymentsCollection = async (db: mongodb.Db) => {
5
5
  const OrderPayments = db.collection<OrderPayment>('order_payments');
@@ -1,5 +1,5 @@
1
1
  import { mongodb, buildDbIndexes } from '@unchainedshop/mongodb';
2
- import { OrderPosition } from '@unchainedshop/core-orders';
2
+ import { OrderPosition } from '../types.js';
3
3
 
4
4
  export const OrderPositionsCollection = async (db: mongodb.Db) => {
5
5
  const OrderPositions = db.collection<OrderPosition>('order_positions');
@@ -6,7 +6,7 @@ import {
6
6
  buildFindByContextDataSelector,
7
7
  } from './configureOrderPaymentsModule.js';
8
8
  import { buildFindByIdSelector as buildFindByIdSelectorForPosition } from './configureOrderPositionsModule.js';
9
- import { buildFindSelector as buildFindSelectorForOrder } from './configureOrdersModule-queries.js';
9
+ import buildFindSelectorForOrder from './buildFindSelector.js';
10
10
 
11
11
  describe('OrderPosition', () => {
12
12
  describe('buildFindSelector', () => {
@@ -0,0 +1,24 @@
1
+ import { Order, OrderQuery } from '../types.js';
2
+ import { mongodb } from '@unchainedshop/mongodb';
3
+
4
+ export const buildFindSelector = ({ includeCarts, status, userId, queryString }: OrderQuery) => {
5
+ const selector: mongodb.Filter<Order> = {};
6
+
7
+ if (userId) {
8
+ selector.userId = userId;
9
+ }
10
+
11
+ if (Array.isArray(status) && status?.length) {
12
+ selector.status = { $in: status };
13
+ } else if (!includeCarts) {
14
+ selector.status = { $ne: null }; // TODO: Slow performance! IDXSCAN in common query!
15
+ }
16
+
17
+ if (queryString) {
18
+ (selector as any).$text = { $search: queryString };
19
+ }
20
+
21
+ return selector;
22
+ };
23
+
24
+ export default buildFindSelector;
@@ -1,65 +1,7 @@
1
- import { UnchainedCore } from '@unchainedshop/core';
2
1
  import { mongodb, generateDbFilterById, generateDbObjectId } from '@unchainedshop/mongodb';
3
2
  import { emit, registerEvents } from '@unchainedshop/events';
4
- import { Order, OrderDelivery, OrderDeliveryStatus, OrderDiscount } from '../types.js';
5
- import { DeliveryLocation, IDeliveryPricingSheet } from '@unchainedshop/core-delivery';
6
- import { DeliveryDirector } from '@unchainedshop/core-delivery';
7
- import { OrderPricingDiscount } from '../director/OrderPricingDirector.js';
8
-
9
- export type OrderDeliveriesModule = {
10
- // Queries
11
- findDelivery: (
12
- params: { orderDeliveryId: string },
13
- options?: mongodb.FindOptions,
14
- ) => Promise<OrderDelivery>;
15
-
16
- // Transformations
17
- discounts: (
18
- orderDelivery: OrderDelivery,
19
- params: { order: Order; orderDiscount: OrderDiscount },
20
- unchainedAPI: UnchainedCore,
21
- ) => Array<OrderPricingDiscount>;
22
- isBlockingOrderConfirmation: (
23
- orderDelivery: OrderDelivery,
24
- unchainedAPI: UnchainedCore,
25
- ) => Promise<boolean>;
26
- isBlockingOrderFullfillment: (orderDelivery: OrderDelivery) => boolean;
27
- normalizedStatus: (orderDelivery: OrderDelivery) => string;
28
- pricingSheet: (
29
- orderDelivery: OrderDelivery,
30
- currency: string,
31
- unchainedAPI: UnchainedCore,
32
- ) => IDeliveryPricingSheet;
33
-
34
- // Mutations
35
- create: (doc: OrderDelivery) => Promise<OrderDelivery>;
36
- delete: (orderDeliveryId: string) => Promise<number>;
37
-
38
- markAsDelivered: (orderDelivery: OrderDelivery) => Promise<void>;
39
-
40
- activePickUpLocation: (
41
- orderDelivery: OrderDelivery,
42
- unchainedAPI: UnchainedCore,
43
- ) => Promise<DeliveryLocation | null>;
44
-
45
- send: (
46
- orderDelivery: OrderDelivery,
47
- params: { order: Order; deliveryContext?: any },
48
- unchainedAPI: UnchainedCore,
49
- ) => Promise<OrderDelivery>;
50
-
51
- updateContext: (orderDeliveryId: string, context: any) => Promise<OrderDelivery | null>;
52
-
53
- updateStatus: (
54
- orderDeliveryId: string,
55
- params: { status: OrderDeliveryStatus; info?: string },
56
- ) => Promise<OrderDelivery>;
57
-
58
- updateCalculation: (
59
- orderDelivery: OrderDelivery,
60
- unchainedAPI: UnchainedCore,
61
- ) => Promise<OrderDelivery>;
62
- };
3
+ import { OrderDelivery, OrderDeliveryStatus } from '../types.js';
4
+ import { PricingCalculation } from '@unchainedshop/utils';
63
5
 
64
6
  const ORDER_DELIVERY_EVENTS: string[] = ['ORDER_DELIVER', 'ORDER_UPDATE_DELIVERY'];
65
7
 
@@ -70,19 +12,19 @@ export const configureOrderDeliveriesModule = ({
70
12
  OrderDeliveries,
71
13
  }: {
72
14
  OrderDeliveries: mongodb.Collection<OrderDelivery>;
73
- }): OrderDeliveriesModule => {
15
+ }) => {
74
16
  registerEvents(ORDER_DELIVERY_EVENTS);
75
17
 
76
- const normalizedStatus: OrderDeliveriesModule['normalizedStatus'] = (orderDelivery) => {
18
+ const normalizedStatus = (orderDelivery: OrderDelivery) => {
77
19
  return orderDelivery.status === null
78
20
  ? OrderDeliveryStatus.OPEN
79
21
  : (orderDelivery.status as OrderDeliveryStatus);
80
22
  };
81
23
 
82
- const updateStatus: OrderDeliveriesModule['updateStatus'] = async (
83
- orderDeliveryId,
84
- { status, info },
85
- ) => {
24
+ const updateStatus = async (
25
+ orderDeliveryId: string,
26
+ { status, info }: { status: OrderDeliveryStatus; info?: string },
27
+ ): Promise<OrderDelivery> => {
86
28
  const date = new Date();
87
29
  const modifier: mongodb.UpdateFilter<OrderDelivery> = {
88
30
  $set: { status, updated: new Date() },
@@ -106,72 +48,18 @@ export const configureOrderDeliveriesModule = ({
106
48
 
107
49
  return {
108
50
  // Queries
109
- findDelivery: async ({ orderDeliveryId }, options) => {
51
+ findDelivery: async (
52
+ { orderDeliveryId }: { orderDeliveryId: string },
53
+ options?: mongodb.FindOptions,
54
+ ): Promise<OrderDelivery> => {
110
55
  return OrderDeliveries.findOne(buildFindByIdSelector(orderDeliveryId), options);
111
56
  },
112
57
 
113
- // Transformations
114
- discounts: (orderDelivery, { order, orderDiscount }, context) => {
115
- const { modules } = context;
116
- if (!orderDelivery) return [];
117
-
118
- const pricingSheet = modules.orders.deliveries.pricingSheet(
119
- orderDelivery,
120
- order.currency,
121
- context,
122
- );
123
-
124
- return pricingSheet.discountPrices(orderDiscount._id).map((discount) => ({
125
- delivery: orderDelivery,
126
- ...discount,
127
- }));
128
- },
129
-
130
- isBlockingOrderConfirmation: async (orderDelivery, unchainedAPI) => {
131
- const provider = await unchainedAPI.modules.delivery.findProvider({
132
- deliveryProviderId: orderDelivery.deliveryProviderId,
133
- });
134
-
135
- const isAutoReleaseAllowed = await unchainedAPI.modules.delivery.isAutoReleaseAllowed(
136
- provider,
137
- unchainedAPI,
138
- );
139
-
140
- return !isAutoReleaseAllowed;
141
- },
142
-
143
- activePickUpLocation: async (orderDelivery, unchainedAPI) => {
144
- const { orderPickUpLocationId } = orderDelivery.context || {};
145
-
146
- const provider = await unchainedAPI.modules.delivery.findProvider({
147
- deliveryProviderId: orderDelivery.deliveryProviderId,
148
- });
149
- const director = await DeliveryDirector.actions(
150
- provider,
151
- { orderDelivery: orderDelivery },
152
- unchainedAPI,
153
- );
154
-
155
- return director.pickUpLocationById(orderPickUpLocationId);
156
- },
157
-
158
- isBlockingOrderFullfillment: (orderDelivery) => {
159
- if (orderDelivery.status === OrderDeliveryStatus.DELIVERED) return false;
160
- return true;
161
- },
162
-
163
58
  normalizedStatus,
164
59
 
165
- pricingSheet: (orderDelivery, currency, { modules }) => {
166
- return modules.delivery.pricingSheet({
167
- calculation: orderDelivery.calculation,
168
- currency,
169
- });
170
- },
171
-
172
60
  // Mutations
173
61
 
174
- create: async (doc) => {
62
+ create: async (doc: OrderDelivery): Promise<OrderDelivery> => {
175
63
  const { insertedId: orderDeliveryId } = await OrderDeliveries.insertOne({
176
64
  _id: generateDbObjectId(),
177
65
  created: new Date(),
@@ -184,56 +72,22 @@ export const configureOrderDeliveriesModule = ({
184
72
  return orderDelivery;
185
73
  },
186
74
 
187
- delete: async (orderDeliveryId) => {
75
+ delete: async (orderDeliveryId: string) => {
188
76
  const { deletedCount } = await OrderDeliveries.deleteOne({ _id: orderDeliveryId });
189
77
  return deletedCount;
190
78
  },
191
79
 
192
- markAsDelivered: async (orderDelivery) => {
80
+ markAsDelivered: async (orderDelivery: OrderDelivery) => {
193
81
  if (normalizedStatus(orderDelivery) !== OrderDeliveryStatus.OPEN) return;
194
82
  const updatedOrderDelivery = await updateStatus(orderDelivery._id, {
195
83
  status: OrderDeliveryStatus.DELIVERED,
196
84
  info: 'mark delivered manually',
197
85
  });
198
86
  await emit('ORDER_DELIVER', { orderDelivery: updatedOrderDelivery });
87
+ return updatedOrderDelivery;
199
88
  },
200
89
 
201
- send: async (orderDelivery, { order, deliveryContext }, unchainedAPI) => {
202
- if (normalizedStatus(orderDelivery) !== OrderDeliveryStatus.OPEN) return orderDelivery;
203
-
204
- const deliveryProvider = await unchainedAPI.modules.delivery.findProvider({
205
- deliveryProviderId: orderDelivery.deliveryProviderId,
206
- });
207
-
208
- const deliveryProviderId = deliveryProvider._id;
209
-
210
- const address = orderDelivery.context?.address || order || order.billingAddress;
211
-
212
- const arbitraryResponseData = await unchainedAPI.modules.delivery.send(
213
- deliveryProviderId,
214
- {
215
- order,
216
- orderDelivery,
217
- transactionContext: {
218
- ...(deliveryContext || {}),
219
- ...(orderDelivery.context || {}),
220
- ...(address || {}),
221
- },
222
- },
223
- unchainedAPI,
224
- );
225
-
226
- if (arbitraryResponseData) {
227
- return updateStatus(orderDelivery._id, {
228
- status: OrderDeliveryStatus.DELIVERED,
229
- info: JSON.stringify(arbitraryResponseData),
230
- });
231
- }
232
-
233
- return orderDelivery;
234
- },
235
-
236
- updateContext: async (orderDeliveryId, context) => {
90
+ updateContext: async (orderDeliveryId: string, context: any): Promise<OrderDelivery> => {
237
91
  const selector = buildFindByIdSelector(orderDeliveryId);
238
92
  if (!context || Object.keys(context).length === 0) return OrderDeliveries.findOne(selector, {});
239
93
  const contextSetters = Object.fromEntries(
@@ -263,16 +117,12 @@ export const configureOrderDeliveriesModule = ({
263
117
 
264
118
  updateStatus,
265
119
 
266
- updateCalculation: async (orderDelivery, unchainedAPI) => {
267
- const calculation = await unchainedAPI.modules.delivery.calculate(
268
- {
269
- item: orderDelivery,
270
- },
271
- unchainedAPI,
272
- );
273
-
120
+ updateCalculation: async <T extends PricingCalculation>(
121
+ orderDeliveryId: string,
122
+ calculation: Array<T>,
123
+ ): Promise<OrderDelivery> => {
274
124
  return OrderDeliveries.findOneAndUpdate(
275
- buildFindByIdSelector(orderDelivery._id),
125
+ { _id: orderDeliveryId },
276
126
  {
277
127
  $set: {
278
128
  calculation,
@@ -284,5 +134,12 @@ export const configureOrderDeliveriesModule = ({
284
134
  },
285
135
  );
286
136
  },
137
+
138
+ deleteOrderDeliveries: async (orderId: string) => {
139
+ const { deletedCount } = await OrderDeliveries.deleteMany({ orderId });
140
+ return deletedCount;
141
+ },
287
142
  };
288
143
  };
144
+
145
+ export type OrderDeliveriesModule = ReturnType<typeof configureOrderDeliveriesModule>;