@vendure/elasticsearch-plugin 1.3.0 → 1.3.4

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.
@@ -19,6 +19,7 @@ const unique_1 = require("@vendure/common/lib/unique");
19
19
  const core_1 = require("@vendure/core");
20
20
  const constants_1 = require("../constants");
21
21
  const indexing_utils_1 = require("./indexing-utils");
22
+ const mutable_request_context_1 = require("./mutable-request-context");
22
23
  exports.defaultProductRelations = [
23
24
  'variants',
24
25
  'featuredAsset',
@@ -58,14 +59,15 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
58
59
  * Updates the search index only for the affected product.
59
60
  */
60
61
  async updateProduct({ ctx: rawContext, productId }) {
61
- await this.updateProductsInternal([productId]);
62
+ const ctx = mutable_request_context_1.MutableRequestContext.deserialize(rawContext);
63
+ await this.updateProductsInternal(ctx, [productId]);
62
64
  return true;
63
65
  }
64
66
  /**
65
67
  * Updates the search index only for the affected product.
66
68
  */
67
69
  async deleteProduct({ ctx: rawContext, productId }) {
68
- const operations = await this.deleteProductOperations(productId);
70
+ const operations = await this.deleteProductOperations(core_1.RequestContext.deserialize(rawContext), productId);
69
71
  await this.executeBulkOperations(operations);
70
72
  return true;
71
73
  }
@@ -73,44 +75,51 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
73
75
  * Updates the search index only for the affected product.
74
76
  */
75
77
  async assignProductToChannel({ ctx: rawContext, productId, channelId, }) {
76
- await this.updateProductsInternal([productId]);
78
+ const ctx = mutable_request_context_1.MutableRequestContext.deserialize(rawContext);
79
+ await this.updateProductsInternal(ctx, [productId]);
77
80
  return true;
78
81
  }
79
82
  /**
80
83
  * Updates the search index only for the affected product.
81
84
  */
82
85
  async removeProductFromChannel({ ctx: rawContext, productId, channelId, }) {
83
- await this.updateProductsInternal([productId]);
86
+ const ctx = mutable_request_context_1.MutableRequestContext.deserialize(rawContext);
87
+ await this.updateProductsInternal(ctx, [productId]);
84
88
  return true;
85
89
  }
86
90
  async assignVariantToChannel({ ctx: rawContext, productVariantId, channelId, }) {
87
91
  const productIds = await this.getProductIdsByVariantIds([productVariantId]);
88
- await this.updateProductsInternal(productIds);
92
+ const ctx = mutable_request_context_1.MutableRequestContext.deserialize(rawContext);
93
+ await this.updateProductsInternal(ctx, productIds);
89
94
  return true;
90
95
  }
91
96
  async removeVariantFromChannel({ ctx: rawContext, productVariantId, channelId, }) {
92
97
  const productIds = await this.getProductIdsByVariantIds([productVariantId]);
93
- await this.updateProductsInternal(productIds);
98
+ const ctx = mutable_request_context_1.MutableRequestContext.deserialize(rawContext);
99
+ await this.updateProductsInternal(ctx, productIds);
94
100
  return true;
95
101
  }
96
102
  /**
97
103
  * Updates the search index only for the affected entities.
98
104
  */
99
105
  async updateVariants({ ctx: rawContext, variantIds }) {
106
+ const ctx = mutable_request_context_1.MutableRequestContext.deserialize(rawContext);
100
107
  return this.asyncQueue.push(async () => {
101
108
  const productIds = await this.getProductIdsByVariantIds(variantIds);
102
- await this.updateProductsInternal(productIds);
109
+ await this.updateProductsInternal(ctx, productIds);
103
110
  return true;
104
111
  });
105
112
  }
106
113
  async deleteVariants({ ctx: rawContext, variantIds }) {
114
+ const ctx = mutable_request_context_1.MutableRequestContext.deserialize(rawContext);
107
115
  const productIds = await this.getProductIdsByVariantIds(variantIds);
108
116
  for (const productId of productIds) {
109
- await this.updateProductsInternal([productId]);
117
+ await this.updateProductsInternal(ctx, [productId]);
110
118
  }
111
119
  return true;
112
120
  }
113
121
  updateVariantsById({ ctx: rawContext, ids, }) {
122
+ const ctx = mutable_request_context_1.MutableRequestContext.deserialize(rawContext);
114
123
  return core_1.asyncObservable(async (observer) => {
115
124
  return this.asyncQueue.push(async () => {
116
125
  const timeStart = Date.now();
@@ -118,7 +127,7 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
118
127
  if (productIds.length) {
119
128
  let finishedProductsCount = 0;
120
129
  for (const productId of productIds) {
121
- await this.updateProductsInternal([productId]);
130
+ await this.updateProductsInternal(ctx, [productId]);
122
131
  finishedProductsCount++;
123
132
  observer.next({
124
133
  total: productIds.length,
@@ -141,6 +150,7 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
141
150
  return this.asyncQueue.push(async () => {
142
151
  const timeStart = Date.now();
143
152
  const operations = [];
153
+ const ctx = mutable_request_context_1.MutableRequestContext.deserialize(rawContext);
144
154
  const reindexTempName = new Date().getTime();
145
155
  const variantIndexName = this.options.indexPrefix + constants_1.VARIANT_INDEX_NAME;
146
156
  const reindexVariantAliasName = variantIndexName + `-reindex-${reindexTempName}`;
@@ -230,7 +240,7 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
230
240
  .where('product.deletedAt IS NOT NULL')
231
241
  .getMany();
232
242
  for (const { id: deletedProductId } of deletedProductIds) {
233
- operations.push(...(await this.deleteProductOperations(deletedProductId)));
243
+ operations.push(...(await this.deleteProductOperations(ctx, deletedProductId)));
234
244
  }
235
245
  const productIds = await this.connection
236
246
  .getRepository(core_1.Product)
@@ -241,7 +251,7 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
241
251
  core_1.Logger.verbose(`Reindexing ${productIds.length} Products`, constants_1.loggerCtx);
242
252
  let finishedProductsCount = 0;
243
253
  for (const { id: productId } of productIds) {
244
- operations.push(...(await this.updateProductsOperations([productId])));
254
+ operations.push(...(await this.updateProductsOperations(ctx, [productId])));
245
255
  finishedProductsCount++;
246
256
  observer.next({
247
257
  total: productIds.length,
@@ -319,15 +329,15 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
319
329
  }
320
330
  return result1.body.failures.length === 0 && result2.body.failures === 0;
321
331
  }
322
- async updateProductsInternal(productIds) {
323
- const operations = await this.updateProductsOperations(productIds);
332
+ async updateProductsInternal(ctx, productIds) {
333
+ const operations = await this.updateProductsOperations(ctx, productIds);
324
334
  await this.executeBulkOperations(operations);
325
335
  }
326
- async updateProductsOperations(productIds) {
327
- core_1.Logger.verbose(`Updating ${productIds.length} Products`, constants_1.loggerCtx);
336
+ async updateProductsOperations(ctx, productIds) {
337
+ core_1.Logger.debug(`Updating ${productIds.length} Products`, constants_1.loggerCtx);
328
338
  const operations = [];
329
339
  for (const productId of productIds) {
330
- operations.push(...(await this.deleteProductOperations(productId)));
340
+ operations.push(...(await this.deleteProductOperations(ctx, productId)));
331
341
  let product;
332
342
  try {
333
343
  product = await this.connection.getRepository(core_1.Product).findOne(productId, {
@@ -356,7 +366,7 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
356
366
  if (!product.enabled) {
357
367
  updatedProductVariants.forEach(v => (v.enabled = false));
358
368
  }
359
- core_1.Logger.verbose(`Updating Product (${productId})`, constants_1.loggerCtx);
369
+ core_1.Logger.debug(`Updating Product (${productId})`, constants_1.loggerCtx);
360
370
  const languageVariants = [];
361
371
  languageVariants.push(...product.translations.map(t => t.languageCode));
362
372
  for (const variant of product.variants) {
@@ -364,16 +374,10 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
364
374
  }
365
375
  const uniqueLanguageVariants = unique_1.unique(languageVariants);
366
376
  for (const channel of product.channels) {
367
- const channelCtx = new core_1.RequestContext({
368
- channel,
369
- apiType: 'admin',
370
- authorizedAsOwnerOnly: false,
371
- isAuthorized: true,
372
- session: {},
373
- });
374
- const variantsInChannel = updatedProductVariants.filter(v => v.channels.map(c => c.id).includes(channelCtx.channelId));
377
+ ctx.setChannel(channel);
378
+ const variantsInChannel = updatedProductVariants.filter(v => v.channels.map(c => c.id).includes(ctx.channelId));
375
379
  for (const variant of variantsInChannel) {
376
- await this.productPriceApplicator.applyChannelPriceAndTax(variant, channelCtx);
380
+ await this.productPriceApplicator.applyChannelPriceAndTax(variant, ctx);
377
381
  }
378
382
  for (const languageCode of uniqueLanguageVariants) {
379
383
  if (variantsInChannel.length) {
@@ -382,13 +386,13 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
382
386
  index: constants_1.VARIANT_INDEX_NAME,
383
387
  operation: {
384
388
  update: {
385
- _id: ElasticsearchIndexerController_1.getId(variant.id, channelCtx.channelId, languageCode),
389
+ _id: ElasticsearchIndexerController_1.getId(variant.id, ctx.channelId, languageCode),
386
390
  },
387
391
  },
388
392
  }, {
389
393
  index: constants_1.VARIANT_INDEX_NAME,
390
394
  operation: {
391
- doc: await this.createVariantIndexItem(variant, variantsInChannel, channelCtx, languageCode),
395
+ doc: await this.createVariantIndexItem(variant, variantsInChannel, ctx, languageCode),
392
396
  doc_as_upsert: true,
393
397
  },
394
398
  });
@@ -399,13 +403,13 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
399
403
  index: constants_1.VARIANT_INDEX_NAME,
400
404
  operation: {
401
405
  update: {
402
- _id: ElasticsearchIndexerController_1.getId(-product.id, channelCtx.channelId, languageCode),
406
+ _id: ElasticsearchIndexerController_1.getId(-product.id, ctx.channelId, languageCode),
403
407
  },
404
408
  },
405
409
  }, {
406
410
  index: constants_1.VARIANT_INDEX_NAME,
407
411
  operation: {
408
- doc: this.createSyntheticProductIndexItem(product, channelCtx, languageCode),
412
+ doc: this.createSyntheticProductIndexItem(product, ctx, languageCode),
409
413
  doc_as_upsert: true,
410
414
  },
411
415
  });
@@ -441,19 +445,19 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
441
445
  }
442
446
  return uniqueRelations;
443
447
  }
444
- async deleteProductOperations(productId) {
445
- const channels = await this.connection
448
+ async deleteProductOperations(ctx, productId) {
449
+ const channels = await this.requestContextCache.get(ctx, `elastic-index-all-channels`, () => this.connection
446
450
  .getRepository(core_1.Channel)
447
451
  .createQueryBuilder('channel')
448
452
  .select('channel.id')
449
- .getMany();
453
+ .getMany());
450
454
  const product = await this.connection.getRepository(core_1.Product).findOne(productId, {
451
455
  relations: ['variants'],
452
456
  });
453
457
  if (!product) {
454
458
  return [];
455
459
  }
456
- core_1.Logger.verbose(`Deleting 1 Product (id: ${productId})`, constants_1.loggerCtx);
460
+ core_1.Logger.debug(`Deleting 1 Product (id: ${productId})`, constants_1.loggerCtx);
457
461
  const operations = [];
458
462
  const languageVariants = [];
459
463
  languageVariants.push(...product.translations.map(t => t.languageCode));
@@ -477,7 +481,7 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
477
481
  return operations;
478
482
  }
479
483
  async deleteVariantsInternalOperations(variants, channelIds, languageVariants) {
480
- core_1.Logger.verbose(`Deleting ${variants.length} ProductVariants`, constants_1.loggerCtx);
484
+ core_1.Logger.debug(`Deleting ${variants.length} ProductVariants`, constants_1.loggerCtx);
481
485
  const operations = [];
482
486
  for (const variant of variants) {
483
487
  for (const channelId of channelIds) {
@@ -614,8 +618,10 @@ let ElasticsearchIndexerController = ElasticsearchIndexerController_1 = class El
614
618
  }
615
619
  }
616
620
  async getProductInStockValue(ctx, variants) {
617
- const stockLevels = await Promise.all(variants.map(variant => this.productVariantService.getSaleableStockLevel(ctx, variant)));
618
- return stockLevels.some(stockLevel => 0 < stockLevel);
621
+ return this.requestContextCache.get(ctx, `elastic-index-product-in-stock-${variants.map(v => v.id).join(',')}`, async () => {
622
+ const stockLevels = await Promise.all(variants.map(variant => this.productVariantService.getSaleableStockLevel(ctx, variant)));
623
+ return stockLevels.some(stockLevel => 0 < stockLevel);
624
+ });
619
625
  }
620
626
  /**
621
627
  * If a Product has no variants, we create a synthetic variant for the purposes
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.controller.js","sourceRoot":"","sources":["../../../src/indexing/indexer.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.controller.js","sourceRoot":"","sources":["../../../src/indexing/indexer.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Channel, ID, RequestContext, SerializedRequestContext } from '@vendure/core';
2
+ /**
3
+ * @description
4
+ * This is used during search index creation to allow us to use a single
5
+ * RequestContext, but mutate the Channel. In this way, we can take
6
+ * full advantage of the RequestContextCacheService, and _massively_ cut
7
+ * down on the number of DB calls being made during indexing.
8
+ */
9
+ export declare class MutableRequestContext extends RequestContext {
10
+ constructor(options: ConstructorParameters<typeof RequestContext>[0]);
11
+ private mutatedChannel;
12
+ setChannel(channel: Channel): void;
13
+ get channel(): Channel;
14
+ get channelId(): ID;
15
+ static deserialize(ctxObject: SerializedRequestContext): MutableRequestContext;
16
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MutableRequestContext = void 0;
4
+ const core_1 = require("@vendure/core");
5
+ /**
6
+ * @description
7
+ * This is used during search index creation to allow us to use a single
8
+ * RequestContext, but mutate the Channel. In this way, we can take
9
+ * full advantage of the RequestContextCacheService, and _massively_ cut
10
+ * down on the number of DB calls being made during indexing.
11
+ */
12
+ class MutableRequestContext extends core_1.RequestContext {
13
+ constructor(options) {
14
+ super(options);
15
+ }
16
+ setChannel(channel) {
17
+ this.mutatedChannel = channel;
18
+ }
19
+ get channel() {
20
+ var _a;
21
+ return (_a = this.mutatedChannel) !== null && _a !== void 0 ? _a : super.channel;
22
+ }
23
+ get channelId() {
24
+ var _a, _b;
25
+ return (_b = (_a = this.mutatedChannel) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : super.channelId;
26
+ }
27
+ static deserialize(ctxObject) {
28
+ var _a;
29
+ return new MutableRequestContext({
30
+ req: ctxObject._req,
31
+ apiType: ctxObject._apiType,
32
+ channel: new core_1.Channel(ctxObject._channel),
33
+ session: Object.assign(Object.assign({}, ctxObject._session), { expires: ((_a = ctxObject._session) === null || _a === void 0 ? void 0 : _a.expires) && new Date(ctxObject._session.expires) }),
34
+ languageCode: ctxObject._languageCode,
35
+ isAuthorized: ctxObject._isAuthorized,
36
+ authorizedAsOwnerOnly: ctxObject._authorizedAsOwnerOnly,
37
+ });
38
+ }
39
+ }
40
+ exports.MutableRequestContext = MutableRequestContext;
41
+ //# sourceMappingURL=mutable-request-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutable-request-context.js","sourceRoot":"","sources":["../../../src/indexing/mutable-request-context.ts"],"names":[],"mappings":";;;AAAA,wCAAsF;AAEtF;;;;;;GAMG;AACH,MAAa,qBAAsB,SAAQ,qBAAc;IACrD,YAAY,OAAwD;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAGD,UAAU,CAAC,OAAgB;QACvB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAClC,CAAC;IAED,IAAI,OAAO;;QACP,OAAO,MAAA,IAAI,CAAC,cAAc,mCAAI,KAAK,CAAC,OAAO,CAAC;IAChD,CAAC;IAED,IAAI,SAAS;;QACT,OAAO,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,EAAE,mCAAI,KAAK,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,SAAmC;;QAClD,OAAO,IAAI,qBAAqB,CAAC;YAC7B,GAAG,EAAE,SAAS,CAAC,IAAW;YAC1B,OAAO,EAAE,SAAS,CAAC,QAAQ;YAC3B,OAAO,EAAE,IAAI,cAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;YACxC,OAAO,kCACA,SAAS,CAAC,QAAQ,KACrB,OAAO,EAAE,CAAA,MAAA,SAAS,CAAC,QAAQ,0CAAE,OAAO,KAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAC/E;YACD,YAAY,EAAE,SAAS,CAAC,aAAa;YACrC,YAAY,EAAE,SAAS,CAAC,aAAa;YACrC,qBAAqB,EAAE,SAAS,CAAC,sBAAsB;SAC1D,CAAC,CAAC;IACP,CAAC;CACJ;AAhCD,sDAgCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure/elasticsearch-plugin",
3
- "version": "1.3.0",
3
+ "version": "1.3.4",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -12,7 +12,7 @@
12
12
  "build": "rimraf lib && tsc -p ./tsconfig.build.json",
13
13
  "lint": "tslint --fix --project ./",
14
14
  "test": "jest --config ./jest.config.js",
15
- "e2e": "node e2e/check-connection.js || jest --config ../../e2e-common/jest-config.js --runInBand --package=elasticsearch-plugin"
15
+ "e2e": "node e2e/check-connection.js || jest --config ../../e2e-common/jest-config.js --package=elasticsearch-plugin"
16
16
  },
17
17
  "homepage": "https://www.vendure.io/",
18
18
  "funding": "https://github.com/sponsors/michaelbromley",
@@ -25,10 +25,10 @@
25
25
  "fast-deep-equal": "^3.1.3"
26
26
  },
27
27
  "devDependencies": {
28
- "@vendure/common": "^1.3.0",
29
- "@vendure/core": "^1.3.0",
28
+ "@vendure/common": "^1.3.4",
29
+ "@vendure/core": "^1.3.4",
30
30
  "rimraf": "^3.0.2",
31
31
  "typescript": "4.3.5"
32
32
  },
33
- "gitHead": "ac851bb030d281e3fc31078d2e9d61620eae5b29"
33
+ "gitHead": "c56b85f6d87b5687595ae79c8889bd633101e0d5"
34
34
  }