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

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 (123) hide show
  1. package/definitions/entry.d.ts +7 -3
  2. package/definitions/entry.js +9 -2
  3. package/definitions/entry.js.map +1 -1
  4. package/definitions/index.js.map +1 -1
  5. package/definitions/table.d.ts +4 -4
  6. package/definitions/table.js.map +1 -1
  7. package/errors/IndexSettingsGetError.d.ts +1 -1
  8. package/errors/IndexSettingsGetError.js.map +1 -1
  9. package/errors/IndexSettingsSetError.d.ts +1 -1
  10. package/errors/IndexSettingsSetError.js.map +1 -1
  11. package/errors/IndexingDisableError.js.map +1 -1
  12. package/errors/IndexingEnableError.js.map +1 -1
  13. package/errors/index.js.map +1 -1
  14. package/helpers/scan.d.ts +5 -5
  15. package/helpers/scan.js +2 -2
  16. package/helpers/scan.js.map +1 -1
  17. package/index.d.ts +4 -3
  18. package/index.js +16 -1
  19. package/index.js.map +1 -1
  20. package/package.json +36 -31
  21. package/settings/DisableIndexing.d.ts +2 -2
  22. package/settings/DisableIndexing.js.map +1 -1
  23. package/settings/EnableIndexing.d.ts +2 -2
  24. package/settings/EnableIndexing.js +4 -1
  25. package/settings/EnableIndexing.js.map +1 -1
  26. package/settings/IndexManager.d.ts +13 -5
  27. package/settings/IndexManager.js +53 -2
  28. package/settings/IndexManager.js.map +1 -1
  29. package/settings/IndexSettingsManager.d.ts +2 -2
  30. package/settings/IndexSettingsManager.js.map +1 -1
  31. package/settings/index.js.map +1 -1
  32. package/settings/types.d.ts +4 -1
  33. package/settings/types.js.map +1 -1
  34. package/tasks/Manager.d.ts +17 -16
  35. package/tasks/Manager.js +7 -8
  36. package/tasks/Manager.js.map +1 -1
  37. package/tasks/createIndexes/CreateElasticsearchIndexTaskPlugin.d.ts +23 -0
  38. package/tasks/createIndexes/CreateElasticsearchIndexTaskPlugin.js +25 -0
  39. package/tasks/createIndexes/CreateElasticsearchIndexTaskPlugin.js.map +1 -0
  40. package/tasks/createIndexes/CreateIndexesTaskRunner.d.ts +10 -0
  41. package/tasks/createIndexes/CreateIndexesTaskRunner.js +77 -0
  42. package/tasks/createIndexes/CreateIndexesTaskRunner.js.map +1 -0
  43. package/tasks/createIndexes/OnBeforeTrigger.d.ts +12 -0
  44. package/tasks/createIndexes/OnBeforeTrigger.js +68 -0
  45. package/tasks/createIndexes/OnBeforeTrigger.js.map +1 -0
  46. package/tasks/createIndexes/createIndex.d.ts +5 -0
  47. package/tasks/createIndexes/createIndex.js +27 -0
  48. package/tasks/createIndexes/createIndex.js.map +1 -0
  49. package/tasks/createIndexes/index.d.ts +3 -0
  50. package/tasks/createIndexes/index.js +68 -0
  51. package/tasks/createIndexes/index.js.map +1 -0
  52. package/tasks/createIndexes/listCreateElasticsearchIndexTaskPlugin.d.ts +4 -0
  53. package/tasks/createIndexes/listCreateElasticsearchIndexTaskPlugin.js +13 -0
  54. package/tasks/createIndexes/listCreateElasticsearchIndexTaskPlugin.js.map +1 -0
  55. package/tasks/createIndexes/listIndexes.d.ts +12 -0
  56. package/tasks/createIndexes/listIndexes.js +53 -0
  57. package/tasks/createIndexes/listIndexes.js.map +1 -0
  58. package/tasks/createIndexes/types.d.ts +4 -0
  59. package/tasks/createIndexes/types.js +7 -0
  60. package/tasks/createIndexes/types.js.map +1 -0
  61. package/tasks/dataSynchronization/DataSynchronizationTaskRunner.d.ts +15 -0
  62. package/tasks/dataSynchronization/DataSynchronizationTaskRunner.js +55 -0
  63. package/tasks/dataSynchronization/DataSynchronizationTaskRunner.js.map +1 -0
  64. package/tasks/dataSynchronization/createFactories.d.ts +2 -0
  65. package/tasks/dataSynchronization/createFactories.js +17 -0
  66. package/tasks/dataSynchronization/createFactories.js.map +1 -0
  67. package/tasks/dataSynchronization/elasticsearch/ElasticsearchFetcher.d.ts +10 -0
  68. package/tasks/dataSynchronization/elasticsearch/ElasticsearchFetcher.js +98 -0
  69. package/tasks/dataSynchronization/elasticsearch/ElasticsearchFetcher.js.map +1 -0
  70. package/tasks/dataSynchronization/elasticsearch/ElasticsearchSynchronize.d.ts +14 -0
  71. package/tasks/dataSynchronization/elasticsearch/ElasticsearchSynchronize.js +76 -0
  72. package/tasks/dataSynchronization/elasticsearch/ElasticsearchSynchronize.js.map +1 -0
  73. package/tasks/dataSynchronization/elasticsearch/ElasticsearchToDynamoDbSynchronization.d.ts +10 -0
  74. package/tasks/dataSynchronization/elasticsearch/ElasticsearchToDynamoDbSynchronization.js +77 -0
  75. package/tasks/dataSynchronization/elasticsearch/ElasticsearchToDynamoDbSynchronization.js.map +1 -0
  76. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchFetcher.d.ts +21 -0
  77. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchFetcher.js +7 -0
  78. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchFetcher.js.map +1 -0
  79. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchSynchronize.d.ts +17 -0
  80. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchSynchronize.js +7 -0
  81. package/tasks/dataSynchronization/elasticsearch/abstractions/ElasticsearchSynchronize.js.map +1 -0
  82. package/tasks/dataSynchronization/elasticsearch/shouldIgnoreEsResponseError.d.ts +2 -0
  83. package/tasks/dataSynchronization/elasticsearch/shouldIgnoreEsResponseError.js +13 -0
  84. package/tasks/dataSynchronization/elasticsearch/shouldIgnoreEsResponseError.js.map +1 -0
  85. package/tasks/dataSynchronization/entities/getElasticsearchEntity.d.ts +713 -0
  86. package/tasks/dataSynchronization/entities/getElasticsearchEntity.js +46 -0
  87. package/tasks/dataSynchronization/entities/getElasticsearchEntity.js.map +1 -0
  88. package/tasks/dataSynchronization/entities/getElasticsearchEntityType.d.ts +11 -0
  89. package/tasks/dataSynchronization/entities/getElasticsearchEntityType.js +29 -0
  90. package/tasks/dataSynchronization/entities/getElasticsearchEntityType.js.map +1 -0
  91. package/tasks/dataSynchronization/entities/getTable.d.ts +7 -0
  92. package/tasks/dataSynchronization/entities/getTable.js +29 -0
  93. package/tasks/dataSynchronization/entities/getTable.js.map +1 -0
  94. package/tasks/dataSynchronization/entities/index.d.ts +3 -0
  95. package/tasks/dataSynchronization/entities/index.js +40 -0
  96. package/tasks/dataSynchronization/entities/index.js.map +1 -0
  97. package/tasks/dataSynchronization/index.d.ts +4 -0
  98. package/tasks/dataSynchronization/index.js +80 -0
  99. package/tasks/dataSynchronization/index.js.map +1 -0
  100. package/tasks/dataSynchronization/types.d.ts +38 -0
  101. package/tasks/dataSynchronization/types.js +7 -0
  102. package/tasks/dataSynchronization/types.js.map +1 -0
  103. package/tasks/enableIndexing/EnableIndexingTaskRunner.d.ts +11 -0
  104. package/tasks/enableIndexing/EnableIndexingTaskRunner.js +49 -0
  105. package/tasks/enableIndexing/EnableIndexingTaskRunner.js.map +1 -0
  106. package/tasks/enableIndexing/index.d.ts +3 -0
  107. package/tasks/enableIndexing/index.js +51 -0
  108. package/tasks/enableIndexing/index.js.map +1 -0
  109. package/tasks/enableIndexing/types.d.ts +5 -0
  110. package/tasks/enableIndexing/types.js +7 -0
  111. package/tasks/enableIndexing/types.js.map +1 -0
  112. package/tasks/index.d.ts +3 -0
  113. package/tasks/index.js +33 -0
  114. package/tasks/index.js.map +1 -1
  115. package/tasks/reindexing/ReindexingTaskRunner.d.ts +5 -5
  116. package/tasks/reindexing/ReindexingTaskRunner.js +16 -5
  117. package/tasks/reindexing/ReindexingTaskRunner.js.map +1 -1
  118. package/tasks/reindexing/index.js.map +1 -1
  119. package/tasks/reindexing/reindexingTaskDefinition.d.ts +2 -8
  120. package/tasks/reindexing/reindexingTaskDefinition.js +8 -6
  121. package/tasks/reindexing/reindexingTaskDefinition.js.map +1 -1
  122. package/types.d.ts +25 -18
  123. package/types.js.map +1 -1
@@ -1,7 +1,11 @@
1
- import { Entity, Table } from "@webiny/db-dynamodb/toolbox";
1
+ /**
2
+ * TODO If adding GSIs to the Elasticsearch table, add them here.
3
+ */
4
+ import type { TableDef } from "@webiny/db-dynamodb/toolbox";
5
+ import type { IEntity } from "@webiny/db-dynamodb";
2
6
  interface Params {
3
- table: Table<string, string, string>;
7
+ table: TableDef;
4
8
  entityName: string;
5
9
  }
6
- export declare const createEntry: (params: Params) => Entity<any>;
10
+ export declare const createEntry: (params: Params) => IEntity;
7
11
  export {};
@@ -4,13 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createEntry = void 0;
7
- var _toolbox = require("@webiny/db-dynamodb/toolbox");
7
+ var _dbDynamodb = require("@webiny/db-dynamodb");
8
+ /**
9
+ * TODO If adding GSIs to the Elasticsearch table, add them here.
10
+ */
11
+
8
12
  const createEntry = params => {
9
13
  const {
10
14
  table,
11
15
  entityName
12
16
  } = params;
13
- return new _toolbox.Entity({
17
+ return (0, _dbDynamodb.createEntity)({
14
18
  name: entityName,
15
19
  table,
16
20
  attributes: {
@@ -27,6 +31,9 @@ const createEntry = params => {
27
31
  },
28
32
  data: {
29
33
  type: "map"
34
+ },
35
+ TYPE: {
36
+ type: "string"
30
37
  }
31
38
  }
32
39
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_toolbox","require","createEntry","params","table","entityName","Entity","name","attributes","PK","type","partitionKey","SK","sortKey","index","data","exports"],"sources":["entry.ts"],"sourcesContent":["import { Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\n\ninterface Params {\n table: Table<string, string, string>;\n entityName: string;\n}\n\nexport const createEntry = (params: Params): Entity<any> => {\n const { table, entityName } = params;\n return new Entity({\n name: entityName,\n table,\n attributes: {\n PK: {\n type: \"string\",\n partitionKey: true\n },\n SK: {\n type: \"string\",\n sortKey: true\n },\n index: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n }\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOO,MAAMC,WAAW,GAAIC,MAAc,IAAkB;EACxD,MAAM;IAAEC,KAAK;IAAEC;EAAW,CAAC,GAAGF,MAAM;EACpC,OAAO,IAAIG,eAAM,CAAC;IACdC,IAAI,EAAEF,UAAU;IAChBD,KAAK;IACLI,UAAU,EAAE;MACRC,EAAE,EAAE;QACAC,IAAI,EAAE,QAAQ;QACdC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAF,IAAI,EAAE,QAAQ;QACdG,OAAO,EAAE;MACb,CAAC;MACDC,KAAK,EAAE;QACHJ,IAAI,EAAE;MACV,CAAC;MACDK,IAAI,EAAE;QACFL,IAAI,EAAE;MACV;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAACM,OAAA,CAAAd,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"names":["_dbDynamodb","require","createEntry","params","table","entityName","createEntity","name","attributes","PK","type","partitionKey","SK","sortKey","index","data","TYPE","exports"],"sources":["entry.ts"],"sourcesContent":["/**\n * TODO If adding GSIs to the Elasticsearch table, add them here.\n */\nimport type { TableDef } from \"@webiny/db-dynamodb/toolbox\";\nimport type { IEntity } from \"@webiny/db-dynamodb\";\nimport { createEntity } from \"@webiny/db-dynamodb\";\n\ninterface Params {\n table: TableDef;\n entityName: string;\n}\n\nexport const createEntry = (params: Params): IEntity => {\n const { table, entityName } = params;\n return createEntity({\n name: entityName,\n table,\n attributes: {\n PK: {\n type: \"string\",\n partitionKey: true\n },\n SK: {\n type: \"string\",\n sortKey: true\n },\n index: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n TYPE: {\n type: \"string\"\n }\n }\n });\n};\n"],"mappings":";;;;;;AAKA,IAAAA,WAAA,GAAAC,OAAA;AALA;AACA;AACA;;AAUO,MAAMC,WAAW,GAAIC,MAAc,IAAc;EACpD,MAAM;IAAEC,KAAK;IAAEC;EAAW,CAAC,GAAGF,MAAM;EACpC,OAAO,IAAAG,wBAAY,EAAC;IAChBC,IAAI,EAAEF,UAAU;IAChBD,KAAK;IACLI,UAAU,EAAE;MACRC,EAAE,EAAE;QACAC,IAAI,EAAE,QAAQ;QACdC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAF,IAAI,EAAE,QAAQ;QACdG,OAAO,EAAE;MACb,CAAC;MACDC,KAAK,EAAE;QACHJ,IAAI,EAAE;MACV,CAAC;MACDK,IAAI,EAAE;QACFL,IAAI,EAAE;MACV,CAAC;MACDM,IAAI,EAAE;QACFN,IAAI,EAAE;MACV;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAACO,OAAA,CAAAf,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_clientDynamodb","require","_table","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export { getDocumentClient } from \"@webiny/aws-sdk/client-dynamodb\";\nexport * from \"./table\";\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_clientDynamodb","require","_table","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export { getDocumentClient } from \"@webiny/aws-sdk/client-dynamodb\";\nexport * from \"./table\";\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import { DynamoDBClient } from "@webiny/aws-sdk/client-dynamodb";
2
- import { Table } from "@webiny/db-dynamodb/toolbox";
1
+ import type { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb";
2
+ import type { TableDef } from "@webiny/db-dynamodb/toolbox";
3
3
  interface Params {
4
- documentClient: DynamoDBClient;
4
+ documentClient: DynamoDBDocument;
5
5
  }
6
- export declare const createTable: ({ documentClient }: Params) => Table<string, string, string>;
6
+ export declare const createTable: ({ documentClient }: Params) => TableDef;
7
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"names":["_toolbox","require","createTable","documentClient","config","name","process","env","DB_TABLE_ELASTICSEARCH","partitionKey","sortKey","DocumentClient","autoExecute","autoParse","Table","exports"],"sources":["table.ts"],"sourcesContent":["import { DynamoDBClient } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { Table, TableConstructor } from \"@webiny/db-dynamodb/toolbox\";\n\ninterface Params {\n documentClient: DynamoDBClient;\n}\n\nexport const createTable = ({ documentClient }: Params): Table<string, string, string> => {\n const config: TableConstructor<string, string, string> = {\n name: process.env.DB_TABLE_ELASTICSEARCH as string,\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient,\n autoExecute: true,\n autoParse: true\n };\n\n return new Table(config);\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAMO,MAAMC,WAAW,GAAGA,CAAC;EAAEC;AAAuB,CAAC,KAAoC;EACtF,MAAMC,MAAgD,GAAG;IACrDC,IAAI,EAAEC,OAAO,CAACC,GAAG,CAACC,sBAAgC;IAClDC,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAER,cAAc;IAC9BS,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC;EAED,OAAO,IAAIC,cAAK,CAACV,MAAM,CAAC;AAC5B,CAAC;AAACW,OAAA,CAAAb,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"names":["_toolbox","require","createTable","documentClient","config","name","process","env","DB_TABLE_ELASTICSEARCH","partitionKey","sortKey","DocumentClient","autoExecute","autoParse","Table","exports"],"sources":["table.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport type { TableConstructor, TableDef } from \"@webiny/db-dynamodb/toolbox\";\nimport { Table } from \"@webiny/db-dynamodb/toolbox\";\n\ninterface Params {\n documentClient: DynamoDBDocument;\n}\n\nexport const createTable = ({ documentClient }: Params): TableDef => {\n const config: TableConstructor<string, string, string> = {\n name: process.env.DB_TABLE_ELASTICSEARCH as string,\n partitionKey: \"PK\",\n sortKey: \"SK\",\n DocumentClient: documentClient,\n autoExecute: true,\n autoParse: true\n };\n\n return new Table(config);\n};\n"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAMO,MAAMC,WAAW,GAAGA,CAAC;EAAEC;AAAuB,CAAC,KAAe;EACjE,MAAMC,MAAgD,GAAG;IACrDC,IAAI,EAAEC,OAAO,CAACC,GAAG,CAACC,sBAAgC;IAClDC,YAAY,EAAE,IAAI;IAClBC,OAAO,EAAE,IAAI;IACbC,cAAc,EAAER,cAAc;IAC9BS,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC;EAED,OAAO,IAAIC,cAAK,CAACV,MAAM,CAAC;AAC5B,CAAC;AAACW,OAAA,CAAAb,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import WebinyError from "@webiny/error";
2
- import { AugmentedError } from "../types";
2
+ import type { AugmentedError } from "../types";
3
3
  export declare class IndexSettingsGetError extends WebinyError {
4
4
  readonly index: string;
5
5
  constructor(error: AugmentedError, index: string);
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","IndexSettingsGetError","WebinyError","constructor","error","index","message","data","exports"],"sources":["IndexSettingsGetError.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { AugmentedError } from \"~/types\";\n\nexport class IndexSettingsGetError extends WebinyError {\n public readonly index: string;\n\n public constructor(error: AugmentedError, index: string) {\n super(error.message, \"GET_INDEX_SETTINGS_ERROR\", {\n ...error.data,\n index\n });\n this.index = index;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGO,MAAMC,qBAAqB,SAASC,cAAW,CAAC;EAG5CC,WAAWA,CAACC,KAAqB,EAAEC,KAAa,EAAE;IACrD,KAAK,CAACD,KAAK,CAACE,OAAO,EAAE,0BAA0B,EAAE;MAC7C,GAAGF,KAAK,CAACG,IAAI;MACbF;IACJ,CAAC,CAAC;IACF,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;AACJ;AAACG,OAAA,CAAAP,qBAAA,GAAAA,qBAAA"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","IndexSettingsGetError","WebinyError","constructor","error","index","message","data","exports"],"sources":["IndexSettingsGetError.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { AugmentedError } from \"~/types\";\n\nexport class IndexSettingsGetError extends WebinyError {\n public readonly index: string;\n\n public constructor(error: AugmentedError, index: string) {\n super(error.message, \"GET_INDEX_SETTINGS_ERROR\", {\n ...error.data,\n index\n });\n this.index = index;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGO,MAAMC,qBAAqB,SAASC,cAAW,CAAC;EAG5CC,WAAWA,CAACC,KAAqB,EAAEC,KAAa,EAAE;IACrD,KAAK,CAACD,KAAK,CAACE,OAAO,EAAE,0BAA0B,EAAE;MAC7C,GAAGF,KAAK,CAACG,IAAI;MACbF;IACJ,CAAC,CAAC;IACF,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;AACJ;AAACG,OAAA,CAAAP,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import WebinyError from "@webiny/error";
2
- import { AugmentedError } from "../types";
2
+ import type { AugmentedError } from "../types";
3
3
  export declare class IndexSettingsSetError extends WebinyError {
4
4
  readonly index: string;
5
5
  constructor(error: AugmentedError, index: string);
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","IndexSettingsSetError","WebinyError","constructor","error","index","message","data","exports"],"sources":["IndexSettingsSetError.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { AugmentedError } from \"~/types\";\n\nexport class IndexSettingsSetError extends WebinyError {\n public readonly index: string;\n\n public constructor(error: AugmentedError, index: string) {\n super(error.message, \"SET_INDEX_SETTINGS_ERROR\", {\n ...error.data,\n index\n });\n this.index = index;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGO,MAAMC,qBAAqB,SAASC,cAAW,CAAC;EAG5CC,WAAWA,CAACC,KAAqB,EAAEC,KAAa,EAAE;IACrD,KAAK,CAACD,KAAK,CAACE,OAAO,EAAE,0BAA0B,EAAE;MAC7C,GAAGF,KAAK,CAACG,IAAI;MACbF;IACJ,CAAC,CAAC;IACF,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;AACJ;AAACG,OAAA,CAAAP,qBAAA,GAAAA,qBAAA"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","IndexSettingsSetError","WebinyError","constructor","error","index","message","data","exports"],"sources":["IndexSettingsSetError.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { AugmentedError } from \"~/types\";\n\nexport class IndexSettingsSetError extends WebinyError {\n public readonly index: string;\n\n public constructor(error: AugmentedError, index: string) {\n super(error.message, \"SET_INDEX_SETTINGS_ERROR\", {\n ...error.data,\n index\n });\n this.index = index;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGO,MAAMC,qBAAqB,SAASC,cAAW,CAAC;EAG5CC,WAAWA,CAACC,KAAqB,EAAEC,KAAa,EAAE;IACrD,KAAK,CAACD,KAAK,CAACE,OAAO,EAAE,0BAA0B,EAAE;MAC7C,GAAGF,KAAK,CAACG,IAAI;MACbF;IACJ,CAAC,CAAC;IACF,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB;AACJ;AAACG,OAAA,CAAAP,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["IndexingDisableError","Error","exports"],"sources":["IndexingDisableError.ts"],"sourcesContent":["export class IndexingDisableError extends Error {}\n"],"mappings":";;;;;;AAAO,MAAMA,oBAAoB,SAASC,KAAK,CAAC;AAAEC,OAAA,CAAAF,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"names":["IndexingDisableError","Error","exports"],"sources":["IndexingDisableError.ts"],"sourcesContent":["export class IndexingDisableError extends Error {}\n"],"mappings":";;;;;;AAAO,MAAMA,oBAAoB,SAASC,KAAK,CAAC;AAAEC,OAAA,CAAAF,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["IndexingEnableError","Error","exports"],"sources":["IndexingEnableError.ts"],"sourcesContent":["export class IndexingEnableError extends Error {}\n"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,SAASC,KAAK,CAAC;AAAEC,OAAA,CAAAF,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"names":["IndexingEnableError","Error","exports"],"sources":["IndexingEnableError.ts"],"sourcesContent":["export class IndexingEnableError extends Error {}\n"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,SAASC,KAAK,CAAC;AAAEC,OAAA,CAAAF,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_IndexingDisableError","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_IndexingEnableError","_IndexSettingsGetError","_IndexSettingsSetError"],"sources":["index.ts"],"sourcesContent":["export * from \"./IndexingDisableError\";\nexport * from \"./IndexingEnableError\";\nexport * from \"./IndexSettingsGetError\";\nexport * from \"./IndexSettingsSetError\";\n"],"mappings":";;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,qBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,qBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,qBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,oBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,oBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,oBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,oBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,sBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,sBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,sBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,sBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,sBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,sBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,sBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,sBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_IndexingDisableError","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_IndexingEnableError","_IndexSettingsGetError","_IndexSettingsSetError"],"sources":["index.ts"],"sourcesContent":["export * from \"./IndexingDisableError\";\nexport * from \"./IndexingEnableError\";\nexport * from \"./IndexSettingsGetError\";\nexport * from \"./IndexSettingsSetError\";\n"],"mappings":";;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,qBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,qBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,qBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,oBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,oBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,oBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,oBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,sBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,sBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,sBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,sBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,sBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,sBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,sBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,sBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
package/helpers/scan.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { ScanOptions } from "@webiny/db-dynamodb";
2
- import { Table } from "@webiny/db-dynamodb/toolbox";
3
- import { IElasticsearchIndexingTaskValuesKeys } from "../types";
1
+ import type { ScanOptions } from "@webiny/db-dynamodb";
2
+ import type { TableDef } from "@webiny/db-dynamodb/toolbox";
3
+ import type { IElasticsearchIndexingTaskValuesKeys } from "../types";
4
4
  interface Params {
5
- table: Table<string, string, string>;
5
+ table: TableDef;
6
6
  keys?: IElasticsearchIndexingTaskValuesKeys;
7
- options?: Pick<ScanOptions, "limit">;
7
+ options?: ScanOptions;
8
8
  }
9
9
  export declare const scan: <T = any>(params: Params) => Promise<import("@webiny/db-dynamodb").ScanResponse<T>>;
10
10
  export {};
package/helpers/scan.js CHANGED
@@ -13,9 +13,9 @@ const scan = async params => {
13
13
  return (0, _dbDynamodb.scan)({
14
14
  table,
15
15
  options: {
16
+ ...params.options,
16
17
  startKey: keys,
17
- limit: 200,
18
- ...params.options
18
+ limit: params.options?.limit || 200
19
19
  }
20
20
  });
21
21
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_dbDynamodb","require","scan","params","table","keys","tableScan","options","startKey","limit","exports"],"sources":["scan.ts"],"sourcesContent":["import { scan as tableScan, ScanOptions } from \"@webiny/db-dynamodb\";\nimport { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { IElasticsearchIndexingTaskValuesKeys } from \"~/types\";\n\ninterface Params {\n table: Table<string, string, string>;\n keys?: IElasticsearchIndexingTaskValuesKeys;\n options?: Pick<ScanOptions, \"limit\">;\n}\n\nexport const scan = async <T = any>(params: Params) => {\n const { table, keys } = params;\n return tableScan<T>({\n table,\n options: {\n startKey: keys,\n limit: 200,\n ...params.options\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAUO,MAAMC,IAAI,GAAG,MAAgBC,MAAc,IAAK;EACnD,MAAM;IAAEC,KAAK;IAAEC;EAAK,CAAC,GAAGF,MAAM;EAC9B,OAAO,IAAAG,gBAAS,EAAI;IAChBF,KAAK;IACLG,OAAO,EAAE;MACLC,QAAQ,EAAEH,IAAI;MACdI,KAAK,EAAE,GAAG;MACV,GAAGN,MAAM,CAACI;IACd;EACJ,CAAC,CAAC;AACN,CAAC;AAACG,OAAA,CAAAR,IAAA,GAAAA,IAAA"}
1
+ {"version":3,"names":["_dbDynamodb","require","scan","params","table","keys","tableScan","options","startKey","limit","exports"],"sources":["scan.ts"],"sourcesContent":["import type { ScanOptions } from \"@webiny/db-dynamodb\";\nimport { scan as tableScan } from \"@webiny/db-dynamodb\";\nimport type { TableDef } from \"@webiny/db-dynamodb/toolbox\";\nimport type { IElasticsearchIndexingTaskValuesKeys } from \"~/types\";\n\ninterface Params {\n table: TableDef;\n keys?: IElasticsearchIndexingTaskValuesKeys;\n options?: ScanOptions;\n}\n\nexport const scan = async <T = any>(params: Params) => {\n const { table, keys } = params;\n return tableScan<T>({\n table,\n options: {\n ...params.options,\n startKey: keys,\n limit: params.options?.limit || 200\n }\n });\n};\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAUO,MAAMC,IAAI,GAAG,MAAgBC,MAAc,IAAK;EACnD,MAAM;IAAEC,KAAK;IAAEC;EAAK,CAAC,GAAGF,MAAM;EAC9B,OAAO,IAAAG,gBAAS,EAAI;IAChBF,KAAK;IACLG,OAAO,EAAE;MACL,GAAGJ,MAAM,CAACI,OAAO;MACjBC,QAAQ,EAAEH,IAAI;MACdI,KAAK,EAAEN,MAAM,CAACI,OAAO,EAAEE,KAAK,IAAI;IACpC;EACJ,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAR,IAAA,GAAAA,IAAA","ignoreList":[]}
package/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { CreateElasticsearchIndexTaskConfig } from "./tasks";
2
- import { Plugin } from "@webiny/plugins/types";
3
- export declare type CreateElasticsearchBackgroundTasksParams = CreateElasticsearchIndexTaskConfig;
1
+ import type { Plugin } from "@webiny/plugins/types";
2
+ import type { IElasticsearchTaskConfig } from "./types";
3
+ export type CreateElasticsearchBackgroundTasksParams = IElasticsearchTaskConfig;
4
4
  export declare const createElasticsearchBackgroundTasks: (params?: CreateElasticsearchBackgroundTasksParams) => Plugin[];
5
+ export * from "./tasks/createIndexes/CreateElasticsearchIndexTaskPlugin";
package/index.js CHANGED
@@ -3,10 +3,25 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ createElasticsearchBackgroundTasks: true
8
+ };
6
9
  exports.createElasticsearchBackgroundTasks = void 0;
7
10
  var _tasks = require("./tasks");
11
+ var _CreateElasticsearchIndexTaskPlugin = require("./tasks/createIndexes/CreateElasticsearchIndexTaskPlugin");
12
+ Object.keys(_CreateElasticsearchIndexTaskPlugin).forEach(function (key) {
13
+ if (key === "default" || key === "__esModule") return;
14
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
15
+ if (key in exports && exports[key] === _CreateElasticsearchIndexTaskPlugin[key]) return;
16
+ Object.defineProperty(exports, key, {
17
+ enumerable: true,
18
+ get: function () {
19
+ return _CreateElasticsearchIndexTaskPlugin[key];
20
+ }
21
+ });
22
+ });
8
23
  const createElasticsearchBackgroundTasks = params => {
9
- return [(0, _tasks.createElasticsearchReindexingTask)(params)];
24
+ return [(0, _tasks.createElasticsearchReindexingTask)(params), (0, _tasks.createEnableIndexingTask)(params), (0, _tasks.createIndexesTaskDefinition)(params), (0, _tasks.createDataSynchronization)(params)];
10
25
  };
11
26
  exports.createElasticsearchBackgroundTasks = createElasticsearchBackgroundTasks;
12
27
 
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","_CreateElasticsearchIndexTaskPlugin","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","createElasticsearchBackgroundTasks","params","createElasticsearchReindexingTask","createEnableIndexingTask","createIndexesTaskDefinition","createDataSynchronization"],"sources":["index.ts"],"sourcesContent":["import {\n createDataSynchronization,\n createElasticsearchReindexingTask,\n createEnableIndexingTask,\n createIndexesTaskDefinition\n} from \"~/tasks\";\nimport type { Plugin } from \"@webiny/plugins/types\";\nimport type { IElasticsearchTaskConfig } from \"~/types\";\n\nexport type CreateElasticsearchBackgroundTasksParams = IElasticsearchTaskConfig;\n\nexport const createElasticsearchBackgroundTasks = (\n params?: CreateElasticsearchBackgroundTasksParams\n): Plugin[] => {\n return [\n createElasticsearchReindexingTask(params),\n createEnableIndexingTask(params),\n createIndexesTaskDefinition(params),\n createDataSynchronization(params)\n ];\n};\n\nexport * from \"~/tasks/createIndexes/CreateElasticsearchIndexTaskPlugin\";\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAsBA,IAAAC,mCAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,mCAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,mCAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,mCAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAXO,MAAMS,kCAAkC,GAC3CC,MAAiD,IACtC;EACX,OAAO,CACH,IAAAC,wCAAiC,EAACD,MAAM,CAAC,EACzC,IAAAE,+BAAwB,EAACF,MAAM,CAAC,EAChC,IAAAG,kCAA2B,EAACH,MAAM,CAAC,EACnC,IAAAI,gCAAyB,EAACJ,MAAM,CAAC,CACpC;AACL,CAAC;AAACL,OAAA,CAAAI,kCAAA,GAAAA,kCAAA","ignoreList":[]}
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.e53eceafb5",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,43 +12,48 @@
12
12
  ],
13
13
  "license": "MIT",
14
14
  "dependencies": {
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"
15
+ "@webiny/api": "0.0.0-unstable.e53eceafb5",
16
+ "@webiny/api-dynamodb-to-elasticsearch": "0.0.0-unstable.e53eceafb5",
17
+ "@webiny/api-elasticsearch": "0.0.0-unstable.e53eceafb5",
18
+ "@webiny/api-i18n": "0.0.0-unstable.e53eceafb5",
19
+ "@webiny/api-log": "0.0.0-unstable.e53eceafb5",
20
+ "@webiny/api-security": "0.0.0-unstable.e53eceafb5",
21
+ "@webiny/api-tenancy": "0.0.0-unstable.e53eceafb5",
22
+ "@webiny/aws-sdk": "0.0.0-unstable.e53eceafb5",
23
+ "@webiny/db": "0.0.0-unstable.e53eceafb5",
24
+ "@webiny/db-dynamodb": "0.0.0-unstable.e53eceafb5",
25
+ "@webiny/error": "0.0.0-unstable.e53eceafb5",
26
+ "@webiny/plugins": "0.0.0-unstable.e53eceafb5",
27
+ "@webiny/tasks": "0.0.0-unstable.e53eceafb5",
28
+ "@webiny/utils": "0.0.0-unstable.e53eceafb5"
21
29
  },
22
30
  "devDependencies": {
23
- "@babel/cli": "7.22.6",
24
- "@babel/core": "7.22.8",
25
- "@babel/preset-env": "7.22.7",
26
- "@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",
40
- "rimraf": "3.0.2",
41
- "ttypescript": "1.5.15",
42
- "type-fest": "2.19.0",
43
- "typescript": "4.7.4"
31
+ "@webiny/api": "0.0.0",
32
+ "@webiny/api-headless-cms": "0.0.0-unstable.e53eceafb5",
33
+ "@webiny/api-wcp": "0.0.0-unstable.e53eceafb5",
34
+ "@webiny/handler": "0.0.0-unstable.e53eceafb5",
35
+ "@webiny/handler-aws": "0.0.0-unstable.e53eceafb5",
36
+ "@webiny/handler-db": "0.0.0-unstable.e53eceafb5",
37
+ "@webiny/handler-graphql": "0.0.0-unstable.e53eceafb5",
38
+ "@webiny/project-utils": "0.0.0-unstable.e53eceafb5",
39
+ "rimraf": "6.0.1",
40
+ "type-fest": "4.14.0",
41
+ "typescript": "5.3.3"
44
42
  },
45
43
  "publishConfig": {
46
44
  "access": "public",
47
45
  "directory": "dist"
48
46
  },
49
47
  "scripts": {
50
- "build": "yarn webiny run build",
51
- "watch": "yarn webiny run watch"
48
+ "build": "node ../cli/bin.js run build",
49
+ "watch": "node ../cli/bin.js run watch"
52
50
  },
53
- "gitHead": "a9593f74ddf9ce93263eadb0ddc0807ed343f5ee"
51
+ "gitHead": "e53eceafb5ce1a3872c9b4548939bb2eae5b1aef",
52
+ "adio": {
53
+ "ignore": {
54
+ "src": [
55
+ "node:util"
56
+ ]
57
+ }
58
+ }
54
59
  }
@@ -1,5 +1,5 @@
1
- import { IIndexSettingsValues } from "../types";
2
- import { IndexSettingsManager } from "./IndexSettingsManager";
1
+ import type { IIndexSettingsValues } from "../types";
2
+ import type { IndexSettingsManager } from "./IndexSettingsManager";
3
3
  export declare class DisableIndexing {
4
4
  private readonly settings;
5
5
  constructor(settings: IndexSettingsManager);
@@ -1 +1 @@
1
- {"version":3,"names":["_errors","require","DisableIndexing","constructor","settings","exec","index","getSettings","setSettings","numberOfReplicas","refreshInterval","ex","IndexingDisableError","exports"],"sources":["DisableIndexing.ts"],"sourcesContent":["import { IndexingDisableError } from \"~/errors\";\nimport { IIndexSettingsValues } from \"~/types\";\nimport { IndexSettingsManager } from \"./IndexSettingsManager\";\n\nexport class DisableIndexing {\n private readonly settings: IndexSettingsManager;\n\n public constructor(settings: IndexSettingsManager) {\n this.settings = settings;\n }\n\n public async exec(index: string): Promise<IIndexSettingsValues> {\n const settings = await this.settings.getSettings(index);\n\n try {\n await this.settings.setSettings(index, {\n numberOfReplicas: 0,\n refreshInterval: \"-1\"\n });\n } catch (ex) {\n throw new IndexingDisableError(ex);\n }\n\n return settings;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAIO,MAAMC,eAAe,CAAC;EAGlBC,WAAWA,CAACC,QAA8B,EAAE;IAC/C,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAaC,IAAIA,CAACC,KAAa,EAAiC;IAC5D,MAAMF,QAAQ,GAAG,MAAM,IAAI,CAACA,QAAQ,CAACG,WAAW,CAACD,KAAK,CAAC;IAEvD,IAAI;MACA,MAAM,IAAI,CAACF,QAAQ,CAACI,WAAW,CAACF,KAAK,EAAE;QACnCG,gBAAgB,EAAE,CAAC;QACnBC,eAAe,EAAE;MACrB,CAAC,CAAC;IACN,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,MAAM,IAAIC,4BAAoB,CAACD,EAAE,CAAC;IACtC;IAEA,OAAOP,QAAQ;EACnB;AACJ;AAACS,OAAA,CAAAX,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"names":["_errors","require","DisableIndexing","constructor","settings","exec","index","getSettings","setSettings","numberOfReplicas","refreshInterval","ex","IndexingDisableError","exports"],"sources":["DisableIndexing.ts"],"sourcesContent":["import { IndexingDisableError } from \"~/errors\";\nimport type { IIndexSettingsValues } from \"~/types\";\nimport type { IndexSettingsManager } from \"./IndexSettingsManager\";\n\nexport class DisableIndexing {\n private readonly settings: IndexSettingsManager;\n\n public constructor(settings: IndexSettingsManager) {\n this.settings = settings;\n }\n\n public async exec(index: string): Promise<IIndexSettingsValues> {\n const settings = await this.settings.getSettings(index);\n\n try {\n await this.settings.setSettings(index, {\n numberOfReplicas: 0,\n refreshInterval: \"-1\"\n });\n } catch (ex) {\n throw new IndexingDisableError(ex);\n }\n\n return settings;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAIO,MAAMC,eAAe,CAAC;EAGlBC,WAAWA,CAACC,QAA8B,EAAE;IAC/C,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,MAAaC,IAAIA,CAACC,KAAa,EAAiC;IAC5D,MAAMF,QAAQ,GAAG,MAAM,IAAI,CAACA,QAAQ,CAACG,WAAW,CAACD,KAAK,CAAC;IAEvD,IAAI;MACA,MAAM,IAAI,CAACF,QAAQ,CAACI,WAAW,CAACF,KAAK,EAAE;QACnCG,gBAAgB,EAAE,CAAC;QACnBC,eAAe,EAAE;MACrB,CAAC,CAAC;IACN,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,MAAM,IAAIC,4BAAoB,CAACD,EAAE,CAAC;IACtC;IAEA,OAAOP,QAAQ;EACnB;AACJ;AAACS,OAAA,CAAAX,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { IIndexSettingsValues } from "../types";
2
- import { IndexSettingsManager } from "./IndexSettingsManager";
1
+ import type { IIndexSettingsValues } from "../types";
2
+ import type { IndexSettingsManager } from "./IndexSettingsManager";
3
3
  export declare class EnableIndexing {
4
4
  private readonly settings;
5
5
  constructor(settings: IndexSettingsManager);
@@ -11,8 +11,11 @@ class EnableIndexing {
11
11
  }
12
12
  async exec(index, settings) {
13
13
  try {
14
+ const refreshInterval = parseInt(settings.refreshInterval || "", 10) || 0;
14
15
  await this.settings.setSettings(index, {
15
- ...settings
16
+ ...settings,
17
+ numberOfReplicas: settings.numberOfReplicas < 1 ? 1 : settings.numberOfReplicas,
18
+ refreshInterval: refreshInterval <= 0 ? "1s" : settings.refreshInterval
16
19
  });
17
20
  } catch (ex) {
18
21
  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","refreshInterval","parseInt","setSettings","numberOfReplicas","ex","IndexingEnableError","exports"],"sources":["EnableIndexing.ts"],"sourcesContent":["import { IndexingEnableError } from \"~/errors\";\nimport type { IIndexSettingsValues } from \"~/types\";\nimport type { 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 const refreshInterval = parseInt(settings.refreshInterval || \"\", 10) || 0;\n await this.settings.setSettings(index, {\n ...settings,\n numberOfReplicas: settings.numberOfReplicas < 1 ? 1 : settings.numberOfReplicas,\n refreshInterval: refreshInterval <= 0 ? \"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,MAAMG,eAAe,GAAGC,QAAQ,CAACJ,QAAQ,CAACG,eAAe,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;MACzE,MAAM,IAAI,CAACH,QAAQ,CAACK,WAAW,CAACH,KAAK,EAAE;QACnC,GAAGF,QAAQ;QACXM,gBAAgB,EAAEN,QAAQ,CAACM,gBAAgB,GAAG,CAAC,GAAG,CAAC,GAAGN,QAAQ,CAACM,gBAAgB;QAC/EH,eAAe,EAAEA,eAAe,IAAI,CAAC,GAAG,IAAI,GAAGH,QAAQ,CAACG;MAC5D,CAAC,CAAC;IACN,CAAC,CAAC,OAAOI,EAAE,EAAE;MACT,MAAM,IAAIC,2BAAmB,CAACD,EAAE,CAAC;IACrC;EACJ;AACJ;AAACE,OAAA,CAAAX,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1,12 +1,20 @@
1
- import { IElasticsearchIndexingTaskValuesSettings } from "../types";
2
- import { IIndexManager } from "./types";
3
- import { Client } from "@webiny/api-elasticsearch";
1
+ import type { IElasticsearchIndexingTaskValuesSettings, IIndexSettingsValues } from "../types";
2
+ import type { IIndexManager } from "./types";
3
+ import type { Client } from "@webiny/api-elasticsearch";
4
+ export interface IListIndicesResponse {
5
+ index: string;
6
+ }
4
7
  export declare class IndexManager implements IIndexManager {
8
+ private readonly client;
5
9
  private readonly disable;
6
10
  private readonly enable;
7
11
  private readonly _settings;
12
+ private readonly defaults;
8
13
  get settings(): IElasticsearchIndexingTaskValuesSettings;
9
- constructor(client: Client, settings: IElasticsearchIndexingTaskValuesSettings);
10
- disableIndexing(index: string): Promise<import("../types").IIndexSettingsValues>;
14
+ constructor(client: Client, settings: IElasticsearchIndexingTaskValuesSettings, defaults?: Partial<IIndexSettingsValues>);
15
+ list(): Promise<string[]>;
16
+ disableIndexing(index: string): Promise<IIndexSettingsValues>;
11
17
  enableIndexing(index?: string): Promise<void>;
18
+ createIndex(index: string, settings?: Record<string, any>): Promise<void>;
19
+ indexExists(index: string): Promise<boolean>;
12
20
  }
@@ -7,19 +7,53 @@ 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"
13
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
+ };
14
26
  class IndexManager {
15
27
  get settings() {
16
28
  return this._settings;
17
29
  }
18
- constructor(client, settings) {
30
+ constructor(client, settings, defaults) {
19
31
  const indexSettings = new _IndexSettingsManager.IndexSettingsManager(client);
32
+ this.client = client;
20
33
  this.disable = new _DisableIndexing.DisableIndexing(indexSettings);
21
34
  this.enable = new _EnableIndexing.EnableIndexing(indexSettings);
22
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
+ }
23
57
  }
24
58
  async disableIndexing(index) {
25
59
  /**
@@ -40,9 +74,26 @@ class IndexManager {
40
74
  }
41
75
  return;
42
76
  }
43
- const settings = this._settings[index] || defaultIndexSettings;
77
+ const settings = this._settings[index] || this.defaults;
44
78
  await this.enable.exec(index, settings);
45
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
+ }
46
97
  }
47
98
  exports.IndexManager = IndexManager;
48
99
 
@@ -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","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":";;;;;;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;AAMD,MAAMC,WAAW,GAAGC,OAAO,CAACC,GAAG,CAACC,2BAA2B,IAAI,EAAE;AACjE,MAAMC,WAAW,GAAIC,IAAa,IAAK;EACnC,IAAI,CAACA,IAAI,EAAE;IACP,OAAO,KAAK;EAChB,CAAC,MAAM,IAAIA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;IAC7B,OAAO,KAAK;EAChB,CAAC,MAAM,IAAIN,WAAW,EAAE;IACpB,OAAOK,IAAI,CAACC,UAAU,CAACN,WAAW,CAAC;EACvC;EACA,OAAO,IAAI;AACf,CAAC;AAEM,MAAMO,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;MACZb,eAAe,EAAEa,QAAQ,EAAEb,eAAe,IAAIF,oBAAoB,CAACE,eAAe;MAClFD,gBAAgB,EAAEc,QAAQ,EAAEd,gBAAgB,IAAID,oBAAoB,CAACC;IACzE,CAAC;EACL;EAEA,MAAaqB,IAAIA,CAAA,EAAsB;IACnC,IAAI;MACA,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACT,MAAM,CAACU,GAAG,CAACC,OAAO,CAAyB;QACnEC,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,CAACtB,IAAI,IAAIA,IAAI,CAACuB,KAAK,CAAC,CAACC,MAAM,CAACzB,WAAW,CAAC;IACpE,CAAC,CAAC,OAAO0B,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,CAACT,KAAa,EAAE;IACxC;AACR;AACA;IACQ,IAAI,IAAI,CAACnB,SAAS,CAACmB,KAAK,CAAC,EAAE;MACvB,OAAO,IAAI,CAACnB,SAAS,CAACmB,KAAK,CAAC;IAChC;IACA,MAAMpB,QAAQ,GAAG,MAAM,IAAI,CAACO,OAAO,CAACuB,IAAI,CAACV,KAAK,CAAC;IAC/C,IAAI,CAACnB,SAAS,CAACmB,KAAK,CAAC,GAAGpB,QAAQ;IAChC,OAAOA,QAAQ;EACnB;EAEA,MAAa+B,cAAcA,CAACX,KAAc,EAAE;IACxC,IAAI,CAACA,KAAK,EAAE;MACR,MAAMY,OAAO,GAAGC,MAAM,CAACC,IAAI,CAAC,IAAI,CAACjC,SAAS,CAAC;MAC3C,KAAK,MAAMmB,KAAK,IAAIY,OAAO,EAAE;QACzB,MAAM,IAAI,CAACD,cAAc,CAACX,KAAK,CAAC;MACpC;MACA;IACJ;IACA,MAAMpB,QAAQ,GAAG,IAAI,CAACC,SAAS,CAACmB,KAAK,CAAC,IAAI,IAAI,CAAChB,QAAQ;IACvD,MAAM,IAAI,CAACK,MAAM,CAACqB,IAAI,CAACV,KAAK,EAAEpB,QAAQ,CAAC;EAC3C;EAEA,MAAamC,WAAWA,CAACf,KAAa,EAAEpB,QAA8B,EAAiB;IACnF,MAAM,IAAI,CAACG,MAAM,CAACW,OAAO,CAACsB,MAAM,CAAC;MAC7BhB,KAAK;MACLF,IAAI,EAAElB;IACV,CAAC,CAAC;EACN;EAEA,MAAaqC,WAAWA,CAACjB,KAAa,EAAoB;IACtD,MAAMR,QAAQ,GAAG,MAAM,IAAI,CAACT,MAAM,CAACW,OAAO,CAACwB,MAAM,CAAC;MAC9ClB,KAAK;MACLmB,kBAAkB,EAAE,KAAK;MACzBC,gBAAgB,EAAE,IAAI;MACtBC,gBAAgB,EAAE,IAAI;MACtBC,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE;IACX,CAAC,CAAC;IACF,OAAO,CAAC,CAAC/B,QAAQ,CAACM,IAAI;EAC1B;AACJ;AAAC0B,OAAA,CAAA7C,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { Client } from "@webiny/api-elasticsearch";
2
- import { IIndexSettingsValues } from "../types";
1
+ import type { Client } from "@webiny/api-elasticsearch";
2
+ import type { IIndexSettingsValues } from "../types";
3
3
  export declare class IndexSettingsManager {
4
4
  private readonly elasticsearch;
5
5
  constructor(elasticsearch: Client);
@@ -1 +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 { Client } from \"@webiny/api-elasticsearch\";\nimport { IndexSettingsGetError, IndexSettingsSetError } from \"~/errors\";\nimport { 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"}
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":[]}
@@ -1 +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"}
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":[]}
@@ -1,6 +1,9 @@
1
- import { IElasticsearchIndexingTaskValuesSettings, IIndexSettingsValues } from "../types";
1
+ import type { 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>;
7
+ createIndex(index: string, settings?: Record<string, any>): Promise<void>;
8
+ indexExists(index: string): Promise<boolean>;
6
9
  }
@@ -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 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":[]}