@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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Webiny
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # @webiny/api-search-index-tasks
2
+
3
+ > [!NOTE]
4
+ > This package is part of the [Webiny](https://www.webiny.com) monorepo.
5
+ > It’s **included in every Webiny project by default** and is not meant to be used as a standalone package.
6
+
7
+ 📘 **Documentation:** [https://www.webiny.com/docs](https://www.webiny.com/docs)
8
+
9
+ ---
10
+
11
+ _This README file is automatically generated during the publish process._
@@ -0,0 +1,22 @@
1
+ import type { GenericRecord } from "@webiny/api/types.js";
2
+ export interface IIndexSettings {
3
+ numberOfReplicas: number;
4
+ refreshInterval: string;
5
+ }
6
+ export interface IIndexSettingsMap {
7
+ [index: string]: IIndexSettings;
8
+ }
9
+ export interface IIndexManager {
10
+ list(): Promise<string[]>;
11
+ indexExists(index: string): Promise<boolean>;
12
+ createIndex(index: string, settings?: GenericRecord): Promise<void>;
13
+ disableIndexing(index: string): Promise<IIndexSettings>;
14
+ enableIndexing(index?: string): Promise<void>;
15
+ settings: IIndexSettingsMap;
16
+ }
17
+ export declare const IndexManager: import("@webiny/di").Abstraction<IIndexManager>;
18
+ export declare namespace IndexManager {
19
+ type Interface = IIndexManager;
20
+ type Settings = IIndexSettings;
21
+ type SettingsMap = IIndexSettingsMap;
22
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const IndexManager = createAbstraction("SearchIndexTasks/IndexManager");
3
+ export { IndexManager };
4
+
5
+ //# sourceMappingURL=IndexManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractions/IndexManager.js","sources":["../../src/abstractions/IndexManager.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface IIndexSettings {\n numberOfReplicas: number;\n refreshInterval: string;\n}\n\nexport interface IIndexSettingsMap {\n [index: string]: IIndexSettings;\n}\n\nexport interface IIndexManager {\n list(): Promise<string[]>;\n indexExists(index: string): Promise<boolean>;\n createIndex(index: string, settings?: GenericRecord): Promise<void>;\n disableIndexing(index: string): Promise<IIndexSettings>;\n enableIndexing(index?: string): Promise<void>;\n settings: IIndexSettingsMap;\n}\n\nexport const IndexManager = createAbstraction<IIndexManager>(\"SearchIndexTasks/IndexManager\");\n\nexport namespace IndexManager {\n export type Interface = IIndexManager;\n export type Settings = IIndexSettings;\n export type SettingsMap = IIndexSettingsMap;\n}\n"],"names":["IndexManager","createAbstraction"],"mappings":";AAqBO,MAAMA,eAAeC,kBAAiC"}
@@ -0,0 +1,13 @@
1
+ import type { IIndexManager, IIndexSettings, IIndexSettingsMap } from "./IndexManager.js";
2
+ export interface IIndexManagerFactoryParams {
3
+ settings: IIndexSettingsMap;
4
+ defaults?: Partial<IIndexSettings>;
5
+ }
6
+ export interface IIndexManagerFactory {
7
+ createIndexManager(params: IIndexManagerFactoryParams): IIndexManager;
8
+ }
9
+ export declare const IndexManagerFactory: import("@webiny/di").Abstraction<IIndexManagerFactory>;
10
+ export declare namespace IndexManagerFactory {
11
+ type Interface = IIndexManagerFactory;
12
+ type Params = IIndexManagerFactoryParams;
13
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const IndexManagerFactory = createAbstraction("SearchIndexTasks/IndexManagerFactory");
3
+ export { IndexManagerFactory };
4
+
5
+ //# sourceMappingURL=IndexManagerFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractions/IndexManagerFactory.js","sources":["../../src/abstractions/IndexManagerFactory.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IIndexManager, IIndexSettings, IIndexSettingsMap } from \"./IndexManager.js\";\n\nexport interface IIndexManagerFactoryParams {\n settings: IIndexSettingsMap;\n defaults?: Partial<IIndexSettings>;\n}\n\nexport interface IIndexManagerFactory {\n createIndexManager(params: IIndexManagerFactoryParams): IIndexManager;\n}\n\nexport const IndexManagerFactory = createAbstraction<IIndexManagerFactory>(\n \"SearchIndexTasks/IndexManagerFactory\"\n);\n\nexport namespace IndexManagerFactory {\n export type Interface = IIndexManagerFactory;\n export type Params = IIndexManagerFactoryParams;\n}\n"],"names":["IndexManagerFactory","createAbstraction"],"mappings":";AAYO,MAAMA,sBAAsBC,kBAC/B"}
@@ -0,0 +1,10 @@
1
+ import type { IIndexSettings } from "./IndexManager.js";
2
+ export interface IIndexSettingsManager {
3
+ getSettings(index: string): Promise<IIndexSettings>;
4
+ setSettings(index: string, settings: IIndexSettings): Promise<void>;
5
+ }
6
+ export declare const IndexSettingsManager: import("@webiny/di").Abstraction<IIndexSettingsManager>;
7
+ export declare namespace IndexSettingsManager {
8
+ type Interface = IIndexSettingsManager;
9
+ type Settings = IIndexSettings;
10
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const IndexSettingsManager = createAbstraction("SearchIndexTasks/IndexSettingsManager");
3
+ export { IndexSettingsManager };
4
+
5
+ //# sourceMappingURL=IndexSettingsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractions/IndexSettingsManager.js","sources":["../../src/abstractions/IndexSettingsManager.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IIndexSettings } from \"./IndexManager.js\";\n\nexport interface IIndexSettingsManager {\n getSettings(index: string): Promise<IIndexSettings>;\n setSettings(index: string, settings: IIndexSettings): Promise<void>;\n}\n\nexport const IndexSettingsManager = createAbstraction<IIndexSettingsManager>(\n \"SearchIndexTasks/IndexSettingsManager\"\n);\n\nexport namespace IndexSettingsManager {\n export type Interface = IIndexSettingsManager;\n export type Settings = IIndexSettings;\n}\n"],"names":["IndexSettingsManager","createAbstraction"],"mappings":";AAQO,MAAMA,uBAAuBC,kBAChC"}
@@ -0,0 +1,20 @@
1
+ import type { GenericRecord } from "@webiny/api/types.js";
2
+ export interface IStorageScannerRecord {
3
+ index: string;
4
+ entity: string;
5
+ data: GenericRecord;
6
+ modified: string;
7
+ }
8
+ export interface IStorageScannerResult {
9
+ items: IStorageScannerRecord[];
10
+ cursor?: string;
11
+ }
12
+ export interface IStorageScanner {
13
+ scan(cursor: string | undefined, limit: number): Promise<IStorageScannerResult>;
14
+ }
15
+ export declare const StorageScanner: import("@webiny/di").Abstraction<IStorageScanner>;
16
+ export declare namespace StorageScanner {
17
+ type Interface = IStorageScanner;
18
+ type Record = IStorageScannerRecord;
19
+ type Result = IStorageScannerResult;
20
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const StorageScanner = createAbstraction("SearchIndexTasks/StorageScanner");
3
+ export { StorageScanner };
4
+
5
+ //# sourceMappingURL=StorageScanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractions/StorageScanner.js","sources":["../../src/abstractions/StorageScanner.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface IStorageScannerRecord {\n index: string;\n entity: string;\n data: GenericRecord;\n modified: string;\n}\n\nexport interface IStorageScannerResult {\n items: IStorageScannerRecord[];\n cursor?: string;\n}\n\nexport interface IStorageScanner {\n scan(cursor: string | undefined, limit: number): Promise<IStorageScannerResult>;\n}\n\nexport const StorageScanner = createAbstraction<IStorageScanner>(\"SearchIndexTasks/StorageScanner\");\n\nexport namespace StorageScanner {\n export type Interface = IStorageScanner;\n export type Record = IStorageScannerRecord;\n export type Result = IStorageScannerResult;\n}\n"],"names":["StorageScanner","createAbstraction"],"mappings":";AAmBO,MAAMA,iBAAiBC,kBAAmC"}
@@ -0,0 +1,14 @@
1
+ import type { GenericRecord } from "@webiny/api/types.js";
2
+ export interface IStorageWriterRecord {
3
+ entity: string;
4
+ data: GenericRecord;
5
+ }
6
+ export interface IStorageWriter {
7
+ put(record: IStorageWriterRecord): void;
8
+ execute(): Promise<void>;
9
+ }
10
+ export declare const StorageWriter: import("@webiny/di").Abstraction<IStorageWriter>;
11
+ export declare namespace StorageWriter {
12
+ type Interface = IStorageWriter;
13
+ type Record = IStorageWriterRecord;
14
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const StorageWriter = createAbstraction("SearchIndexTasks/StorageWriter");
3
+ export { StorageWriter };
4
+
5
+ //# sourceMappingURL=StorageWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractions/StorageWriter.js","sources":["../../src/abstractions/StorageWriter.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\nexport interface IStorageWriterRecord {\n entity: string;\n data: GenericRecord;\n}\n\nexport interface IStorageWriter {\n put(record: IStorageWriterRecord): void;\n execute(): Promise<void>;\n}\n\nexport const StorageWriter = createAbstraction<IStorageWriter>(\"SearchIndexTasks/StorageWriter\");\n\nexport namespace StorageWriter {\n export type Interface = IStorageWriter;\n export type Record = IStorageWriterRecord;\n}\n"],"names":["StorageWriter","createAbstraction"],"mappings":";AAaO,MAAMA,gBAAgBC,kBAAkC"}
@@ -0,0 +1,16 @@
1
+ import type { GenericRecord } from "@webiny/api/types.js";
2
+ import type { Tenant as BaseTenant } from "@webiny/api-core/types/tenancy.js";
3
+ export interface ITenantIndexConfig {
4
+ index: string;
5
+ settings?: GenericRecord;
6
+ }
7
+ export type ITenant = Pick<BaseTenant, "id">;
8
+ export interface ITenantIndexFactory {
9
+ getIndexList(tenant: ITenant): Promise<ITenantIndexConfig[]>;
10
+ }
11
+ export declare const TenantIndexFactory: import("@webiny/di").Abstraction<ITenantIndexFactory>;
12
+ export declare namespace TenantIndexFactory {
13
+ type Interface = ITenantIndexFactory;
14
+ type IndexConfig = ITenantIndexConfig;
15
+ type Tenant = ITenant;
16
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const TenantIndexFactory = createAbstraction("SearchIndexTenantIndexFactory");
3
+ export { TenantIndexFactory };
4
+
5
+ //# sourceMappingURL=TenantIndexFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractions/TenantIndexFactory.js","sources":["../../src/abstractions/TenantIndexFactory.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport type { Tenant as BaseTenant } from \"@webiny/api-core/types/tenancy.js\";\n\nexport interface ITenantIndexConfig {\n index: string;\n settings?: GenericRecord;\n}\n\nexport type ITenant = Pick<BaseTenant, \"id\">;\n\nexport interface ITenantIndexFactory {\n getIndexList(tenant: ITenant): Promise<ITenantIndexConfig[]>;\n}\n\nexport const TenantIndexFactory = createAbstraction<ITenantIndexFactory>(\n \"SearchIndexTenantIndexFactory\"\n);\n\nexport namespace TenantIndexFactory {\n export type Interface = ITenantIndexFactory;\n export type IndexConfig = ITenantIndexConfig;\n export type Tenant = ITenant;\n}\n"],"names":["TenantIndexFactory","createAbstraction"],"mappings":";AAeO,MAAMA,qBAAqBC,kBAC9B"}
@@ -0,0 +1,2 @@
1
+ export declare class IndexingDisableError extends Error {
2
+ }
@@ -0,0 +1,5 @@
1
+ class IndexingDisableError extends Error {
2
+ }
3
+ export { IndexingDisableError };
4
+
5
+ //# sourceMappingURL=IndexingDisableError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors/IndexingDisableError.js","sources":["../../src/errors/IndexingDisableError.ts"],"sourcesContent":["export class IndexingDisableError extends Error {}\n"],"names":["IndexingDisableError","Error"],"mappings":"AAAO,MAAMA,6BAA6BC;AAAO"}
@@ -0,0 +1,2 @@
1
+ export declare class IndexingEnableError extends Error {
2
+ }
@@ -0,0 +1,5 @@
1
+ class IndexingEnableError extends Error {
2
+ }
3
+ export { IndexingEnableError };
4
+
5
+ //# sourceMappingURL=IndexingEnableError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors/IndexingEnableError.js","sources":["../../src/errors/IndexingEnableError.ts"],"sourcesContent":["export class IndexingEnableError extends Error {}\n"],"names":["IndexingEnableError","Error"],"mappings":"AAAO,MAAMA,4BAA4BC;AAAO"}
package/feature.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { type Container } from "@webiny/feature/api";
2
+ export declare const SearchIndexTasksFeature: {
3
+ name: string;
4
+ register(container: Container): void;
5
+ };
package/feature.js ADDED
@@ -0,0 +1,27 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { DisableIndexing } from "./settings/DisableIndexing.js";
3
+ import { EnableIndexing } from "./settings/EnableIndexing.js";
4
+ import { ReindexRunner } from "./tasks/reindex/ReindexRunner.js";
5
+ import { ReindexTask } from "./tasks/reindex/ReindexTask.js";
6
+ import { EnableIndexingRunner } from "./tasks/enableIndexing/EnableIndexingRunner.js";
7
+ import { EnableIndexingTask } from "./tasks/enableIndexing/EnableIndexingTask.js";
8
+ import { CreateIndexesRunner } from "./tasks/createIndexes/CreateIndexesRunner.js";
9
+ import { OnBeforeTrigger } from "./tasks/createIndexes/OnBeforeTrigger.js";
10
+ import { CreateIndexesTask } from "./tasks/createIndexes/CreateIndexesTask.js";
11
+ const SearchIndexTasksFeature = createFeature({
12
+ name: "SearchIndexTasks",
13
+ register (container) {
14
+ container.register(DisableIndexing);
15
+ container.register(EnableIndexing);
16
+ container.register(ReindexRunner);
17
+ container.register(ReindexTask);
18
+ container.register(EnableIndexingRunner);
19
+ container.register(EnableIndexingTask);
20
+ container.register(CreateIndexesRunner);
21
+ container.register(OnBeforeTrigger);
22
+ container.register(CreateIndexesTask);
23
+ }
24
+ });
25
+ export { SearchIndexTasksFeature };
26
+
27
+ //# sourceMappingURL=feature.js.map
package/feature.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature.js","sources":["../src/feature.ts"],"sourcesContent":["import { type Container, createFeature } from \"@webiny/feature/api\";\nimport { DisableIndexing } from \"~/settings/DisableIndexing.js\";\nimport { EnableIndexing } from \"~/settings/EnableIndexing.js\";\nimport { ReindexRunner } from \"~/tasks/reindex/ReindexRunner.js\";\nimport { ReindexTask } from \"~/tasks/reindex/ReindexTask.js\";\nimport { EnableIndexingRunner } from \"~/tasks/enableIndexing/EnableIndexingRunner.js\";\nimport { EnableIndexingTask } from \"~/tasks/enableIndexing/EnableIndexingTask.js\";\nimport { CreateIndexesRunner } from \"~/tasks/createIndexes/CreateIndexesRunner.js\";\nimport { OnBeforeTrigger } from \"~/tasks/createIndexes/OnBeforeTrigger.js\";\nimport { CreateIndexesTask } from \"~/tasks/createIndexes/CreateIndexesTask.js\";\n\nexport const SearchIndexTasksFeature = createFeature({\n name: \"SearchIndexTasks\",\n register(container: Container) {\n container.register(DisableIndexing);\n container.register(EnableIndexing);\n container.register(ReindexRunner);\n container.register(ReindexTask);\n container.register(EnableIndexingRunner);\n container.register(EnableIndexingTask);\n container.register(CreateIndexesRunner);\n container.register(OnBeforeTrigger);\n container.register(CreateIndexesTask);\n }\n});\n"],"names":["SearchIndexTasksFeature","createFeature","container","DisableIndexing","EnableIndexing","ReindexRunner","ReindexTask","EnableIndexingRunner","EnableIndexingTask","CreateIndexesRunner","OnBeforeTrigger","CreateIndexesTask"],"mappings":";;;;;;;;;;AAWO,MAAMA,0BAA0BC,cAAc;IACjD,MAAM;IACN,UAASC,SAAoB;QACzBA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;QACnBJ,UAAU,QAAQ,CAACK;QACnBL,UAAU,QAAQ,CAACM;QACnBN,UAAU,QAAQ,CAACO;QACnBP,UAAU,QAAQ,CAACQ;QACnBR,UAAU,QAAQ,CAACS;IACvB;AACJ"}
package/index.d.ts ADDED
@@ -0,0 +1,23 @@
1
+ import "@webiny/background-tasks/api/features/TaskController/index.js";
2
+ export { StorageScanner } from "./abstractions/StorageScanner.js";
3
+ export { IndexManager } from "./abstractions/IndexManager.js";
4
+ export { StorageWriter } from "./abstractions/StorageWriter.js";
5
+ export { IndexManagerFactory } from "./abstractions/IndexManagerFactory.js";
6
+ export { IndexSettingsManager } from "./abstractions/IndexSettingsManager.js";
7
+ export { DisableIndexing } from "./settings/abstractions/DisableIndexing.js";
8
+ export { EnableIndexing } from "./settings/abstractions/EnableIndexing.js";
9
+ export { DisableIndexing as DisableIndexingImpl } from "./settings/DisableIndexing.js";
10
+ export { EnableIndexing as EnableIndexingImpl } from "./settings/EnableIndexing.js";
11
+ export { EnableIndexingRunner } from "./tasks/enableIndexing/abstractions/EnableIndexingRunner.js";
12
+ export { EnableIndexingRunner as EnableIndexingRunnerImpl } from "./tasks/enableIndexing/EnableIndexingRunner.js";
13
+ export { EnableIndexingTask } from "./tasks/enableIndexing/EnableIndexingTask.js";
14
+ export { TenantIndexFactory } from "./abstractions/TenantIndexFactory.js";
15
+ export { CreateIndexesRunner } from "./tasks/createIndexes/abstractions/CreateIndexesRunner.js";
16
+ export { OnBeforeTrigger } from "./tasks/createIndexes/abstractions/OnBeforeTrigger.js";
17
+ export { CreateIndexesRunner as CreateIndexesRunnerImpl } from "./tasks/createIndexes/CreateIndexesRunner.js";
18
+ export { OnBeforeTrigger as OnBeforeTriggerImpl } from "./tasks/createIndexes/OnBeforeTrigger.js";
19
+ export { CreateIndexesTask } from "./tasks/createIndexes/CreateIndexesTask.js";
20
+ export { ReindexRunner } from "./tasks/reindex/abstractions/ReindexRunner.js";
21
+ export { ReindexRunner as ReindexRunnerImpl } from "./tasks/reindex/ReindexRunner.js";
22
+ export { ReindexTask } from "./tasks/reindex/ReindexTask.js";
23
+ export { SearchIndexTasksFeature } from "./feature.js";
package/index.js ADDED
@@ -0,0 +1,23 @@
1
+ import "@webiny/background-tasks/api/features/TaskController/index.js";
2
+ export { StorageScanner } from "./abstractions/StorageScanner.js";
3
+ export { IndexManager } from "./abstractions/IndexManager.js";
4
+ export { StorageWriter } from "./abstractions/StorageWriter.js";
5
+ export { IndexManagerFactory } from "./abstractions/IndexManagerFactory.js";
6
+ export { IndexSettingsManager } from "./abstractions/IndexSettingsManager.js";
7
+ export { DisableIndexing } from "./settings/abstractions/DisableIndexing.js";
8
+ export { EnableIndexing } from "./settings/abstractions/EnableIndexing.js";
9
+ export { DisableIndexing as DisableIndexingImpl } from "./settings/DisableIndexing.js";
10
+ export { EnableIndexing as EnableIndexingImpl } from "./settings/EnableIndexing.js";
11
+ export { EnableIndexingRunner } from "./tasks/enableIndexing/abstractions/EnableIndexingRunner.js";
12
+ export { EnableIndexingRunner as EnableIndexingRunnerImpl } from "./tasks/enableIndexing/EnableIndexingRunner.js";
13
+ export { EnableIndexingTask } from "./tasks/enableIndexing/EnableIndexingTask.js";
14
+ export { TenantIndexFactory } from "./abstractions/TenantIndexFactory.js";
15
+ export { CreateIndexesRunner } from "./tasks/createIndexes/abstractions/CreateIndexesRunner.js";
16
+ export { OnBeforeTrigger } from "./tasks/createIndexes/abstractions/OnBeforeTrigger.js";
17
+ export { CreateIndexesRunner as CreateIndexesRunnerImpl } from "./tasks/createIndexes/CreateIndexesRunner.js";
18
+ export { OnBeforeTrigger as OnBeforeTriggerImpl } from "./tasks/createIndexes/OnBeforeTrigger.js";
19
+ export { CreateIndexesTask } from "./tasks/createIndexes/CreateIndexesTask.js";
20
+ export { ReindexRunner } from "./tasks/reindex/abstractions/ReindexRunner.js";
21
+ export { ReindexRunner as ReindexRunnerImpl } from "./tasks/reindex/ReindexRunner.js";
22
+ export { ReindexTask } from "./tasks/reindex/ReindexTask.js";
23
+ export { SearchIndexTasksFeature } from "./feature.js";
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@webiny/api-search-index-tasks",
3
+ "version": "0.0.0-unstable.0156a4c312",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": "./index.js",
7
+ "./*": "./*"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/webiny/webiny-js.git",
12
+ "directory": "packages/api-search-index-tasks"
13
+ },
14
+ "description": "Platform-agnostic search index background tasks.",
15
+ "license": "MIT",
16
+ "author": "Webiny Ltd.",
17
+ "dependencies": {
18
+ "@webiny/api": "0.0.0-unstable.0156a4c312",
19
+ "@webiny/api-core": "0.0.0-unstable.0156a4c312",
20
+ "@webiny/background-tasks": "0.0.0-unstable.0156a4c312",
21
+ "@webiny/feature": "0.0.0-unstable.0156a4c312"
22
+ },
23
+ "devDependencies": {
24
+ "@webiny/build-tools": "0.0.0-unstable.0156a4c312",
25
+ "typescript": "7.0.2",
26
+ "vitest": "5.0.5"
27
+ },
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "adio": {
32
+ "ignoreDirs": [
33
+ "__tests__"
34
+ ]
35
+ },
36
+ "webiny": {
37
+ "publishFrom": "dist"
38
+ }
39
+ }
@@ -0,0 +1,11 @@
1
+ import { IndexSettingsManager } from "../abstractions/IndexSettingsManager.js";
2
+ import { DisableIndexing as Abstraction } from "./abstractions/DisableIndexing.js";
3
+ declare class DisableIndexingImpl implements Abstraction.Interface {
4
+ private readonly settings;
5
+ constructor(settings: IndexSettingsManager.Interface);
6
+ execute(index: string): Promise<Abstraction.Settings>;
7
+ }
8
+ export declare const DisableIndexing: typeof DisableIndexingImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions/DisableIndexing.js").IDisableIndexing>;
10
+ };
11
+ export {};
@@ -0,0 +1,29 @@
1
+ import { IndexingDisableError } from "../errors/IndexingDisableError.js";
2
+ import { IndexSettingsManager } from "../abstractions/IndexSettingsManager.js";
3
+ import { DisableIndexing } from "./abstractions/DisableIndexing.js";
4
+ class DisableIndexingImpl {
5
+ constructor(settings){
6
+ this.settings = settings;
7
+ }
8
+ async execute(index) {
9
+ const settings = await this.settings.getSettings(index);
10
+ try {
11
+ await this.settings.setSettings(index, {
12
+ numberOfReplicas: 0,
13
+ refreshInterval: "-1"
14
+ });
15
+ } catch (ex) {
16
+ throw new IndexingDisableError(ex instanceof Error ? ex.message : String(ex));
17
+ }
18
+ return settings;
19
+ }
20
+ }
21
+ const DisableIndexing_DisableIndexing = DisableIndexing.createImplementation({
22
+ implementation: DisableIndexingImpl,
23
+ dependencies: [
24
+ IndexSettingsManager
25
+ ]
26
+ });
27
+ export { DisableIndexing_DisableIndexing as DisableIndexing };
28
+
29
+ //# sourceMappingURL=DisableIndexing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings/DisableIndexing.js","sources":["../../src/settings/DisableIndexing.ts"],"sourcesContent":["import { IndexingDisableError } from \"~/errors/IndexingDisableError.js\";\nimport { IndexSettingsManager } from \"~/abstractions/IndexSettingsManager.js\";\nimport { DisableIndexing as Abstraction } from \"./abstractions/DisableIndexing.js\";\n\nclass DisableIndexingImpl implements Abstraction.Interface {\n constructor(private readonly settings: IndexSettingsManager.Interface) {}\n\n public async execute(index: string): Promise<Abstraction.Settings> {\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 instanceof Error ? ex.message : String(ex));\n }\n\n return settings;\n }\n}\n\nexport const DisableIndexing = Abstraction.createImplementation({\n implementation: DisableIndexingImpl,\n dependencies: [IndexSettingsManager]\n});\n"],"names":["DisableIndexingImpl","settings","index","ex","IndexingDisableError","Error","String","DisableIndexing","Abstraction","IndexSettingsManager"],"mappings":";;;AAIA,MAAMA;IACF,YAA6BC,QAAwC,CAAE;aAA1CA,QAAQ,GAARA;IAA2C;IAExE,MAAa,QAAQC,KAAa,EAAiC;QAC/D,MAAMD,WAAW,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAACC;QAEjD,IAAI;YACA,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAACA,OAAO;gBACnC,kBAAkB;gBAClB,iBAAiB;YACrB;QACJ,EAAE,OAAOC,IAAI;YACT,MAAM,IAAIC,qBAAqBD,cAAcE,QAAQF,GAAG,OAAO,GAAGG,OAAOH;QAC7E;QAEA,OAAOF;IACX;AACJ;AAEO,MAAMM,kCAAkBC,gBAAAA,oBAAgC,CAAC;IAC5D,gBAAgBR;IAChB,cAAc;QAACS;KAAqB;AACxC"}
@@ -0,0 +1,11 @@
1
+ import { IndexSettingsManager } from "../abstractions/IndexSettingsManager.js";
2
+ import { EnableIndexing as Abstraction } from "./abstractions/EnableIndexing.js";
3
+ declare class EnableIndexingImpl implements Abstraction.Interface {
4
+ private readonly settings;
5
+ constructor(settings: IndexSettingsManager.Interface);
6
+ execute(index: string, settings: Abstraction.Settings): Promise<void>;
7
+ }
8
+ export declare const EnableIndexing: typeof EnableIndexingImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions/EnableIndexing.js").IEnableIndexing>;
10
+ };
11
+ export {};
@@ -0,0 +1,29 @@
1
+ import { IndexingEnableError } from "../errors/IndexingEnableError.js";
2
+ import { IndexSettingsManager } from "../abstractions/IndexSettingsManager.js";
3
+ import { EnableIndexing } from "./abstractions/EnableIndexing.js";
4
+ class EnableIndexingImpl {
5
+ constructor(settings){
6
+ this.settings = settings;
7
+ }
8
+ async execute(index, settings) {
9
+ try {
10
+ const refreshInterval = parseInt(settings.refreshInterval || "", 10) || 0;
11
+ await this.settings.setSettings(index, {
12
+ ...settings,
13
+ numberOfReplicas: settings.numberOfReplicas < 1 ? 1 : settings.numberOfReplicas,
14
+ refreshInterval: refreshInterval <= 0 ? "1s" : settings.refreshInterval
15
+ });
16
+ } catch (ex) {
17
+ throw new IndexingEnableError(ex instanceof Error ? ex.message : String(ex));
18
+ }
19
+ }
20
+ }
21
+ const EnableIndexing_EnableIndexing = EnableIndexing.createImplementation({
22
+ implementation: EnableIndexingImpl,
23
+ dependencies: [
24
+ IndexSettingsManager
25
+ ]
26
+ });
27
+ export { EnableIndexing_EnableIndexing as EnableIndexing };
28
+
29
+ //# sourceMappingURL=EnableIndexing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings/EnableIndexing.js","sources":["../../src/settings/EnableIndexing.ts"],"sourcesContent":["import { IndexingEnableError } from \"~/errors/IndexingEnableError.js\";\nimport { IndexSettingsManager } from \"~/abstractions/IndexSettingsManager.js\";\nimport { EnableIndexing as Abstraction } from \"./abstractions/EnableIndexing.js\";\n\nclass EnableIndexingImpl implements Abstraction.Interface {\n constructor(private readonly settings: IndexSettingsManager.Interface) {}\n\n public async execute(index: string, settings: Abstraction.Settings): 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 instanceof Error ? ex.message : String(ex));\n }\n }\n}\n\nexport const EnableIndexing = Abstraction.createImplementation({\n implementation: EnableIndexingImpl,\n dependencies: [IndexSettingsManager]\n});\n"],"names":["EnableIndexingImpl","settings","index","refreshInterval","parseInt","ex","IndexingEnableError","Error","String","EnableIndexing","Abstraction","IndexSettingsManager"],"mappings":";;;AAIA,MAAMA;IACF,YAA6BC,QAAwC,CAAE;aAA1CA,QAAQ,GAARA;IAA2C;IAExE,MAAa,QAAQC,KAAa,EAAED,QAA8B,EAAiB;QAC/E,IAAI;YACA,MAAME,kBAAkBC,SAASH,SAAS,eAAe,IAAI,IAAI,OAAO;YACxE,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAACC,OAAO;gBACnC,GAAGD,QAAQ;gBACX,kBAAkBA,SAAS,gBAAgB,GAAG,IAAI,IAAIA,SAAS,gBAAgB;gBAC/E,iBAAiBE,mBAAmB,IAAI,OAAOF,SAAS,eAAe;YAC3E;QACJ,EAAE,OAAOI,IAAI;YACT,MAAM,IAAIC,oBAAoBD,cAAcE,QAAQF,GAAG,OAAO,GAAGG,OAAOH;QAC5E;IACJ;AACJ;AAEO,MAAMI,gCAAiBC,eAAAA,oBAAgC,CAAC;IAC3D,gBAAgBV;IAChB,cAAc;QAACW;KAAqB;AACxC"}
@@ -0,0 +1,9 @@
1
+ import type { IIndexSettings } from "../../abstractions/IndexManager.js";
2
+ export interface IDisableIndexing {
3
+ execute(index: string): Promise<IIndexSettings>;
4
+ }
5
+ export declare const DisableIndexing: import("@webiny/di").Abstraction<IDisableIndexing>;
6
+ export declare namespace DisableIndexing {
7
+ type Interface = IDisableIndexing;
8
+ type Settings = IIndexSettings;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const DisableIndexing = createAbstraction("SearchIndexTasks/DisableIndexing");
3
+ export { DisableIndexing };
4
+
5
+ //# sourceMappingURL=DisableIndexing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings/abstractions/DisableIndexing.js","sources":["../../../src/settings/abstractions/DisableIndexing.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IIndexSettings } from \"~/abstractions/IndexManager.js\";\n\nexport interface IDisableIndexing {\n execute(index: string): Promise<IIndexSettings>;\n}\n\nexport const DisableIndexing = createAbstraction<IDisableIndexing>(\n \"SearchIndexTasks/DisableIndexing\"\n);\n\nexport namespace DisableIndexing {\n export type Interface = IDisableIndexing;\n export type Settings = IIndexSettings;\n}\n"],"names":["DisableIndexing","createAbstraction"],"mappings":";AAOO,MAAMA,kBAAkBC,kBAC3B"}
@@ -0,0 +1,9 @@
1
+ import type { IIndexSettings } from "../../abstractions/IndexManager.js";
2
+ export interface IEnableIndexing {
3
+ execute(index: string, settings: IIndexSettings): Promise<void>;
4
+ }
5
+ export declare const EnableIndexing: import("@webiny/di").Abstraction<IEnableIndexing>;
6
+ export declare namespace EnableIndexing {
7
+ type Interface = IEnableIndexing;
8
+ type Settings = IIndexSettings;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const EnableIndexing = createAbstraction("SearchIndexTasks/EnableIndexing");
3
+ export { EnableIndexing };
4
+
5
+ //# sourceMappingURL=EnableIndexing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings/abstractions/EnableIndexing.js","sources":["../../../src/settings/abstractions/EnableIndexing.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IIndexSettings } from \"~/abstractions/IndexManager.js\";\n\nexport interface IEnableIndexing {\n execute(index: string, settings: IIndexSettings): Promise<void>;\n}\n\nexport const EnableIndexing = createAbstraction<IEnableIndexing>(\"SearchIndexTasks/EnableIndexing\");\n\nexport namespace EnableIndexing {\n export type Interface = IEnableIndexing;\n export type Settings = IIndexSettings;\n}\n"],"names":["EnableIndexing","createAbstraction"],"mappings":";AAOO,MAAMA,iBAAiBC,kBAAmC"}
@@ -0,0 +1,19 @@
1
+ import type { IIndexManager } from "../../abstractions/IndexManager.js";
2
+ import type { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
3
+ import { TaskController } from "@webiny/api-core/features/task/TaskController/index.js";
4
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
5
+ import { TenantIndexFactory } from "../../abstractions/TenantIndexFactory.js";
6
+ import { ListTenantsUseCase } from "@webiny/api-core/features/tenancy/ListTenants/index.js";
7
+ import { CreateIndexesRunner as Abstraction } from "./abstractions/CreateIndexesRunner.js";
8
+ declare class CreateIndexesRunnerImpl implements Abstraction.Interface {
9
+ private readonly controller;
10
+ private readonly tenantContext;
11
+ private readonly listTenantsUseCase;
12
+ private readonly indexFactories;
13
+ constructor(controller: TaskController.Interface, tenantContext: TenantContext.Interface, listTenantsUseCase: ListTenantsUseCase.Interface, indexFactories: TenantIndexFactory.Interface[]);
14
+ execute(matching: string | undefined, done: string[], indexManager: IIndexManager): Promise<TaskDefinition.Result>;
15
+ }
16
+ export declare const CreateIndexesRunner: typeof CreateIndexesRunnerImpl & {
17
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions/CreateIndexesRunner.js").ICreateIndexesRunner>;
18
+ };
19
+ export {};
@@ -0,0 +1,73 @@
1
+ import { TaskController } from "@webiny/api-core/features/task/TaskController/index.js";
2
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
3
+ import { TenantIndexFactory } from "../../abstractions/TenantIndexFactory.js";
4
+ import { ListTenantsUseCase } from "@webiny/api-core/features/tenancy/ListTenants/index.js";
5
+ import { listIndexes } from "./listIndexes.js";
6
+ import { createIndexFactory } from "./createIndexFactory.js";
7
+ import { CreateIndexesRunner } from "./abstractions/CreateIndexesRunner.js";
8
+ class CreateIndexesRunnerImpl {
9
+ constructor(controller, tenantContext, listTenantsUseCase, indexFactories){
10
+ this.controller = controller;
11
+ this.tenantContext = tenantContext;
12
+ this.listTenantsUseCase = listTenantsUseCase;
13
+ this.indexFactories = indexFactories;
14
+ }
15
+ async execute(matching, done, indexManager) {
16
+ if (0 === this.indexFactories.length) return this.controller.response.done("No index plugins found.");
17
+ const tenantsResult = await this.listTenantsUseCase.execute();
18
+ if (tenantsResult.isFail()) return this.controller.response.error(tenantsResult.error);
19
+ const tenants = tenantsResult.value;
20
+ const indexes = await listIndexes(this.tenantContext, tenants, this.indexFactories);
21
+ if (0 === indexes.length) return this.controller.response.done("No indexes found.");
22
+ const isIndexAllowed = (index)=>{
23
+ if ("string" != typeof matching || !matching) return true;
24
+ return index.includes(matching);
25
+ };
26
+ const factory = createIndexFactory(indexManager);
27
+ for (const { index, settings } of indexes){
28
+ if (this.controller.runtime.isAborted()) return this.controller.response.aborted();
29
+ else if (this.controller.runtime.isCloseToTimeout()) return this.controller.response.continue({
30
+ done
31
+ });
32
+ try {
33
+ if (done.includes(index)) continue;
34
+ else if (false === isIndexAllowed(index)) continue;
35
+ const exists = await indexManager.indexExists(index);
36
+ if (exists) continue;
37
+ done.push(index);
38
+ await factory.create(index, settings);
39
+ await this.controller.logger.info({
40
+ message: `Index "${index}" created.`,
41
+ data: {
42
+ index
43
+ }
44
+ });
45
+ } catch (ex) {
46
+ await this.controller.logger.error({
47
+ message: `Failed to create index "${index}".`,
48
+ error: ex
49
+ });
50
+ }
51
+ }
52
+ return this.controller.response.done("Indexes created.", {
53
+ done
54
+ });
55
+ }
56
+ }
57
+ const CreateIndexesRunner_CreateIndexesRunner = CreateIndexesRunner.createImplementation({
58
+ implementation: CreateIndexesRunnerImpl,
59
+ dependencies: [
60
+ TaskController,
61
+ TenantContext,
62
+ ListTenantsUseCase,
63
+ [
64
+ TenantIndexFactory,
65
+ {
66
+ multiple: true
67
+ }
68
+ ]
69
+ ]
70
+ });
71
+ export { CreateIndexesRunner_CreateIndexesRunner as CreateIndexesRunner };
72
+
73
+ //# sourceMappingURL=CreateIndexesRunner.js.map