@webiny/api-search-index-tasks 0.0.0-unstable.0156a4c312

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 (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/abstractions/IndexManager.d.ts +22 -0
  4. package/abstractions/IndexManager.js +5 -0
  5. package/abstractions/IndexManager.js.map +1 -0
  6. package/abstractions/IndexManagerFactory.d.ts +13 -0
  7. package/abstractions/IndexManagerFactory.js +5 -0
  8. package/abstractions/IndexManagerFactory.js.map +1 -0
  9. package/abstractions/IndexSettingsManager.d.ts +10 -0
  10. package/abstractions/IndexSettingsManager.js +5 -0
  11. package/abstractions/IndexSettingsManager.js.map +1 -0
  12. package/abstractions/StorageScanner.d.ts +20 -0
  13. package/abstractions/StorageScanner.js +5 -0
  14. package/abstractions/StorageScanner.js.map +1 -0
  15. package/abstractions/StorageWriter.d.ts +14 -0
  16. package/abstractions/StorageWriter.js +5 -0
  17. package/abstractions/StorageWriter.js.map +1 -0
  18. package/abstractions/TenantIndexFactory.d.ts +16 -0
  19. package/abstractions/TenantIndexFactory.js +5 -0
  20. package/abstractions/TenantIndexFactory.js.map +1 -0
  21. package/errors/IndexingDisableError.d.ts +2 -0
  22. package/errors/IndexingDisableError.js +5 -0
  23. package/errors/IndexingDisableError.js.map +1 -0
  24. package/errors/IndexingEnableError.d.ts +2 -0
  25. package/errors/IndexingEnableError.js +5 -0
  26. package/errors/IndexingEnableError.js.map +1 -0
  27. package/feature.d.ts +5 -0
  28. package/feature.js +27 -0
  29. package/feature.js.map +1 -0
  30. package/index.d.ts +23 -0
  31. package/index.js +23 -0
  32. package/package.json +39 -0
  33. package/settings/DisableIndexing.d.ts +11 -0
  34. package/settings/DisableIndexing.js +29 -0
  35. package/settings/DisableIndexing.js.map +1 -0
  36. package/settings/EnableIndexing.d.ts +11 -0
  37. package/settings/EnableIndexing.js +29 -0
  38. package/settings/EnableIndexing.js.map +1 -0
  39. package/settings/abstractions/DisableIndexing.d.ts +9 -0
  40. package/settings/abstractions/DisableIndexing.js +5 -0
  41. package/settings/abstractions/DisableIndexing.js.map +1 -0
  42. package/settings/abstractions/EnableIndexing.d.ts +9 -0
  43. package/settings/abstractions/EnableIndexing.js +5 -0
  44. package/settings/abstractions/EnableIndexing.js.map +1 -0
  45. package/tasks/createIndexes/CreateIndexesRunner.d.ts +19 -0
  46. package/tasks/createIndexes/CreateIndexesRunner.js +73 -0
  47. package/tasks/createIndexes/CreateIndexesRunner.js.map +1 -0
  48. package/tasks/createIndexes/CreateIndexesTask.d.ts +24 -0
  49. package/tasks/createIndexes/CreateIndexesTask.js +49 -0
  50. package/tasks/createIndexes/CreateIndexesTask.js.map +1 -0
  51. package/tasks/createIndexes/OnBeforeTrigger.d.ts +14 -0
  52. package/tasks/createIndexes/OnBeforeTrigger.js +52 -0
  53. package/tasks/createIndexes/OnBeforeTrigger.js.map +1 -0
  54. package/tasks/createIndexes/abstractions/CreateIndexesRunner.d.ts +14 -0
  55. package/tasks/createIndexes/abstractions/CreateIndexesRunner.js +5 -0
  56. package/tasks/createIndexes/abstractions/CreateIndexesRunner.js.map +1 -0
  57. package/tasks/createIndexes/abstractions/OnBeforeTrigger.d.ts +8 -0
  58. package/tasks/createIndexes/abstractions/OnBeforeTrigger.js +5 -0
  59. package/tasks/createIndexes/abstractions/OnBeforeTrigger.js.map +1 -0
  60. package/tasks/createIndexes/createIndexFactory.d.ts +6 -0
  61. package/tasks/createIndexes/createIndexFactory.js +15 -0
  62. package/tasks/createIndexes/createIndexFactory.js.map +1 -0
  63. package/tasks/createIndexes/listIndexes.d.ts +4 -0
  64. package/tasks/createIndexes/listIndexes.js +14 -0
  65. package/tasks/createIndexes/listIndexes.js.map +1 -0
  66. package/tasks/enableIndexing/EnableIndexingRunner.d.ts +13 -0
  67. package/tasks/enableIndexing/EnableIndexingRunner.js +40 -0
  68. package/tasks/enableIndexing/EnableIndexingRunner.js.map +1 -0
  69. package/tasks/enableIndexing/EnableIndexingTask.d.ts +21 -0
  70. package/tasks/enableIndexing/EnableIndexingTask.js +42 -0
  71. package/tasks/enableIndexing/EnableIndexingTask.js.map +1 -0
  72. package/tasks/enableIndexing/abstractions/EnableIndexingRunner.d.ts +15 -0
  73. package/tasks/enableIndexing/abstractions/EnableIndexingRunner.js +5 -0
  74. package/tasks/enableIndexing/abstractions/EnableIndexingRunner.js.map +1 -0
  75. package/tasks/reindex/ReindexRunner.d.ts +24 -0
  76. package/tasks/reindex/ReindexRunner.js +115 -0
  77. package/tasks/reindex/ReindexRunner.js.map +1 -0
  78. package/tasks/reindex/ReindexTask.d.ts +21 -0
  79. package/tasks/reindex/ReindexTask.js +39 -0
  80. package/tasks/reindex/ReindexTask.js.map +1 -0
  81. package/tasks/reindex/abstractions/ReindexRunner.d.ts +21 -0
  82. package/tasks/reindex/abstractions/ReindexRunner.js +5 -0
  83. package/tasks/reindex/abstractions/ReindexRunner.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks/reindex/ReindexRunner.js","sources":["../../../src/tasks/reindex/ReindexRunner.ts"],"sourcesContent":["import type { IIndexManager } from \"~/abstractions/IndexManager.js\";\nimport type { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { TaskController } from \"@webiny/api-core/features/task/TaskController/index.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { ListTenantsUseCase } from \"@webiny/api-core/features/tenancy/ListTenants/index.js\";\nimport { StorageScanner } from \"~/abstractions/StorageScanner.js\";\nimport { StorageWriter } from \"~/abstractions/StorageWriter.js\";\nimport { TenantIndexFactory } from \"~/abstractions/TenantIndexFactory.js\";\nimport { ReindexRunner as Abstraction } from \"./abstractions/ReindexRunner.js\";\n\nclass ReindexRunnerImpl implements Abstraction.Interface {\n constructor(\n private readonly controller: TaskController.Interface,\n private readonly scanner: StorageScanner.Interface,\n private readonly writer: StorageWriter.Interface,\n private readonly tenantContext: TenantContext.Interface,\n private readonly listTenantsUseCase: ListTenantsUseCase.Interface,\n private readonly indexFactories: TenantIndexFactory.Interface[]\n ) {}\n\n public async execute(\n cursor: string | undefined,\n limit: number,\n indexManager: IIndexManager\n ): Promise<TaskDefinition.Result<Abstraction.Input>> {\n const isIndexAllowed = (index: string): boolean => {\n const input = this.controller.state.getInput();\n if (typeof input.matching !== \"string\" || !input.matching) {\n return true;\n }\n return index.includes(input.matching);\n };\n\n const indexConfigs = await this.buildIndexConfigs();\n\n try {\n while (this.controller.runtime.isCloseToTimeout() === false) {\n if (this.controller.runtime.isAborted()) {\n return this.controller.response.aborted();\n }\n\n const results = await this.scanner.scan(cursor, limit);\n if (results.items.length === 0) {\n await indexManager.enableIndexing();\n return this.controller.response.done(\"No more items to process.\");\n }\n\n for (const item of results.items) {\n if (!item.index) {\n continue;\n }\n if (isIndexAllowed(item.index) === false) {\n continue;\n }\n if (!item.entity) {\n continue;\n }\n\n const exists = await indexManager.indexExists(item.index);\n if (!exists) {\n const config = indexConfigs[item.index];\n if (!config) {\n await this.controller.logger.info({\n message: `Index \"${item.index}\" does not exist and no configuration found. Skipping.`\n });\n continue;\n }\n await indexManager.createIndex(item.index, config.settings);\n await this.controller.logger.info({\n message: `Index \"${item.index}\" created.`\n });\n }\n\n await indexManager.disableIndexing(item.index);\n this.writer.put({\n entity: item.entity,\n data: {\n ...item.data,\n modified: new Date().toISOString()\n }\n });\n }\n await this.writer.execute();\n cursor = results.cursor;\n await this.controller.state.updateInput({\n settings: indexManager.settings,\n cursor\n });\n if (!cursor) {\n await indexManager.enableIndexing();\n return this.controller.response.done(\n \"No more items to process - no last evaluated keys.\"\n );\n }\n }\n return this.controller.response.continue({\n cursor\n });\n } catch (ex) {\n try {\n await indexManager.enableIndexing();\n } catch (er) {\n er.data = ex;\n return this.controller.response.error(er);\n }\n return this.controller.response.error(ex);\n }\n }\n\n private async buildIndexConfigs(): Promise<Abstraction.IndexConfigsMap> {\n const configs: Abstraction.IndexConfigsMap = {};\n const tenantsResult = await this.listTenantsUseCase.execute();\n if (tenantsResult.isFail()) {\n throw tenantsResult.error;\n }\n const tenants = tenantsResult.value;\n\n await this.tenantContext.withEachTenant(tenants, async tenant => {\n for (const factory of this.indexFactories) {\n const results = await factory.getIndexList(tenant);\n for (const result of results) {\n if (!configs[result.index]) {\n configs[result.index] = result;\n }\n }\n }\n });\n\n return configs;\n }\n}\n\nexport const ReindexRunner = Abstraction.createImplementation({\n implementation: ReindexRunnerImpl,\n dependencies: [\n TaskController,\n StorageScanner,\n StorageWriter,\n TenantContext,\n ListTenantsUseCase,\n [TenantIndexFactory, { multiple: true }]\n ]\n});\n"],"names":["ReindexRunnerImpl","controller","scanner","writer","tenantContext","listTenantsUseCase","indexFactories","cursor","limit","indexManager","isIndexAllowed","index","input","indexConfigs","results","item","exists","config","Date","ex","er","configs","tenantsResult","tenants","tenant","factory","result","ReindexRunner","Abstraction","TaskController","StorageScanner","StorageWriter","TenantContext","ListTenantsUseCase","TenantIndexFactory"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { TaskDefinition, TaskHandler } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ import { ReindexRunner } from "./abstractions/ReindexRunner.js";
3
+ import { IndexManagerFactory } from "../../abstractions/IndexManagerFactory.js";
4
+ declare class ReindexTaskHandlerImpl implements TaskHandler.Interface<ReindexRunner.Input> {
5
+ private readonly indexManagerFactory;
6
+ private readonly runner;
7
+ constructor(indexManagerFactory: IndexManagerFactory.Interface, runner: ReindexRunner.Interface);
8
+ run({ input, controller }: TaskHandler.RunParams<ReindexRunner.Input>): Promise<TaskDefinition.Result<import("./abstractions/ReindexRunner.js").IReindexInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskOutput>>;
9
+ }
10
+ declare class ReindexTaskImpl implements TaskDefinition.Interface {
11
+ readonly id = "elasticsearchReindexing";
12
+ readonly title = "Reindex Search Index";
13
+ readonly maxIterations = 500;
14
+ handler: typeof ReindexTaskHandlerImpl & {
15
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskHandler<import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskOutput>>;
16
+ };
17
+ }
18
+ export declare const ReindexTask: typeof ReindexTaskImpl & {
19
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskDefinition<import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskOutput>>;
20
+ };
21
+ export {};
@@ -0,0 +1,39 @@
1
+ import { TaskDefinition, TaskHandler } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ import { ReindexRunner } from "./abstractions/ReindexRunner.js";
3
+ import { IndexManagerFactory } from "../../abstractions/IndexManagerFactory.js";
4
+ class ReindexTaskHandlerImpl {
5
+ constructor(indexManagerFactory, runner){
6
+ this.indexManagerFactory = indexManagerFactory;
7
+ this.runner = runner;
8
+ }
9
+ async run({ input, controller }) {
10
+ if (controller.runtime.isAborted()) return controller.response.aborted();
11
+ const indexManager = this.indexManagerFactory.createIndexManager({
12
+ settings: input.settings || {}
13
+ });
14
+ const cursor = input.cursor || void 0;
15
+ return await this.runner.execute(cursor, input.limit || 100, indexManager);
16
+ }
17
+ }
18
+ const ReindexTaskHandler = TaskHandler.createImplementation({
19
+ implementation: ReindexTaskHandlerImpl,
20
+ dependencies: [
21
+ IndexManagerFactory,
22
+ ReindexRunner
23
+ ]
24
+ });
25
+ class ReindexTaskImpl {
26
+ constructor(){
27
+ this.id = "elasticsearchReindexing";
28
+ this.title = "Reindex Search Index";
29
+ this.maxIterations = 500;
30
+ this.handler = ReindexTaskHandler;
31
+ }
32
+ }
33
+ const ReindexTask = TaskDefinition.createImplementation({
34
+ implementation: ReindexTaskImpl,
35
+ dependencies: []
36
+ });
37
+ export { ReindexTask };
38
+
39
+ //# sourceMappingURL=ReindexTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks/reindex/ReindexTask.js","sources":["../../../src/tasks/reindex/ReindexTask.ts"],"sourcesContent":["import {\n TaskDefinition,\n TaskHandler\n} from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { ReindexRunner } from \"./abstractions/ReindexRunner.js\";\nimport { IndexManagerFactory } from \"~/abstractions/IndexManagerFactory.js\";\n\nclass ReindexTaskHandlerImpl implements TaskHandler.Interface<ReindexRunner.Input> {\n constructor(\n private readonly indexManagerFactory: IndexManagerFactory.Interface,\n private readonly runner: ReindexRunner.Interface\n ) {}\n\n async run({ input, controller }: TaskHandler.RunParams<ReindexRunner.Input>) {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n }\n\n const indexManager = this.indexManagerFactory.createIndexManager({\n settings: input.settings || {}\n });\n\n const cursor = input.cursor || undefined;\n return await this.runner.execute(cursor, input.limit || 100, indexManager);\n }\n}\n\nconst ReindexTaskHandler = TaskHandler.createImplementation({\n implementation: ReindexTaskHandlerImpl,\n dependencies: [IndexManagerFactory, ReindexRunner]\n});\n\nclass ReindexTaskImpl implements TaskDefinition.Interface {\n public readonly id = \"elasticsearchReindexing\";\n public readonly title = \"Reindex Search Index\";\n public readonly maxIterations = 500;\n\n handler = ReindexTaskHandler;\n}\n\nexport const ReindexTask = TaskDefinition.createImplementation({\n implementation: ReindexTaskImpl,\n dependencies: []\n});\n"],"names":["ReindexTaskHandlerImpl","indexManagerFactory","runner","input","controller","indexManager","cursor","undefined","ReindexTaskHandler","TaskHandler","IndexManagerFactory","ReindexRunner","ReindexTaskImpl","ReindexTask","TaskDefinition"],"mappings":";;;AAOA,MAAMA;IACF,YACqBC,mBAAkD,EAClDC,MAA+B,CAClD;aAFmBD,mBAAmB,GAAnBA;aACAC,MAAM,GAANA;IAClB;IAEH,MAAM,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAA8C,EAAE;QACzE,IAAIA,WAAW,OAAO,CAAC,SAAS,IAC5B,OAAOA,WAAW,QAAQ,CAAC,OAAO;QAGtC,MAAMC,eAAe,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC;YAC7D,UAAUF,MAAM,QAAQ,IAAI,CAAC;QACjC;QAEA,MAAMG,SAASH,MAAM,MAAM,IAAII;QAC/B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAACD,QAAQH,MAAM,KAAK,IAAI,KAAKE;IACjE;AACJ;AAEA,MAAMG,qBAAqBC,YAAY,oBAAoB,CAAC;IACxD,gBAAgBT;IAChB,cAAc;QAACU;QAAqBC;KAAc;AACtD;AAEA,MAAMC;;aACc,EAAE,GAAG;aACL,KAAK,GAAG;aACR,aAAa,GAAG;aAEhC,OAAO,GAAGJ;;AACd;AAEO,MAAMK,cAAcC,eAAe,oBAAoB,CAAC;IAC3D,gBAAgBF;IAChB,cAAc,EAAE;AACpB"}
@@ -0,0 +1,21 @@
1
+ import type { IIndexManager, IIndexSettingsMap } from "../../../abstractions/IndexManager.js";
2
+ import type { ITenantIndexConfig } from "../../../abstractions/TenantIndexFactory.js";
3
+ import type { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
4
+ export interface IReindexInput {
5
+ matching?: string;
6
+ limit?: number;
7
+ cursor?: string;
8
+ settings?: IIndexSettingsMap;
9
+ }
10
+ export interface IIndexConfigsMap {
11
+ [index: string]: ITenantIndexConfig;
12
+ }
13
+ export interface IReindexRunner {
14
+ execute(cursor: string | undefined, limit: number, indexManager: IIndexManager): Promise<TaskDefinition.Result<IReindexInput>>;
15
+ }
16
+ export declare const ReindexRunner: import("@webiny/di").Abstraction<IReindexRunner>;
17
+ export declare namespace ReindexRunner {
18
+ type Interface = IReindexRunner;
19
+ type Input = IReindexInput;
20
+ type IndexConfigsMap = IIndexConfigsMap;
21
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const ReindexRunner = createAbstraction("SearchIndexTasks/ReindexRunner");
3
+ export { ReindexRunner };
4
+
5
+ //# sourceMappingURL=ReindexRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks/reindex/abstractions/ReindexRunner.js","sources":["../../../../src/tasks/reindex/abstractions/ReindexRunner.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IIndexManager, IIndexSettingsMap } from \"~/abstractions/IndexManager.js\";\nimport type { ITenantIndexConfig } from \"~/abstractions/TenantIndexFactory.js\";\nimport type { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\n\nexport interface IReindexInput {\n matching?: string;\n limit?: number;\n cursor?: string;\n settings?: IIndexSettingsMap;\n}\n\nexport interface IIndexConfigsMap {\n [index: string]: ITenantIndexConfig;\n}\n\nexport interface IReindexRunner {\n execute(\n cursor: string | undefined,\n limit: number,\n indexManager: IIndexManager\n ): Promise<TaskDefinition.Result<IReindexInput>>;\n}\n\nexport const ReindexRunner = createAbstraction<IReindexRunner>(\"SearchIndexTasks/ReindexRunner\");\n\nexport namespace ReindexRunner {\n export type Interface = IReindexRunner;\n export type Input = IReindexInput;\n export type IndexConfigsMap = IIndexConfigsMap;\n}\n"],"names":["ReindexRunner","createAbstraction"],"mappings":";AAwBO,MAAMA,gBAAgBC,kBAAkC"}