@webiny/api-elasticsearch-tasks 0.0.0-unstable.a9593f74dd → 0.0.0-unstable.de38392959

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.
package/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CreateElasticsearchIndexTaskConfig } from "./tasks";
2
1
  import { Plugin } from "@webiny/plugins/types";
3
- export declare type CreateElasticsearchBackgroundTasksParams = CreateElasticsearchIndexTaskConfig;
2
+ import { IElasticsearchTaskConfig } from "./types";
3
+ export declare type CreateElasticsearchBackgroundTasksParams = IElasticsearchTaskConfig;
4
4
  export declare const createElasticsearchBackgroundTasks: (params?: CreateElasticsearchBackgroundTasksParams) => Plugin[];
package/index.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.createElasticsearchBackgroundTasks = void 0;
7
7
  var _tasks = require("./tasks");
8
8
  const createElasticsearchBackgroundTasks = params => {
9
- return [(0, _tasks.createElasticsearchReindexingTask)(params)];
9
+ return [(0, _tasks.createElasticsearchReindexingTask)(params), (0, _tasks.createEnableIndexingTask)(params)];
10
10
  };
11
11
  exports.createElasticsearchBackgroundTasks = createElasticsearchBackgroundTasks;
12
12
 
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_tasks","require","createElasticsearchBackgroundTasks","params","createElasticsearchReindexingTask","exports"],"sources":["index.ts"],"sourcesContent":["import { CreateElasticsearchIndexTaskConfig, createElasticsearchReindexingTask } from \"~/tasks\";\nimport { Plugin } from \"@webiny/plugins/types\";\n\nexport type CreateElasticsearchBackgroundTasksParams = CreateElasticsearchIndexTaskConfig;\n\nexport const createElasticsearchBackgroundTasks = (\n params?: CreateElasticsearchBackgroundTasksParams\n): Plugin[] => {\n return [createElasticsearchReindexingTask(params)];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKO,MAAMC,kCAAkC,GAC3CC,MAAiD,IACtC;EACX,OAAO,CAAC,IAAAC,wCAAiC,EAACD,MAAM,CAAC,CAAC;AACtD,CAAC;AAACE,OAAA,CAAAH,kCAAA,GAAAA,kCAAA"}
1
+ {"version":3,"names":["_tasks","require","createElasticsearchBackgroundTasks","params","createElasticsearchReindexingTask","createEnableIndexingTask","exports"],"sources":["index.ts"],"sourcesContent":["import { createElasticsearchReindexingTask, createEnableIndexingTask } from \"~/tasks\";\nimport { Plugin } from \"@webiny/plugins/types\";\nimport { IElasticsearchTaskConfig } from \"~/types\";\n\nexport type CreateElasticsearchBackgroundTasksParams = IElasticsearchTaskConfig;\n\nexport const createElasticsearchBackgroundTasks = (\n params?: CreateElasticsearchBackgroundTasksParams\n): Plugin[] => {\n return [createElasticsearchReindexingTask(params), createEnableIndexingTask(params)];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMO,MAAMC,kCAAkC,GAC3CC,MAAiD,IACtC;EACX,OAAO,CAAC,IAAAC,wCAAiC,EAACD,MAAM,CAAC,EAAE,IAAAE,+BAAwB,EAACF,MAAM,CAAC,CAAC;AACxF,CAAC;AAACG,OAAA,CAAAJ,kCAAA,GAAAA,kCAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-elasticsearch-tasks",
3
- "version": "0.0.0-unstable.a9593f74dd",
3
+ "version": "0.0.0-unstable.de38392959",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,30 +13,31 @@
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
15
  "@babel/runtime": "7.22.6",
16
- "@webiny/api-elasticsearch": "0.0.0-unstable.a9593f74dd",
17
- "@webiny/aws-sdk": "0.0.0-unstable.a9593f74dd",
18
- "@webiny/db-dynamodb": "0.0.0-unstable.a9593f74dd",
19
- "@webiny/error": "0.0.0-unstable.a9593f74dd",
20
- "@webiny/tasks": "0.0.0-unstable.a9593f74dd"
16
+ "@webiny/api-elasticsearch": "0.0.0-unstable.de38392959",
17
+ "@webiny/aws-sdk": "0.0.0-unstable.de38392959",
18
+ "@webiny/db-dynamodb": "0.0.0-unstable.de38392959",
19
+ "@webiny/error": "0.0.0-unstable.de38392959",
20
+ "@webiny/tasks": "0.0.0-unstable.de38392959",
21
+ "@webiny/utils": "0.0.0-unstable.de38392959"
21
22
  },
22
23
  "devDependencies": {
23
24
  "@babel/cli": "7.22.6",
24
25
  "@babel/core": "7.22.8",
25
26
  "@babel/preset-env": "7.22.7",
26
27
  "@babel/preset-typescript": "7.22.5",
27
- "@webiny/api": "0.0.0-unstable.a9593f74dd",
28
- "@webiny/api-headless-cms": "0.0.0-unstable.a9593f74dd",
29
- "@webiny/api-i18n": "0.0.0-unstable.a9593f74dd",
30
- "@webiny/api-security": "0.0.0-unstable.a9593f74dd",
31
- "@webiny/api-tenancy": "0.0.0-unstable.a9593f74dd",
32
- "@webiny/api-wcp": "0.0.0-unstable.a9593f74dd",
33
- "@webiny/cli": "0.0.0-unstable.a9593f74dd",
34
- "@webiny/handler": "0.0.0-unstable.a9593f74dd",
35
- "@webiny/handler-aws": "0.0.0-unstable.a9593f74dd",
36
- "@webiny/handler-db": "0.0.0-unstable.a9593f74dd",
37
- "@webiny/handler-graphql": "0.0.0-unstable.a9593f74dd",
38
- "@webiny/plugins": "0.0.0-unstable.a9593f74dd",
39
- "@webiny/project-utils": "0.0.0-unstable.a9593f74dd",
28
+ "@webiny/api": "0.0.0-unstable.de38392959",
29
+ "@webiny/api-headless-cms": "0.0.0-unstable.de38392959",
30
+ "@webiny/api-i18n": "0.0.0-unstable.de38392959",
31
+ "@webiny/api-security": "0.0.0-unstable.de38392959",
32
+ "@webiny/api-tenancy": "0.0.0-unstable.de38392959",
33
+ "@webiny/api-wcp": "0.0.0-unstable.de38392959",
34
+ "@webiny/cli": "0.0.0-unstable.de38392959",
35
+ "@webiny/handler": "0.0.0-unstable.de38392959",
36
+ "@webiny/handler-aws": "0.0.0-unstable.de38392959",
37
+ "@webiny/handler-db": "0.0.0-unstable.de38392959",
38
+ "@webiny/handler-graphql": "0.0.0-unstable.de38392959",
39
+ "@webiny/plugins": "0.0.0-unstable.de38392959",
40
+ "@webiny/project-utils": "0.0.0-unstable.de38392959",
40
41
  "rimraf": "3.0.2",
41
42
  "ttypescript": "1.5.15",
42
43
  "type-fest": "2.19.0",
@@ -50,5 +51,5 @@
50
51
  "build": "yarn webiny run build",
51
52
  "watch": "yarn webiny run watch"
52
53
  },
53
- "gitHead": "a9593f74ddf9ce93263eadb0ddc0807ed343f5ee"
54
+ "gitHead": "de38392959f2692d1feb08945a3588cd80e4924c"
54
55
  }
@@ -12,7 +12,9 @@ class EnableIndexing {
12
12
  async exec(index, settings) {
13
13
  try {
14
14
  await this.settings.setSettings(index, {
15
- ...settings
15
+ ...settings,
16
+ numberOfReplicas: settings.numberOfReplicas < 1 ? 1 : settings.numberOfReplicas,
17
+ refreshInterval: settings.refreshInterval === "-1" ? "1s" : settings.refreshInterval
16
18
  });
17
19
  } catch (ex) {
18
20
  throw new _errors.IndexingEnableError(ex);
@@ -1 +1 @@
1
- {"version":3,"names":["_errors","require","EnableIndexing","constructor","settings","exec","index","setSettings","ex","IndexingEnableError","exports"],"sources":["EnableIndexing.ts"],"sourcesContent":["import { IndexingEnableError } from \"~/errors\";\nimport { IIndexSettingsValues } from \"~/types\";\nimport { IndexSettingsManager } from \"./IndexSettingsManager\";\n\nexport class EnableIndexing {\n private readonly settings: IndexSettingsManager;\n\n public constructor(settings: IndexSettingsManager) {\n this.settings = settings;\n }\n\n public async exec(index: string, settings: IIndexSettingsValues): Promise<void> {\n try {\n await this.settings.setSettings(index, {\n ...settings\n });\n } catch (ex) {\n throw new IndexingEnableError(ex);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAIO,MAAMC,cAAc,CAAC;EAGjBC,WAAWA,CAACC,QAA8B,EAAE;IAC/C,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAaC,IAAIA,CAACC,KAAa,EAAEF,QAA8B,EAAiB;IAC5E,IAAI;MACA,MAAM,IAAI,CAACA,QAAQ,CAACG,WAAW,CAACD,KAAK,EAAE;QACnC,GAAGF;MACP,CAAC,CAAC;IACN,CAAC,CAAC,OAAOI,EAAE,EAAE;MACT,MAAM,IAAIC,2BAAmB,CAACD,EAAE,CAAC;IACrC;EACJ;AACJ;AAACE,OAAA,CAAAR,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"names":["_errors","require","EnableIndexing","constructor","settings","exec","index","setSettings","numberOfReplicas","refreshInterval","ex","IndexingEnableError","exports"],"sources":["EnableIndexing.ts"],"sourcesContent":["import { IndexingEnableError } from \"~/errors\";\nimport { IIndexSettingsValues } from \"~/types\";\nimport { IndexSettingsManager } from \"./IndexSettingsManager\";\n\nexport class EnableIndexing {\n private readonly settings: IndexSettingsManager;\n\n public constructor(settings: IndexSettingsManager) {\n this.settings = settings;\n }\n\n public async exec(index: string, settings: IIndexSettingsValues): Promise<void> {\n try {\n await this.settings.setSettings(index, {\n ...settings,\n numberOfReplicas: settings.numberOfReplicas < 1 ? 1 : settings.numberOfReplicas,\n refreshInterval: settings.refreshInterval === \"-1\" ? \"1s\" : settings.refreshInterval\n });\n } catch (ex) {\n throw new IndexingEnableError(ex);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAIO,MAAMC,cAAc,CAAC;EAGjBC,WAAWA,CAACC,QAA8B,EAAE;IAC/C,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAaC,IAAIA,CAACC,KAAa,EAAEF,QAA8B,EAAiB;IAC5E,IAAI;MACA,MAAM,IAAI,CAACA,QAAQ,CAACG,WAAW,CAACD,KAAK,EAAE;QACnC,GAAGF,QAAQ;QACXI,gBAAgB,EAAEJ,QAAQ,CAACI,gBAAgB,GAAG,CAAC,GAAG,CAAC,GAAGJ,QAAQ,CAACI,gBAAgB;QAC/EC,eAAe,EAAEL,QAAQ,CAACK,eAAe,KAAK,IAAI,GAAG,IAAI,GAAGL,QAAQ,CAACK;MACzE,CAAC,CAAC;IACN,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,MAAM,IAAIC,2BAAmB,CAACD,EAAE,CAAC;IACrC;EACJ;AACJ;AAACE,OAAA,CAAAV,cAAA,GAAAA,cAAA"}
@@ -1,12 +1,15 @@
1
- import { IElasticsearchIndexingTaskValuesSettings } from "../types";
1
+ import { IElasticsearchIndexingTaskValuesSettings, IIndexSettingsValues } from "../types";
2
2
  import { IIndexManager } from "./types";
3
3
  import { Client } from "@webiny/api-elasticsearch";
4
4
  export declare class IndexManager implements IIndexManager {
5
+ private readonly client;
5
6
  private readonly disable;
6
7
  private readonly enable;
7
8
  private readonly _settings;
9
+ private readonly defaults;
8
10
  get settings(): IElasticsearchIndexingTaskValuesSettings;
9
- constructor(client: Client, settings: IElasticsearchIndexingTaskValuesSettings);
10
- disableIndexing(index: string): Promise<import("../types").IIndexSettingsValues>;
11
+ constructor(client: Client, settings: IElasticsearchIndexingTaskValuesSettings, defaults?: Partial<IIndexSettingsValues>);
12
+ list(): Promise<string[]>;
13
+ disableIndexing(index: string): Promise<IIndexSettingsValues>;
11
14
  enableIndexing(index?: string): Promise<void>;
12
15
  }
@@ -7,6 +7,7 @@ exports.IndexManager = void 0;
7
7
  var _IndexSettingsManager = require("./IndexSettingsManager");
8
8
  var _DisableIndexing = require("./DisableIndexing");
9
9
  var _EnableIndexing = require("./EnableIndexing");
10
+ var _utils = require("@webiny/utils");
10
11
  const defaultIndexSettings = {
11
12
  numberOfReplicas: 1,
12
13
  refreshInterval: "1s"
@@ -15,11 +16,33 @@ class IndexManager {
15
16
  get settings() {
16
17
  return this._settings;
17
18
  }
18
- constructor(client, settings) {
19
+ constructor(client, settings, defaults) {
19
20
  const indexSettings = new _IndexSettingsManager.IndexSettingsManager(client);
21
+ this.client = client;
20
22
  this.disable = new _DisableIndexing.DisableIndexing(indexSettings);
21
23
  this.enable = new _EnableIndexing.EnableIndexing(indexSettings);
22
24
  this._settings = settings;
25
+ this.defaults = {
26
+ refreshInterval: defaults?.refreshInterval || defaultIndexSettings.refreshInterval,
27
+ numberOfReplicas: defaults?.numberOfReplicas || defaultIndexSettings.numberOfReplicas
28
+ };
29
+ }
30
+ async list() {
31
+ try {
32
+ const response = await this.client.cat.indices({
33
+ format: "json"
34
+ });
35
+ if (!Array.isArray(response.body)) {
36
+ return [];
37
+ }
38
+ return response.body.map(item => item.index).filter(Boolean);
39
+ } catch (ex) {
40
+ console.error(JSON.stringify({
41
+ message: "Failed to list indices.",
42
+ error: (0, _utils.getObjectProperties)(ex)
43
+ }));
44
+ return [];
45
+ }
23
46
  }
24
47
  async disableIndexing(index) {
25
48
  /**
@@ -40,7 +63,7 @@ class IndexManager {
40
63
  }
41
64
  return;
42
65
  }
43
- const settings = this._settings[index] || defaultIndexSettings;
66
+ const settings = this._settings[index] || this.defaults;
44
67
  await this.enable.exec(index, settings);
45
68
  }
46
69
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_IndexSettingsManager","require","_DisableIndexing","_EnableIndexing","defaultIndexSettings","numberOfReplicas","refreshInterval","IndexManager","settings","_settings","constructor","client","indexSettings","IndexSettingsManager","disable","DisableIndexing","enable","EnableIndexing","disableIndexing","index","exec","enableIndexing","indexes","Object","keys","exports"],"sources":["IndexManager.ts"],"sourcesContent":["import { IndexSettingsManager } from \"~/settings/IndexSettingsManager\";\nimport { DisableIndexing } from \"./DisableIndexing\";\nimport { EnableIndexing } from \"./EnableIndexing\";\nimport { IElasticsearchIndexingTaskValuesSettings } from \"~/types\";\nimport { IIndexManager } from \"~/settings/types\";\nimport { Client } from \"@webiny/api-elasticsearch\";\n\nconst defaultIndexSettings = {\n numberOfReplicas: 1,\n refreshInterval: \"1s\"\n};\n\nexport class IndexManager implements IIndexManager {\n private readonly disable: DisableIndexing;\n private readonly enable: EnableIndexing;\n private readonly _settings: IElasticsearchIndexingTaskValuesSettings;\n\n public get settings(): IElasticsearchIndexingTaskValuesSettings {\n return this._settings;\n }\n\n public constructor(client: Client, settings: IElasticsearchIndexingTaskValuesSettings) {\n const indexSettings = new IndexSettingsManager(client);\n this.disable = new DisableIndexing(indexSettings);\n this.enable = new EnableIndexing(indexSettings);\n this._settings = settings;\n }\n\n public async disableIndexing(index: string) {\n /**\n * No need to disable indexing if it's already disabled.\n */\n if (this._settings[index]) {\n return this._settings[index];\n }\n const settings = await this.disable.exec(index);\n this._settings[index] = settings;\n return settings;\n }\n\n public async enableIndexing(index?: string) {\n if (!index) {\n const indexes = Object.keys(this._settings);\n for (const index of indexes) {\n await this.enableIndexing(index);\n }\n return;\n }\n const settings = this._settings[index] || defaultIndexSettings;\n await this.enable.exec(index, settings);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAKA,MAAMG,oBAAoB,GAAG;EACzBC,gBAAgB,EAAE,CAAC;EACnBC,eAAe,EAAE;AACrB,CAAC;AAEM,MAAMC,YAAY,CAA0B;EAK/C,IAAWC,QAAQA,CAAA,EAA6C;IAC5D,OAAO,IAAI,CAACC,SAAS;EACzB;EAEOC,WAAWA,CAACC,MAAc,EAAEH,QAAkD,EAAE;IACnF,MAAMI,aAAa,GAAG,IAAIC,0CAAoB,CAACF,MAAM,CAAC;IACtD,IAAI,CAACG,OAAO,GAAG,IAAIC,gCAAe,CAACH,aAAa,CAAC;IACjD,IAAI,CAACI,MAAM,GAAG,IAAIC,8BAAc,CAACL,aAAa,CAAC;IAC/C,IAAI,CAACH,SAAS,GAAGD,QAAQ;EAC7B;EAEA,MAAaU,eAAeA,CAACC,KAAa,EAAE;IACxC;AACR;AACA;IACQ,IAAI,IAAI,CAACV,SAAS,CAACU,KAAK,CAAC,EAAE;MACvB,OAAO,IAAI,CAACV,SAAS,CAACU,KAAK,CAAC;IAChC;IACA,MAAMX,QAAQ,GAAG,MAAM,IAAI,CAACM,OAAO,CAACM,IAAI,CAACD,KAAK,CAAC;IAC/C,IAAI,CAACV,SAAS,CAACU,KAAK,CAAC,GAAGX,QAAQ;IAChC,OAAOA,QAAQ;EACnB;EAEA,MAAaa,cAAcA,CAACF,KAAc,EAAE;IACxC,IAAI,CAACA,KAAK,EAAE;MACR,MAAMG,OAAO,GAAGC,MAAM,CAACC,IAAI,CAAC,IAAI,CAACf,SAAS,CAAC;MAC3C,KAAK,MAAMU,KAAK,IAAIG,OAAO,EAAE;QACzB,MAAM,IAAI,CAACD,cAAc,CAACF,KAAK,CAAC;MACpC;MACA;IACJ;IACA,MAAMX,QAAQ,GAAG,IAAI,CAACC,SAAS,CAACU,KAAK,CAAC,IAAIf,oBAAoB;IAC9D,MAAM,IAAI,CAACY,MAAM,CAACI,IAAI,CAACD,KAAK,EAAEX,QAAQ,CAAC;EAC3C;AACJ;AAACiB,OAAA,CAAAlB,YAAA,GAAAA,YAAA"}
1
+ {"version":3,"names":["_IndexSettingsManager","require","_DisableIndexing","_EnableIndexing","_utils","defaultIndexSettings","numberOfReplicas","refreshInterval","IndexManager","settings","_settings","constructor","client","defaults","indexSettings","IndexSettingsManager","disable","DisableIndexing","enable","EnableIndexing","list","response","cat","indices","format","Array","isArray","body","map","item","index","filter","Boolean","ex","console","error","JSON","stringify","message","getObjectProperties","disableIndexing","exec","enableIndexing","indexes","Object","keys","exports"],"sources":["IndexManager.ts"],"sourcesContent":["import { IndexSettingsManager } from \"~/settings/IndexSettingsManager\";\nimport { DisableIndexing } from \"./DisableIndexing\";\nimport { EnableIndexing } from \"./EnableIndexing\";\nimport { IElasticsearchIndexingTaskValuesSettings, IIndexSettingsValues } from \"~/types\";\nimport { IIndexManager } from \"~/settings/types\";\nimport { Client } from \"@webiny/api-elasticsearch\";\nimport { getObjectProperties } from \"@webiny/utils\";\n\nconst defaultIndexSettings: IIndexSettingsValues = {\n numberOfReplicas: 1,\n refreshInterval: \"1s\"\n};\n\nexport class IndexManager implements IIndexManager {\n private readonly client: Client;\n private readonly disable: DisableIndexing;\n private readonly enable: EnableIndexing;\n private readonly _settings: IElasticsearchIndexingTaskValuesSettings;\n\n private readonly defaults: IIndexSettingsValues;\n\n public get settings(): IElasticsearchIndexingTaskValuesSettings {\n return this._settings;\n }\n\n public constructor(\n client: Client,\n settings: IElasticsearchIndexingTaskValuesSettings,\n defaults?: Partial<IIndexSettingsValues>\n ) {\n const indexSettings = new IndexSettingsManager(client);\n this.client = client;\n this.disable = new DisableIndexing(indexSettings);\n this.enable = new EnableIndexing(indexSettings);\n this._settings = settings;\n this.defaults = {\n refreshInterval: defaults?.refreshInterval || defaultIndexSettings.refreshInterval,\n numberOfReplicas: defaults?.numberOfReplicas || defaultIndexSettings.numberOfReplicas\n };\n }\n\n public async list(): Promise<string[]> {\n try {\n const response = await this.client.cat.indices({\n format: \"json\"\n });\n if (!Array.isArray(response.body)) {\n return [];\n }\n return response.body.map((item: any) => item.index).filter(Boolean);\n } catch (ex) {\n console.error(\n JSON.stringify({\n message: \"Failed to list indices.\",\n error: getObjectProperties(ex)\n })\n );\n return [];\n }\n }\n\n public async disableIndexing(index: string) {\n /**\n * No need to disable indexing if it's already disabled.\n */\n if (this._settings[index]) {\n return this._settings[index];\n }\n const settings = await this.disable.exec(index);\n this._settings[index] = settings;\n return settings;\n }\n\n public async enableIndexing(index?: string) {\n if (!index) {\n const indexes = Object.keys(this._settings);\n for (const index of indexes) {\n await this.enableIndexing(index);\n }\n return;\n }\n const settings = this._settings[index] || this.defaults;\n await this.enable.exec(index, settings);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAIA,IAAAG,MAAA,GAAAH,OAAA;AAEA,MAAMI,oBAA0C,GAAG;EAC/CC,gBAAgB,EAAE,CAAC;EACnBC,eAAe,EAAE;AACrB,CAAC;AAEM,MAAMC,YAAY,CAA0B;EAQ/C,IAAWC,QAAQA,CAAA,EAA6C;IAC5D,OAAO,IAAI,CAACC,SAAS;EACzB;EAEOC,WAAWA,CACdC,MAAc,EACdH,QAAkD,EAClDI,QAAwC,EAC1C;IACE,MAAMC,aAAa,GAAG,IAAIC,0CAAoB,CAACH,MAAM,CAAC;IACtD,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACI,OAAO,GAAG,IAAIC,gCAAe,CAACH,aAAa,CAAC;IACjD,IAAI,CAACI,MAAM,GAAG,IAAIC,8BAAc,CAACL,aAAa,CAAC;IAC/C,IAAI,CAACJ,SAAS,GAAGD,QAAQ;IACzB,IAAI,CAACI,QAAQ,GAAG;MACZN,eAAe,EAAEM,QAAQ,EAAEN,eAAe,IAAIF,oBAAoB,CAACE,eAAe;MAClFD,gBAAgB,EAAEO,QAAQ,EAAEP,gBAAgB,IAAID,oBAAoB,CAACC;IACzE,CAAC;EACL;EAEA,MAAac,IAAIA,CAAA,EAAsB;IACnC,IAAI;MACA,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACT,MAAM,CAACU,GAAG,CAACC,OAAO,CAAC;QAC3CC,MAAM,EAAE;MACZ,CAAC,CAAC;MACF,IAAI,CAACC,KAAK,CAACC,OAAO,CAACL,QAAQ,CAACM,IAAI,CAAC,EAAE;QAC/B,OAAO,EAAE;MACb;MACA,OAAON,QAAQ,CAACM,IAAI,CAACC,GAAG,CAAEC,IAAS,IAAKA,IAAI,CAACC,KAAK,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC;IACvE,CAAC,CAAC,OAAOC,EAAE,EAAE;MACTC,OAAO,CAACC,KAAK,CACTC,IAAI,CAACC,SAAS,CAAC;QACXC,OAAO,EAAE,yBAAyB;QAClCH,KAAK,EAAE,IAAAI,0BAAmB,EAACN,EAAE;MACjC,CAAC,CACL,CAAC;MACD,OAAO,EAAE;IACb;EACJ;EAEA,MAAaO,eAAeA,CAACV,KAAa,EAAE;IACxC;AACR;AACA;IACQ,IAAI,IAAI,CAACpB,SAAS,CAACoB,KAAK,CAAC,EAAE;MACvB,OAAO,IAAI,CAACpB,SAAS,CAACoB,KAAK,CAAC;IAChC;IACA,MAAMrB,QAAQ,GAAG,MAAM,IAAI,CAACO,OAAO,CAACyB,IAAI,CAACX,KAAK,CAAC;IAC/C,IAAI,CAACpB,SAAS,CAACoB,KAAK,CAAC,GAAGrB,QAAQ;IAChC,OAAOA,QAAQ;EACnB;EAEA,MAAaiC,cAAcA,CAACZ,KAAc,EAAE;IACxC,IAAI,CAACA,KAAK,EAAE;MACR,MAAMa,OAAO,GAAGC,MAAM,CAACC,IAAI,CAAC,IAAI,CAACnC,SAAS,CAAC;MAC3C,KAAK,MAAMoB,KAAK,IAAIa,OAAO,EAAE;QACzB,MAAM,IAAI,CAACD,cAAc,CAACZ,KAAK,CAAC;MACpC;MACA;IACJ;IACA,MAAMrB,QAAQ,GAAG,IAAI,CAACC,SAAS,CAACoB,KAAK,CAAC,IAAI,IAAI,CAACjB,QAAQ;IACvD,MAAM,IAAI,CAACK,MAAM,CAACuB,IAAI,CAACX,KAAK,EAAErB,QAAQ,CAAC;EAC3C;AACJ;AAACqC,OAAA,CAAAtC,YAAA,GAAAA,YAAA"}
@@ -1,6 +1,7 @@
1
1
  import { IElasticsearchIndexingTaskValuesSettings, IIndexSettingsValues } from "../types";
2
2
  export interface IIndexManager {
3
3
  settings: IElasticsearchIndexingTaskValuesSettings;
4
+ list(): Promise<string[]>;
4
5
  disableIndexing(index: string): Promise<IIndexSettingsValues>;
5
6
  enableIndexing(index?: string): Promise<void>;
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { IElasticsearchIndexingTaskValuesSettings, IIndexSettingsValues } from \"~/types\";\n\nexport interface IIndexManager {\n settings: IElasticsearchIndexingTaskValuesSettings;\n\n disableIndexing(index: string): Promise<IIndexSettingsValues>;\n enableIndexing(index?: string): Promise<void>;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { IElasticsearchIndexingTaskValuesSettings, IIndexSettingsValues } from \"~/types\";\n\nexport interface IIndexManager {\n settings: IElasticsearchIndexingTaskValuesSettings;\n\n list(): Promise<string[]>;\n disableIndexing(index: string): Promise<IIndexSettingsValues>;\n enableIndexing(index?: string): Promise<void>;\n}\n"],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { IManager } from "../../types";
2
+ import { ITaskResponseResult } from "@webiny/tasks/response/abstractions";
3
+ import { IndexManager } from "../../settings";
4
+ export declare class EnableIndexingTaskRunner {
5
+ private readonly manager;
6
+ private readonly indexManager;
7
+ private readonly response;
8
+ constructor(manager: IManager, indexManager: IndexManager);
9
+ exec(matching?: string): Promise<ITaskResponseResult>;
10
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EnableIndexingTaskRunner = void 0;
7
+ class EnableIndexingTaskRunner {
8
+ constructor(manager, indexManager) {
9
+ this.manager = manager;
10
+ this.response = manager.response;
11
+ this.indexManager = indexManager;
12
+ }
13
+ async exec(matching) {
14
+ if (this.manager.isAborted()) {
15
+ return this.response.aborted();
16
+ }
17
+ const isIndexAllowed = index => {
18
+ if (typeof matching !== "string" || !matching) {
19
+ return true;
20
+ }
21
+ return index.includes(matching);
22
+ };
23
+ const indexes = await this.indexManager.list();
24
+ const enabled = [];
25
+ const failed = [];
26
+ for (const index of indexes) {
27
+ if (!isIndexAllowed(index)) {
28
+ continue;
29
+ }
30
+ try {
31
+ await this.indexManager.enableIndexing(index);
32
+ enabled.push(index);
33
+ } catch (ex) {
34
+ failed.push(index);
35
+ await this.manager.store.addErrorLog({
36
+ message: `Failed to enable indexing on index "${index}".`,
37
+ error: ex
38
+ });
39
+ }
40
+ }
41
+ return this.response.done("Task done.", {
42
+ enabled,
43
+ failed
44
+ });
45
+ }
46
+ }
47
+ exports.EnableIndexingTaskRunner = EnableIndexingTaskRunner;
48
+
49
+ //# sourceMappingURL=EnableIndexingTaskRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EnableIndexingTaskRunner","constructor","manager","indexManager","response","exec","matching","isAborted","aborted","isIndexAllowed","index","includes","indexes","list","enabled","failed","enableIndexing","push","ex","store","addErrorLog","message","error","done","exports"],"sources":["EnableIndexingTaskRunner.ts"],"sourcesContent":["import { IManager } from \"~/types\";\nimport { ITaskResponse, ITaskResponseResult } from \"@webiny/tasks/response/abstractions\";\nimport { IndexManager } from \"~/settings\";\nimport { IIndexManager } from \"~/settings/types\";\n\nexport class EnableIndexingTaskRunner {\n private readonly manager: IManager;\n private readonly indexManager: IIndexManager;\n private readonly response: ITaskResponse;\n\n public constructor(manager: IManager, indexManager: IndexManager) {\n this.manager = manager;\n this.response = manager.response;\n this.indexManager = indexManager;\n }\n\n public async exec(matching?: string): Promise<ITaskResponseResult> {\n if (this.manager.isAborted()) {\n return this.response.aborted();\n }\n\n const isIndexAllowed = (index: string): boolean => {\n if (typeof matching !== \"string\" || !matching) {\n return true;\n }\n return index.includes(matching);\n };\n\n const indexes = await this.indexManager.list();\n const enabled: string[] = [];\n const failed: string[] = [];\n for (const index of indexes) {\n if (!isIndexAllowed(index)) {\n continue;\n }\n try {\n await this.indexManager.enableIndexing(index);\n enabled.push(index);\n } catch (ex) {\n failed.push(index);\n await this.manager.store.addErrorLog({\n message: `Failed to enable indexing on index \"${index}\".`,\n error: ex\n });\n }\n }\n return this.response.done(\"Task done.\", {\n enabled,\n failed\n });\n }\n}\n"],"mappings":";;;;;;AAKO,MAAMA,wBAAwB,CAAC;EAK3BC,WAAWA,CAACC,OAAiB,EAAEC,YAA0B,EAAE;IAC9D,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACE,QAAQ,GAAGF,OAAO,CAACE,QAAQ;IAChC,IAAI,CAACD,YAAY,GAAGA,YAAY;EACpC;EAEA,MAAaE,IAAIA,CAACC,QAAiB,EAAgC;IAC/D,IAAI,IAAI,CAACJ,OAAO,CAACK,SAAS,CAAC,CAAC,EAAE;MAC1B,OAAO,IAAI,CAACH,QAAQ,CAACI,OAAO,CAAC,CAAC;IAClC;IAEA,MAAMC,cAAc,GAAIC,KAAa,IAAc;MAC/C,IAAI,OAAOJ,QAAQ,KAAK,QAAQ,IAAI,CAACA,QAAQ,EAAE;QAC3C,OAAO,IAAI;MACf;MACA,OAAOI,KAAK,CAACC,QAAQ,CAACL,QAAQ,CAAC;IACnC,CAAC;IAED,MAAMM,OAAO,GAAG,MAAM,IAAI,CAACT,YAAY,CAACU,IAAI,CAAC,CAAC;IAC9C,MAAMC,OAAiB,GAAG,EAAE;IAC5B,MAAMC,MAAgB,GAAG,EAAE;IAC3B,KAAK,MAAML,KAAK,IAAIE,OAAO,EAAE;MACzB,IAAI,CAACH,cAAc,CAACC,KAAK,CAAC,EAAE;QACxB;MACJ;MACA,IAAI;QACA,MAAM,IAAI,CAACP,YAAY,CAACa,cAAc,CAACN,KAAK,CAAC;QAC7CI,OAAO,CAACG,IAAI,CAACP,KAAK,CAAC;MACvB,CAAC,CAAC,OAAOQ,EAAE,EAAE;QACTH,MAAM,CAACE,IAAI,CAACP,KAAK,CAAC;QAClB,MAAM,IAAI,CAACR,OAAO,CAACiB,KAAK,CAACC,WAAW,CAAC;UACjCC,OAAO,EAAG,uCAAsCX,KAAM,IAAG;UACzDY,KAAK,EAAEJ;QACX,CAAC,CAAC;MACN;IACJ;IACA,OAAO,IAAI,CAACd,QAAQ,CAACmB,IAAI,CAAC,YAAY,EAAE;MACpCT,OAAO;MACPC;IACJ,CAAC,CAAC;EACN;AACJ;AAACS,OAAA,CAAAxB,wBAAA,GAAAA,wBAAA"}
@@ -0,0 +1,3 @@
1
+ import { Context, IElasticsearchTaskConfig } from "../../types";
2
+ import { IElasticsearchEnableIndexingTaskInput } from "./types";
3
+ export declare const createEnableIndexingTask: (params?: IElasticsearchTaskConfig) => import("@webiny/tasks").TaskDefinitionPlugin<Context, IElasticsearchEnableIndexingTaskInput, import("@webiny/tasks").ITaskResponseDoneResultOutput>;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createEnableIndexingTask = void 0;
7
+ var _tasks = require("@webiny/tasks");
8
+ const createEnableIndexingTask = params => {
9
+ return (0, _tasks.createTaskDefinition)({
10
+ id: "elasticsearchEnableIndexing",
11
+ title: "Enable Indexing on Elasticsearch Indexes",
12
+ run: async ({
13
+ response,
14
+ context,
15
+ isAborted,
16
+ isCloseToTimeout,
17
+ input,
18
+ store
19
+ }) => {
20
+ const {
21
+ Manager
22
+ } = await import( /* webpackChunkName: "ElasticsearchTaskManager" */"../Manager");
23
+ const {
24
+ IndexManager
25
+ } = await import( /* webpackChunkName: "ElasticsearchTaskSettings" */"../../settings");
26
+ const {
27
+ EnableIndexingTaskRunner
28
+ } = await import( /* webpackChunkName: "ElasticsearchEnableIndexingTaskRunner" */"./EnableIndexingTaskRunner");
29
+ const manager = new Manager({
30
+ elasticsearchClient: params?.elasticsearchClient,
31
+ documentClient: params?.documentClient,
32
+ response,
33
+ context,
34
+ isAborted,
35
+ isCloseToTimeout,
36
+ store
37
+ });
38
+ const indexManager = new IndexManager(manager.elasticsearch, {}, {
39
+ refreshInterval: input.refreshInterval,
40
+ numberOfReplicas: input.numberOfReplicas
41
+ });
42
+ const enableIndexing = new EnableIndexingTaskRunner(manager, indexManager);
43
+ return enableIndexing.exec(input.matching);
44
+ }
45
+ });
46
+ };
47
+ exports.createEnableIndexingTask = createEnableIndexingTask;
48
+
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_tasks","require","createEnableIndexingTask","params","createTaskDefinition","id","title","run","response","context","isAborted","isCloseToTimeout","input","store","Manager","IndexManager","EnableIndexingTaskRunner","manager","elasticsearchClient","documentClient","indexManager","elasticsearch","refreshInterval","numberOfReplicas","enableIndexing","exec","matching","exports"],"sources":["index.ts"],"sourcesContent":["import { createTaskDefinition } from \"@webiny/tasks\";\nimport { Context, IElasticsearchTaskConfig } from \"~/types\";\nimport { IElasticsearchEnableIndexingTaskInput } from \"./types\";\n\nexport const createEnableIndexingTask = (params?: IElasticsearchTaskConfig) => {\n return createTaskDefinition<Context, IElasticsearchEnableIndexingTaskInput>({\n id: \"elasticsearchEnableIndexing\",\n title: \"Enable Indexing on Elasticsearch Indexes\",\n run: async ({ response, context, isAborted, isCloseToTimeout, input, store }) => {\n const { Manager } = await import(\n /* webpackChunkName: \"ElasticsearchTaskManager\" */\n \"../Manager\"\n );\n const { IndexManager } = await import(\n /* webpackChunkName: \"ElasticsearchTaskSettings\" */ \"~/settings\"\n );\n\n const { EnableIndexingTaskRunner } = await import(\n /* webpackChunkName: \"ElasticsearchEnableIndexingTaskRunner\" */ \"./EnableIndexingTaskRunner\"\n );\n\n const manager = new Manager({\n elasticsearchClient: params?.elasticsearchClient,\n documentClient: params?.documentClient,\n response,\n context,\n isAborted,\n isCloseToTimeout,\n store\n });\n\n const indexManager = new IndexManager(\n manager.elasticsearch,\n {},\n {\n refreshInterval: input.refreshInterval,\n numberOfReplicas: input.numberOfReplicas\n }\n );\n\n const enableIndexing = new EnableIndexingTaskRunner(manager, indexManager);\n\n return enableIndexing.exec(input.matching);\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIO,MAAMC,wBAAwB,GAAIC,MAAiC,IAAK;EAC3E,OAAO,IAAAC,2BAAoB,EAAiD;IACxEC,EAAE,EAAE,6BAA6B;IACjCC,KAAK,EAAE,0CAA0C;IACjDC,GAAG,EAAE,MAAAA,CAAO;MAAEC,QAAQ;MAAEC,OAAO;MAAEC,SAAS;MAAEC,gBAAgB;MAAEC,KAAK;MAAEC;IAAM,CAAC,KAAK;MAC7E,MAAM;QAAEC;MAAQ,CAAC,GAAG,MAAM,MAAM,EAC5B,8DAEJ,CAAC;MACD,MAAM;QAAEC;MAAa,CAAC,GAAG,MAAM,MAAM,EACjC,mEACJ,CAAC;MAED,MAAM;QAAEC;MAAyB,CAAC,GAAG,MAAM,MAAM,EAC7C,2FACJ,CAAC;MAED,MAAMC,OAAO,GAAG,IAAIH,OAAO,CAAC;QACxBI,mBAAmB,EAAEf,MAAM,EAAEe,mBAAmB;QAChDC,cAAc,EAAEhB,MAAM,EAAEgB,cAAc;QACtCX,QAAQ;QACRC,OAAO;QACPC,SAAS;QACTC,gBAAgB;QAChBE;MACJ,CAAC,CAAC;MAEF,MAAMO,YAAY,GAAG,IAAIL,YAAY,CACjCE,OAAO,CAACI,aAAa,EACrB,CAAC,CAAC,EACF;QACIC,eAAe,EAAEV,KAAK,CAACU,eAAe;QACtCC,gBAAgB,EAAEX,KAAK,CAACW;MAC5B,CACJ,CAAC;MAED,MAAMC,cAAc,GAAG,IAAIR,wBAAwB,CAACC,OAAO,EAAEG,YAAY,CAAC;MAE1E,OAAOI,cAAc,CAACC,IAAI,CAACb,KAAK,CAACc,QAAQ,CAAC;IAC9C;EACJ,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAzB,wBAAA,GAAAA,wBAAA"}
@@ -0,0 +1,5 @@
1
+ export interface IElasticsearchEnableIndexingTaskInput {
2
+ matching?: string;
3
+ numberOfReplicas?: number;
4
+ refreshInterval?: string;
5
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export interface IElasticsearchEnableIndexingTaskInput {\n matching?: string;\n numberOfReplicas?: number;\n refreshInterval?: string;\n}\n"],"mappings":""}
package/tasks/index.d.ts CHANGED
@@ -1 +1,2 @@
1
+ export * from "./enableIndexing";
1
2
  export * from "./reindexing";
package/tasks/index.js CHANGED
@@ -3,6 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _enableIndexing = require("./enableIndexing");
7
+ Object.keys(_enableIndexing).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _enableIndexing[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _enableIndexing[key];
14
+ }
15
+ });
16
+ });
6
17
  var _reindexing = require("./reindexing");
7
18
  Object.keys(_reindexing).forEach(function (key) {
8
19
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"names":["_reindexing","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./reindexing\";\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_enableIndexing","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_reindexing"],"sources":["index.ts"],"sourcesContent":["export * from \"./enableIndexing\";\nexport * from \"./reindexing\";\n"],"mappings":";;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,eAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,eAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,eAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,WAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,WAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,WAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,WAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
@@ -1,8 +1,2 @@
1
- import { Context, IElasticsearchIndexingTaskValues } from "../../types";
2
- import { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb";
3
- import { Client } from "@webiny/api-elasticsearch";
4
- export interface CreateElasticsearchIndexTaskConfig {
5
- documentClient?: DynamoDBDocument;
6
- elasticsearchClient?: Client;
7
- }
8
- export declare const createElasticsearchReindexingTask: (params?: CreateElasticsearchIndexTaskConfig) => import("@webiny/tasks").TaskDefinitionPlugin<Context, IElasticsearchIndexingTaskValues, import("@webiny/tasks").ITaskResponseDoneResultOutput>;
1
+ import { Context, IElasticsearchIndexingTaskValues, IElasticsearchTaskConfig } from "../../types";
2
+ export declare const createElasticsearchReindexingTask: (params?: IElasticsearchTaskConfig) => import("@webiny/tasks").TaskDefinitionPlugin<Context, IElasticsearchIndexingTaskValues, import("@webiny/tasks").ITaskResponseDoneResultOutput>;
@@ -1 +1 @@
1
- {"version":3,"names":["_tasks","require","createElasticsearchReindexingTask","params","createTaskDefinition","id","title","run","context","isCloseToTimeout","response","input","isAborted","store","Manager","IndexManager","ReindexingTaskRunner","manager","elasticsearchClient","documentClient","indexManager","elasticsearch","settings","reindexing","keys","undefined","exec","exports"],"sources":["reindexingTaskDefinition.ts"],"sourcesContent":["import { createTaskDefinition } from \"@webiny/tasks\";\nimport { Context, IElasticsearchIndexingTaskValues } from \"~/types\";\nimport { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { Client } from \"@webiny/api-elasticsearch\";\n\nexport interface CreateElasticsearchIndexTaskConfig {\n documentClient?: DynamoDBDocument;\n elasticsearchClient?: Client;\n}\n\nexport const createElasticsearchReindexingTask = (params?: CreateElasticsearchIndexTaskConfig) => {\n return createTaskDefinition<Context, IElasticsearchIndexingTaskValues>({\n id: \"elasticsearchReindexing\",\n title: \"Elasticsearch reindexing\",\n run: async ({ context, isCloseToTimeout, response, input, isAborted, store }) => {\n const { Manager } = await import(\"../Manager\");\n const { IndexManager } = await import(\"~/settings\");\n const { ReindexingTaskRunner } = await import(\"./ReindexingTaskRunner\");\n\n const manager = new Manager({\n elasticsearchClient: params?.elasticsearchClient,\n documentClient: params?.documentClient,\n response,\n context,\n isAborted,\n isCloseToTimeout,\n store\n });\n\n const indexManager = new IndexManager(manager.elasticsearch, input.settings || {});\n const reindexing = new ReindexingTaskRunner(manager, indexManager);\n\n const keys = input.keys || undefined;\n return reindexing.exec(keys, 200);\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAUO,MAAMC,iCAAiC,GAAIC,MAA2C,IAAK;EAC9F,OAAO,IAAAC,2BAAoB,EAA4C;IACnEC,EAAE,EAAE,yBAAyB;IAC7BC,KAAK,EAAE,0BAA0B;IACjCC,GAAG,EAAE,MAAAA,CAAO;MAAEC,OAAO;MAAEC,gBAAgB;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,SAAS;MAAEC;IAAM,CAAC,KAAK;MAC7E,MAAM;QAAEC;MAAQ,CAAC,GAAG,MAAM,MAAM,aAAa,CAAC;MAC9C,MAAM;QAAEC;MAAa,CAAC,GAAG,MAAM,MAAM,iBAAa,CAAC;MACnD,MAAM;QAAEC;MAAqB,CAAC,GAAG,MAAM,MAAM,yBAAyB,CAAC;MAEvE,MAAMC,OAAO,GAAG,IAAIH,OAAO,CAAC;QACxBI,mBAAmB,EAAEf,MAAM,EAAEe,mBAAmB;QAChDC,cAAc,EAAEhB,MAAM,EAAEgB,cAAc;QACtCT,QAAQ;QACRF,OAAO;QACPI,SAAS;QACTH,gBAAgB;QAChBI;MACJ,CAAC,CAAC;MAEF,MAAMO,YAAY,GAAG,IAAIL,YAAY,CAACE,OAAO,CAACI,aAAa,EAAEV,KAAK,CAACW,QAAQ,IAAI,CAAC,CAAC,CAAC;MAClF,MAAMC,UAAU,GAAG,IAAIP,oBAAoB,CAACC,OAAO,EAAEG,YAAY,CAAC;MAElE,MAAMI,IAAI,GAAGb,KAAK,CAACa,IAAI,IAAIC,SAAS;MACpC,OAAOF,UAAU,CAACG,IAAI,CAACF,IAAI,EAAE,GAAG,CAAC;IACrC;EACJ,CAAC,CAAC;AACN,CAAC;AAACG,OAAA,CAAAzB,iCAAA,GAAAA,iCAAA"}
1
+ {"version":3,"names":["_tasks","require","createElasticsearchReindexingTask","params","createTaskDefinition","id","title","run","context","isCloseToTimeout","response","input","isAborted","store","Manager","IndexManager","ReindexingTaskRunner","manager","elasticsearchClient","documentClient","indexManager","elasticsearch","settings","reindexing","keys","undefined","exec","exports"],"sources":["reindexingTaskDefinition.ts"],"sourcesContent":["import { createTaskDefinition } from \"@webiny/tasks\";\nimport { Context, IElasticsearchIndexingTaskValues, IElasticsearchTaskConfig } from \"~/types\";\n\nexport const createElasticsearchReindexingTask = (params?: IElasticsearchTaskConfig) => {\n return createTaskDefinition<Context, IElasticsearchIndexingTaskValues>({\n id: \"elasticsearchReindexing\",\n title: \"Elasticsearch reindexing\",\n run: async ({ context, isCloseToTimeout, response, input, isAborted, store }) => {\n const { Manager } = await import(\"../Manager\");\n const { IndexManager } = await import(\"~/settings\");\n const { ReindexingTaskRunner } = await import(\"./ReindexingTaskRunner\");\n\n const manager = new Manager({\n elasticsearchClient: params?.elasticsearchClient,\n documentClient: params?.documentClient,\n response,\n context,\n isAborted,\n isCloseToTimeout,\n store\n });\n\n const indexManager = new IndexManager(manager.elasticsearch, input.settings || {});\n const reindexing = new ReindexingTaskRunner(manager, indexManager);\n\n const keys = input.keys || undefined;\n return reindexing.exec(keys, 200);\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,iCAAiC,GAAIC,MAAiC,IAAK;EACpF,OAAO,IAAAC,2BAAoB,EAA4C;IACnEC,EAAE,EAAE,yBAAyB;IAC7BC,KAAK,EAAE,0BAA0B;IACjCC,GAAG,EAAE,MAAAA,CAAO;MAAEC,OAAO;MAAEC,gBAAgB;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,SAAS;MAAEC;IAAM,CAAC,KAAK;MAC7E,MAAM;QAAEC;MAAQ,CAAC,GAAG,MAAM,MAAM,aAAa,CAAC;MAC9C,MAAM;QAAEC;MAAa,CAAC,GAAG,MAAM,MAAM,iBAAa,CAAC;MACnD,MAAM;QAAEC;MAAqB,CAAC,GAAG,MAAM,MAAM,yBAAyB,CAAC;MAEvE,MAAMC,OAAO,GAAG,IAAIH,OAAO,CAAC;QACxBI,mBAAmB,EAAEf,MAAM,EAAEe,mBAAmB;QAChDC,cAAc,EAAEhB,MAAM,EAAEgB,cAAc;QACtCT,QAAQ;QACRF,OAAO;QACPI,SAAS;QACTH,gBAAgB;QAChBI;MACJ,CAAC,CAAC;MAEF,MAAMO,YAAY,GAAG,IAAIL,YAAY,CAACE,OAAO,CAACI,aAAa,EAAEV,KAAK,CAACW,QAAQ,IAAI,CAAC,CAAC,CAAC;MAClF,MAAMC,UAAU,GAAG,IAAIP,oBAAoB,CAACC,OAAO,EAAEG,YAAY,CAAC;MAElE,MAAMI,IAAI,GAAGb,KAAK,CAACa,IAAI,IAAIC,SAAS;MACpC,OAAOF,UAAU,CAACG,IAAI,CAACF,IAAI,EAAE,GAAG,CAAC;IACrC;EACJ,CAAC,CAAC;AACN,CAAC;AAACG,OAAA,CAAAzB,iCAAA,GAAAA,iCAAA"}
package/types.d.ts CHANGED
@@ -9,6 +9,10 @@ import { ITaskManagerStore } from "@webiny/tasks/runner/abstractions";
9
9
  import { BatchWriteItem, BatchWriteResult } from "@webiny/db-dynamodb";
10
10
  export interface Context extends ElasticsearchContext, TasksContext {
11
11
  }
12
+ export interface IElasticsearchTaskConfig {
13
+ documentClient?: DynamoDBDocument;
14
+ elasticsearchClient?: Client;
15
+ }
12
16
  export interface IElasticsearchIndexingTaskValuesKeys {
13
17
  PK: string;
14
18
  SK: string;
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { ElasticsearchContext } from \"@webiny/api-elasticsearch/types\";\nimport { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { Context as TasksContext } from \"@webiny/tasks/types\";\nimport { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { Client } from \"@webiny/api-elasticsearch\";\nimport { createTable } from \"~/definitions\";\nimport { ITaskResponse } from \"@webiny/tasks/response/abstractions\";\nimport { ITaskManagerStore } from \"@webiny/tasks/runner/abstractions\";\nimport { BatchWriteItem, BatchWriteResult } from \"@webiny/db-dynamodb\";\n\nexport interface Context extends ElasticsearchContext, TasksContext {}\n\nexport interface IElasticsearchIndexingTaskValuesKeys {\n PK: string;\n SK: string;\n}\n\nexport interface IIndexSettingsValues {\n numberOfReplicas: number;\n refreshInterval: string;\n}\n\nexport interface IElasticsearchIndexingTaskValuesSettings {\n [key: string]: IIndexSettingsValues;\n}\n\nexport interface IElasticsearchIndexingTaskValues {\n matching?: string;\n keys?: IElasticsearchIndexingTaskValuesKeys;\n settings?: IElasticsearchIndexingTaskValuesSettings;\n}\n\nexport interface AugmentedError extends Error {\n data?: Record<string, any>;\n [key: string]: any;\n}\n\nexport interface IDynamoDbElasticsearchRecord {\n PK: string;\n SK: string;\n index: string;\n _et?: string;\n entity: string;\n data: Record<string, any>;\n modified: string;\n}\n\nexport interface IManager {\n readonly documentClient: DynamoDBDocument;\n readonly elasticsearch: Client;\n readonly context: Context;\n readonly table: ReturnType<typeof createTable>;\n readonly isCloseToTimeout: () => boolean;\n readonly isAborted: () => boolean;\n readonly response: ITaskResponse;\n readonly store: ITaskManagerStore<IElasticsearchIndexingTaskValues>;\n\n getEntity: (name: string) => Entity<any>;\n\n write: (items: BatchWriteItem[]) => Promise<BatchWriteResult>;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { ElasticsearchContext } from \"@webiny/api-elasticsearch/types\";\nimport { Entity } from \"@webiny/db-dynamodb/toolbox\";\nimport { Context as TasksContext } from \"@webiny/tasks/types\";\nimport { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { Client } from \"@webiny/api-elasticsearch\";\nimport { createTable } from \"~/definitions\";\nimport { ITaskResponse } from \"@webiny/tasks/response/abstractions\";\nimport { ITaskManagerStore } from \"@webiny/tasks/runner/abstractions\";\nimport { BatchWriteItem, BatchWriteResult } from \"@webiny/db-dynamodb\";\n\nexport interface Context extends ElasticsearchContext, TasksContext {}\n\nexport interface IElasticsearchTaskConfig {\n documentClient?: DynamoDBDocument;\n elasticsearchClient?: Client;\n}\n\nexport interface IElasticsearchIndexingTaskValuesKeys {\n PK: string;\n SK: string;\n}\n\nexport interface IIndexSettingsValues {\n numberOfReplicas: number;\n refreshInterval: string;\n}\n\nexport interface IElasticsearchIndexingTaskValuesSettings {\n [key: string]: IIndexSettingsValues;\n}\n\nexport interface IElasticsearchIndexingTaskValues {\n matching?: string;\n keys?: IElasticsearchIndexingTaskValuesKeys;\n settings?: IElasticsearchIndexingTaskValuesSettings;\n}\n\nexport interface AugmentedError extends Error {\n data?: Record<string, any>;\n [key: string]: any;\n}\n\nexport interface IDynamoDbElasticsearchRecord {\n PK: string;\n SK: string;\n index: string;\n _et?: string;\n entity: string;\n data: Record<string, any>;\n modified: string;\n}\n\nexport interface IManager {\n readonly documentClient: DynamoDBDocument;\n readonly elasticsearch: Client;\n readonly context: Context;\n readonly table: ReturnType<typeof createTable>;\n readonly isCloseToTimeout: () => boolean;\n readonly isAborted: () => boolean;\n readonly response: ITaskResponse;\n readonly store: ITaskManagerStore<IElasticsearchIndexingTaskValues>;\n\n getEntity: (name: string) => Entity<any>;\n\n write: (items: BatchWriteItem[]) => Promise<BatchWriteResult>;\n}\n"],"mappings":""}