@webiny/api-elasticsearch-tasks 0.0.0-unstable.06b2ede40f

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 (144) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +10 -0
  3. package/definitions/entry.d.ts +11 -0
  4. package/definitions/entry.js +43 -0
  5. package/definitions/entry.js.map +1 -0
  6. package/definitions/index.d.ts +2 -0
  7. package/definitions/index.js +29 -0
  8. package/definitions/index.js.map +1 -0
  9. package/definitions/table.d.ts +7 -0
  10. package/definitions/table.js +23 -0
  11. package/definitions/table.js.map +1 -0
  12. package/errors/IndexSettingsGetError.d.ts +6 -0
  13. package/errors/IndexSettingsGetError.js +20 -0
  14. package/errors/IndexSettingsGetError.js.map +1 -0
  15. package/errors/IndexSettingsSetError.d.ts +6 -0
  16. package/errors/IndexSettingsSetError.js +20 -0
  17. package/errors/IndexSettingsSetError.js.map +1 -0
  18. package/errors/IndexingDisableError.d.ts +2 -0
  19. package/errors/IndexingDisableError.js +10 -0
  20. package/errors/IndexingDisableError.js.map +1 -0
  21. package/errors/IndexingEnableError.d.ts +2 -0
  22. package/errors/IndexingEnableError.js +10 -0
  23. package/errors/IndexingEnableError.js.map +1 -0
  24. package/errors/index.d.ts +4 -0
  25. package/errors/index.js +51 -0
  26. package/errors/index.js.map +1 -0
  27. package/helpers/scan.d.ts +10 -0
  28. package/helpers/scan.js +24 -0
  29. package/helpers/scan.js.map +1 -0
  30. package/index.d.ts +5 -0
  31. package/index.js +28 -0
  32. package/index.js.map +1 -0
  33. package/package.json +59 -0
  34. package/settings/DisableIndexing.d.ts +7 -0
  35. package/settings/DisableIndexing.js +27 -0
  36. package/settings/DisableIndexing.js.map +1 -0
  37. package/settings/EnableIndexing.d.ts +7 -0
  38. package/settings/EnableIndexing.js +27 -0
  39. package/settings/EnableIndexing.js.map +1 -0
  40. package/settings/IndexManager.d.ts +20 -0
  41. package/settings/IndexManager.js +100 -0
  42. package/settings/IndexManager.js.map +1 -0
  43. package/settings/IndexSettingsManager.d.ts +8 -0
  44. package/settings/IndexSettingsManager.js +44 -0
  45. package/settings/IndexSettingsManager.js.map +1 -0
  46. package/settings/index.d.ts +1 -0
  47. package/settings/index.js +18 -0
  48. package/settings/index.js.map +1 -0
  49. package/settings/types.d.ts +9 -0
  50. package/settings/types.js +7 -0
  51. package/settings/types.js.map +1 -0
  52. package/tasks/Manager.d.ts +33 -0
  53. package/tasks/Manager.js +51 -0
  54. package/tasks/Manager.js.map +1 -0
  55. package/tasks/createIndexes/CreateElasticsearchIndexTaskPlugin.d.ts +23 -0
  56. package/tasks/createIndexes/CreateElasticsearchIndexTaskPlugin.js +25 -0
  57. package/tasks/createIndexes/CreateElasticsearchIndexTaskPlugin.js.map +1 -0
  58. package/tasks/createIndexes/CreateIndexesTaskRunner.d.ts +10 -0
  59. package/tasks/createIndexes/CreateIndexesTaskRunner.js +77 -0
  60. package/tasks/createIndexes/CreateIndexesTaskRunner.js.map +1 -0
  61. package/tasks/createIndexes/OnBeforeTrigger.d.ts +12 -0
  62. package/tasks/createIndexes/OnBeforeTrigger.js +68 -0
  63. package/tasks/createIndexes/OnBeforeTrigger.js.map +1 -0
  64. package/tasks/createIndexes/createIndex.d.ts +5 -0
  65. package/tasks/createIndexes/createIndex.js +27 -0
  66. package/tasks/createIndexes/createIndex.js.map +1 -0
  67. package/tasks/createIndexes/index.d.ts +3 -0
  68. package/tasks/createIndexes/index.js +68 -0
  69. package/tasks/createIndexes/index.js.map +1 -0
  70. package/tasks/createIndexes/listCreateElasticsearchIndexTaskPlugin.d.ts +4 -0
  71. package/tasks/createIndexes/listCreateElasticsearchIndexTaskPlugin.js +13 -0
  72. package/tasks/createIndexes/listCreateElasticsearchIndexTaskPlugin.js.map +1 -0
  73. package/tasks/createIndexes/listIndexes.d.ts +12 -0
  74. package/tasks/createIndexes/listIndexes.js +53 -0
  75. package/tasks/createIndexes/listIndexes.js.map +1 -0
  76. package/tasks/createIndexes/types.d.ts +4 -0
  77. package/tasks/createIndexes/types.js +7 -0
  78. package/tasks/createIndexes/types.js.map +1 -0
  79. package/tasks/dataSynchronization/DataSynchronizationTaskRunner.d.ts +15 -0
  80. package/tasks/dataSynchronization/DataSynchronizationTaskRunner.js +55 -0
  81. package/tasks/dataSynchronization/DataSynchronizationTaskRunner.js.map +1 -0
  82. package/tasks/dataSynchronization/createFactories.d.ts +2 -0
  83. package/tasks/dataSynchronization/createFactories.js +17 -0
  84. package/tasks/dataSynchronization/createFactories.js.map +1 -0
  85. package/tasks/dataSynchronization/elasticsearch/ElasticsearchFetcher.d.ts +10 -0
  86. package/tasks/dataSynchronization/elasticsearch/ElasticsearchFetcher.js +98 -0
  87. package/tasks/dataSynchronization/elasticsearch/ElasticsearchFetcher.js.map +1 -0
  88. package/tasks/dataSynchronization/elasticsearch/ElasticsearchSynchronize.d.ts +14 -0
  89. package/tasks/dataSynchronization/elasticsearch/ElasticsearchSynchronize.js +76 -0
  90. package/tasks/dataSynchronization/elasticsearch/ElasticsearchSynchronize.js.map +1 -0
  91. package/tasks/dataSynchronization/elasticsearch/ElasticsearchToDynamoDbSynchronization.d.ts +10 -0
  92. package/tasks/dataSynchronization/elasticsearch/ElasticsearchToDynamoDbSynchronization.js +77 -0
  93. package/tasks/dataSynchronization/elasticsearch/ElasticsearchToDynamoDbSynchronization.js.map +1 -0
  94. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchFetcher.d.ts +21 -0
  95. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchFetcher.js +7 -0
  96. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchFetcher.js.map +1 -0
  97. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchSynchronize.d.ts +17 -0
  98. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchSynchronize.js +7 -0
  99. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchSynchronize.js.map +1 -0
  100. package/tasks/dataSynchronization/elasticsearch/shouldIgnoreEsResponseError.d.ts +2 -0
  101. package/tasks/dataSynchronization/elasticsearch/shouldIgnoreEsResponseError.js +13 -0
  102. package/tasks/dataSynchronization/elasticsearch/shouldIgnoreEsResponseError.js.map +1 -0
  103. package/tasks/dataSynchronization/entities/getElasticsearchEntity.d.ts +713 -0
  104. package/tasks/dataSynchronization/entities/getElasticsearchEntity.js +46 -0
  105. package/tasks/dataSynchronization/entities/getElasticsearchEntity.js.map +1 -0
  106. package/tasks/dataSynchronization/entities/getElasticsearchEntityType.d.ts +11 -0
  107. package/tasks/dataSynchronization/entities/getElasticsearchEntityType.js +29 -0
  108. package/tasks/dataSynchronization/entities/getElasticsearchEntityType.js.map +1 -0
  109. package/tasks/dataSynchronization/entities/getTable.d.ts +7 -0
  110. package/tasks/dataSynchronization/entities/getTable.js +29 -0
  111. package/tasks/dataSynchronization/entities/getTable.js.map +1 -0
  112. package/tasks/dataSynchronization/entities/index.d.ts +3 -0
  113. package/tasks/dataSynchronization/entities/index.js +40 -0
  114. package/tasks/dataSynchronization/entities/index.js.map +1 -0
  115. package/tasks/dataSynchronization/index.d.ts +4 -0
  116. package/tasks/dataSynchronization/index.js +80 -0
  117. package/tasks/dataSynchronization/index.js.map +1 -0
  118. package/tasks/dataSynchronization/types.d.ts +38 -0
  119. package/tasks/dataSynchronization/types.js +7 -0
  120. package/tasks/dataSynchronization/types.js.map +1 -0
  121. package/tasks/enableIndexing/EnableIndexingTaskRunner.d.ts +11 -0
  122. package/tasks/enableIndexing/EnableIndexingTaskRunner.js +49 -0
  123. package/tasks/enableIndexing/EnableIndexingTaskRunner.js.map +1 -0
  124. package/tasks/enableIndexing/index.d.ts +3 -0
  125. package/tasks/enableIndexing/index.js +51 -0
  126. package/tasks/enableIndexing/index.js.map +1 -0
  127. package/tasks/enableIndexing/types.d.ts +5 -0
  128. package/tasks/enableIndexing/types.js +7 -0
  129. package/tasks/enableIndexing/types.js.map +1 -0
  130. package/tasks/index.d.ts +4 -0
  131. package/tasks/index.js +51 -0
  132. package/tasks/index.js.map +1 -0
  133. package/tasks/reindexing/ReindexingTaskRunner.d.ts +16 -0
  134. package/tasks/reindexing/ReindexingTaskRunner.js +137 -0
  135. package/tasks/reindexing/ReindexingTaskRunner.js.map +1 -0
  136. package/tasks/reindexing/index.d.ts +1 -0
  137. package/tasks/reindexing/index.js +18 -0
  138. package/tasks/reindexing/index.js.map +1 -0
  139. package/tasks/reindexing/reindexingTaskDefinition.d.ts +2 -0
  140. package/tasks/reindexing/reindexingTaskDefinition.js +49 -0
  141. package/tasks/reindexing/reindexingTaskDefinition.js.map +1 -0
  142. package/types.d.ts +59 -0
  143. package/types.js +7 -0
  144. package/types.js.map +1 -0
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.IndexManager = void 0;
7
+ var _IndexSettingsManager = require("./IndexSettingsManager");
8
+ var _DisableIndexing = require("./DisableIndexing");
9
+ var _EnableIndexing = require("./EnableIndexing");
10
+ var _utils = require("@webiny/utils");
11
+ const defaultIndexSettings = {
12
+ numberOfReplicas: 1,
13
+ refreshInterval: "1s"
14
+ };
15
+ const indexPrefix = process.env.ELASTIC_SEARCH_INDEX_PREFIX || "";
16
+ const filterIndex = item => {
17
+ if (!item) {
18
+ return false;
19
+ } else if (item.startsWith(".")) {
20
+ return false;
21
+ } else if (indexPrefix) {
22
+ return item.startsWith(indexPrefix);
23
+ }
24
+ return true;
25
+ };
26
+ class IndexManager {
27
+ get settings() {
28
+ return this._settings;
29
+ }
30
+ constructor(client, settings, defaults) {
31
+ const indexSettings = new _IndexSettingsManager.IndexSettingsManager(client);
32
+ this.client = client;
33
+ this.disable = new _DisableIndexing.DisableIndexing(indexSettings);
34
+ this.enable = new _EnableIndexing.EnableIndexing(indexSettings);
35
+ this._settings = settings;
36
+ this.defaults = {
37
+ refreshInterval: defaults?.refreshInterval || defaultIndexSettings.refreshInterval,
38
+ numberOfReplicas: defaults?.numberOfReplicas || defaultIndexSettings.numberOfReplicas
39
+ };
40
+ }
41
+ async list() {
42
+ try {
43
+ const response = await this.client.cat.indices({
44
+ format: "json"
45
+ });
46
+ if (!Array.isArray(response.body)) {
47
+ return [];
48
+ }
49
+ return response.body.map(item => item.index).filter(filterIndex);
50
+ } catch (ex) {
51
+ console.error(JSON.stringify({
52
+ message: "Failed to list indices.",
53
+ error: (0, _utils.getObjectProperties)(ex)
54
+ }));
55
+ return [];
56
+ }
57
+ }
58
+ async disableIndexing(index) {
59
+ /**
60
+ * No need to disable indexing if it's already disabled.
61
+ */
62
+ if (this._settings[index]) {
63
+ return this._settings[index];
64
+ }
65
+ const settings = await this.disable.exec(index);
66
+ this._settings[index] = settings;
67
+ return settings;
68
+ }
69
+ async enableIndexing(index) {
70
+ if (!index) {
71
+ const indexes = Object.keys(this._settings);
72
+ for (const index of indexes) {
73
+ await this.enableIndexing(index);
74
+ }
75
+ return;
76
+ }
77
+ const settings = this._settings[index] || this.defaults;
78
+ await this.enable.exec(index, settings);
79
+ }
80
+ async createIndex(index, settings) {
81
+ await this.client.indices.create({
82
+ index,
83
+ body: settings
84
+ });
85
+ }
86
+ async indexExists(index) {
87
+ const response = await this.client.indices.exists({
88
+ index,
89
+ ignore_unavailable: false,
90
+ allow_no_indices: true,
91
+ include_defaults: true,
92
+ flat_settings: false,
93
+ local: false
94
+ });
95
+ return !!response.body;
96
+ }
97
+ }
98
+ exports.IndexManager = IndexManager;
99
+
100
+ //# sourceMappingURL=IndexManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_IndexSettingsManager","require","_DisableIndexing","_EnableIndexing","_utils","defaultIndexSettings","numberOfReplicas","refreshInterval","indexPrefix","process","env","ELASTIC_SEARCH_INDEX_PREFIX","filterIndex","item","startsWith","IndexManager","settings","_settings","constructor","client","defaults","indexSettings","IndexSettingsManager","disable","DisableIndexing","enable","EnableIndexing","list","response","cat","indices","format","Array","isArray","body","map","index","filter","ex","console","error","JSON","stringify","message","getObjectProperties","disableIndexing","exec","enableIndexing","indexes","Object","keys","createIndex","create","indexExists","exists","ignore_unavailable","allow_no_indices","include_defaults","flat_settings","local","exports"],"sources":["IndexManager.ts"],"sourcesContent":["import { IndexSettingsManager } from \"~/settings/IndexSettingsManager\";\nimport { DisableIndexing } from \"./DisableIndexing\";\nimport { EnableIndexing } from \"./EnableIndexing\";\nimport type { IElasticsearchIndexingTaskValuesSettings, IIndexSettingsValues } from \"~/types\";\nimport type { IIndexManager } from \"~/settings/types\";\nimport type { Client } from \"@webiny/api-elasticsearch\";\nimport { getObjectProperties } from \"@webiny/utils\";\n\nconst defaultIndexSettings: IIndexSettingsValues = {\n numberOfReplicas: 1,\n refreshInterval: \"1s\"\n};\n\nexport interface IListIndicesResponse {\n index: string;\n}\n\nconst indexPrefix = process.env.ELASTIC_SEARCH_INDEX_PREFIX || \"\";\nconst filterIndex = (item?: string) => {\n if (!item) {\n return false;\n } else if (item.startsWith(\".\")) {\n return false;\n } else if (indexPrefix) {\n return item.startsWith(indexPrefix);\n }\n return true;\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<IListIndicesResponse[]>({\n format: \"json\"\n });\n if (!Array.isArray(response.body)) {\n return [];\n }\n return response.body.map(item => item.index).filter(filterIndex);\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 public async createIndex(index: string, settings?: Record<string, any>): Promise<void> {\n await this.client.indices.create({\n index,\n body: settings\n });\n }\n\n public async indexExists(index: string): Promise<boolean> {\n const response = await this.client.indices.exists({\n index,\n ignore_unavailable: false,\n allow_no_indices: true,\n include_defaults: true,\n flat_settings: false,\n local: false\n });\n return !!response.body;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { Client } from "@webiny/api-elasticsearch";
2
+ import type { IIndexSettingsValues } from "../types";
3
+ export declare class IndexSettingsManager {
4
+ private readonly elasticsearch;
5
+ constructor(elasticsearch: Client);
6
+ getSettings(index: string): Promise<IIndexSettingsValues>;
7
+ setSettings(index: string, settings: IIndexSettingsValues): Promise<void>;
8
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.IndexSettingsManager = void 0;
7
+ var _errors = require("../errors");
8
+ class IndexSettingsManager {
9
+ constructor(elasticsearch) {
10
+ this.elasticsearch = elasticsearch;
11
+ }
12
+ async getSettings(index) {
13
+ try {
14
+ const response = await this.elasticsearch.indices.getSettings({
15
+ index
16
+ });
17
+ const setting = response.body[index].settings.index;
18
+ return {
19
+ numberOfReplicas: setting.number_of_replicas,
20
+ refreshInterval: setting.refresh_interval
21
+ };
22
+ } catch (ex) {
23
+ throw new _errors.IndexSettingsGetError(ex, index);
24
+ }
25
+ }
26
+ async setSettings(index, settings) {
27
+ try {
28
+ await this.elasticsearch.indices.putSettings({
29
+ index,
30
+ body: {
31
+ index: {
32
+ number_of_replicas: settings.numberOfReplicas,
33
+ refresh_interval: settings.refreshInterval
34
+ }
35
+ }
36
+ });
37
+ } catch (ex) {
38
+ throw new _errors.IndexSettingsSetError(ex, index);
39
+ }
40
+ }
41
+ }
42
+ exports.IndexSettingsManager = IndexSettingsManager;
43
+
44
+ //# sourceMappingURL=IndexSettingsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_errors","require","IndexSettingsManager","constructor","elasticsearch","getSettings","index","response","indices","setting","body","settings","numberOfReplicas","number_of_replicas","refreshInterval","refresh_interval","ex","IndexSettingsGetError","setSettings","putSettings","IndexSettingsSetError","exports"],"sources":["IndexSettingsManager.ts"],"sourcesContent":["import type { Client } from \"@webiny/api-elasticsearch\";\nimport { IndexSettingsGetError, IndexSettingsSetError } from \"~/errors\";\nimport type { IIndexSettingsValues } from \"~/types\";\n\nexport class IndexSettingsManager {\n private readonly elasticsearch: Client;\n\n public constructor(elasticsearch: Client) {\n this.elasticsearch = elasticsearch;\n }\n\n public async getSettings(index: string): Promise<IIndexSettingsValues> {\n try {\n const response = await this.elasticsearch.indices.getSettings({\n index\n });\n\n const setting = response.body[index].settings.index;\n\n return {\n numberOfReplicas: setting.number_of_replicas,\n refreshInterval: setting.refresh_interval\n };\n } catch (ex) {\n throw new IndexSettingsGetError(ex, index);\n }\n }\n\n public async setSettings(index: string, settings: IIndexSettingsValues): Promise<void> {\n try {\n await this.elasticsearch.indices.putSettings({\n index,\n body: {\n index: {\n number_of_replicas: settings.numberOfReplicas,\n refresh_interval: settings.refreshInterval\n }\n }\n });\n } catch (ex) {\n throw new IndexSettingsSetError(ex, index);\n }\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAGO,MAAMC,oBAAoB,CAAC;EAGvBC,WAAWA,CAACC,aAAqB,EAAE;IACtC,IAAI,CAACA,aAAa,GAAGA,aAAa;EACtC;EAEA,MAAaC,WAAWA,CAACC,KAAa,EAAiC;IACnE,IAAI;MACA,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACH,aAAa,CAACI,OAAO,CAACH,WAAW,CAAC;QAC1DC;MACJ,CAAC,CAAC;MAEF,MAAMG,OAAO,GAAGF,QAAQ,CAACG,IAAI,CAACJ,KAAK,CAAC,CAACK,QAAQ,CAACL,KAAK;MAEnD,OAAO;QACHM,gBAAgB,EAAEH,OAAO,CAACI,kBAAkB;QAC5CC,eAAe,EAAEL,OAAO,CAACM;MAC7B,CAAC;IACL,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,MAAM,IAAIC,6BAAqB,CAACD,EAAE,EAAEV,KAAK,CAAC;IAC9C;EACJ;EAEA,MAAaY,WAAWA,CAACZ,KAAa,EAAEK,QAA8B,EAAiB;IACnF,IAAI;MACA,MAAM,IAAI,CAACP,aAAa,CAACI,OAAO,CAACW,WAAW,CAAC;QACzCb,KAAK;QACLI,IAAI,EAAE;UACFJ,KAAK,EAAE;YACHO,kBAAkB,EAAEF,QAAQ,CAACC,gBAAgB;YAC7CG,gBAAgB,EAAEJ,QAAQ,CAACG;UAC/B;QACJ;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,OAAOE,EAAE,EAAE;MACT,MAAM,IAAII,6BAAqB,CAACJ,EAAE,EAAEV,KAAK,CAAC;IAC9C;EACJ;AACJ;AAACe,OAAA,CAAAnB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export * from "./IndexManager";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _IndexManager = require("./IndexManager");
7
+ Object.keys(_IndexManager).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _IndexManager[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _IndexManager[key];
14
+ }
15
+ });
16
+ });
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_IndexManager","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./IndexManager\";\n"],"mappings":";;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { IElasticsearchIndexingTaskValuesSettings, IIndexSettingsValues } from "../types";
2
+ export interface IIndexManager {
3
+ settings: IElasticsearchIndexingTaskValuesSettings;
4
+ list(): Promise<string[]>;
5
+ disableIndexing(index: string): Promise<IIndexSettingsValues>;
6
+ enableIndexing(index?: string): Promise<void>;
7
+ createIndex(index: string, settings?: Record<string, any>): Promise<void>;
8
+ indexExists(index: string): Promise<boolean>;
9
+ }
@@ -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":["import type { 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 createIndex(index: string, settings?: Record<string, any>): Promise<void>;\n indexExists(index: string): Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ import type { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb";
2
+ import type { Client } from "@webiny/api-elasticsearch";
3
+ import { createTable } from "../definitions";
4
+ import type { Context, IManager } from "../types";
5
+ import type { ITaskResponse } from "@webiny/tasks/response/abstractions";
6
+ import type { IIsCloseToTimeoutCallable, ITaskManagerStore } from "@webiny/tasks/runner/abstractions";
7
+ import type { BatchReadItem, IEntity } from "@webiny/db-dynamodb";
8
+ import type { ITimer } from "@webiny/handler-aws/utils";
9
+ export interface ManagerParams<T> {
10
+ context: Context;
11
+ documentClient?: DynamoDBDocument;
12
+ elasticsearchClient?: Client;
13
+ isCloseToTimeout: IIsCloseToTimeoutCallable;
14
+ isAborted: () => boolean;
15
+ response: ITaskResponse;
16
+ store: ITaskManagerStore<T>;
17
+ timer: ITimer;
18
+ }
19
+ export declare class Manager<T> implements IManager<T> {
20
+ readonly documentClient: DynamoDBDocument;
21
+ readonly elasticsearch: Client;
22
+ readonly context: Context;
23
+ readonly table: ReturnType<typeof createTable>;
24
+ readonly isCloseToTimeout: IIsCloseToTimeoutCallable;
25
+ readonly isAborted: () => boolean;
26
+ readonly response: ITaskResponse;
27
+ readonly store: ITaskManagerStore<T>;
28
+ readonly timer: ITimer;
29
+ private readonly entities;
30
+ constructor(params: ManagerParams<T>);
31
+ getEntity(name: string): IEntity;
32
+ read<T>(items: BatchReadItem[]): Promise<T[]>;
33
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Manager = void 0;
7
+ var _clientDynamodb = require("@webiny/aws-sdk/client-dynamodb");
8
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
9
+ var _definitions = require("../definitions");
10
+ var _entry = require("../definitions/entry");
11
+ var _dbDynamodb = require("@webiny/db-dynamodb");
12
+ class Manager {
13
+ entities = {};
14
+ constructor(params) {
15
+ this.context = params.context;
16
+ this.documentClient = params?.documentClient || (0, _clientDynamodb.getDocumentClient)();
17
+ this.elasticsearch = params?.elasticsearchClient || params.context.elasticsearch || (0, _apiElasticsearch.createElasticsearchClient)({
18
+ endpoint: `https://${process.env.ELASTIC_SEARCH_ENDPOINT}`
19
+ });
20
+ this.table = (0, _definitions.createTable)({
21
+ documentClient: this.documentClient
22
+ });
23
+ this.isCloseToTimeout = () => {
24
+ return params.isCloseToTimeout();
25
+ };
26
+ this.isAborted = () => {
27
+ return params.isAborted();
28
+ };
29
+ this.response = params.response;
30
+ this.store = params.store;
31
+ this.timer = params.timer;
32
+ }
33
+ getEntity(name) {
34
+ if (this.entities[name]) {
35
+ return this.entities[name];
36
+ }
37
+ return this.entities[name] = (0, _entry.createEntry)({
38
+ table: this.table,
39
+ entityName: name
40
+ });
41
+ }
42
+ async read(items) {
43
+ return await (0, _dbDynamodb.batchReadAll)({
44
+ table: this.table,
45
+ items
46
+ });
47
+ }
48
+ }
49
+ exports.Manager = Manager;
50
+
51
+ //# sourceMappingURL=Manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_clientDynamodb","require","_apiElasticsearch","_definitions","_entry","_dbDynamodb","Manager","entities","constructor","params","context","documentClient","getDocumentClient","elasticsearch","elasticsearchClient","createElasticsearchClient","endpoint","process","env","ELASTIC_SEARCH_ENDPOINT","table","createTable","isCloseToTimeout","isAborted","response","store","timer","getEntity","name","createEntry","entityName","read","items","batchReadAll","exports"],"sources":["Manager.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { getDocumentClient } from \"@webiny/aws-sdk/client-dynamodb\";\nimport type { Client } from \"@webiny/api-elasticsearch\";\nimport { createElasticsearchClient } from \"@webiny/api-elasticsearch\";\nimport { createTable } from \"~/definitions\";\nimport type { Context, IManager } from \"~/types\";\nimport { createEntry } from \"~/definitions/entry\";\nimport type { ITaskResponse } from \"@webiny/tasks/response/abstractions\";\nimport type {\n IIsCloseToTimeoutCallable,\n ITaskManagerStore\n} from \"@webiny/tasks/runner/abstractions\";\nimport type { BatchReadItem, IEntity } from \"@webiny/db-dynamodb\";\nimport { batchReadAll } from \"@webiny/db-dynamodb\";\nimport type { ITimer } from \"@webiny/handler-aws/utils\";\n\nexport interface ManagerParams<T> {\n context: Context;\n documentClient?: DynamoDBDocument;\n elasticsearchClient?: Client;\n isCloseToTimeout: IIsCloseToTimeoutCallable;\n isAborted: () => boolean;\n response: ITaskResponse;\n store: ITaskManagerStore<T>;\n timer: ITimer;\n}\n\nexport class Manager<T> implements IManager<T> {\n public readonly documentClient: DynamoDBDocument;\n public readonly elasticsearch: Client;\n public readonly context: Context;\n public readonly table: ReturnType<typeof createTable>;\n public readonly isCloseToTimeout: IIsCloseToTimeoutCallable;\n public readonly isAborted: () => boolean;\n public readonly response: ITaskResponse;\n public readonly store: ITaskManagerStore<T>;\n public readonly timer: ITimer;\n\n private readonly entities: Record<string, IEntity> = {};\n\n public constructor(params: ManagerParams<T>) {\n this.context = params.context;\n this.documentClient = params?.documentClient || getDocumentClient();\n\n this.elasticsearch =\n params?.elasticsearchClient ||\n params.context.elasticsearch ||\n createElasticsearchClient({\n endpoint: `https://${process.env.ELASTIC_SEARCH_ENDPOINT}`\n });\n\n this.table = createTable({\n documentClient: this.documentClient\n });\n this.isCloseToTimeout = () => {\n return params.isCloseToTimeout();\n };\n this.isAborted = () => {\n return params.isAborted();\n };\n this.response = params.response;\n this.store = params.store;\n this.timer = params.timer;\n }\n\n public getEntity(name: string): IEntity {\n if (this.entities[name]) {\n return this.entities[name];\n }\n\n return (this.entities[name] = createEntry({\n table: this.table,\n entityName: name\n }));\n }\n\n public async read<T>(items: BatchReadItem[]): Promise<T[]> {\n return await batchReadAll<T>({\n table: this.table,\n items\n });\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,eAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAOA,IAAAI,WAAA,GAAAJ,OAAA;AAcO,MAAMK,OAAO,CAA2B;EAW1BC,QAAQ,GAA4B,CAAC,CAAC;EAEhDC,WAAWA,CAACC,MAAwB,EAAE;IACzC,IAAI,CAACC,OAAO,GAAGD,MAAM,CAACC,OAAO;IAC7B,IAAI,CAACC,cAAc,GAAGF,MAAM,EAAEE,cAAc,IAAI,IAAAC,iCAAiB,EAAC,CAAC;IAEnE,IAAI,CAACC,aAAa,GACdJ,MAAM,EAAEK,mBAAmB,IAC3BL,MAAM,CAACC,OAAO,CAACG,aAAa,IAC5B,IAAAE,2CAAyB,EAAC;MACtBC,QAAQ,EAAE,WAAWC,OAAO,CAACC,GAAG,CAACC,uBAAuB;IAC5D,CAAC,CAAC;IAEN,IAAI,CAACC,KAAK,GAAG,IAAAC,wBAAW,EAAC;MACrBV,cAAc,EAAE,IAAI,CAACA;IACzB,CAAC,CAAC;IACF,IAAI,CAACW,gBAAgB,GAAG,MAAM;MAC1B,OAAOb,MAAM,CAACa,gBAAgB,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAACC,SAAS,GAAG,MAAM;MACnB,OAAOd,MAAM,CAACc,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,CAACC,QAAQ,GAAGf,MAAM,CAACe,QAAQ;IAC/B,IAAI,CAACC,KAAK,GAAGhB,MAAM,CAACgB,KAAK;IACzB,IAAI,CAACC,KAAK,GAAGjB,MAAM,CAACiB,KAAK;EAC7B;EAEOC,SAASA,CAACC,IAAY,EAAW;IACpC,IAAI,IAAI,CAACrB,QAAQ,CAACqB,IAAI,CAAC,EAAE;MACrB,OAAO,IAAI,CAACrB,QAAQ,CAACqB,IAAI,CAAC;IAC9B;IAEA,OAAQ,IAAI,CAACrB,QAAQ,CAACqB,IAAI,CAAC,GAAG,IAAAC,kBAAW,EAAC;MACtCT,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBU,UAAU,EAAEF;IAChB,CAAC,CAAC;EACN;EAEA,MAAaG,IAAIA,CAAIC,KAAsB,EAAgB;IACvD,OAAO,MAAM,IAAAC,wBAAY,EAAI;MACzBb,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBY;IACJ,CAAC,CAAC;EACN;AACJ;AAACE,OAAA,CAAA5B,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ import { Plugin } from "@webiny/plugins";
2
+ import type { Context } from "@webiny/api/types";
3
+ import type { ElasticsearchIndexRequestBody } from "@webiny/api-elasticsearch/types";
4
+ export interface CreateElasticsearchIndexTaskPluginIndex {
5
+ index: string;
6
+ settings?: Partial<ElasticsearchIndexRequestBody>;
7
+ }
8
+ export interface CreateElasticsearchIndexTaskPluginConfigParams<C extends Context> {
9
+ context: C;
10
+ tenant: string;
11
+ locale: string;
12
+ }
13
+ export interface CreateElasticsearchIndexTaskPluginConfig<C extends Context> {
14
+ name?: string;
15
+ getIndexList(params: CreateElasticsearchIndexTaskPluginConfigParams<C>): Promise<CreateElasticsearchIndexTaskPluginIndex[]>;
16
+ }
17
+ export declare class CreateElasticsearchIndexTaskPlugin<C extends Context> extends Plugin {
18
+ static readonly type: string;
19
+ private readonly config;
20
+ constructor(config: CreateElasticsearchIndexTaskPluginConfig<C>);
21
+ getIndexList(params: CreateElasticsearchIndexTaskPluginConfigParams<C>): Promise<CreateElasticsearchIndexTaskPluginIndex[]>;
22
+ }
23
+ export declare const createElasticsearchIndexTaskPlugin: <C extends Context>(config: CreateElasticsearchIndexTaskPluginConfig<C>) => CreateElasticsearchIndexTaskPlugin<C>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createElasticsearchIndexTaskPlugin = exports.CreateElasticsearchIndexTaskPlugin = void 0;
7
+ var _plugins = require("@webiny/plugins");
8
+ class CreateElasticsearchIndexTaskPlugin extends _plugins.Plugin {
9
+ static type = "elasticsearch.createElasticsearchIndexTaskPlugin";
10
+ constructor(config) {
11
+ super();
12
+ this.name = config.name;
13
+ this.config = config;
14
+ }
15
+ getIndexList(params) {
16
+ return this.config.getIndexList(params);
17
+ }
18
+ }
19
+ exports.CreateElasticsearchIndexTaskPlugin = CreateElasticsearchIndexTaskPlugin;
20
+ const createElasticsearchIndexTaskPlugin = config => {
21
+ return new CreateElasticsearchIndexTaskPlugin(config);
22
+ };
23
+ exports.createElasticsearchIndexTaskPlugin = createElasticsearchIndexTaskPlugin;
24
+
25
+ //# sourceMappingURL=CreateElasticsearchIndexTaskPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_plugins","require","CreateElasticsearchIndexTaskPlugin","Plugin","type","constructor","config","name","getIndexList","params","exports","createElasticsearchIndexTaskPlugin"],"sources":["CreateElasticsearchIndexTaskPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport type { Context } from \"@webiny/api/types\";\nimport type { ElasticsearchIndexRequestBody } from \"@webiny/api-elasticsearch/types\";\n\nexport interface CreateElasticsearchIndexTaskPluginIndex {\n index: string;\n settings?: Partial<ElasticsearchIndexRequestBody>;\n}\n\nexport interface CreateElasticsearchIndexTaskPluginConfigParams<C extends Context> {\n context: C;\n tenant: string;\n locale: string;\n}\n\nexport interface CreateElasticsearchIndexTaskPluginConfig<C extends Context> {\n name?: string;\n getIndexList(\n params: CreateElasticsearchIndexTaskPluginConfigParams<C>\n ): Promise<CreateElasticsearchIndexTaskPluginIndex[]>;\n}\n\nexport class CreateElasticsearchIndexTaskPlugin<C extends Context> extends Plugin {\n public static override readonly type: string =\n \"elasticsearch.createElasticsearchIndexTaskPlugin\";\n\n private readonly config: CreateElasticsearchIndexTaskPluginConfig<C>;\n\n public constructor(config: CreateElasticsearchIndexTaskPluginConfig<C>) {\n super();\n this.name = config.name;\n this.config = config;\n }\n\n public getIndexList(\n params: CreateElasticsearchIndexTaskPluginConfigParams<C>\n ): Promise<CreateElasticsearchIndexTaskPluginIndex[]> {\n return this.config.getIndexList(params);\n }\n}\n\nexport const createElasticsearchIndexTaskPlugin = <C extends Context>(\n config: CreateElasticsearchIndexTaskPluginConfig<C>\n) => {\n return new CreateElasticsearchIndexTaskPlugin<C>(config);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAsBO,MAAMC,kCAAkC,SAA4BC,eAAM,CAAC;EAC9E,OAAgCC,IAAI,GAChC,kDAAkD;EAI/CC,WAAWA,CAACC,MAAmD,EAAE;IACpE,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,IAAI,GAAGD,MAAM,CAACC,IAAI;IACvB,IAAI,CAACD,MAAM,GAAGA,MAAM;EACxB;EAEOE,YAAYA,CACfC,MAAyD,EACP;IAClD,OAAO,IAAI,CAACH,MAAM,CAACE,YAAY,CAACC,MAAM,CAAC;EAC3C;AACJ;AAACC,OAAA,CAAAR,kCAAA,GAAAA,kCAAA;AAEM,MAAMS,kCAAkC,GAC3CL,MAAmD,IAClD;EACD,OAAO,IAAIJ,kCAAkC,CAAII,MAAM,CAAC;AAC5D,CAAC;AAACI,OAAA,CAAAC,kCAAA,GAAAA,kCAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { Manager } from "../Manager";
2
+ import type { IndexManager } from "../../settings";
3
+ import type { ITaskResponseResult } from "@webiny/tasks";
4
+ import type { IElasticsearchCreateIndexesTaskInput } from "./types";
5
+ export declare class CreateIndexesTaskRunner {
6
+ private readonly manager;
7
+ private readonly indexManager;
8
+ constructor(manager: Manager<IElasticsearchCreateIndexesTaskInput>, indexManager: IndexManager);
9
+ execute(matching: string | undefined, done: string[]): Promise<ITaskResponseResult>;
10
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CreateIndexesTaskRunner = void 0;
7
+ var _listIndexes = require("./listIndexes");
8
+ var _createIndex = require("./createIndex");
9
+ var _listCreateElasticsearchIndexTaskPlugin = require("./listCreateElasticsearchIndexTaskPlugin");
10
+ class CreateIndexesTaskRunner {
11
+ constructor(manager, indexManager) {
12
+ this.manager = manager;
13
+ this.indexManager = indexManager;
14
+ }
15
+ async execute(matching, done) {
16
+ const plugins = (0, _listCreateElasticsearchIndexTaskPlugin.listCreateElasticsearchIndexTaskPlugin)(this.manager.context.plugins);
17
+ if (plugins.length === 0) {
18
+ return this.manager.response.done("No index plugins found.");
19
+ }
20
+ const indexes = await (0, _listIndexes.listIndexes)({
21
+ context: this.manager.context,
22
+ plugins
23
+ });
24
+ if (indexes.length === 0) {
25
+ return this.manager.response.done("No indexes found.");
26
+ }
27
+ const isIndexAllowed = index => {
28
+ if (typeof matching !== "string" || !matching) {
29
+ return true;
30
+ }
31
+ return index.includes(matching);
32
+ };
33
+ const createIndex = (0, _createIndex.createIndexFactory)(this.indexManager);
34
+ for (const {
35
+ index,
36
+ settings
37
+ } of indexes) {
38
+ if (this.manager.isAborted()) {
39
+ return this.manager.response.aborted();
40
+ } else if (this.manager.isCloseToTimeout()) {
41
+ return this.manager.response.continue({
42
+ done
43
+ });
44
+ }
45
+ try {
46
+ if (done.includes(index)) {
47
+ continue;
48
+ } else if (isIndexAllowed(index) === false) {
49
+ continue;
50
+ }
51
+ const exists = await this.indexManager.indexExists(index);
52
+ if (exists) {
53
+ continue;
54
+ }
55
+ done.push(index);
56
+ await createIndex.create(index, settings);
57
+ await this.manager.store.addInfoLog({
58
+ message: `Index "${index}" created.`,
59
+ data: {
60
+ index
61
+ }
62
+ });
63
+ } catch (ex) {
64
+ await this.manager.store.addErrorLog({
65
+ message: `Failed to create index "${index}".`,
66
+ error: ex
67
+ });
68
+ }
69
+ }
70
+ return this.manager.response.done("Indexes created.", {
71
+ done
72
+ });
73
+ }
74
+ }
75
+ exports.CreateIndexesTaskRunner = CreateIndexesTaskRunner;
76
+
77
+ //# sourceMappingURL=CreateIndexesTaskRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_listIndexes","require","_createIndex","_listCreateElasticsearchIndexTaskPlugin","CreateIndexesTaskRunner","constructor","manager","indexManager","execute","matching","done","plugins","listCreateElasticsearchIndexTaskPlugin","context","length","response","indexes","listIndexes","isIndexAllowed","index","includes","createIndex","createIndexFactory","settings","isAborted","aborted","isCloseToTimeout","continue","exists","indexExists","push","create","store","addInfoLog","message","data","ex","addErrorLog","error","exports"],"sources":["CreateIndexesTaskRunner.ts"],"sourcesContent":["import type { Manager } from \"~/tasks/Manager\";\nimport type { IndexManager } from \"~/settings\";\nimport type { ITaskResponseResult } from \"@webiny/tasks\";\nimport type { IElasticsearchCreateIndexesTaskInput } from \"./types\";\nimport { listIndexes } from \"./listIndexes\";\nimport { createIndexFactory } from \"./createIndex\";\nimport type { Context } from \"~/types\";\nimport { listCreateElasticsearchIndexTaskPlugin } from \"./listCreateElasticsearchIndexTaskPlugin\";\n\nexport class CreateIndexesTaskRunner {\n private readonly manager: Manager<IElasticsearchCreateIndexesTaskInput>;\n private readonly indexManager: IndexManager;\n\n public constructor(\n manager: Manager<IElasticsearchCreateIndexesTaskInput>,\n indexManager: IndexManager\n ) {\n this.manager = manager;\n\n this.indexManager = indexManager;\n }\n\n public async execute(\n matching: string | undefined,\n done: string[]\n ): Promise<ITaskResponseResult> {\n const plugins = listCreateElasticsearchIndexTaskPlugin<Context>(\n this.manager.context.plugins\n );\n if (plugins.length === 0) {\n return this.manager.response.done(\"No index plugins found.\");\n }\n\n const indexes = await listIndexes({\n context: this.manager.context,\n plugins\n });\n\n if (indexes.length === 0) {\n return this.manager.response.done(\"No indexes found.\");\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 createIndex = createIndexFactory(this.indexManager);\n\n for (const { index, settings } of indexes) {\n if (this.manager.isAborted()) {\n return this.manager.response.aborted();\n } else if (this.manager.isCloseToTimeout()) {\n return this.manager.response.continue({\n done\n });\n }\n try {\n if (done.includes(index)) {\n continue;\n } else if (isIndexAllowed(index) === false) {\n continue;\n }\n const exists = await this.indexManager.indexExists(index);\n if (exists) {\n continue;\n }\n done.push(index);\n await createIndex.create(index, settings);\n await this.manager.store.addInfoLog({\n message: `Index \"${index}\" created.`,\n data: {\n index\n }\n });\n } catch (ex) {\n await this.manager.store.addErrorLog({\n message: `Failed to create index \"${index}\".`,\n error: ex\n });\n }\n }\n\n return this.manager.response.done(\"Indexes created.\", {\n done\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import type { Context } from "../../types";
2
+ import type { IndexManager } from "../../settings";
3
+ export interface IOnBeforeTriggerParams {
4
+ indexManager: IndexManager;
5
+ context: Context;
6
+ }
7
+ export declare class OnBeforeTrigger {
8
+ private readonly context;
9
+ private readonly indexManager;
10
+ constructor(params: IOnBeforeTriggerParams);
11
+ run(targets: string[] | undefined): Promise<void>;
12
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OnBeforeTrigger = void 0;
7
+ var _listIndexes = require("./listIndexes");
8
+ var _createIndex = require("./createIndex");
9
+ var _listCreateElasticsearchIndexTaskPlugin = require("./listCreateElasticsearchIndexTaskPlugin");
10
+ class OnBeforeTrigger {
11
+ constructor(params) {
12
+ this.context = params.context;
13
+ this.indexManager = params.indexManager;
14
+ }
15
+ async run(targets) {
16
+ const plugins = (0, _listCreateElasticsearchIndexTaskPlugin.listCreateElasticsearchIndexTaskPlugin)(this.context.plugins);
17
+ const tenant = this.context.tenancy.getCurrentTenant();
18
+ if (!tenant?.id) {
19
+ throw new Error("Something went wrong, tenant not found when triggering a task.");
20
+ }
21
+ const locale = this.context.i18n.getContentLocale();
22
+ if (!locale) {
23
+ throw new Error("Something went wrong, locale not found when triggering a task.");
24
+ }
25
+ try {
26
+ const allIndexes = await (0, _listIndexes.listIndexes)({
27
+ context: this.context,
28
+ plugins,
29
+ tenants: [tenant],
30
+ locales: [locale]
31
+ });
32
+ const indexes = allIndexes.filter(index => {
33
+ if (!targets?.length) {
34
+ return true;
35
+ }
36
+ for (const t of targets) {
37
+ if (index.index.includes(t)) {
38
+ return true;
39
+ }
40
+ }
41
+ return false;
42
+ });
43
+ if (indexes.length === 0) {
44
+ console.warn("There are no indexes to create before triggering the Create indexes task.", {
45
+ targets
46
+ });
47
+ return;
48
+ }
49
+ const createIndex = (0, _createIndex.createIndexFactory)(this.indexManager);
50
+ for (const {
51
+ index,
52
+ settings
53
+ } of indexes) {
54
+ try {
55
+ console.log("Creating index", index);
56
+ await createIndex.createIfNotExists(index, settings);
57
+ } catch (ex) {
58
+ console.error(`Failed to create index "${index}".`, ex);
59
+ }
60
+ }
61
+ } catch (ex) {
62
+ console.error(ex);
63
+ }
64
+ }
65
+ }
66
+ exports.OnBeforeTrigger = OnBeforeTrigger;
67
+
68
+ //# sourceMappingURL=OnBeforeTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_listIndexes","require","_createIndex","_listCreateElasticsearchIndexTaskPlugin","OnBeforeTrigger","constructor","params","context","indexManager","run","targets","plugins","listCreateElasticsearchIndexTaskPlugin","tenant","tenancy","getCurrentTenant","id","Error","locale","i18n","getContentLocale","allIndexes","listIndexes","tenants","locales","indexes","filter","index","length","t","includes","console","warn","createIndex","createIndexFactory","settings","log","createIfNotExists","ex","error","exports"],"sources":["OnBeforeTrigger.ts"],"sourcesContent":["import type { Context } from \"~/types\";\nimport type { IndexManager } from \"~/settings\";\nimport { listIndexes } from \"./listIndexes\";\nimport { createIndexFactory } from \"~/tasks/createIndexes/createIndex\";\nimport { listCreateElasticsearchIndexTaskPlugin } from \"~/tasks/createIndexes/listCreateElasticsearchIndexTaskPlugin\";\n\nexport interface IOnBeforeTriggerParams {\n indexManager: IndexManager;\n context: Context;\n}\n\nexport class OnBeforeTrigger {\n private readonly context: Context;\n private readonly indexManager: IndexManager;\n\n public constructor(params: IOnBeforeTriggerParams) {\n this.context = params.context;\n this.indexManager = params.indexManager;\n }\n\n public async run(targets: string[] | undefined): Promise<void> {\n const plugins = listCreateElasticsearchIndexTaskPlugin<Context>(this.context.plugins);\n\n const tenant = this.context.tenancy.getCurrentTenant();\n if (!tenant?.id) {\n throw new Error(\"Something went wrong, tenant not found when triggering a task.\");\n }\n const locale = this.context.i18n.getContentLocale();\n if (!locale) {\n throw new Error(\"Something went wrong, locale not found when triggering a task.\");\n }\n try {\n const allIndexes = await listIndexes({\n context: this.context,\n plugins,\n tenants: [tenant],\n locales: [locale]\n });\n const indexes = allIndexes.filter(index => {\n if (!targets?.length) {\n return true;\n }\n for (const t of targets) {\n if (index.index.includes(t)) {\n return true;\n }\n }\n return false;\n });\n if (indexes.length === 0) {\n console.warn(\n \"There are no indexes to create before triggering the Create indexes task.\",\n {\n targets\n }\n );\n return;\n }\n\n const createIndex = createIndexFactory(this.indexManager);\n\n for (const { index, settings } of indexes) {\n try {\n console.log(\"Creating index\", index);\n await createIndex.createIfNotExists(index, settings);\n } catch (ex) {\n console.error(`Failed to create index \"${index}\".`, ex);\n }\n }\n } catch (ex) {\n console.error(ex);\n }\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,uCAAA,GAAAF,OAAA;AAOO,MAAMG,eAAe,CAAC;EAIlBC,WAAWA,CAACC,MAA8B,EAAE;IAC/C,IAAI,CAACC,OAAO,GAAGD,MAAM,CAACC,OAAO;IAC7B,IAAI,CAACC,YAAY,GAAGF,MAAM,CAACE,YAAY;EAC3C;EAEA,MAAaC,GAAGA,CAACC,OAA6B,EAAiB;IAC3D,MAAMC,OAAO,GAAG,IAAAC,8EAAsC,EAAU,IAAI,CAACL,OAAO,CAACI,OAAO,CAAC;IAErF,MAAME,MAAM,GAAG,IAAI,CAACN,OAAO,CAACO,OAAO,CAACC,gBAAgB,CAAC,CAAC;IACtD,IAAI,CAACF,MAAM,EAAEG,EAAE,EAAE;MACb,MAAM,IAAIC,KAAK,CAAC,gEAAgE,CAAC;IACrF;IACA,MAAMC,MAAM,GAAG,IAAI,CAACX,OAAO,CAACY,IAAI,CAACC,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAACF,MAAM,EAAE;MACT,MAAM,IAAID,KAAK,CAAC,gEAAgE,CAAC;IACrF;IACA,IAAI;MACA,MAAMI,UAAU,GAAG,MAAM,IAAAC,wBAAW,EAAC;QACjCf,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBI,OAAO;QACPY,OAAO,EAAE,CAACV,MAAM,CAAC;QACjBW,OAAO,EAAE,CAACN,MAAM;MACpB,CAAC,CAAC;MACF,MAAMO,OAAO,GAAGJ,UAAU,CAACK,MAAM,CAACC,KAAK,IAAI;QACvC,IAAI,CAACjB,OAAO,EAAEkB,MAAM,EAAE;UAClB,OAAO,IAAI;QACf;QACA,KAAK,MAAMC,CAAC,IAAInB,OAAO,EAAE;UACrB,IAAIiB,KAAK,CAACA,KAAK,CAACG,QAAQ,CAACD,CAAC,CAAC,EAAE;YACzB,OAAO,IAAI;UACf;QACJ;QACA,OAAO,KAAK;MAChB,CAAC,CAAC;MACF,IAAIJ,OAAO,CAACG,MAAM,KAAK,CAAC,EAAE;QACtBG,OAAO,CAACC,IAAI,CACR,2EAA2E,EAC3E;UACItB;QACJ,CACJ,CAAC;QACD;MACJ;MAEA,MAAMuB,WAAW,GAAG,IAAAC,+BAAkB,EAAC,IAAI,CAAC1B,YAAY,CAAC;MAEzD,KAAK,MAAM;QAAEmB,KAAK;QAAEQ;MAAS,CAAC,IAAIV,OAAO,EAAE;QACvC,IAAI;UACAM,OAAO,CAACK,GAAG,CAAC,gBAAgB,EAAET,KAAK,CAAC;UACpC,MAAMM,WAAW,CAACI,iBAAiB,CAACV,KAAK,EAAEQ,QAAQ,CAAC;QACxD,CAAC,CAAC,OAAOG,EAAE,EAAE;UACTP,OAAO,CAACQ,KAAK,CAAC,2BAA2BZ,KAAK,IAAI,EAAEW,EAAE,CAAC;QAC3D;MACJ;IACJ,CAAC,CAAC,OAAOA,EAAE,EAAE;MACTP,OAAO,CAACQ,KAAK,CAACD,EAAE,CAAC;IACrB;EACJ;AACJ;AAACE,OAAA,CAAApC,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import type { IndexManager } from "../../settings";
2
+ export declare const createIndexFactory: (manager: IndexManager) => {
3
+ create: (index: string, settings?: Record<string, any>) => Promise<void>;
4
+ createIfNotExists: (index: string, settings?: Record<string, any>) => Promise<void>;
5
+ };
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createIndexFactory = void 0;
7
+ const createIndexFactory = manager => {
8
+ return {
9
+ create: async (index, settings) => {
10
+ return manager.createIndex(index, settings);
11
+ },
12
+ createIfNotExists: async (index, settings) => {
13
+ try {
14
+ const exists = await manager.indexExists(index);
15
+ if (exists) {
16
+ return;
17
+ }
18
+ } catch (ex) {
19
+ return;
20
+ }
21
+ return await manager.createIndex(index, settings);
22
+ }
23
+ };
24
+ };
25
+ exports.createIndexFactory = createIndexFactory;
26
+
27
+ //# sourceMappingURL=createIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createIndexFactory","manager","create","index","settings","createIndex","createIfNotExists","exists","indexExists","ex","exports"],"sources":["createIndex.ts"],"sourcesContent":["import type { IndexManager } from \"~/settings\";\n\nexport const createIndexFactory = (manager: IndexManager) => {\n return {\n create: async (index: string, settings?: Record<string, any>): Promise<void> => {\n return manager.createIndex(index, settings);\n },\n createIfNotExists: async (index: string, settings?: Record<string, any>): Promise<void> => {\n try {\n const exists = await manager.indexExists(index);\n if (exists) {\n return;\n }\n } catch (ex) {\n return;\n }\n\n return await manager.createIndex(index, settings);\n }\n };\n};\n"],"mappings":";;;;;;AAEO,MAAMA,kBAAkB,GAAIC,OAAqB,IAAK;EACzD,OAAO;IACHC,MAAM,EAAE,MAAAA,CAAOC,KAAa,EAAEC,QAA8B,KAAoB;MAC5E,OAAOH,OAAO,CAACI,WAAW,CAACF,KAAK,EAAEC,QAAQ,CAAC;IAC/C,CAAC;IACDE,iBAAiB,EAAE,MAAAA,CAAOH,KAAa,EAAEC,QAA8B,KAAoB;MACvF,IAAI;QACA,MAAMG,MAAM,GAAG,MAAMN,OAAO,CAACO,WAAW,CAACL,KAAK,CAAC;QAC/C,IAAII,MAAM,EAAE;UACR;QACJ;MACJ,CAAC,CAAC,OAAOE,EAAE,EAAE;QACT;MACJ;MAEA,OAAO,MAAMR,OAAO,CAACI,WAAW,CAACF,KAAK,EAAEC,QAAQ,CAAC;IACrD;EACJ,CAAC;AACL,CAAC;AAACM,OAAA,CAAAV,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { Context, IElasticsearchTaskConfig } from "../../types";
2
+ import type { IElasticsearchCreateIndexesTaskInput } from "./types";
3
+ export declare const createIndexesTaskDefinition: (params?: IElasticsearchTaskConfig) => import("@webiny/tasks").TaskDefinitionPlugin<Context, IElasticsearchCreateIndexesTaskInput, import("@webiny/tasks").ITaskResponseDoneResultOutput>;