@vendure/core 1.5.1 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/dist/api/common/configurable-operation-codec.js +2 -2
  2. package/dist/api/common/configurable-operation-codec.js.map +1 -1
  3. package/dist/api/config/generate-permissions.js +29 -29
  4. package/dist/api/decorators/relations.decorator.d.ts +102 -0
  5. package/dist/api/decorators/relations.decorator.js +187 -0
  6. package/dist/api/decorators/relations.decorator.js.map +1 -0
  7. package/dist/api/decorators/request-context.decorator.js +9 -2
  8. package/dist/api/decorators/request-context.decorator.js.map +1 -1
  9. package/dist/api/index.d.ts +1 -0
  10. package/dist/api/index.js +1 -0
  11. package/dist/api/index.js.map +1 -1
  12. package/dist/api/middleware/transaction-interceptor.d.ts +9 -0
  13. package/dist/api/middleware/transaction-interceptor.js +16 -1
  14. package/dist/api/middleware/transaction-interceptor.js.map +1 -1
  15. package/dist/api/resolvers/admin/administrator.resolver.d.ts +3 -2
  16. package/dist/api/resolvers/admin/administrator.resolver.js +10 -6
  17. package/dist/api/resolvers/admin/administrator.resolver.js.map +1 -1
  18. package/dist/api/resolvers/admin/asset.resolver.d.ts +3 -2
  19. package/dist/api/resolvers/admin/asset.resolver.js +10 -6
  20. package/dist/api/resolvers/admin/asset.resolver.js.map +1 -1
  21. package/dist/api/resolvers/admin/collection.resolver.d.ts +5 -3
  22. package/dist/api/resolvers/admin/collection.resolver.js +25 -7
  23. package/dist/api/resolvers/admin/collection.resolver.js.map +1 -1
  24. package/dist/api/resolvers/admin/country.resolver.d.ts +3 -2
  25. package/dist/api/resolvers/admin/country.resolver.js +10 -6
  26. package/dist/api/resolvers/admin/country.resolver.js.map +1 -1
  27. package/dist/api/resolvers/admin/customer-group.resolver.d.ts +3 -2
  28. package/dist/api/resolvers/admin/customer-group.resolver.js +8 -4
  29. package/dist/api/resolvers/admin/customer-group.resolver.js.map +1 -1
  30. package/dist/api/resolvers/admin/customer.resolver.d.ts +3 -2
  31. package/dist/api/resolvers/admin/customer.resolver.js +10 -6
  32. package/dist/api/resolvers/admin/customer.resolver.js.map +1 -1
  33. package/dist/api/resolvers/admin/facet.resolver.d.ts +3 -2
  34. package/dist/api/resolvers/admin/facet.resolver.js +10 -6
  35. package/dist/api/resolvers/admin/facet.resolver.js.map +1 -1
  36. package/dist/api/resolvers/admin/order.resolver.d.ts +6 -5
  37. package/dist/api/resolvers/admin/order.resolver.js +25 -11
  38. package/dist/api/resolvers/admin/order.resolver.js.map +1 -1
  39. package/dist/api/resolvers/admin/payment-method.resolver.d.ts +3 -2
  40. package/dist/api/resolvers/admin/payment-method.resolver.js +10 -6
  41. package/dist/api/resolvers/admin/payment-method.resolver.js.map +1 -1
  42. package/dist/api/resolvers/admin/product-option.resolver.d.ts +3 -2
  43. package/dist/api/resolvers/admin/product-option.resolver.js +8 -4
  44. package/dist/api/resolvers/admin/product-option.resolver.js.map +1 -1
  45. package/dist/api/resolvers/admin/product.resolver.d.ts +4 -3
  46. package/dist/api/resolvers/admin/product.resolver.js +16 -10
  47. package/dist/api/resolvers/admin/product.resolver.js.map +1 -1
  48. package/dist/api/resolvers/admin/promotion.resolver.d.ts +3 -2
  49. package/dist/api/resolvers/admin/promotion.resolver.js +9 -6
  50. package/dist/api/resolvers/admin/promotion.resolver.js.map +1 -1
  51. package/dist/api/resolvers/admin/role.resolver.d.ts +3 -2
  52. package/dist/api/resolvers/admin/role.resolver.js +10 -6
  53. package/dist/api/resolvers/admin/role.resolver.js.map +1 -1
  54. package/dist/api/resolvers/admin/shipping-method.resolver.d.ts +3 -2
  55. package/dist/api/resolvers/admin/shipping-method.resolver.js +10 -6
  56. package/dist/api/resolvers/admin/shipping-method.resolver.js.map +1 -1
  57. package/dist/api/resolvers/admin/tax-rate.resolver.d.ts +3 -2
  58. package/dist/api/resolvers/admin/tax-rate.resolver.js +10 -6
  59. package/dist/api/resolvers/admin/tax-rate.resolver.js.map +1 -1
  60. package/dist/api/resolvers/entity/collection-entity.resolver.d.ts +2 -1
  61. package/dist/api/resolvers/entity/collection-entity.resolver.js +5 -3
  62. package/dist/api/resolvers/entity/collection-entity.resolver.js.map +1 -1
  63. package/dist/api/resolvers/entity/customer-entity.resolver.d.ts +2 -1
  64. package/dist/api/resolvers/entity/customer-entity.resolver.js +5 -3
  65. package/dist/api/resolvers/entity/customer-entity.resolver.js.map +1 -1
  66. package/dist/api/resolvers/entity/order-line-entity.resolver.d.ts +2 -1
  67. package/dist/api/resolvers/entity/order-line-entity.resolver.js +6 -3
  68. package/dist/api/resolvers/entity/order-line-entity.resolver.js.map +1 -1
  69. package/dist/api/resolvers/entity/product-entity.resolver.d.ts +3 -2
  70. package/dist/api/resolvers/entity/product-entity.resolver.js +10 -6
  71. package/dist/api/resolvers/entity/product-entity.resolver.js.map +1 -1
  72. package/dist/api/resolvers/shop/shop-order.resolver.d.ts +4 -3
  73. package/dist/api/resolvers/shop/shop-order.resolver.js +16 -8
  74. package/dist/api/resolvers/shop/shop-order.resolver.js.map +1 -1
  75. package/dist/api/resolvers/shop/shop-products.resolver.d.ts +8 -8
  76. package/dist/api/resolvers/shop/shop-products.resolver.js +32 -21
  77. package/dist/api/resolvers/shop/shop-products.resolver.js.map +1 -1
  78. package/dist/api/schema/admin-api/collection.api.graphql +7 -0
  79. package/dist/bootstrap.js +2 -0
  80. package/dist/bootstrap.js.map +1 -1
  81. package/dist/common/calculated-decorator.d.ts +16 -3
  82. package/dist/common/calculated-decorator.js +3 -0
  83. package/dist/common/calculated-decorator.js.map +1 -1
  84. package/dist/common/constants.d.ts +1 -0
  85. package/dist/common/constants.js +2 -1
  86. package/dist/common/constants.js.map +1 -1
  87. package/dist/common/types/entity-relation-paths.d.ts +1 -1
  88. package/dist/config/catalog/collection-filter.d.ts +32 -0
  89. package/dist/config/catalog/collection-filter.js +32 -0
  90. package/dist/config/catalog/collection-filter.js.map +1 -1
  91. package/dist/config/catalog/default-collection-filters.d.ts +100 -0
  92. package/dist/config/catalog/default-collection-filters.js +154 -21
  93. package/dist/config/catalog/default-collection-filters.js.map +1 -1
  94. package/dist/config/config.module.js +2 -0
  95. package/dist/config/config.module.js.map +1 -1
  96. package/dist/config/config.service.d.ts +2 -1
  97. package/dist/config/config.service.js +3 -0
  98. package/dist/config/config.service.js.map +1 -1
  99. package/dist/config/custom-field/custom-field-types.d.ts +3 -0
  100. package/dist/config/default-config.js +5 -0
  101. package/dist/config/default-config.js.map +1 -1
  102. package/dist/config/entity-metadata/add-foreign-key-indices.d.ts +12 -0
  103. package/dist/config/entity-metadata/add-foreign-key-indices.js +33 -0
  104. package/dist/config/entity-metadata/add-foreign-key-indices.js.map +1 -0
  105. package/dist/config/entity-metadata/entity-metadata-modifier.d.ts +55 -0
  106. package/dist/config/entity-metadata/entity-metadata-modifier.js +3 -0
  107. package/dist/config/entity-metadata/entity-metadata-modifier.js.map +1 -0
  108. package/dist/config/index.d.ts +3 -0
  109. package/dist/config/index.js +3 -0
  110. package/dist/config/index.js.map +1 -1
  111. package/dist/config/payment/dummy-payment-method-handler.js +2 -2
  112. package/dist/config/payment/dummy-payment-method-handler.js.map +1 -1
  113. package/dist/config/payment/example-payment-method-handler.js +2 -2
  114. package/dist/config/payment/example-payment-method-handler.js.map +1 -1
  115. package/dist/config/payment/payment-method-eligibility-checker.d.ts +3 -3
  116. package/dist/config/payment/payment-method-eligibility-checker.js +2 -2
  117. package/dist/config/payment/payment-method-eligibility-checker.js.map +1 -1
  118. package/dist/config/payment/payment-method-handler.d.ts +7 -8
  119. package/dist/config/payment/payment-method-handler.js +6 -6
  120. package/dist/config/payment/payment-method-handler.js.map +1 -1
  121. package/dist/config/shipping-method/shipping-calculator.d.ts +3 -3
  122. package/dist/config/shipping-method/shipping-calculator.js +2 -2
  123. package/dist/config/shipping-method/shipping-calculator.js.map +1 -1
  124. package/dist/config/shipping-method/shipping-eligibility-checker.d.ts +4 -4
  125. package/dist/config/shipping-method/shipping-eligibility-checker.js +5 -5
  126. package/dist/config/shipping-method/shipping-eligibility-checker.js.map +1 -1
  127. package/dist/config/system/health-check-strategy.d.ts +47 -0
  128. package/dist/config/system/health-check-strategy.js +3 -0
  129. package/dist/config/system/health-check-strategy.js.map +1 -0
  130. package/dist/config/vendure-config.d.ts +39 -0
  131. package/dist/connection/transaction-wrapper.d.ts +5 -1
  132. package/dist/connection/transaction-wrapper.js +9 -3
  133. package/dist/connection/transaction-wrapper.js.map +1 -1
  134. package/dist/connection/transactional-connection.d.ts +7 -3
  135. package/dist/connection/transactional-connection.js +8 -3
  136. package/dist/connection/transactional-connection.js.map +1 -1
  137. package/dist/data-import/providers/importer/importer.d.ts +3 -2
  138. package/dist/data-import/providers/importer/importer.js +1 -0
  139. package/dist/data-import/providers/importer/importer.js.map +1 -1
  140. package/dist/entity/order/order.entity.js +3 -2
  141. package/dist/entity/order/order.entity.js.map +1 -1
  142. package/dist/entity/order-line/order-line.entity.js +22 -22
  143. package/dist/entity/order-line/order-line.entity.js.map +1 -1
  144. package/dist/entity/register-custom-entity-fields.js +8 -0
  145. package/dist/entity/register-custom-entity-fields.js.map +1 -1
  146. package/dist/entity/run-entity-metadata-modifiers.d.ts +2 -0
  147. package/dist/entity/run-entity-metadata-modifiers.js +15 -0
  148. package/dist/entity/run-entity-metadata-modifiers.js.map +1 -0
  149. package/dist/entity/shipping-method/shipping-method.entity.js +2 -2
  150. package/dist/entity/shipping-method/shipping-method.entity.js.map +1 -1
  151. package/dist/event-bus/event-bus.js +12 -3
  152. package/dist/event-bus/event-bus.js.map +1 -1
  153. package/dist/event-bus/events/role-event.d.ts +1 -1
  154. package/dist/event-bus/events/role-event.js +1 -1
  155. package/dist/event-bus/events/search-event.d.ts +20 -0
  156. package/dist/event-bus/events/search-event.js +21 -0
  157. package/dist/event-bus/events/search-event.js.map +1 -0
  158. package/dist/event-bus/index.d.ts +1 -0
  159. package/dist/event-bus/index.js +1 -0
  160. package/dist/event-bus/index.js.map +1 -1
  161. package/dist/health-check/health-check-registry.service.d.ts +7 -1
  162. package/dist/health-check/health-check-registry.service.js +7 -1
  163. package/dist/health-check/health-check-registry.service.js.map +1 -1
  164. package/dist/health-check/health-check.module.d.ts +1 -3
  165. package/dist/health-check/health-check.module.js +6 -5
  166. package/dist/health-check/health-check.module.js.map +1 -1
  167. package/dist/health-check/http-health-check-strategy.d.ts +36 -0
  168. package/dist/health-check/http-health-check-strategy.js +41 -0
  169. package/dist/health-check/http-health-check-strategy.js.map +1 -0
  170. package/dist/health-check/index.d.ts +2 -0
  171. package/dist/health-check/index.js +2 -0
  172. package/dist/health-check/index.js.map +1 -1
  173. package/dist/health-check/typeorm-health-check-strategy.d.ts +36 -0
  174. package/dist/health-check/typeorm-health-check-strategy.js +44 -0
  175. package/dist/health-check/typeorm-health-check-strategy.js.map +1 -0
  176. package/dist/job-queue/subscribable-job.js +1 -1
  177. package/dist/plugin/default-search-plugin/default-search-plugin.d.ts +9 -3
  178. package/dist/plugin/default-search-plugin/default-search-plugin.js +25 -2
  179. package/dist/plugin/default-search-plugin/default-search-plugin.js.map +1 -1
  180. package/dist/plugin/default-search-plugin/fulltext-search.service.d.ts +3 -1
  181. package/dist/plugin/default-search-plugin/fulltext-search.service.js +29 -19
  182. package/dist/plugin/default-search-plugin/fulltext-search.service.js.map +1 -1
  183. package/dist/plugin/default-search-plugin/indexer/search-index.service.js +1 -1
  184. package/dist/plugin/default-search-plugin/indexer/search-index.service.js.map +1 -1
  185. package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.d.ts +4 -4
  186. package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.js +7 -3
  187. package/dist/plugin/default-search-plugin/search-strategy/mysql-search-strategy.js.map +1 -1
  188. package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.d.ts +4 -4
  189. package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.js +7 -3
  190. package/dist/plugin/default-search-plugin/search-strategy/postgres-search-strategy.js.map +1 -1
  191. package/dist/plugin/default-search-plugin/search-strategy/search-strategy.d.ts +2 -1
  192. package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.d.ts +4 -4
  193. package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js +7 -3
  194. package/dist/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.js.map +1 -1
  195. package/dist/plugin/default-search-plugin/types.d.ts +84 -0
  196. package/dist/service/helpers/list-query-builder/list-query-builder.d.ts +28 -0
  197. package/dist/service/helpers/list-query-builder/list-query-builder.js +118 -17
  198. package/dist/service/helpers/list-query-builder/list-query-builder.js.map +1 -1
  199. package/dist/service/helpers/list-query-builder/parse-channel-param.d.ts +1 -1
  200. package/dist/service/helpers/list-query-builder/parse-channel-param.js +2 -2
  201. package/dist/service/helpers/list-query-builder/parse-channel-param.js.map +1 -1
  202. package/dist/service/helpers/list-query-builder/parse-filter-params.d.ts +1 -1
  203. package/dist/service/helpers/list-query-builder/parse-filter-params.js +3 -2
  204. package/dist/service/helpers/list-query-builder/parse-filter-params.js.map +1 -1
  205. package/dist/service/helpers/list-query-builder/parse-sort-params.d.ts +1 -1
  206. package/dist/service/helpers/list-query-builder/parse-sort-params.js +4 -3
  207. package/dist/service/helpers/list-query-builder/parse-sort-params.js.map +1 -1
  208. package/dist/service/helpers/order-modifier/order-modifier.js +2 -1
  209. package/dist/service/helpers/order-modifier/order-modifier.js.map +1 -1
  210. package/dist/service/helpers/order-state-machine/order-state-machine.js +1 -1
  211. package/dist/service/helpers/order-state-machine/order-state-machine.js.map +1 -1
  212. package/dist/service/helpers/slug-validator/slug-validator.js +15 -6
  213. package/dist/service/helpers/slug-validator/slug-validator.js.map +1 -1
  214. package/dist/service/helpers/utils/translate-entity.js +1 -2
  215. package/dist/service/helpers/utils/translate-entity.js.map +1 -1
  216. package/dist/service/services/administrator.service.d.ts +4 -3
  217. package/dist/service/services/administrator.service.js +6 -5
  218. package/dist/service/services/administrator.service.js.map +1 -1
  219. package/dist/service/services/asset.service.d.ts +3 -2
  220. package/dist/service/services/asset.service.js +6 -4
  221. package/dist/service/services/asset.service.js.map +1 -1
  222. package/dist/service/services/collection.service.d.ts +8 -5
  223. package/dist/service/services/collection.service.js +42 -12
  224. package/dist/service/services/collection.service.js.map +1 -1
  225. package/dist/service/services/country.service.d.ts +3 -2
  226. package/dist/service/services/country.service.js +4 -4
  227. package/dist/service/services/country.service.js.map +1 -1
  228. package/dist/service/services/customer-group.service.d.ts +3 -2
  229. package/dist/service/services/customer-group.service.js +4 -4
  230. package/dist/service/services/customer-group.service.js.map +1 -1
  231. package/dist/service/services/customer.service.d.ts +3 -2
  232. package/dist/service/services/customer.service.js +3 -3
  233. package/dist/service/services/customer.service.js.map +1 -1
  234. package/dist/service/services/facet.service.d.ts +3 -2
  235. package/dist/service/services/facet.service.js +10 -6
  236. package/dist/service/services/facet.service.js.map +1 -1
  237. package/dist/service/services/order.service.d.ts +15 -8
  238. package/dist/service/services/order.service.js +57 -55
  239. package/dist/service/services/order.service.js.map +1 -1
  240. package/dist/service/services/payment-method.service.d.ts +3 -2
  241. package/dist/service/services/payment-method.service.js +7 -5
  242. package/dist/service/services/payment-method.service.js.map +1 -1
  243. package/dist/service/services/payment.service.js +4 -4
  244. package/dist/service/services/payment.service.js.map +1 -1
  245. package/dist/service/services/product-option-group.service.d.ts +3 -2
  246. package/dist/service/services/product-option-group.service.js +4 -4
  247. package/dist/service/services/product-option-group.service.js.map +1 -1
  248. package/dist/service/services/product-variant.service.d.ts +10 -3
  249. package/dist/service/services/product-variant.service.js +43 -39
  250. package/dist/service/services/product-variant.service.js.map +1 -1
  251. package/dist/service/services/product.service.d.ts +5 -4
  252. package/dist/service/services/product.service.js +18 -8
  253. package/dist/service/services/product.service.js.map +1 -1
  254. package/dist/service/services/promotion.service.d.ts +3 -2
  255. package/dist/service/services/promotion.service.js +4 -3
  256. package/dist/service/services/promotion.service.js.map +1 -1
  257. package/dist/service/services/role.service.d.ts +3 -2
  258. package/dist/service/services/role.service.js +4 -4
  259. package/dist/service/services/role.service.js.map +1 -1
  260. package/dist/service/services/shipping-method.service.d.ts +3 -2
  261. package/dist/service/services/shipping-method.service.js +4 -4
  262. package/dist/service/services/shipping-method.service.js.map +1 -1
  263. package/dist/service/services/tax-rate.service.d.ts +3 -2
  264. package/dist/service/services/tax-rate.service.js +4 -4
  265. package/dist/service/services/tax-rate.service.js.map +1 -1
  266. package/dist/service/services/zone.service.d.ts +2 -2
  267. package/dist/service/services/zone.service.js +2 -2
  268. package/dist/service/services/zone.service.js.map +1 -1
  269. package/package.json +5 -3
@@ -4,6 +4,8 @@ exports.MysqlSearchStrategy = void 0;
4
4
  const generated_types_1 = require("@vendure/common/lib/generated-types");
5
5
  const typeorm_1 = require("typeorm");
6
6
  const errors_1 = require("../../../common/error/errors");
7
+ const transactional_connection_1 = require("../../../connection/transactional-connection");
8
+ const constants_1 = require("../constants");
7
9
  const search_index_item_entity_1 = require("../entities/search-index-item.entity");
8
10
  const search_strategy_common_1 = require("./search-strategy-common");
9
11
  const search_strategy_utils_1 = require("./search-strategy-utils");
@@ -11,11 +13,13 @@ const search_strategy_utils_1 = require("./search-strategy-utils");
11
13
  * A weighted fulltext search for MySQL / MariaDB.
12
14
  */
13
15
  class MysqlSearchStrategy {
14
- constructor(connection, options) {
15
- this.connection = connection;
16
- this.options = options;
16
+ constructor() {
17
17
  this.minTermLength = 2;
18
18
  }
19
+ async init(injector) {
20
+ this.connection = injector.get(transactional_connection_1.TransactionalConnection);
21
+ this.options = injector.get(constants_1.PLUGIN_INIT_OPTIONS);
22
+ }
19
23
  async getFacetValueIds(ctx, input, enabledOnly) {
20
24
  const facetValuesQb = this.connection
21
25
  .getRepository(search_index_item_entity_1.SearchIndexItem)
@@ -1 +1 @@
1
- {"version":3,"file":"mysql-search-strategy.js","sourceRoot":"","sources":["../../../../src/plugin/default-search-plugin/search-strategy/mysql-search-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysql-search-strategy.js","sourceRoot":"","sources":["../../../../src/plugin/default-search-plugin/search-strategy/mysql-search-strategy.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  import { SearchResult } from '@vendure/common/lib/generated-types';
2
2
  import { ID } from '@vendure/common/lib/shared-types';
3
3
  import { RequestContext } from '../../../api/common/request-context';
4
- import { TransactionalConnection } from '../../../connection/transactional-connection';
5
- import { DefaultSearchPluginInitOptions, SearchInput } from '../types';
4
+ import { Injector } from '../../../common';
5
+ import { SearchInput } from '../types';
6
6
  import { SearchStrategy } from './search-strategy';
7
7
  /**
8
8
  * A weighted fulltext search for PostgeSQL.
9
9
  */
10
10
  export declare class PostgresSearchStrategy implements SearchStrategy {
11
+ private readonly minTermLength;
11
12
  private connection;
12
13
  private options;
13
- private readonly minTermLength;
14
- constructor(connection: TransactionalConnection, options: DefaultSearchPluginInitOptions);
14
+ init(injector: Injector): Promise<void>;
15
15
  getFacetValueIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<Map<ID, number>>;
16
16
  getCollectionIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<Map<ID, number>>;
17
17
  getSearchResults(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<SearchResult[]>;
@@ -4,6 +4,8 @@ exports.PostgresSearchStrategy = void 0;
4
4
  const generated_types_1 = require("@vendure/common/lib/generated-types");
5
5
  const typeorm_1 = require("typeorm");
6
6
  const errors_1 = require("../../../common/error/errors");
7
+ const transactional_connection_1 = require("../../../connection/transactional-connection");
8
+ const constants_1 = require("../constants");
7
9
  const search_index_item_entity_1 = require("../entities/search-index-item.entity");
8
10
  const search_strategy_common_1 = require("./search-strategy-common");
9
11
  const search_strategy_utils_1 = require("./search-strategy-utils");
@@ -11,11 +13,13 @@ const search_strategy_utils_1 = require("./search-strategy-utils");
11
13
  * A weighted fulltext search for PostgeSQL.
12
14
  */
13
15
  class PostgresSearchStrategy {
14
- constructor(connection, options) {
15
- this.connection = connection;
16
- this.options = options;
16
+ constructor() {
17
17
  this.minTermLength = 2;
18
18
  }
19
+ async init(injector) {
20
+ this.connection = injector.get(transactional_connection_1.TransactionalConnection);
21
+ this.options = injector.get(constants_1.PLUGIN_INIT_OPTIONS);
22
+ }
19
23
  async getFacetValueIds(ctx, input, enabledOnly) {
20
24
  const facetValuesQb = this.connection
21
25
  .getRepository(search_index_item_entity_1.SearchIndexItem)
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-search-strategy.js","sourceRoot":"","sources":["../../../../src/plugin/default-search-plugin/search-strategy/postgres-search-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres-search-strategy.js","sourceRoot":"","sources":["../../../../src/plugin/default-search-plugin/search-strategy/postgres-search-strategy.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { SearchInput, SearchResult } from '@vendure/common/lib/generated-types';
2
2
  import { ID } from '@vendure/common/lib/shared-types';
3
3
  import { RequestContext } from '../../../api';
4
+ import { InjectableStrategy } from '../../../common';
4
5
  /**
5
6
  * This interface defines the contract that any database-specific search implementations
6
7
  * should follow.
7
8
  */
8
- export interface SearchStrategy {
9
+ export interface SearchStrategy extends InjectableStrategy {
9
10
  getSearchResults(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<SearchResult[]>;
10
11
  getTotalCount(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<number>;
11
12
  /**
@@ -1,18 +1,18 @@
1
1
  import { SearchResult } from '@vendure/common/lib/generated-types';
2
2
  import { ID } from '@vendure/common/lib/shared-types';
3
3
  import { RequestContext } from '../../../api/common/request-context';
4
- import { TransactionalConnection } from '../../../connection/transactional-connection';
5
- import { DefaultSearchPluginInitOptions, SearchInput } from '../types';
4
+ import { Injector } from '../../../common';
5
+ import { SearchInput } from '../types';
6
6
  import { SearchStrategy } from './search-strategy';
7
7
  /**
8
8
  * A rather naive search for SQLite / SQL.js. Rather than proper
9
9
  * full-text searching, it uses a weighted `LIKE "%term%"` operator instead.
10
10
  */
11
11
  export declare class SqliteSearchStrategy implements SearchStrategy {
12
+ private readonly minTermLength;
12
13
  private connection;
13
14
  private options;
14
- private readonly minTermLength;
15
- constructor(connection: TransactionalConnection, options: DefaultSearchPluginInitOptions);
15
+ init(injector: Injector): Promise<void>;
16
16
  getFacetValueIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<Map<ID, number>>;
17
17
  getCollectionIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<Map<ID, number>>;
18
18
  getSearchResults(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<SearchResult[]>;
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SqliteSearchStrategy = void 0;
4
4
  const generated_types_1 = require("@vendure/common/lib/generated-types");
5
5
  const typeorm_1 = require("typeorm");
6
+ const __1 = require("../../..");
6
7
  const errors_1 = require("../../../common/error/errors");
8
+ const transactional_connection_1 = require("../../../connection/transactional-connection");
7
9
  const search_index_item_entity_1 = require("../entities/search-index-item.entity");
8
10
  const search_strategy_utils_1 = require("./search-strategy-utils");
9
11
  /**
@@ -11,11 +13,13 @@ const search_strategy_utils_1 = require("./search-strategy-utils");
11
13
  * full-text searching, it uses a weighted `LIKE "%term%"` operator instead.
12
14
  */
13
15
  class SqliteSearchStrategy {
14
- constructor(connection, options) {
15
- this.connection = connection;
16
- this.options = options;
16
+ constructor() {
17
17
  this.minTermLength = 2;
18
18
  }
19
+ async init(injector) {
20
+ this.connection = injector.get(transactional_connection_1.TransactionalConnection);
21
+ this.options = injector.get(__1.PLUGIN_INIT_OPTIONS);
22
+ }
19
23
  async getFacetValueIds(ctx, input, enabledOnly) {
20
24
  const facetValuesQb = this.connection
21
25
  .getRepository(search_index_item_entity_1.SearchIndexItem)
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-search-strategy.js","sourceRoot":"","sources":["../../../../src/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-search-strategy.js","sourceRoot":"","sources":["../../../../src/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { SearchInput as GeneratedSearchInput } from '@vendure/common/lib/generat
2
2
  import { ID, JsonCompatible } from '@vendure/common/lib/shared-types';
3
3
  import { SerializedRequestContext } from '../../api/common/request-context';
4
4
  import { Asset } from '../../entity/asset/asset.entity';
5
+ import { SearchStrategy } from './search-strategy/search-strategy';
5
6
  /**
6
7
  * @description
7
8
  * Options which configure the behaviour of the DefaultSearchPlugin
@@ -33,6 +34,89 @@ export interface DefaultSearchPluginInitOptions {
33
34
  * @default false
34
35
  */
35
36
  bufferUpdates?: boolean;
37
+ /**
38
+ * @description
39
+ * Set a custom search strategy that implements {@link SearchStrategy} or extends an existing search strategy
40
+ * such as {@link MysqlSearchStrategy}, {@link PostgresSearchStrategy} or {@link SqliteSearchStrategy}.
41
+ *
42
+ * @example
43
+ * ```Typescript
44
+ * export class MySearchStrategy implements SearchStrategy {
45
+ * private readonly minTermLength = 2;
46
+ * private connection: TransactionalConnection;
47
+ * private options: DefaultSearchPluginInitOptions;
48
+ *
49
+ * async init(injector: Injector) {
50
+ * this.connection = injector.get(TransactionalConnection);
51
+ * this.options = injector.get(PLUGIN_INIT_OPTIONS);
52
+ * }
53
+ *
54
+ * async getFacetValueIds(
55
+ * ctx: RequestContext,
56
+ * input: SearchInput,
57
+ * enabledOnly: boolean,
58
+ * ): Promise<Map<ID, number>> {
59
+ * // ...
60
+ * return createFacetIdCountMap(facetValuesResult);
61
+ * }
62
+ *
63
+ * async getCollectionIds(
64
+ * ctx: RequestContext,
65
+ * input: SearchInput,
66
+ * enabledOnly: boolean,
67
+ * ): Promise<Map<ID, number>> {
68
+ * // ...
69
+ * return createCollectionIdCountMap(collectionsResult);
70
+ * }
71
+ *
72
+ * async getSearchResults(
73
+ * ctx: RequestContext,
74
+ * input: SearchInput,
75
+ * enabledOnly: boolean,
76
+ * ): Promise<SearchResult[]> {
77
+ * const take = input.take || 25;
78
+ * const skip = input.skip || 0;
79
+ * const sort = input.sort;
80
+ * const qb = this.connection
81
+ * .getRepository(SearchIndexItem)
82
+ * .createQueryBuilder('si')
83
+ * .select(this.createMysqlSelect(!!input.groupByProduct));
84
+ * // ...
85
+ *
86
+ * return qb
87
+ * .take(take)
88
+ * .skip(skip)
89
+ * .getRawMany()
90
+ * .then(res => res.map(r => mapToSearchResult(r, ctx.channel.currencyCode)));
91
+ * }
92
+ *
93
+ * async getTotalCount(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<number> {
94
+ * const innerQb = this.applyTermAndFilters(
95
+ * ctx,
96
+ * this.connection
97
+ * .getRepository(SearchIndexItem)
98
+ * .createQueryBuilder('si')
99
+ * .select(this.createMysqlSelect(!!input.groupByProduct)),
100
+ * input,
101
+ * );
102
+ * if (enabledOnly) {
103
+ * innerQb.andWhere('si.enabled = :enabled', { enabled: true });
104
+ * }
105
+ *
106
+ * const totalItemsQb = this.connection.rawConnection
107
+ * .createQueryBuilder()
108
+ * .select('COUNT(*) as total')
109
+ * .from(`(${innerQb.getQuery()})`, 'inner')
110
+ * .setParameters(innerQb.getParameters());
111
+ * return totalItemsQb.getRawOne().then(res => res.total);
112
+ * }
113
+ * }
114
+ * ```
115
+ *
116
+ * @since 1.6.0
117
+ * @default undefined
118
+ */
119
+ searchStategy?: SearchStrategy;
36
120
  }
37
121
  /**
38
122
  * Because the `inStock` field is opt-in based on the `indexStockStatus` option,
@@ -18,6 +18,14 @@ export declare type ExtendedListQueryOptions<T extends VendureEntity> = {
18
18
  channelId?: ID;
19
19
  where?: FindConditions<T>;
20
20
  orderBy?: FindOneOptions<T>['order'];
21
+ /**
22
+ * @description
23
+ * Allows you to specify the alias used for the entity `T` in the generated SQL query.
24
+ * Defaults to the entity class name lower-cased, i.e. `ProductVariant` -> `'productvariant'`.
25
+ *
26
+ * @since 1.6.0
27
+ */
28
+ entityAlias?: string;
21
29
  /**
22
30
  * @description
23
31
  * When a RequestContext is passed, then the query will be
@@ -36,6 +44,7 @@ export declare type ExtendedListQueryOptions<T extends VendureEntity> = {
36
44
  * not a column in the Order table, it exists on the Customer entity, and Order has a relation to Customer via
37
45
  * `Order.customer`. Therefore we can define a customPropertyMap like this:
38
46
  *
47
+ * @example
39
48
  * ```GraphQL
40
49
  * """
41
50
  * Manually extend the filter & sort inputs to include the new
@@ -50,6 +59,7 @@ export declare type ExtendedListQueryOptions<T extends VendureEntity> = {
50
59
  * }
51
60
  * ```
52
61
  *
62
+ * @example
53
63
  * ```ts
54
64
  * const qb = this.listQueryBuilder.build(Order, options, {
55
65
  * relations: ['customer'],
@@ -150,6 +160,24 @@ export declare class ListQueryBuilder implements OnApplicationBootstrap {
150
160
  */
151
161
  build<T extends VendureEntity>(entity: Type<T>, options?: ListQueryOptions<T>, extendedOptions?: ExtendedListQueryOptions<T>): SelectQueryBuilder<T>;
152
162
  private parseTakeSkipParams;
163
+ /**
164
+ * @description
165
+ * As part of list optimization, we only join the minimum required relations which are needed to
166
+ * get the base list query. Other relations are then joined individually in the patched `getManyAndCount()`
167
+ * method.
168
+ */
169
+ private getMinimumRequiredRelations;
170
+ private customPropertyIsBeingUsed;
171
+ /**
172
+ * @description
173
+ * This will monkey-patch the `getManyAndCount()` method in order to implement a more efficient
174
+ * parallel-query based approach to joining multiple relations. This is loosely based on the
175
+ * solution outlined here: https://github.com/typeorm/typeorm/issues/3857#issuecomment-633006643
176
+ *
177
+ * TODO: When upgrading to TypeORM v0.3+, this will likely become redundant due to the new
178
+ * `relationLoadStrategy` feature.
179
+ */
180
+ private optimizeGetManyAndCountMethod;
153
181
  /**
154
182
  * If a customPropertyMap is provided, we need to take the path provided and convert it to the actual
155
183
  * relation aliases being used by the SelectQueryBuilder.
@@ -117,24 +117,25 @@ let ListQueryBuilder = class ListQueryBuilder {
117
117
  const repo = extendedOptions.ctx
118
118
  ? this.connection.getRepository(extendedOptions.ctx, entity)
119
119
  : this.connection.getRepository(entity);
120
- const qb = repo.createQueryBuilder(entity.name.toLowerCase());
120
+ const qb = repo.createQueryBuilder(extendedOptions.entityAlias || entity.name.toLowerCase());
121
+ const minimumRequiredRelations = this.getMinimumRequiredRelations(repo, options, extendedOptions);
121
122
  FindOptionsUtils_1.FindOptionsUtils.applyFindManyOptionsOrConditionsToQueryBuilder(qb, {
122
- relations: extendedOptions.relations,
123
+ relations: minimumRequiredRelations,
123
124
  take,
124
125
  skip,
125
126
  where: extendedOptions.where || {},
126
127
  });
127
128
  // tslint:disable-next-line:no-non-null-assertion
128
129
  FindOptionsUtils_1.FindOptionsUtils.joinEagerRelations(qb, qb.alias, qb.expressionMap.mainAlias.metadata);
129
- this.applyTranslationConditions(qb, entity, extendedOptions.ctx);
130
+ this.applyTranslationConditions(qb, entity, extendedOptions.ctx, extendedOptions.entityAlias);
130
131
  // join the tables required by calculated columns
131
132
  this.joinCalculatedColumnRelations(qb, entity, options);
132
- const { customPropertyMap } = extendedOptions;
133
+ const { customPropertyMap, entityAlias } = extendedOptions;
133
134
  if (customPropertyMap) {
134
- this.normalizeCustomPropertyMap(customPropertyMap, qb);
135
+ this.normalizeCustomPropertyMap(customPropertyMap, options, qb);
135
136
  }
136
- const sort = parse_sort_params_1.parseSortParams(rawConnection, entity, Object.assign({}, options.sort, extendedOptions.orderBy), customPropertyMap);
137
- const filter = parse_filter_params_1.parseFilterParams(rawConnection, entity, options.filter, customPropertyMap);
137
+ const sort = parse_sort_params_1.parseSortParams(rawConnection, entity, Object.assign({}, options.sort, extendedOptions.orderBy), customPropertyMap, entityAlias);
138
+ const filter = parse_filter_params_1.parseFilterParams(rawConnection, entity, options.filter, customPropertyMap, entityAlias);
138
139
  if (filter.length) {
139
140
  const filterOperator = (_c = options.filterOperator) !== null && _c !== void 0 ? _c : generated_types_1.LogicalOperator.AND;
140
141
  if (filterOperator === generated_types_1.LogicalOperator.AND) {
@@ -151,12 +152,13 @@ let ListQueryBuilder = class ListQueryBuilder {
151
152
  }
152
153
  }
153
154
  if (extendedOptions.channelId) {
154
- const channelFilter = parse_channel_param_1.parseChannelParam(rawConnection, entity, extendedOptions.channelId);
155
+ const channelFilter = parse_channel_param_1.parseChannelParam(rawConnection, entity, extendedOptions.channelId, extendedOptions.entityAlias);
155
156
  if (channelFilter) {
156
157
  qb.andWhere(channelFilter.clause, channelFilter.parameters);
157
158
  }
158
159
  }
159
160
  qb.orderBy(sort);
161
+ this.optimizeGetManyAndCountMethod(qb, repo, extendedOptions, minimumRequiredRelations);
160
162
  return qb;
161
163
  }
162
164
  parseTakeSkipParams(apiType, options) {
@@ -175,24 +177,120 @@ let ListQueryBuilder = class ListQueryBuilder {
175
177
  }
176
178
  return { take, skip };
177
179
  }
180
+ /**
181
+ * @description
182
+ * As part of list optimization, we only join the minimum required relations which are needed to
183
+ * get the base list query. Other relations are then joined individually in the patched `getManyAndCount()`
184
+ * method.
185
+ */
186
+ getMinimumRequiredRelations(repository, options, extendedOptions) {
187
+ const requiredRelations = [];
188
+ if (extendedOptions.channelId) {
189
+ requiredRelations.push('channels');
190
+ }
191
+ if (extendedOptions.customPropertyMap) {
192
+ const metadata = repository.metadata;
193
+ for (const [property, path] of Object.entries(extendedOptions.customPropertyMap)) {
194
+ if (!this.customPropertyIsBeingUsed(property, options)) {
195
+ // If the custom property is not being used to filter or sort, then we don't need
196
+ // to join the associated relations.
197
+ continue;
198
+ }
199
+ const tableNameLower = path.split('.')[0];
200
+ const entityMetadata = repository.manager.connection.entityMetadatas.find(em => em.tableNameWithoutPrefix === tableNameLower);
201
+ if (entityMetadata) {
202
+ const relationMetadata = metadata.relations.find(r => r.type === entityMetadata.target);
203
+ if (relationMetadata) {
204
+ requiredRelations.push(relationMetadata.propertyName);
205
+ }
206
+ }
207
+ }
208
+ }
209
+ return unique_1.unique(requiredRelations);
210
+ }
211
+ customPropertyIsBeingUsed(property, options) {
212
+ var _a, _b;
213
+ return !!(((_a = options.sort) === null || _a === void 0 ? void 0 : _a[property]) || ((_b = options.filter) === null || _b === void 0 ? void 0 : _b[property]));
214
+ }
215
+ /**
216
+ * @description
217
+ * This will monkey-patch the `getManyAndCount()` method in order to implement a more efficient
218
+ * parallel-query based approach to joining multiple relations. This is loosely based on the
219
+ * solution outlined here: https://github.com/typeorm/typeorm/issues/3857#issuecomment-633006643
220
+ *
221
+ * TODO: When upgrading to TypeORM v0.3+, this will likely become redundant due to the new
222
+ * `relationLoadStrategy` feature.
223
+ */
224
+ optimizeGetManyAndCountMethod(qb, repo, extendedOptions, alreadyJoined) {
225
+ const originalGetManyAndCount = qb.getManyAndCount.bind(qb);
226
+ qb.getManyAndCount = async () => {
227
+ var _a, _b, _c;
228
+ const relations = unique_1.unique((_a = extendedOptions.relations) !== null && _a !== void 0 ? _a : []);
229
+ const [entities, count] = await originalGetManyAndCount();
230
+ if (relations == null || alreadyJoined.sort().join() === (relations === null || relations === void 0 ? void 0 : relations.sort().join())) {
231
+ // No further relations need to be joined, so we just
232
+ // return the regular result.
233
+ return [entities, count];
234
+ }
235
+ const entityMap = new Map(entities.map(e => [e.id, e]));
236
+ const entitiesIds = entities.map(({ id }) => id);
237
+ const splitRelations = relations.map(r => r.split('.'));
238
+ const groupedRelationsMap = new Map();
239
+ for (const relationParts of splitRelations) {
240
+ const group = groupedRelationsMap.get(relationParts[0]);
241
+ if (group) {
242
+ group.push(relationParts.join('.'));
243
+ }
244
+ else {
245
+ groupedRelationsMap.set(relationParts[0], [relationParts.join('.')]);
246
+ }
247
+ }
248
+ // If the extendedOptions includes relations that were already joined, then
249
+ // we ignore those now so as not to do the work of joining twice.
250
+ for (const tableName of alreadyJoined) {
251
+ if (((_b = groupedRelationsMap.get(tableName)) === null || _b === void 0 ? void 0 : _b.length) === 1) {
252
+ groupedRelationsMap.delete(tableName);
253
+ }
254
+ }
255
+ const entitiesIdsWithRelations = await Promise.all((_c = Array.from(groupedRelationsMap.values())) === null || _c === void 0 ? void 0 : _c.map(relationPaths => {
256
+ return repo
257
+ .findByIds(entitiesIds, {
258
+ select: ['id'],
259
+ relations: relationPaths,
260
+ loadEagerRelations: false,
261
+ })
262
+ .then(results => results.map(r => ({ relation: relationPaths[0], entity: r })));
263
+ })).then(all => all.flat());
264
+ for (const entry of entitiesIdsWithRelations) {
265
+ const finalEntity = entityMap.get(entry.entity.id);
266
+ if (finalEntity) {
267
+ finalEntity[entry.relation] = entry.entity[entry.relation];
268
+ }
269
+ }
270
+ return [Array.from(entityMap.values()), count];
271
+ };
272
+ }
178
273
  /**
179
274
  * If a customPropertyMap is provided, we need to take the path provided and convert it to the actual
180
275
  * relation aliases being used by the SelectQueryBuilder.
181
276
  *
182
277
  * This method mutates the customPropertyMap object.
183
278
  */
184
- normalizeCustomPropertyMap(customPropertyMap, qb) {
185
- for (const [key, value] of Object.entries(customPropertyMap)) {
186
- const parts = customPropertyMap[key].split('.');
279
+ normalizeCustomPropertyMap(customPropertyMap, options, qb) {
280
+ for (const [property, value] of Object.entries(customPropertyMap)) {
281
+ if (!this.customPropertyIsBeingUsed(property, options)) {
282
+ continue;
283
+ }
284
+ const parts = customPropertyMap[property].split('.');
187
285
  const entityPart = 2 <= parts.length ? parts[parts.length - 2] : qb.alias;
188
286
  const columnPart = parts[parts.length - 1];
189
287
  const relationAlias = qb.expressionMap.aliases.find(a => a.metadata.tableNameWithoutPrefix === entityPart);
190
288
  if (relationAlias) {
191
- customPropertyMap[key] = `${relationAlias.name}.${columnPart}`;
289
+ customPropertyMap[property] = `${relationAlias.name}.${columnPart}`;
192
290
  }
193
291
  else {
194
- vendure_logger_1.Logger.error(`The customPropertyMap entry "${key}:${value}" could not be resolved to a related table`);
195
- delete customPropertyMap[key];
292
+ vendure_logger_1.Logger.error(`The customPropertyMap entry "${property}:${value}" could not be resolved to a related table`);
293
+ delete customPropertyMap[property];
196
294
  }
197
295
  }
198
296
  }
@@ -233,14 +331,17 @@ let ListQueryBuilder = class ListQueryBuilder {
233
331
  * the joined translation relations. This method applies a simple "WHERE" on the languageCode
234
332
  * in the case of the default language, otherwise we use a more complex.
235
333
  */
236
- applyTranslationConditions(qb, entity, ctx) {
334
+ applyTranslationConditions(qb, entity, ctx, entityAlias) {
237
335
  const languageCode = (ctx === null || ctx === void 0 ? void 0 : ctx.languageCode) || this.configService.defaultLanguageCode;
238
- const { columns, translationColumns, alias } = connection_utils_1.getColumnMetadata(this.connection.rawConnection, entity);
336
+ const { columns, translationColumns, alias: defaultAlias, } = connection_utils_1.getColumnMetadata(this.connection.rawConnection, entity);
337
+ const alias = entityAlias !== null && entityAlias !== void 0 ? entityAlias : defaultAlias;
239
338
  if (translationColumns.length) {
240
339
  const translationsAlias = qb.connection.namingStrategy.eagerJoinRelationAlias(alias, 'translations');
241
340
  qb.andWhere(new typeorm_1.Brackets(qb1 => {
341
+ var _a;
242
342
  qb1.where(`${translationsAlias}.languageCode = :languageCode`, { languageCode });
243
- if (languageCode !== this.configService.defaultLanguageCode) {
343
+ const defaultLanguageCode = (_a = ctx === null || ctx === void 0 ? void 0 : ctx.channel.defaultLanguageCode) !== null && _a !== void 0 ? _a : this.configService.defaultLanguageCode;
344
+ if (languageCode !== defaultLanguageCode) {
244
345
  // If the current languageCode is not the default, then we create a more
245
346
  // complex WHERE clause to allow us to use the non-default translations and
246
347
  // fall back to the default language if no translation exists.