@vendure/core 2.0.0-next.1 → 2.0.0-next.12

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 (547) hide show
  1. package/dist/api/api-internal-modules.d.ts +2 -1
  2. package/dist/api/api-internal-modules.js +2 -0
  3. package/dist/api/api-internal-modules.js.map +1 -1
  4. package/dist/api/common/configurable-operation-codec.js +2 -2
  5. package/dist/api/common/configurable-operation-codec.js.map +1 -1
  6. package/dist/api/common/custom-field-relation-resolver.service.d.ts +3 -1
  7. package/dist/api/common/custom-field-relation-resolver.service.js +7 -5
  8. package/dist/api/common/custom-field-relation-resolver.service.js.map +1 -1
  9. package/dist/api/common/id-codec.js +6 -2
  10. package/dist/api/common/id-codec.js.map +1 -1
  11. package/dist/api/config/configure-graphql-module.js +2 -0
  12. package/dist/api/config/configure-graphql-module.js.map +1 -1
  13. package/dist/api/config/generate-permissions.js +29 -4
  14. package/dist/api/config/generate-permissions.js.map +1 -1
  15. package/dist/api/config/generate-resolvers.d.ts +3 -0
  16. package/dist/api/config/generate-resolvers.js +16 -5
  17. package/dist/api/config/generate-resolvers.js.map +1 -1
  18. package/dist/api/decorators/relations.decorator.d.ts +116 -0
  19. package/dist/api/decorators/relations.decorator.js +202 -0
  20. package/dist/api/decorators/relations.decorator.js.map +1 -0
  21. package/dist/api/decorators/request-context.decorator.js +9 -2
  22. package/dist/api/decorators/request-context.decorator.js.map +1 -1
  23. package/dist/api/index.d.ts +1 -0
  24. package/dist/api/index.js +1 -0
  25. package/dist/api/index.js.map +1 -1
  26. package/dist/api/middleware/transaction-interceptor.d.ts +9 -0
  27. package/dist/api/middleware/transaction-interceptor.js +16 -1
  28. package/dist/api/middleware/transaction-interceptor.js.map +1 -1
  29. package/dist/api/resolvers/admin/administrator.resolver.d.ts +3 -2
  30. package/dist/api/resolvers/admin/administrator.resolver.js +10 -6
  31. package/dist/api/resolvers/admin/administrator.resolver.js.map +1 -1
  32. package/dist/api/resolvers/admin/asset.resolver.d.ts +3 -2
  33. package/dist/api/resolvers/admin/asset.resolver.js +10 -6
  34. package/dist/api/resolvers/admin/asset.resolver.js.map +1 -1
  35. package/dist/api/resolvers/admin/channel.resolver.js +2 -2
  36. package/dist/api/resolvers/admin/channel.resolver.js.map +1 -1
  37. package/dist/api/resolvers/admin/collection.resolver.d.ts +5 -3
  38. package/dist/api/resolvers/admin/collection.resolver.js +30 -7
  39. package/dist/api/resolvers/admin/collection.resolver.js.map +1 -1
  40. package/dist/api/resolvers/admin/country.resolver.d.ts +3 -2
  41. package/dist/api/resolvers/admin/country.resolver.js +10 -6
  42. package/dist/api/resolvers/admin/country.resolver.js.map +1 -1
  43. package/dist/api/resolvers/admin/customer-group.resolver.d.ts +3 -2
  44. package/dist/api/resolvers/admin/customer-group.resolver.js +8 -4
  45. package/dist/api/resolvers/admin/customer-group.resolver.js.map +1 -1
  46. package/dist/api/resolvers/admin/customer.resolver.d.ts +3 -2
  47. package/dist/api/resolvers/admin/customer.resolver.js +10 -6
  48. package/dist/api/resolvers/admin/customer.resolver.js.map +1 -1
  49. package/dist/api/resolvers/admin/facet.resolver.d.ts +3 -2
  50. package/dist/api/resolvers/admin/facet.resolver.js +10 -6
  51. package/dist/api/resolvers/admin/facet.resolver.js.map +1 -1
  52. package/dist/api/resolvers/admin/order.resolver.d.ts +8 -6
  53. package/dist/api/resolvers/admin/order.resolver.js +37 -11
  54. package/dist/api/resolvers/admin/order.resolver.js.map +1 -1
  55. package/dist/api/resolvers/admin/payment-method.resolver.d.ts +3 -2
  56. package/dist/api/resolvers/admin/payment-method.resolver.js +10 -6
  57. package/dist/api/resolvers/admin/payment-method.resolver.js.map +1 -1
  58. package/dist/api/resolvers/admin/product-option.resolver.d.ts +5 -3
  59. package/dist/api/resolvers/admin/product-option.resolver.js +21 -4
  60. package/dist/api/resolvers/admin/product-option.resolver.js.map +1 -1
  61. package/dist/api/resolvers/admin/product.resolver.d.ts +4 -3
  62. package/dist/api/resolvers/admin/product.resolver.js +16 -10
  63. package/dist/api/resolvers/admin/product.resolver.js.map +1 -1
  64. package/dist/api/resolvers/admin/promotion.resolver.d.ts +3 -2
  65. package/dist/api/resolvers/admin/promotion.resolver.js +9 -6
  66. package/dist/api/resolvers/admin/promotion.resolver.js.map +1 -1
  67. package/dist/api/resolvers/admin/role.resolver.d.ts +3 -2
  68. package/dist/api/resolvers/admin/role.resolver.js +10 -6
  69. package/dist/api/resolvers/admin/role.resolver.js.map +1 -1
  70. package/dist/api/resolvers/admin/shipping-method.resolver.d.ts +3 -2
  71. package/dist/api/resolvers/admin/shipping-method.resolver.js +10 -6
  72. package/dist/api/resolvers/admin/shipping-method.resolver.js.map +1 -1
  73. package/dist/api/resolvers/admin/tax-rate.resolver.d.ts +3 -2
  74. package/dist/api/resolvers/admin/tax-rate.resolver.js +10 -6
  75. package/dist/api/resolvers/admin/tax-rate.resolver.js.map +1 -1
  76. package/dist/api/resolvers/base/base-auth.resolver.d.ts +2 -2
  77. package/dist/api/resolvers/base/base-auth.resolver.js.map +1 -1
  78. package/dist/api/resolvers/entity/collection-entity.resolver.d.ts +3 -1
  79. package/dist/api/resolvers/entity/collection-entity.resolver.js +17 -4
  80. package/dist/api/resolvers/entity/collection-entity.resolver.js.map +1 -1
  81. package/dist/api/resolvers/entity/country-entity.resolver.d.ts +1 -0
  82. package/dist/api/resolvers/entity/country-entity.resolver.js +11 -0
  83. package/dist/api/resolvers/entity/country-entity.resolver.js.map +1 -1
  84. package/dist/api/resolvers/entity/customer-entity.resolver.d.ts +2 -1
  85. package/dist/api/resolvers/entity/customer-entity.resolver.js +5 -3
  86. package/dist/api/resolvers/entity/customer-entity.resolver.js.map +1 -1
  87. package/dist/api/resolvers/entity/facet-entity.resolver.d.ts +1 -0
  88. package/dist/api/resolvers/entity/facet-entity.resolver.js +11 -0
  89. package/dist/api/resolvers/entity/facet-entity.resolver.js.map +1 -1
  90. package/dist/api/resolvers/entity/facet-value-entity.resolver.d.ts +1 -0
  91. package/dist/api/resolvers/entity/facet-value-entity.resolver.js +11 -0
  92. package/dist/api/resolvers/entity/facet-value-entity.resolver.js.map +1 -1
  93. package/dist/api/resolvers/entity/fulfillment-entity.resolver.d.ts +8 -2
  94. package/dist/api/resolvers/entity/fulfillment-entity.resolver.js +17 -3
  95. package/dist/api/resolvers/entity/fulfillment-entity.resolver.js.map +1 -1
  96. package/dist/api/resolvers/entity/order-item-entity.resolver.d.ts +3 -1
  97. package/dist/api/resolvers/entity/order-item-entity.resolver.js +9 -3
  98. package/dist/api/resolvers/entity/order-item-entity.resolver.js.map +1 -1
  99. package/dist/api/resolvers/entity/order-line-entity.resolver.d.ts +8 -3
  100. package/dist/api/resolvers/entity/order-line-entity.resolver.js +36 -2
  101. package/dist/api/resolvers/entity/order-line-entity.resolver.js.map +1 -1
  102. package/dist/api/resolvers/entity/payment-entity.resolver.d.ts +3 -1
  103. package/dist/api/resolvers/entity/payment-entity.resolver.js +6 -3
  104. package/dist/api/resolvers/entity/payment-entity.resolver.js.map +1 -1
  105. package/dist/api/resolvers/entity/product-entity.resolver.d.ts +4 -2
  106. package/dist/api/resolvers/entity/product-entity.resolver.js +21 -6
  107. package/dist/api/resolvers/entity/product-entity.resolver.js.map +1 -1
  108. package/dist/api/resolvers/entity/product-option-entity.resolver.d.ts +1 -0
  109. package/dist/api/resolvers/entity/product-option-entity.resolver.js +11 -0
  110. package/dist/api/resolvers/entity/product-option-entity.resolver.js.map +1 -1
  111. package/dist/api/resolvers/entity/product-option-group-entity.resolver.d.ts +1 -0
  112. package/dist/api/resolvers/entity/product-option-group-entity.resolver.js +19 -3
  113. package/dist/api/resolvers/entity/product-option-group-entity.resolver.js.map +1 -1
  114. package/dist/api/resolvers/entity/product-variant-entity.resolver.d.ts +1 -0
  115. package/dist/api/resolvers/entity/product-variant-entity.resolver.js +12 -0
  116. package/dist/api/resolvers/entity/product-variant-entity.resolver.js.map +1 -1
  117. package/dist/api/resolvers/entity/shipping-method-entity.resolver.d.ts +10 -0
  118. package/dist/api/resolvers/entity/shipping-method-entity.resolver.js +64 -0
  119. package/dist/api/resolvers/entity/shipping-method-entity.resolver.js.map +1 -0
  120. package/dist/api/resolvers/shop/shop-order.resolver.d.ts +4 -3
  121. package/dist/api/resolvers/shop/shop-order.resolver.js +16 -8
  122. package/dist/api/resolvers/shop/shop-order.resolver.js.map +1 -1
  123. package/dist/api/resolvers/shop/shop-products.resolver.d.ts +8 -8
  124. package/dist/api/resolvers/shop/shop-products.resolver.js +38 -21
  125. package/dist/api/resolvers/shop/shop-products.resolver.js.map +1 -1
  126. package/dist/api/schema/admin-api/collection.api.graphql +8 -0
  127. package/dist/api/schema/admin-api/order.api.graphql +15 -0
  128. package/dist/api/schema/admin-api/product-option-group.api.graphql +2 -0
  129. package/dist/api/schema/common/common-error-results.graphql +22 -0
  130. package/dist/api/schema/common/order.type.graphql +7 -0
  131. package/dist/api/schema/common/shipping-method.type.graphql +1 -0
  132. package/dist/api/schema/shop-api/shop-error-results.graphql +0 -29
  133. package/dist/bootstrap.js +10 -6
  134. package/dist/bootstrap.js.map +1 -1
  135. package/dist/common/calculated-decorator.d.ts +16 -3
  136. package/dist/common/calculated-decorator.js +3 -0
  137. package/dist/common/calculated-decorator.js.map +1 -1
  138. package/dist/common/configurable-operation.js +9 -4
  139. package/dist/common/configurable-operation.js.map +1 -1
  140. package/dist/common/constants.d.ts +1 -0
  141. package/dist/common/constants.js +2 -1
  142. package/dist/common/constants.js.map +1 -1
  143. package/dist/common/error/errors.d.ts +1 -0
  144. package/dist/common/error/errors.js.map +1 -1
  145. package/dist/common/error/generated-graphql-admin-errors.d.ts +41 -0
  146. package/dist/common/error/generated-graphql-admin-errors.js +48 -2
  147. package/dist/common/error/generated-graphql-admin-errors.js.map +1 -1
  148. package/dist/common/finite-state-machine/finite-state-machine.js +2 -1
  149. package/dist/common/finite-state-machine/finite-state-machine.js.map +1 -1
  150. package/dist/common/self-refreshing-cache.d.ts +5 -2
  151. package/dist/common/self-refreshing-cache.js +9 -7
  152. package/dist/common/self-refreshing-cache.js.map +1 -1
  153. package/dist/common/types/entity-relation-paths.d.ts +1 -1
  154. package/dist/config/asset-import-strategy/asset-import-strategy.d.ts +24 -0
  155. package/dist/config/asset-import-strategy/asset-import-strategy.js +3 -0
  156. package/dist/config/asset-import-strategy/asset-import-strategy.js.map +1 -0
  157. package/dist/config/asset-import-strategy/default-asset-import-strategy.d.ts +24 -0
  158. package/dist/config/asset-import-strategy/default-asset-import-strategy.js +89 -0
  159. package/dist/config/asset-import-strategy/default-asset-import-strategy.js.map +1 -0
  160. package/dist/config/asset-naming-strategy/default-asset-naming-strategy.js +1 -1
  161. package/dist/config/asset-naming-strategy/default-asset-naming-strategy.js.map +1 -1
  162. package/dist/config/catalog/collection-filter.d.ts +32 -0
  163. package/dist/config/catalog/collection-filter.js +32 -0
  164. package/dist/config/catalog/collection-filter.js.map +1 -1
  165. package/dist/config/catalog/default-collection-filters.d.ts +100 -0
  166. package/dist/config/catalog/default-collection-filters.js +154 -21
  167. package/dist/config/catalog/default-collection-filters.js.map +1 -1
  168. package/dist/config/config-helpers.d.ts +4 -0
  169. package/dist/config/config-helpers.js +8 -1
  170. package/dist/config/config-helpers.js.map +1 -1
  171. package/dist/config/config.module.js +13 -0
  172. package/dist/config/config.module.js.map +1 -1
  173. package/dist/config/config.service.d.ts +2 -1
  174. package/dist/config/config.service.js +3 -0
  175. package/dist/config/config.service.js.map +1 -1
  176. package/dist/config/custom-field/custom-field-types.d.ts +3 -0
  177. package/dist/config/default-config.js +8 -0
  178. package/dist/config/default-config.js.map +1 -1
  179. package/dist/config/entity-id-strategy/entity-id-strategy.d.ts +7 -0
  180. package/dist/config/entity-metadata/add-foreign-key-indices.d.ts +12 -0
  181. package/dist/config/entity-metadata/add-foreign-key-indices.js +33 -0
  182. package/dist/config/entity-metadata/add-foreign-key-indices.js.map +1 -0
  183. package/dist/config/entity-metadata/entity-metadata-modifier.d.ts +55 -0
  184. package/dist/config/entity-metadata/entity-metadata-modifier.js +3 -0
  185. package/dist/config/entity-metadata/entity-metadata-modifier.js.map +1 -0
  186. package/dist/config/fulfillment/custom-fulfillment-process.d.ts +2 -2
  187. package/dist/config/index.d.ts +4 -0
  188. package/dist/config/index.js +4 -0
  189. package/dist/config/index.js.map +1 -1
  190. package/dist/config/logger/vendure-logger.d.ts +1 -0
  191. package/dist/config/logger/vendure-logger.js.map +1 -1
  192. package/dist/config/order/custom-order-process.d.ts +2 -2
  193. package/dist/config/order/order-item-price-calculation-strategy.d.ts +3 -0
  194. package/dist/config/payment/custom-payment-process.d.ts +2 -2
  195. package/dist/config/payment/dummy-payment-method-handler.js +10 -2
  196. package/dist/config/payment/dummy-payment-method-handler.js.map +1 -1
  197. package/dist/config/payment/example-payment-method-handler.js +2 -2
  198. package/dist/config/payment/example-payment-method-handler.js.map +1 -1
  199. package/dist/config/payment/payment-method-eligibility-checker.d.ts +3 -3
  200. package/dist/config/payment/payment-method-eligibility-checker.js +2 -2
  201. package/dist/config/payment/payment-method-eligibility-checker.js.map +1 -1
  202. package/dist/config/payment/payment-method-handler.d.ts +73 -8
  203. package/dist/config/payment/payment-method-handler.js +17 -7
  204. package/dist/config/payment/payment-method-handler.js.map +1 -1
  205. package/dist/config/promotion/actions/facet-values-percentage-discount-action.js +1 -1
  206. package/dist/config/promotion/actions/facet-values-percentage-discount-action.js.map +1 -1
  207. package/dist/config/promotion/actions/order-fixed-discount-action.js +1 -1
  208. package/dist/config/promotion/actions/order-fixed-discount-action.js.map +1 -1
  209. package/dist/config/promotion/conditions/has-facet-values-condition.js +1 -1
  210. package/dist/config/promotion/conditions/has-facet-values-condition.js.map +1 -1
  211. package/dist/config/promotion/index.d.ts +4 -0
  212. package/dist/config/promotion/index.js +4 -0
  213. package/dist/config/promotion/index.js.map +1 -1
  214. package/dist/config/promotion/utils/facet-value-checker.d.ts +2 -1
  215. package/dist/config/promotion/utils/facet-value-checker.js +2 -2
  216. package/dist/config/promotion/utils/facet-value-checker.js.map +1 -1
  217. package/dist/config/shipping-method/shipping-calculator.d.ts +3 -3
  218. package/dist/config/shipping-method/shipping-calculator.js +2 -2
  219. package/dist/config/shipping-method/shipping-calculator.js.map +1 -1
  220. package/dist/config/shipping-method/shipping-eligibility-checker.d.ts +4 -4
  221. package/dist/config/shipping-method/shipping-eligibility-checker.js +5 -5
  222. package/dist/config/shipping-method/shipping-eligibility-checker.js.map +1 -1
  223. package/dist/config/system/health-check-strategy.d.ts +47 -0
  224. package/dist/config/system/health-check-strategy.js +3 -0
  225. package/dist/config/system/health-check-strategy.js.map +1 -0
  226. package/dist/config/vendure-config.d.ts +79 -0
  227. package/dist/connection/connection.module.d.ts +1 -1
  228. package/dist/connection/remove-custom-fields-with-eager-relations.d.ts +34 -0
  229. package/dist/connection/remove-custom-fields-with-eager-relations.js +55 -0
  230. package/dist/connection/remove-custom-fields-with-eager-relations.js.map +1 -0
  231. package/dist/connection/transaction-subscriber.d.ts +16 -2
  232. package/dist/connection/transaction-subscriber.js +27 -6
  233. package/dist/connection/transaction-subscriber.js.map +1 -1
  234. package/dist/connection/transaction-wrapper.d.ts +5 -1
  235. package/dist/connection/transaction-wrapper.js +14 -11
  236. package/dist/connection/transaction-wrapper.js.map +1 -1
  237. package/dist/connection/transactional-connection.d.ts +9 -3
  238. package/dist/connection/transactional-connection.js +27 -8
  239. package/dist/connection/transactional-connection.js.map +1 -1
  240. package/dist/data-import/providers/asset-importer/asset-importer.js +12 -18
  241. package/dist/data-import/providers/asset-importer/asset-importer.js.map +1 -1
  242. package/dist/data-import/providers/importer/fast-importer.service.js +11 -5
  243. package/dist/data-import/providers/importer/fast-importer.service.js.map +1 -1
  244. package/dist/data-import/providers/importer/importer.d.ts +3 -2
  245. package/dist/data-import/providers/importer/importer.js +15 -9
  246. package/dist/data-import/providers/importer/importer.js.map +1 -1
  247. package/dist/data-import/providers/populator/populator.js +1 -1
  248. package/dist/data-import/providers/populator/populator.js.map +1 -1
  249. package/dist/entity/address/address.entity.js +2 -0
  250. package/dist/entity/address/address.entity.js.map +1 -1
  251. package/dist/entity/asset/orderable-asset.entity.js +1 -0
  252. package/dist/entity/asset/orderable-asset.entity.js.map +1 -1
  253. package/dist/entity/authentication-method/authentication-method.entity.js +1 -0
  254. package/dist/entity/authentication-method/authentication-method.entity.js.map +1 -1
  255. package/dist/entity/channel/channel.entity.js +2 -0
  256. package/dist/entity/channel/channel.entity.js.map +1 -1
  257. package/dist/entity/collection/collection-translation.entity.js +1 -0
  258. package/dist/entity/collection/collection-translation.entity.js.map +1 -1
  259. package/dist/entity/collection/collection.entity.js +1 -0
  260. package/dist/entity/collection/collection.entity.js.map +1 -1
  261. package/dist/entity/country/country-translation.entity.js +1 -0
  262. package/dist/entity/country/country-translation.entity.js.map +1 -1
  263. package/dist/entity/facet/facet-translation.entity.js +1 -0
  264. package/dist/entity/facet/facet-translation.entity.js.map +1 -1
  265. package/dist/entity/facet-value/facet-value-translation.entity.js +1 -0
  266. package/dist/entity/facet-value/facet-value-translation.entity.js.map +1 -1
  267. package/dist/entity/facet-value/facet-value.entity.js +1 -0
  268. package/dist/entity/facet-value/facet-value.entity.js.map +1 -1
  269. package/dist/entity/history-entry/customer-history-entry.entity.js +1 -0
  270. package/dist/entity/history-entry/customer-history-entry.entity.js.map +1 -1
  271. package/dist/entity/history-entry/history-entry.entity.js +1 -0
  272. package/dist/entity/history-entry/history-entry.entity.js.map +1 -1
  273. package/dist/entity/history-entry/order-history-entry.entity.js +1 -0
  274. package/dist/entity/history-entry/order-history-entry.entity.js.map +1 -1
  275. package/dist/entity/order/order.entity.js +5 -2
  276. package/dist/entity/order/order.entity.js.map +1 -1
  277. package/dist/entity/order-item/order-item.entity.js +2 -0
  278. package/dist/entity/order-item/order-item.entity.js.map +1 -1
  279. package/dist/entity/order-line/order-line.entity.js +30 -22
  280. package/dist/entity/order-line/order-line.entity.js.map +1 -1
  281. package/dist/entity/order-modification/order-modification.entity.js +1 -0
  282. package/dist/entity/order-modification/order-modification.entity.js.map +1 -1
  283. package/dist/entity/payment/payment.entity.js +1 -0
  284. package/dist/entity/payment/payment.entity.js.map +1 -1
  285. package/dist/entity/product/product-translation.entity.js +1 -0
  286. package/dist/entity/product/product-translation.entity.js.map +1 -1
  287. package/dist/entity/product/product.entity.js +1 -0
  288. package/dist/entity/product/product.entity.js.map +1 -1
  289. package/dist/entity/product-option/product-option-translation.entity.js +1 -0
  290. package/dist/entity/product-option/product-option-translation.entity.js.map +1 -1
  291. package/dist/entity/product-option/product-option.entity.js +1 -0
  292. package/dist/entity/product-option/product-option.entity.js.map +1 -1
  293. package/dist/entity/product-option-group/product-option-group-translation.entity.js +1 -0
  294. package/dist/entity/product-option-group/product-option-group-translation.entity.js.map +1 -1
  295. package/dist/entity/product-option-group/product-option-group.entity.js +1 -0
  296. package/dist/entity/product-option-group/product-option-group.entity.js.map +1 -1
  297. package/dist/entity/product-variant/product-variant-price.entity.js +1 -0
  298. package/dist/entity/product-variant/product-variant-price.entity.js.map +1 -1
  299. package/dist/entity/product-variant/product-variant-translation.entity.js +1 -0
  300. package/dist/entity/product-variant/product-variant-translation.entity.js.map +1 -1
  301. package/dist/entity/product-variant/product-variant.entity.js +3 -0
  302. package/dist/entity/product-variant/product-variant.entity.js.map +1 -1
  303. package/dist/entity/refund/refund.entity.js +1 -0
  304. package/dist/entity/refund/refund.entity.js.map +1 -1
  305. package/dist/entity/register-custom-entity-fields.js +17 -2
  306. package/dist/entity/register-custom-entity-fields.js.map +1 -1
  307. package/dist/entity/run-entity-metadata-modifiers.d.ts +2 -0
  308. package/dist/entity/run-entity-metadata-modifiers.js +15 -0
  309. package/dist/entity/run-entity-metadata-modifiers.js.map +1 -0
  310. package/dist/entity/session/authenticated-session.entity.js +1 -0
  311. package/dist/entity/session/authenticated-session.entity.js.map +1 -1
  312. package/dist/entity/session/session.entity.js +2 -0
  313. package/dist/entity/session/session.entity.js.map +1 -1
  314. package/dist/entity/shipping-line/shipping-line.entity.js +2 -0
  315. package/dist/entity/shipping-line/shipping-line.entity.js.map +1 -1
  316. package/dist/entity/shipping-method/shipping-method-translation.entity.js +1 -0
  317. package/dist/entity/shipping-method/shipping-method-translation.entity.js.map +1 -1
  318. package/dist/entity/shipping-method/shipping-method.entity.js +2 -2
  319. package/dist/entity/shipping-method/shipping-method.entity.js.map +1 -1
  320. package/dist/entity/stock-movement/allocation.entity.js +1 -0
  321. package/dist/entity/stock-movement/allocation.entity.js.map +1 -1
  322. package/dist/entity/stock-movement/cancellation.entity.js.map +1 -1
  323. package/dist/entity/stock-movement/release.entity.js +1 -0
  324. package/dist/entity/stock-movement/release.entity.js.map +1 -1
  325. package/dist/entity/stock-movement/sale.entity.js.map +1 -1
  326. package/dist/entity/stock-movement/stock-movement.entity.js +1 -0
  327. package/dist/entity/stock-movement/stock-movement.entity.js.map +1 -1
  328. package/dist/entity/surcharge/surcharge.entity.js +2 -0
  329. package/dist/entity/surcharge/surcharge.entity.js.map +1 -1
  330. package/dist/entity/tax-rate/tax-rate.entity.js +3 -0
  331. package/dist/entity/tax-rate/tax-rate.entity.js.map +1 -1
  332. package/dist/event-bus/event-bus.js +24 -4
  333. package/dist/event-bus/event-bus.js.map +1 -1
  334. package/dist/event-bus/events/initializer-event.d.ts +12 -0
  335. package/dist/event-bus/events/initializer-event.js +19 -0
  336. package/dist/event-bus/events/initializer-event.js.map +1 -0
  337. package/dist/event-bus/events/product-option-event.d.ts +1 -1
  338. package/dist/event-bus/events/product-option-event.js.map +1 -1
  339. package/dist/event-bus/events/product-option-group-event.d.ts +1 -1
  340. package/dist/event-bus/events/product-option-group-event.js.map +1 -1
  341. package/dist/event-bus/events/role-event.d.ts +1 -1
  342. package/dist/event-bus/events/role-event.js +1 -1
  343. package/dist/event-bus/events/search-event.d.ts +20 -0
  344. package/dist/event-bus/events/search-event.js +21 -0
  345. package/dist/event-bus/events/search-event.js.map +1 -0
  346. package/dist/event-bus/index.d.ts +2 -0
  347. package/dist/event-bus/index.js +2 -0
  348. package/dist/event-bus/index.js.map +1 -1
  349. package/dist/health-check/health-check-registry.service.d.ts +7 -1
  350. package/dist/health-check/health-check-registry.service.js +7 -1
  351. package/dist/health-check/health-check-registry.service.js.map +1 -1
  352. package/dist/health-check/health-check.module.d.ts +1 -3
  353. package/dist/health-check/health-check.module.js +6 -5
  354. package/dist/health-check/health-check.module.js.map +1 -1
  355. package/dist/health-check/http-health-check-strategy.d.ts +36 -0
  356. package/dist/health-check/http-health-check-strategy.js +41 -0
  357. package/dist/health-check/http-health-check-strategy.js.map +1 -0
  358. package/dist/health-check/index.d.ts +2 -0
  359. package/dist/health-check/index.js +2 -0
  360. package/dist/health-check/index.js.map +1 -1
  361. package/dist/health-check/typeorm-health-check-strategy.d.ts +36 -0
  362. package/dist/health-check/typeorm-health-check-strategy.js +44 -0
  363. package/dist/health-check/typeorm-health-check-strategy.js.map +1 -0
  364. package/dist/i18n/messages/en.json +3 -0
  365. package/dist/job-queue/subscribable-job.d.ts +23 -6
  366. package/dist/job-queue/subscribable-job.js +4 -4
  367. package/dist/job-queue/subscribable-job.js.map +1 -1
  368. package/dist/migrate.js +14 -0
  369. package/dist/migrate.js.map +1 -1
  370. package/dist/plugin/default-job-queue-plugin/sql-job-buffer-storage-strategy.js +5 -3
  371. package/dist/plugin/default-job-queue-plugin/sql-job-buffer-storage-strategy.js.map +1 -1
  372. package/dist/plugin/default-search-plugin/default-search-plugin.d.ts +9 -3
  373. package/dist/plugin/default-search-plugin/default-search-plugin.js +25 -2
  374. package/dist/plugin/default-search-plugin/default-search-plugin.js.map +1 -1
  375. package/dist/plugin/default-search-plugin/fulltext-search.service.d.ts +3 -1
  376. package/dist/plugin/default-search-plugin/fulltext-search.service.js +29 -19
  377. package/dist/plugin/default-search-plugin/fulltext-search.service.js.map +1 -1
  378. package/dist/plugin/default-search-plugin/indexer/indexer.controller.js +31 -25
  379. package/dist/plugin/default-search-plugin/indexer/indexer.controller.js.map +1 -1
  380. package/dist/plugin/default-search-plugin/indexer/search-index.service.js +1 -1
  381. package/dist/plugin/default-search-plugin/indexer/search-index.service.js.map +1 -1
  382. package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.d.ts +4 -4
  383. package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.js +46 -42
  384. package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.js.map +1 -1
  385. package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.d.ts +4 -4
  386. package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.js +23 -19
  387. package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.js.map +1 -1
  388. package/dist/plugin/default-search-plugin/search-strategy/search-strategy-common.d.ts +1 -0
  389. package/dist/plugin/default-search-plugin/search-strategy/search-strategy-common.js +8 -1
  390. package/dist/plugin/default-search-plugin/search-strategy/search-strategy-common.js.map +1 -1
  391. package/dist/plugin/default-search-plugin/search-strategy/search-strategy-utils.d.ts +11 -1
  392. package/dist/plugin/default-search-plugin/search-strategy/search-strategy-utils.js +31 -1
  393. package/dist/plugin/default-search-plugin/search-strategy/search-strategy-utils.js.map +1 -1
  394. package/dist/plugin/default-search-plugin/search-strategy/search-strategy.d.ts +2 -1
  395. package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.d.ts +4 -4
  396. package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js +41 -37
  397. package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js.map +1 -1
  398. package/dist/plugin/default-search-plugin/types.d.ts +85 -1
  399. package/dist/plugin/plugin-metadata.js +2 -1
  400. package/dist/plugin/plugin-metadata.js.map +1 -1
  401. package/dist/plugin/vendure-plugin.d.ts +11 -2
  402. package/dist/plugin/vendure-plugin.js.map +1 -1
  403. package/dist/service/helpers/config-arg/config-arg.service.d.ts +1 -0
  404. package/dist/service/helpers/config-arg/config-arg.service.js +12 -1
  405. package/dist/service/helpers/config-arg/config-arg.service.js.map +1 -1
  406. package/dist/service/helpers/entity-hydrator/entity-hydrator.service.d.ts +3 -1
  407. package/dist/service/helpers/entity-hydrator/entity-hydrator.service.js +6 -4
  408. package/dist/service/helpers/entity-hydrator/entity-hydrator.service.js.map +1 -1
  409. package/dist/service/helpers/external-authentication/external-authentication.service.js +1 -1
  410. package/dist/service/helpers/external-authentication/external-authentication.service.js.map +1 -1
  411. package/dist/service/helpers/fulfillment-state-machine/fulfillment-state.d.ts +9 -1
  412. package/dist/service/helpers/fulfillment-state-machine/fulfillment-state.js.map +1 -1
  413. package/dist/service/helpers/list-query-builder/connection-utils.js +7 -1
  414. package/dist/service/helpers/list-query-builder/connection-utils.js.map +1 -1
  415. package/dist/service/helpers/list-query-builder/list-query-builder.d.ts +50 -6
  416. package/dist/service/helpers/list-query-builder/list-query-builder.js +167 -28
  417. package/dist/service/helpers/list-query-builder/list-query-builder.js.map +1 -1
  418. package/dist/service/helpers/list-query-builder/parse-channel-param.d.ts +1 -1
  419. package/dist/service/helpers/list-query-builder/parse-channel-param.js +2 -2
  420. package/dist/service/helpers/list-query-builder/parse-channel-param.js.map +1 -1
  421. package/dist/service/helpers/list-query-builder/parse-filter-params.d.ts +1 -1
  422. package/dist/service/helpers/list-query-builder/parse-filter-params.js +3 -2
  423. package/dist/service/helpers/list-query-builder/parse-filter-params.js.map +1 -1
  424. package/dist/service/helpers/list-query-builder/parse-sort-params.d.ts +2 -1
  425. package/dist/service/helpers/list-query-builder/parse-sort-params.js +12 -4
  426. package/dist/service/helpers/list-query-builder/parse-sort-params.js.map +1 -1
  427. package/dist/service/helpers/locale-string-hydrator/locale-string-hydrator.d.ts +7 -2
  428. package/dist/service/helpers/locale-string-hydrator/locale-string-hydrator.js +10 -5
  429. package/dist/service/helpers/locale-string-hydrator/locale-string-hydrator.js.map +1 -1
  430. package/dist/service/helpers/order-calculator/order-calculator.d.ts +18 -0
  431. package/dist/service/helpers/order-calculator/order-calculator.js +22 -4
  432. package/dist/service/helpers/order-calculator/order-calculator.js.map +1 -1
  433. package/dist/service/helpers/order-calculator/prorate.js +1 -1
  434. package/dist/service/helpers/order-calculator/prorate.js.map +1 -1
  435. package/dist/service/helpers/order-modifier/order-modifier.d.ts +26 -1
  436. package/dist/service/helpers/order-modifier/order-modifier.js +147 -19
  437. package/dist/service/helpers/order-modifier/order-modifier.js.map +1 -1
  438. package/dist/service/helpers/order-state-machine/order-state-machine.js +1 -1
  439. package/dist/service/helpers/order-state-machine/order-state-machine.js.map +1 -1
  440. package/dist/service/helpers/order-state-machine/order-state.d.ts +9 -1
  441. package/dist/service/helpers/order-state-machine/order-state.js.map +1 -1
  442. package/dist/service/helpers/payment-state-machine/payment-state.d.ts +9 -1
  443. package/dist/service/helpers/payment-state-machine/payment-state.js.map +1 -1
  444. package/dist/service/helpers/product-price-applicator/product-price-applicator.d.ts +26 -2
  445. package/dist/service/helpers/product-price-applicator/product-price-applicator.js +26 -2
  446. package/dist/service/helpers/product-price-applicator/product-price-applicator.js.map +1 -1
  447. package/dist/service/helpers/slug-validator/slug-validator.d.ts +16 -0
  448. package/dist/service/helpers/slug-validator/slug-validator.js +26 -7
  449. package/dist/service/helpers/slug-validator/slug-validator.js.map +1 -1
  450. package/dist/service/helpers/translatable-saver/translatable-saver.d.ts +28 -1
  451. package/dist/service/helpers/translatable-saver/translatable-saver.js +28 -1
  452. package/dist/service/helpers/translatable-saver/translatable-saver.js.map +1 -1
  453. package/dist/service/helpers/translator/translator.service.d.ts +10 -0
  454. package/dist/service/helpers/translator/translator.service.js +29 -0
  455. package/dist/service/helpers/translator/translator.service.js.map +1 -0
  456. package/dist/service/helpers/utils/order-utils.js +1 -1
  457. package/dist/service/helpers/utils/order-utils.js.map +1 -1
  458. package/dist/service/helpers/utils/translate-entity.d.ts +3 -3
  459. package/dist/service/helpers/utils/translate-entity.js +12 -4
  460. package/dist/service/helpers/utils/translate-entity.js.map +1 -1
  461. package/dist/service/index.d.ts +2 -0
  462. package/dist/service/index.js +2 -0
  463. package/dist/service/index.js.map +1 -1
  464. package/dist/service/initializer.service.d.ts +3 -1
  465. package/dist/service/initializer.service.js +8 -3
  466. package/dist/service/initializer.service.js.map +1 -1
  467. package/dist/service/service.module.js +2 -0
  468. package/dist/service/service.module.js.map +1 -1
  469. package/dist/service/services/administrator.service.d.ts +4 -3
  470. package/dist/service/services/administrator.service.js +16 -13
  471. package/dist/service/services/administrator.service.js.map +1 -1
  472. package/dist/service/services/asset.service.d.ts +5 -3
  473. package/dist/service/services/asset.service.js +25 -8
  474. package/dist/service/services/asset.service.js.map +1 -1
  475. package/dist/service/services/channel.service.d.ts +2 -1
  476. package/dist/service/services/channel.service.js +29 -18
  477. package/dist/service/services/channel.service.js.map +1 -1
  478. package/dist/service/services/collection.service.d.ts +11 -6
  479. package/dist/service/services/collection.service.js +63 -29
  480. package/dist/service/services/collection.service.js.map +1 -1
  481. package/dist/service/services/country.service.d.ts +6 -3
  482. package/dist/service/services/country.service.js +13 -11
  483. package/dist/service/services/country.service.js.map +1 -1
  484. package/dist/service/services/customer-group.service.d.ts +6 -3
  485. package/dist/service/services/customer-group.service.js +12 -7
  486. package/dist/service/services/customer-group.service.js.map +1 -1
  487. package/dist/service/services/customer.service.d.ts +6 -3
  488. package/dist/service/services/customer.service.js +12 -10
  489. package/dist/service/services/customer.service.js.map +1 -1
  490. package/dist/service/services/facet-value.service.d.ts +7 -1
  491. package/dist/service/services/facet-value.service.js +17 -9
  492. package/dist/service/services/facet-value.service.js.map +1 -1
  493. package/dist/service/services/facet.service.d.ts +10 -3
  494. package/dist/service/services/facet.service.js +31 -15
  495. package/dist/service/services/facet.service.js.map +1 -1
  496. package/dist/service/services/fulfillment.service.d.ts +9 -0
  497. package/dist/service/services/fulfillment.service.js +48 -8
  498. package/dist/service/services/fulfillment.service.js.map +1 -1
  499. package/dist/service/services/global-settings.service.js +5 -3
  500. package/dist/service/services/global-settings.service.js.map +1 -1
  501. package/dist/service/services/order-testing.service.d.ts +3 -1
  502. package/dist/service/services/order-testing.service.js +6 -4
  503. package/dist/service/services/order-testing.service.js.map +1 -1
  504. package/dist/service/services/order.service.d.ts +40 -9
  505. package/dist/service/services/order.service.js +194 -95
  506. package/dist/service/services/order.service.js.map +1 -1
  507. package/dist/service/services/payment-method.service.d.ts +6 -3
  508. package/dist/service/services/payment-method.service.js +15 -8
  509. package/dist/service/services/payment-method.service.js.map +1 -1
  510. package/dist/service/services/payment.service.d.ts +2 -0
  511. package/dist/service/services/payment.service.js +34 -14
  512. package/dist/service/services/payment.service.js.map +1 -1
  513. package/dist/service/services/product-option-group.service.d.ts +27 -4
  514. package/dist/service/services/product-option-group.service.js +96 -10
  515. package/dist/service/services/product-option-group.service.js.map +1 -1
  516. package/dist/service/services/product-option.service.d.ts +15 -2
  517. package/dist/service/services/product-option.service.js +66 -5
  518. package/dist/service/services/product-option.service.js.map +1 -1
  519. package/dist/service/services/product-variant.service.d.ts +14 -4
  520. package/dist/service/services/product-variant.service.js +68 -50
  521. package/dist/service/services/product-variant.service.js.map +1 -1
  522. package/dist/service/services/product.service.d.ts +10 -5
  523. package/dist/service/services/product.service.js +72 -27
  524. package/dist/service/services/product.service.js.map +1 -1
  525. package/dist/service/services/promotion.service.d.ts +3 -2
  526. package/dist/service/services/promotion.service.js +12 -7
  527. package/dist/service/services/promotion.service.js.map +1 -1
  528. package/dist/service/services/role.service.d.ts +5 -4
  529. package/dist/service/services/role.service.js +16 -13
  530. package/dist/service/services/role.service.js.map +1 -1
  531. package/dist/service/services/session.service.js +7 -7
  532. package/dist/service/services/session.service.js.map +1 -1
  533. package/dist/service/services/shipping-method.service.d.ts +6 -3
  534. package/dist/service/services/shipping-method.service.js +14 -12
  535. package/dist/service/services/shipping-method.service.js.map +1 -1
  536. package/dist/service/services/stock-movement.service.js +8 -7
  537. package/dist/service/services/stock-movement.service.js.map +1 -1
  538. package/dist/service/services/tax-rate.service.d.ts +3 -2
  539. package/dist/service/services/tax-rate.service.js +4 -4
  540. package/dist/service/services/tax-rate.service.js.map +1 -1
  541. package/dist/service/services/user.service.d.ts +1 -1
  542. package/dist/service/services/user.service.js +15 -1
  543. package/dist/service/services/user.service.js.map +1 -1
  544. package/dist/service/services/zone.service.d.ts +5 -3
  545. package/dist/service/services/zone.service.js +10 -8
  546. package/dist/service/services/zone.service.js.map +1 -1
  547. package/package.json +5 -4
@@ -13,7 +13,6 @@ exports.OrderService = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const generated_types_1 = require("@vendure/common/lib/generated-types");
15
15
  const shared_utils_1 = require("@vendure/common/lib/shared-utils");
16
- const unique_1 = require("@vendure/common/lib/unique");
17
16
  const FindOptionsUtils_1 = require("typeorm/find-options/FindOptionsUtils");
18
17
  const request_context_cache_service_1 = require("../../cache/request-context-cache.service");
19
18
  const error_result_1 = require("../../common/error/error-result");
@@ -24,21 +23,25 @@ const tax_utils_1 = require("../../common/tax-utils");
24
23
  const utils_1 = require("../../common/utils");
25
24
  const config_service_1 = require("../../config/config.service");
26
25
  const transactional_connection_1 = require("../../connection/transactional-connection");
26
+ const fulfillment_entity_1 = require("../../entity/fulfillment/fulfillment.entity");
27
+ const index_1 = require("../../entity/index");
27
28
  const order_item_entity_1 = require("../../entity/order-item/order-item.entity");
28
29
  const order_line_entity_1 = require("../../entity/order-line/order-line.entity");
29
30
  const order_modification_entity_1 = require("../../entity/order-modification/order-modification.entity");
30
31
  const order_entity_1 = require("../../entity/order/order.entity");
31
32
  const payment_entity_1 = require("../../entity/payment/payment.entity");
32
33
  const product_variant_entity_1 = require("../../entity/product-variant/product-variant.entity");
34
+ const promotion_entity_1 = require("../../entity/promotion/promotion.entity");
33
35
  const refund_entity_1 = require("../../entity/refund/refund.entity");
34
36
  const shipping_line_entity_1 = require("../../entity/shipping-line/shipping-line.entity");
37
+ const allocation_entity_1 = require("../../entity/stock-movement/allocation.entity");
35
38
  const surcharge_entity_1 = require("../../entity/surcharge/surcharge.entity");
36
39
  const event_bus_1 = require("../../event-bus/event-bus");
37
- const index_1 = require("../../event-bus/index");
38
40
  const index_2 = require("../../event-bus/index");
39
41
  const index_3 = require("../../event-bus/index");
40
42
  const index_4 = require("../../event-bus/index");
41
43
  const index_5 = require("../../event-bus/index");
44
+ const index_6 = require("../../event-bus/index");
42
45
  const custom_field_relation_service_1 = require("../helpers/custom-field-relation/custom-field-relation.service");
43
46
  const list_query_builder_1 = require("../helpers/list-query-builder/list-query-builder");
44
47
  const order_calculator_1 = require("../helpers/order-calculator/order-calculator");
@@ -48,9 +51,9 @@ const order_state_machine_1 = require("../helpers/order-state-machine/order-stat
48
51
  const payment_state_machine_1 = require("../helpers/payment-state-machine/payment-state-machine");
49
52
  const refund_state_machine_1 = require("../helpers/refund-state-machine/refund-state-machine");
50
53
  const shipping_calculator_1 = require("../helpers/shipping-calculator/shipping-calculator");
54
+ const translator_service_1 = require("../helpers/translator/translator.service");
51
55
  const order_utils_1 = require("../helpers/utils/order-utils");
52
56
  const patch_entity_1 = require("../helpers/utils/patch-entity");
53
- const translate_entity_1 = require("../helpers/utils/translate-entity");
54
57
  const channel_service_1 = require("./channel.service");
55
58
  const country_service_1 = require("./country.service");
56
59
  const customer_service_1 = require("./customer.service");
@@ -68,7 +71,7 @@ const stock_movement_service_1 = require("./stock-movement.service");
68
71
  * @docsCategory services
69
72
  */
70
73
  let OrderService = class OrderService {
71
- constructor(connection, configService, productVariantService, customerService, countryService, orderCalculator, shippingCalculator, orderStateMachine, orderMerger, paymentService, paymentStateMachine, paymentMethodService, fulfillmentService, listQueryBuilder, stockMovementService, refundStateMachine, historyService, promotionService, eventBus, channelService, orderModifier, customFieldRelationService, requestCache) {
74
+ constructor(connection, configService, productVariantService, customerService, countryService, orderCalculator, shippingCalculator, orderStateMachine, orderMerger, paymentService, paymentStateMachine, paymentMethodService, fulfillmentService, listQueryBuilder, stockMovementService, refundStateMachine, historyService, promotionService, eventBus, channelService, orderModifier, customFieldRelationService, requestCache, translator) {
72
75
  this.connection = connection;
73
76
  this.configService = configService;
74
77
  this.productVariantService = productVariantService;
@@ -92,6 +95,7 @@ let OrderService = class OrderService {
92
95
  this.orderModifier = orderModifier;
93
96
  this.customFieldRelationService = customFieldRelationService;
94
97
  this.requestCache = requestCache;
98
+ this.translator = translator;
95
99
  }
96
100
  /**
97
101
  * @description
@@ -105,21 +109,23 @@ let OrderService = class OrderService {
105
109
  to,
106
110
  }));
107
111
  }
108
- findAll(ctx, options) {
112
+ findAll(ctx, options, relations) {
109
113
  return this.listQueryBuilder
110
114
  .build(order_entity_1.Order, options, {
111
115
  ctx,
112
- relations: [
116
+ relations: relations !== null && relations !== void 0 ? relations : [
113
117
  'lines',
114
118
  'customer',
115
119
  'lines.productVariant',
116
120
  'lines.items',
117
121
  'channels',
118
122
  'shippingLines',
123
+ 'payments',
119
124
  ],
120
125
  channelId: ctx.channelId,
121
126
  customPropertyMap: {
122
127
  customerLastName: 'customer.lastName',
128
+ transactionId: 'payment.transactionId',
123
129
  },
124
130
  })
125
131
  .getManyAndCount()
@@ -130,72 +136,81 @@ let OrderService = class OrderService {
130
136
  };
131
137
  });
132
138
  }
133
- async findOne(ctx, orderId) {
134
- const qb = this.connection
135
- .getRepository(ctx, order_entity_1.Order)
136
- .createQueryBuilder('order')
137
- .leftJoin('order.channels', 'channel')
138
- .leftJoinAndSelect('order.customer', 'customer')
139
- .leftJoinAndSelect('order.shippingLines', 'shippingLines')
140
- .leftJoinAndSelect('order.surcharges', 'surcharges')
141
- .leftJoinAndSelect('customer.user', 'user')
142
- .leftJoinAndSelect('order.lines', 'lines')
143
- .leftJoinAndSelect('lines.productVariant', 'productVariant')
144
- .leftJoinAndSelect('productVariant.taxCategory', 'prodVariantTaxCategory')
145
- .leftJoinAndSelect('productVariant.productVariantPrices', 'prices')
146
- .leftJoinAndSelect('productVariant.translations', 'translations')
147
- .leftJoinAndSelect('lines.featuredAsset', 'featuredAsset')
148
- .leftJoinAndSelect('lines.items', 'items')
149
- .leftJoinAndSelect('items.fulfillments', 'fulfillments')
150
- .leftJoinAndSelect('lines.taxCategory', 'lineTaxCategory')
139
+ async findOne(ctx, orderId, relations) {
140
+ const qb = this.connection.getRepository(ctx, order_entity_1.Order).createQueryBuilder('order');
141
+ const effectiveRelations = relations !== null && relations !== void 0 ? relations : [
142
+ 'channels',
143
+ 'customer',
144
+ 'customer.user',
145
+ 'lines',
146
+ 'lines.items',
147
+ 'lines.items.fulfillments',
148
+ 'lines.productVariant',
149
+ 'lines.productVariant.taxCategory',
150
+ 'lines.productVariant.productVariantPrices',
151
+ 'lines.productVariant.translations',
152
+ 'lines.featuredAsset',
153
+ 'lines.taxCategory',
154
+ 'shippingLines',
155
+ 'surcharges',
156
+ ];
157
+ if (relations &&
158
+ effectiveRelations.includes('lines.productVariant') &&
159
+ !effectiveRelations.includes('lines.productVariant.taxCategory')) {
160
+ effectiveRelations.push('lines.productVariant.taxCategory');
161
+ }
162
+ FindOptionsUtils_1.FindOptionsUtils.applyFindManyOptionsOrConditionsToQueryBuilder(qb, {
163
+ relations: effectiveRelations,
164
+ });
165
+ qb.leftJoin('order.channels', 'channel')
151
166
  .where('order.id = :orderId', { orderId })
152
- .andWhere('channel.id = :channelId', { channelId: ctx.channelId })
153
- .addOrderBy('lines.createdAt', 'ASC')
154
- .addOrderBy('items.createdAt', 'ASC');
167
+ .andWhere('channel.id = :channelId', { channelId: ctx.channelId });
168
+ if (effectiveRelations.includes('lines') && effectiveRelations.includes('lines.items')) {
169
+ qb.addOrderBy('order__lines.createdAt', 'ASC').addOrderBy('order__lines__items.createdAt', 'ASC');
170
+ }
155
171
  // tslint:disable-next-line:no-non-null-assertion
156
172
  FindOptionsUtils_1.FindOptionsUtils.joinEagerRelations(qb, qb.alias, qb.expressionMap.mainAlias.metadata);
157
173
  const order = await qb.getOne();
158
174
  if (order) {
159
- for (const line of order.lines) {
160
- line.productVariant = (0, translate_entity_1.translateDeep)(await this.productVariantService.applyChannelPriceAndTax(line.productVariant, ctx, order), ctx.languageCode);
175
+ if (effectiveRelations.includes('lines.productVariant')) {
176
+ for (const line of order.lines) {
177
+ line.productVariant = this.translator.translate(await this.productVariantService.applyChannelPriceAndTax(line.productVariant, ctx, order), ctx);
178
+ }
161
179
  }
162
180
  return order;
163
181
  }
164
182
  }
165
- async findOneByCode(ctx, orderCode) {
183
+ async findOneByCode(ctx, orderCode, relations) {
166
184
  const order = await this.connection.getRepository(ctx, order_entity_1.Order).findOne({
167
185
  relations: ['customer'],
168
186
  where: {
169
187
  code: orderCode,
170
188
  },
171
189
  });
172
- return order ? this.findOne(ctx, order.id) : undefined;
190
+ return order ? this.findOne(ctx, order.id, relations) : undefined;
173
191
  }
174
- async findByCustomerId(ctx, customerId, options) {
192
+ async findOneByOrderLineId(ctx, orderLineId, relations) {
193
+ const order = await this.connection
194
+ .getRepository(ctx, order_entity_1.Order)
195
+ .createQueryBuilder('order')
196
+ .innerJoin('order.lines', 'line', 'line.id = :orderLineId', { orderLineId })
197
+ .getOne();
198
+ return order ? this.findOne(ctx, order.id, relations) : undefined;
199
+ }
200
+ async findByCustomerId(ctx, customerId, options, relations) {
201
+ const effectiveRelations = (relations !== null && relations !== void 0 ? relations : ['lines', 'lines.items', 'customer', 'channels', 'shippingLines']).filter(r =>
202
+ // Don't join productVariant because it messes with the
203
+ // price calculation in certain edge-case field resolver scenarios
204
+ !r.includes('productVariant'));
175
205
  return this.listQueryBuilder
176
206
  .build(order_entity_1.Order, options, {
177
- relations: [
178
- 'lines',
179
- 'lines.items',
180
- 'lines.productVariant',
181
- 'lines.productVariant.options',
182
- 'customer',
183
- 'channels',
184
- 'shippingLines',
185
- ],
207
+ relations: relations !== null && relations !== void 0 ? relations : ['lines', 'lines.items', 'customer', 'channels', 'shippingLines'],
186
208
  channelId: ctx.channelId,
187
209
  ctx,
188
210
  })
189
211
  .andWhere('order.customer.id = :customerId', { customerId })
190
212
  .getManyAndCount()
191
213
  .then(([items, totalItems]) => {
192
- items.forEach(item => {
193
- item.lines.forEach(line => {
194
- line.productVariant = (0, translate_entity_1.translateDeep)(line.productVariant, ctx.languageCode, [
195
- 'options',
196
- ]);
197
- });
198
- });
199
214
  return {
200
215
  items,
201
216
  totalItems,
@@ -299,7 +314,7 @@ let OrderService = class OrderService {
299
314
  }
300
315
  await this.channelService.assignToCurrentChannel(newOrder, ctx);
301
316
  const order = await this.connection.getRepository(ctx, order_entity_1.Order).save(newOrder);
302
- this.eventBus.publish(new index_2.OrderEvent(ctx, order, 'created'));
317
+ this.eventBus.publish(new index_3.OrderEvent(ctx, order, 'created'));
303
318
  const transitionResult = await this.transitionToState(ctx, order.id, 'AddingItems');
304
319
  if ((0, error_result_1.isGraphQlErrorResult)(transitionResult)) {
305
320
  // this should never occur, so we will throw rather than return
@@ -316,7 +331,7 @@ let OrderService = class OrderService {
316
331
  order = (0, patch_entity_1.patchEntity)(order, { customFields });
317
332
  await this.customFieldRelationService.updateRelations(ctx, order_entity_1.Order, { customFields }, order);
318
333
  const updatedOrder = await this.connection.getRepository(ctx, order_entity_1.Order).save(order);
319
- this.eventBus.publish(new index_2.OrderEvent(ctx, updatedOrder, 'updated'));
334
+ this.eventBus.publish(new index_3.OrderEvent(ctx, updatedOrder, 'updated'));
320
335
  return updatedOrder;
321
336
  }
322
337
  /**
@@ -388,7 +403,7 @@ let OrderService = class OrderService {
388
403
  if (correctedQuantity === 0) {
389
404
  order.lines = order.lines.filter(l => !(0, utils_1.idsAreEqual)(l.id, orderLine.id));
390
405
  await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).remove(orderLine);
391
- this.eventBus.publish(new index_5.OrderLineEvent(ctx, order, orderLine, 'deleted'));
406
+ this.eventBus.publish(new index_6.OrderLineEvent(ctx, order, orderLine, 'deleted'));
392
407
  updatedOrderLines = [];
393
408
  }
394
409
  else {
@@ -417,7 +432,7 @@ let OrderService = class OrderService {
417
432
  order.lines = order.lines.filter(line => !(0, utils_1.idsAreEqual)(line.id, orderLineId));
418
433
  const updatedOrder = await this.applyPriceAdjustments(ctx, order);
419
434
  await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).remove(orderLine);
420
- this.eventBus.publish(new index_5.OrderLineEvent(ctx, order, orderLine, 'deleted'));
435
+ this.eventBus.publish(new index_6.OrderLineEvent(ctx, order, orderLine, 'deleted'));
421
436
  return updatedOrder;
422
437
  }
423
438
  /**
@@ -484,7 +499,7 @@ let OrderService = class OrderService {
484
499
  type: generated_types_1.HistoryEntryType.ORDER_COUPON_APPLIED,
485
500
  data: { couponCode, promotionId: validationResult.id },
486
501
  });
487
- this.eventBus.publish(new index_1.CouponCodeEvent(ctx, couponCode, orderId, 'assigned'));
502
+ this.eventBus.publish(new index_2.CouponCodeEvent(ctx, couponCode, orderId, 'assigned'));
488
503
  return this.applyPriceAdjustments(ctx, order);
489
504
  }
490
505
  /**
@@ -508,7 +523,7 @@ let OrderService = class OrderService {
508
523
  type: generated_types_1.HistoryEntryType.ORDER_COUPON_REMOVED,
509
524
  data: { couponCode },
510
525
  });
511
- this.eventBus.publish(new index_1.CouponCodeEvent(ctx, couponCode, orderId, 'removed'));
526
+ this.eventBus.publish(new index_2.CouponCodeEvent(ctx, couponCode, orderId, 'removed'));
512
527
  const result = await this.applyPriceAdjustments(ctx, order);
513
528
  await this.connection.getRepository(ctx, order_item_entity_1.OrderItem).save(affectedOrderItems);
514
529
  return result;
@@ -649,7 +664,7 @@ let OrderService = class OrderService {
649
664
  return new generated_graphql_shop_errors_1.OrderStateTransitionError({ transitionError, fromState, toState: state });
650
665
  }
651
666
  await this.connection.getRepository(ctx, order_entity_1.Order).save(order, { reload: false });
652
- this.eventBus.publish(new index_3.OrderStateTransitionEvent(fromState, state, ctx, order));
667
+ this.eventBus.publish(new index_4.OrderStateTransitionEvent(fromState, state, ctx, order));
653
668
  return order;
654
669
  }
655
670
  /**
@@ -681,20 +696,20 @@ let OrderService = class OrderService {
681
696
  * * Shipping or billing address changes
682
697
  *
683
698
  * Setting the `dryRun` input property to `true` will apply all changes, including updating the price of the
684
- * Order, but will not actually persist any of those changes to the database.
699
+ * Order, except history entry and additional payment actions.
700
+ *
701
+ * __Using dryRun option, you must wrap function call in transaction manually.__
702
+ *
685
703
  */
686
704
  async modifyOrder(ctx, input) {
687
- await this.connection.startTransaction(ctx);
688
705
  const order = await this.getOrderOrThrow(ctx, input.orderId);
689
706
  const result = await this.orderModifier.modifyOrder(ctx, input, order);
690
- if (input.dryRun) {
691
- await this.connection.rollBackTransaction(ctx);
692
- return (0, error_result_1.isGraphQlErrorResult)(result) ? result : result.order;
693
- }
694
707
  if ((0, error_result_1.isGraphQlErrorResult)(result)) {
695
- await this.connection.rollBackTransaction(ctx);
696
708
  return result;
697
709
  }
710
+ if (input.dryRun) {
711
+ return result.order;
712
+ }
698
713
  await this.historyService.createHistoryEntryForOrder({
699
714
  ctx,
700
715
  orderId: input.orderId,
@@ -703,7 +718,6 @@ let OrderService = class OrderService {
703
718
  modificationId: result.modification.id,
704
719
  },
705
720
  });
706
- await this.connection.commitOpenTransaction(ctx);
707
721
  return this.getOrderOrThrow(ctx, input.orderId);
708
722
  }
709
723
  async handleFulfillmentStateTransitByOrder(ctx, order, fromState, toState) {
@@ -753,7 +767,7 @@ let OrderService = class OrderService {
753
767
  */
754
768
  async addPaymentToOrder(ctx, orderId, input) {
755
769
  const order = await this.getOrderOrThrow(ctx, orderId);
756
- if (order.state !== 'ArrangingPayment') {
770
+ if (!this.canAddPaymentToOrder(order)) {
757
771
  return new generated_graphql_shop_errors_1.OrderPaymentStateError();
758
772
  }
759
773
  order.payments = await this.getOrderPayments(ctx, order.id);
@@ -773,6 +787,20 @@ let OrderService = class OrderService {
773
787
  }
774
788
  return this.transitionOrderIfTotalIsCovered(ctx, order);
775
789
  }
790
+ /**
791
+ * @description
792
+ * We can add a Payment to the order if:
793
+ * 1. the Order is in the `ArrangingPayment` state or
794
+ * 2. the Order's current state can transition to `PaymentAuthorized` and `PaymentSettled`
795
+ */
796
+ canAddPaymentToOrder(order) {
797
+ if (order.state === 'ArrangingPayment') {
798
+ return true;
799
+ }
800
+ const canTransitionToPaymentAuthorized = this.orderStateMachine.canTransition(order.state, 'PaymentAuthorized');
801
+ const canTransitionToPaymentSettled = this.orderStateMachine.canTransition(order.state, 'PaymentSettled');
802
+ return canTransitionToPaymentAuthorized && canTransitionToPaymentSettled;
803
+ }
776
804
  async transitionOrderIfTotalIsCovered(ctx, order) {
777
805
  const orderId = order.id;
778
806
  if ((0, order_utils_1.orderTotalIsCovered)(order, 'Settled') && order.state !== 'PaymentSettled') {
@@ -839,6 +867,20 @@ let OrderService = class OrderService {
839
867
  }
840
868
  return payment;
841
869
  }
870
+ /**
871
+ * @description
872
+ * Cancels a payment by invoking the {@link PaymentMethodHandler}'s `cancelPayment()` method (if defined), and transitions the Payment to
873
+ * the `Cancelled` state.
874
+ */
875
+ async cancelPayment(ctx, paymentId) {
876
+ const payment = await this.paymentService.cancelPayment(ctx, paymentId);
877
+ if (!(0, error_result_1.isGraphQlErrorResult)(payment)) {
878
+ if (payment.state !== 'Cancelled') {
879
+ return new generated_graphql_admin_errors_1.CancelPaymentError({ paymentErrorMessage: payment.errorMessage || '' });
880
+ }
881
+ }
882
+ return payment;
883
+ }
842
884
  /**
843
885
  * @description
844
886
  * Creates a new Fulfillment associated with the given Order and OrderItems.
@@ -883,7 +925,7 @@ let OrderService = class OrderService {
883
925
  const lineInput = input.lines.find(l => (0, utils_1.idsAreEqual)(l.orderLineId, line.id));
884
926
  const fulfillableStockLevel = await this.productVariantService.getFulfillableStockLevel(ctx, line.productVariant);
885
927
  if (fulfillableStockLevel < lineInput.quantity) {
886
- const productVariant = (0, translate_entity_1.translateDeep)(line.productVariant, ctx.languageCode);
928
+ const productVariant = this.translator.translate(line.productVariant, ctx);
887
929
  return new generated_graphql_admin_errors_1.InsufficientStockOnHandError({
888
930
  productVariantId: productVariant.id,
889
931
  productVariantName: productVariant.name,
@@ -897,22 +939,21 @@ let OrderService = class OrderService {
897
939
  * Returns an array of all Fulfillments associated with the Order.
898
940
  */
899
941
  async getOrderFulfillments(ctx, order) {
900
- var _a, _b, _c, _d;
901
- let lines;
902
- if (((_d = (_c = (_b = (_a = order.lines) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.fulfillments) !== undefined) {
903
- lines = order.lines;
904
- }
905
- else {
906
- lines = await this.connection.getRepository(ctx, order_line_entity_1.OrderLine).find({
907
- where: {
908
- order: order.id,
909
- },
910
- relations: ['items', 'items.fulfillments'],
911
- });
912
- }
913
- const items = lines.reduce((acc, l) => [...acc, ...l.items], []);
914
- const fulfillments = items.reduce((acc, i) => [...acc, ...(i.fulfillments || [])], []);
915
- return (0, unique_1.unique)(fulfillments, 'id');
942
+ const itemIdsQb = await this.connection
943
+ .getRepository(ctx, order_item_entity_1.OrderItem)
944
+ .createQueryBuilder('item')
945
+ .select('item.id', 'id')
946
+ .leftJoin('item.line', 'line')
947
+ .leftJoin('line.order', 'order')
948
+ .where('order.id = :orderId', { orderId: order.id });
949
+ const fulfillments = await this.connection
950
+ .getRepository(ctx, fulfillment_entity_1.Fulfillment)
951
+ .createQueryBuilder('fulfillment')
952
+ .leftJoinAndSelect('fulfillment.orderItems', 'item')
953
+ .where(`item.id IN (${itemIdsQb.getQuery()})`)
954
+ .setParameters(itemIdsQb.getParameters())
955
+ .getMany();
956
+ return fulfillments;
916
957
  }
917
958
  /**
918
959
  * @description
@@ -983,7 +1024,7 @@ let OrderService = class OrderService {
983
1024
  }
984
1025
  const fullOrder = await this.findOne(ctx, order.id);
985
1026
  const soldItems = items.filter(i => !!i.fulfillment);
986
- const allocatedItems = items.filter(i => !i.fulfillment);
1027
+ const allocatedItems = await this.getAllocatedItems(ctx, items);
987
1028
  await this.stockMovementService.createCancellationsForOrderItems(ctx, soldItems);
988
1029
  await this.stockMovementService.createReleasesForOrderItems(ctx, allocatedItems);
989
1030
  items.forEach(i => (i.cancelled = true));
@@ -1017,6 +1058,25 @@ let OrderService = class OrderService {
1017
1058
  });
1018
1059
  return (0, order_utils_1.orderItemsAreAllCancelled)(orderWithItems);
1019
1060
  }
1061
+ async getAllocatedItems(ctx, items) {
1062
+ const allocatedItems = [];
1063
+ const allocationMap = new Map();
1064
+ for (const item of items) {
1065
+ let allocation = allocationMap.get(item.lineId);
1066
+ if (!allocation) {
1067
+ allocation = await this.connection
1068
+ .getRepository(ctx, allocation_entity_1.Allocation)
1069
+ .createQueryBuilder('allocation')
1070
+ .where('allocation.orderLine = :lineId', { lineId: item.lineId })
1071
+ .getOne();
1072
+ allocationMap.set(item.lineId, allocation || false);
1073
+ }
1074
+ if (allocation && !item.fulfillment) {
1075
+ allocatedItems.push(item);
1076
+ }
1077
+ }
1078
+ return allocatedItems;
1079
+ }
1020
1080
  /**
1021
1081
  * @description
1022
1082
  * Creates a {@link Refund} against the order and in doing so invokes the `createRefund()` method of the
@@ -1066,7 +1126,7 @@ let OrderService = class OrderService {
1066
1126
  const toState = 'Settled';
1067
1127
  await this.refundStateMachine.transition(ctx, refund.payment.order, refund, toState);
1068
1128
  await this.connection.getRepository(ctx, refund_entity_1.Refund).save(refund);
1069
- this.eventBus.publish(new index_4.RefundStateTransitionEvent(fromState, toState, ctx, refund, refund.payment.order));
1129
+ this.eventBus.publish(new index_5.RefundStateTransitionEvent(fromState, toState, ctx, refund, refund.payment.order));
1070
1130
  return refund;
1071
1131
  }
1072
1132
  /**
@@ -1134,6 +1194,34 @@ let OrderService = class OrderService {
1134
1194
  };
1135
1195
  }
1136
1196
  }
1197
+ /**
1198
+ * @description
1199
+ * Deletes an Order, ensuring that any Sessions that reference this Order are dereferenced before deletion.
1200
+ *
1201
+ * @since 1.5.0
1202
+ */
1203
+ async deleteOrder(ctx, orderOrId) {
1204
+ const orderToDelete = orderOrId instanceof order_entity_1.Order
1205
+ ? orderOrId
1206
+ : await this.connection
1207
+ .getRepository(ctx, order_entity_1.Order)
1208
+ .findOneOrFail(orderOrId, { relations: ['lines', 'shippingLines'] });
1209
+ // If there is a Session referencing the Order to be deleted, we must first remove that
1210
+ // reference in order to avoid a foreign key error. See https://github.com/vendure-ecommerce/vendure/issues/1454
1211
+ const sessions = await this.connection
1212
+ .getRepository(ctx, index_1.Session)
1213
+ .find({ where: { activeOrderId: orderToDelete.id } });
1214
+ if (sessions.length) {
1215
+ await this.connection
1216
+ .getRepository(ctx, index_1.Session)
1217
+ .update(sessions.map(s => s.id), { activeOrder: null });
1218
+ }
1219
+ // TODO: v2 - Will not be needed after adding `{ onDelete: 'CASCADE' }` constraint to ShippingLine.order
1220
+ for (const shippingLine of orderToDelete.shippingLines) {
1221
+ await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).delete(shippingLine.id);
1222
+ }
1223
+ await this.connection.getRepository(ctx, order_entity_1.Order).delete(orderToDelete.id);
1224
+ }
1137
1225
  /**
1138
1226
  * @description
1139
1227
  * When a guest user with an anonymous Order signs in and has an existing Order associated with that Customer,
@@ -1151,11 +1239,7 @@ let OrderService = class OrderService {
1151
1239
  const { orderToDelete, linesToInsert, linesToDelete, linesToModify } = mergeResult;
1152
1240
  let { order } = mergeResult;
1153
1241
  if (orderToDelete) {
1154
- // TODO: v2 - Will not be needed after adding `{ onDelete: 'CASCADE' }` constraint to ShippingLine.order
1155
- for (const shippingLine of orderToDelete.shippingLines) {
1156
- await this.connection.getRepository(ctx, shipping_line_entity_1.ShippingLine).delete(shippingLine.id);
1157
- }
1158
- await this.connection.getRepository(ctx, order_entity_1.Order).delete(orderToDelete.id);
1242
+ await this.deleteOrder(ctx, orderToDelete);
1159
1243
  }
1160
1244
  if (order && linesToInsert) {
1161
1245
  const orderId = order.id;
@@ -1244,7 +1328,9 @@ let OrderService = class OrderService {
1244
1328
  }
1245
1329
  }
1246
1330
  /**
1247
- * Applies promotions, taxes and shipping to the Order.
1331
+ * @description
1332
+ * Applies promotions, taxes and shipping to the Order. If the `updatedOrderLines` argument is passed in,
1333
+ * then all of those OrderLines will have their prices re-calculated using the configured {@link OrderItemPriceCalculationStrategy}.
1248
1334
  */
1249
1335
  async applyPriceAdjustments(ctx, order, updatedOrderLines) {
1250
1336
  var _a, _b;
@@ -1266,10 +1352,15 @@ let OrderService = class OrderService {
1266
1352
  }
1267
1353
  }
1268
1354
  }
1269
- const { items: promotions } = await this.promotionService.findAll(ctx, {
1270
- filter: { enabled: { eq: true } },
1271
- sort: { priorityScore: 'ASC' },
1272
- });
1355
+ const promotions = await this.connection
1356
+ .getRepository(ctx, promotion_entity_1.Promotion)
1357
+ .createQueryBuilder('promotion')
1358
+ .leftJoin('promotion.channels', 'channel')
1359
+ .where('channel.id = :channelId', { channelId: ctx.channelId })
1360
+ .andWhere('promotion.deletedAt IS NULL')
1361
+ .andWhere('promotion.enabled = :enabled', { enabled: true })
1362
+ .orderBy('promotion.priorityScore', 'ASC')
1363
+ .getMany();
1273
1364
  const updatedItems = await this.orderCalculator.applyPriceAdjustments(ctx, order, promotions, updatedOrderLines !== null && updatedOrderLines !== void 0 ? updatedOrderLines : []);
1274
1365
  const updateFields = [
1275
1366
  'initialListPrice',
@@ -1322,7 +1413,14 @@ let OrderService = class OrderService {
1322
1413
  if (matchingItems.length < inputLine.quantity) {
1323
1414
  return false;
1324
1415
  }
1325
- matchingItems.slice(0, inputLine.quantity).forEach(item => {
1416
+ matchingItems
1417
+ .slice(0)
1418
+ .sort((a, b) =>
1419
+ // sort the OrderItems so that those without Fulfillments come first, as
1420
+ // it makes sense to cancel these prior to cancelling fulfilled items.
1421
+ !a.fulfillment && b.fulfillment ? -1 : a.fulfillment && !b.fulfillment ? 1 : 0)
1422
+ .slice(0, inputLine.quantity)
1423
+ .forEach(item => {
1326
1424
  items.set(item.id, item);
1327
1425
  });
1328
1426
  }
@@ -1388,7 +1486,8 @@ OrderService = __decorate([
1388
1486
  channel_service_1.ChannelService,
1389
1487
  order_modifier_1.OrderModifier,
1390
1488
  custom_field_relation_service_1.CustomFieldRelationService,
1391
- request_context_cache_service_1.RequestContextCacheService])
1489
+ request_context_cache_service_1.RequestContextCacheService,
1490
+ translator_service_1.TranslatorService])
1392
1491
  ], OrderService);
1393
1492
  exports.OrderService = OrderService;
1394
1493
  //# sourceMappingURL=order.service.js.map