@webiny/api-headless-cms-es-tasks 0.0.0-unstable.e622468070 → 0.0.0-unstable.e6f0dc8ca7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms-es-tasks",
3
- "version": "0.0.0-unstable.e622468070",
3
+ "version": "0.0.0-unstable.e6f0dc8ca7",
4
4
  "type": "module",
5
- "main": "index.js",
5
+ "exports": {
6
+ ".": "./index.js",
7
+ "./*": "./*"
8
+ },
6
9
  "description": "Elasticsearch Background tasks for Webiny Headless CMS",
7
10
  "keywords": [
8
11
  "api-headless-cms-es-tasks:base"
@@ -14,29 +17,29 @@
14
17
  },
15
18
  "license": "MIT",
16
19
  "dependencies": {
17
- "@webiny/api-core": "0.0.0-unstable.e622468070",
18
- "@webiny/api-elasticsearch": "0.0.0-unstable.e622468070",
19
- "@webiny/api-headless-cms": "0.0.0-unstable.e622468070",
20
- "@webiny/api-headless-cms-ddb-es": "0.0.0-unstable.e622468070",
21
- "@webiny/handler": "0.0.0-unstable.e622468070",
22
- "@webiny/handler-aws": "0.0.0-unstable.e622468070",
23
- "@webiny/tasks": "0.0.0-unstable.e622468070",
24
- "@webiny/utils": "0.0.0-unstable.e622468070"
20
+ "@webiny/api-core": "0.0.0-unstable.e6f0dc8ca7",
21
+ "@webiny/api-headless-cms": "0.0.0-unstable.e6f0dc8ca7",
22
+ "@webiny/api-headless-cms-ddb-es": "0.0.0-unstable.e6f0dc8ca7",
23
+ "@webiny/api-opensearch": "0.0.0-unstable.e6f0dc8ca7",
24
+ "@webiny/error": "0.0.0-unstable.e6f0dc8ca7",
25
+ "@webiny/handler": "0.0.0-unstable.e6f0dc8ca7",
26
+ "@webiny/handler-aws": "0.0.0-unstable.e6f0dc8ca7",
27
+ "@webiny/tasks": "0.0.0-unstable.e6f0dc8ca7",
28
+ "@webiny/utils": "0.0.0-unstable.e6f0dc8ca7"
25
29
  },
26
30
  "devDependencies": {
27
- "@faker-js/faker": "9.9.0",
28
- "@webiny/api": "0.0.0-unstable.e622468070",
29
- "@webiny/build-tools": "0.0.0-unstable.e622468070",
30
- "@webiny/handler-graphql": "0.0.0-unstable.e622468070",
31
- "@webiny/plugins": "0.0.0-unstable.e622468070",
32
- "@webiny/project-utils": "0.0.0-unstable.e622468070",
33
- "@webiny/wcp": "0.0.0-unstable.e622468070",
34
- "typescript": "5.9.3",
35
- "vitest": "3.2.4"
31
+ "@webiny/api": "0.0.0-unstable.e6f0dc8ca7",
32
+ "@webiny/build-tools": "0.0.0-unstable.e6f0dc8ca7",
33
+ "@webiny/handler-graphql": "0.0.0-unstable.e6f0dc8ca7",
34
+ "@webiny/plugins": "0.0.0-unstable.e6f0dc8ca7",
35
+ "@webiny/project-utils": "0.0.0-unstable.e6f0dc8ca7",
36
+ "@webiny/wcp": "0.0.0-unstable.e6f0dc8ca7",
37
+ "typescript": "6.0.3",
38
+ "vitest": "4.1.5"
36
39
  },
37
40
  "publishConfig": {
38
41
  "access": "public",
39
42
  "directory": "dist"
40
43
  },
41
- "gitHead": "e622468070839dc3f9552c85bf2bbac12d2ef88f"
44
+ "gitHead": "e6f0dc8ca741c1fcc3fec9a5b9e86fdd49544641"
42
45
  }
@@ -1,6 +1,6 @@
1
1
  import { mockData } from "./mockData.js";
2
- import { createWaitUntilHealthy } from "@webiny/api-elasticsearch/utils/waitUntilHealthy/index.js";
3
- import { ElasticsearchCatClusterHealthStatus } from "@webiny/api-elasticsearch/operations/types.js";
2
+ import { createWaitUntilHealthy } from "@webiny/api-opensearch/utils/waitUntilHealthy/index.js";
3
+ import { OpenSearchCatClusterHealthStatus } from "@webiny/api-opensearch/operations/types.js";
4
4
  import { mdbid } from "@webiny/utils";
5
5
  import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
6
6
  import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
@@ -27,11 +27,11 @@ export class MockDataCreator {
27
27
  return controller.response.error(modelResult.error);
28
28
  }
29
29
  const model = modelResult.value;
30
- const healthCheck = createWaitUntilHealthy(this.context.elasticsearch, {
30
+ const healthCheck = createWaitUntilHealthy(this.context.opensearch, {
31
31
  waitingTimeStep: 20,
32
32
  maxWaitingTime: 150,
33
33
  maxProcessorPercent: 80,
34
- minClusterHealthStatus: ElasticsearchCatClusterHealthStatus.Yellow,
34
+ minClusterHealthStatus: OpenSearchCatClusterHealthStatus.Yellow,
35
35
  maxRamPercent: 101
36
36
  });
37
37
  let createdAmount = input.createdAmount;
@@ -1 +1 @@
1
- {"version":3,"names":["mockData","createWaitUntilHealthy","ElasticsearchCatClusterHealthStatus","mdbid","GetModelUseCase","CreateEntryUseCase","MockDataCreator","constructor","context","execute","params","input","controller","runtime","isAborted","response","aborted","isCloseToTimeout","continue","getModel","container","resolve","createEntry","modelResult","isFail","error","model","value","healthCheck","elasticsearch","waitingTimeStep","maxWaitingTime","maxProcessorPercent","minClusterHealthStatus","Yellow","maxRamPercent","createdAmount","totalAmount","wait","onUnhealthy","startedAt","mustEndAt","runs","waitingReason","console","warn","onTimeout","seconds","taskId","state","getTask","id","createResult","location","wbyAco_location","values","done"],"sources":["MockDataCreator.ts"],"sourcesContent":["import type { IMockDataCreatorInput, IMockDataCreatorOutput } from \"./types.js\";\nimport { mockData } from \"./mockData.js\";\nimport { createWaitUntilHealthy } from \"@webiny/api-elasticsearch/utils/waitUntilHealthy/index.js\";\nimport { ElasticsearchCatClusterHealthStatus } from \"@webiny/api-elasticsearch/operations/types.js\";\nimport { mdbid } from \"@webiny/utils\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport type { Context } from \"~/types.js\";\n\nexport class MockDataCreator<I extends IMockDataCreatorInput, O extends IMockDataCreatorOutput> {\n constructor(private context: Context) {}\n\n public async execute(\n params: TaskDefinition.RunParams<I, O>\n ): Promise<TaskDefinition.Result<I, O>> {\n const { input, controller } = params;\n\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n } else if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue({\n ...input\n });\n }\n\n const getModel = this.context.container.resolve(GetModelUseCase);\n const createEntry = this.context.container.resolve(CreateEntryUseCase);\n\n const modelResult = await getModel.execute(\"cars\");\n if (modelResult.isFail()) {\n return controller.response.error(modelResult.error);\n }\n\n const model = modelResult.value;\n\n const healthCheck = createWaitUntilHealthy(this.context.elasticsearch, {\n waitingTimeStep: 20,\n maxWaitingTime: 150,\n maxProcessorPercent: 80,\n minClusterHealthStatus: ElasticsearchCatClusterHealthStatus.Yellow,\n maxRamPercent: 101\n });\n\n let createdAmount = input.createdAmount;\n\n for (; createdAmount < input.totalAmount; createdAmount++) {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n } else if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue({\n ...input,\n createdAmount\n });\n }\n if (createdAmount % 50 === 0) {\n try {\n await healthCheck.wait({\n async onUnhealthy({\n waitingTimeStep,\n startedAt,\n mustEndAt,\n runs,\n waitingReason\n }) {\n console.warn(`Cluster is unhealthy on run #${runs}.`, {\n startedAt,\n mustEndAt,\n waitingTimeStep,\n waitingReason\n });\n },\n async onTimeout({\n waitingTimeStep,\n startedAt,\n mustEndAt,\n runs,\n waitingReason\n }) {\n console.warn(`Cluster health check timed out on run #${runs}.`, {\n startedAt,\n mustEndAt,\n waitingTimeStep,\n waitingReason\n });\n }\n });\n } catch {\n return controller.response.continue(\n {\n ...input,\n createdAmount\n },\n {\n seconds: 30\n }\n );\n }\n }\n const taskId = controller.state.getTask().id;\n\n const createResult = await createEntry.execute(model, {\n id: `${taskId}${mdbid()}`,\n location: mockData.wbyAco_location,\n values: mockData\n });\n\n if (createResult.isFail()) {\n return controller.response.error(createResult.error);\n }\n }\n\n return params.controller.response.done(`Created ${input.totalAmount} records.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["mockData","createWaitUntilHealthy","OpenSearchCatClusterHealthStatus","mdbid","GetModelUseCase","CreateEntryUseCase","MockDataCreator","constructor","context","execute","params","input","controller","runtime","isAborted","response","aborted","isCloseToTimeout","continue","getModel","container","resolve","createEntry","modelResult","isFail","error","model","value","healthCheck","opensearch","waitingTimeStep","maxWaitingTime","maxProcessorPercent","minClusterHealthStatus","Yellow","maxRamPercent","createdAmount","totalAmount","wait","onUnhealthy","startedAt","mustEndAt","runs","waitingReason","console","warn","onTimeout","seconds","taskId","state","getTask","id","createResult","location","wbyAco_location","values","done"],"sources":["MockDataCreator.ts"],"sourcesContent":["import type { IMockDataCreatorInput, IMockDataCreatorOutput } from \"./types.js\";\nimport { mockData } from \"./mockData.js\";\nimport { createWaitUntilHealthy } from \"@webiny/api-opensearch/utils/waitUntilHealthy/index.js\";\nimport { OpenSearchCatClusterHealthStatus } from \"@webiny/api-opensearch/operations/types.js\";\nimport { mdbid } from \"@webiny/utils\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport type { Context } from \"~/types.js\";\n\nexport class MockDataCreator<I extends IMockDataCreatorInput, O extends IMockDataCreatorOutput> {\n constructor(private context: Context) {}\n\n public async execute(\n params: TaskDefinition.RunParams<I, O>\n ): Promise<TaskDefinition.Result<I, O>> {\n const { input, controller } = params;\n\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n } else if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue({\n ...input\n });\n }\n\n const getModel = this.context.container.resolve(GetModelUseCase);\n const createEntry = this.context.container.resolve(CreateEntryUseCase);\n\n const modelResult = await getModel.execute(\"cars\");\n if (modelResult.isFail()) {\n return controller.response.error(modelResult.error);\n }\n\n const model = modelResult.value;\n\n const healthCheck = createWaitUntilHealthy(this.context.opensearch, {\n waitingTimeStep: 20,\n maxWaitingTime: 150,\n maxProcessorPercent: 80,\n minClusterHealthStatus: OpenSearchCatClusterHealthStatus.Yellow,\n maxRamPercent: 101\n });\n\n let createdAmount = input.createdAmount;\n\n for (; createdAmount < input.totalAmount; createdAmount++) {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n } else if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue({\n ...input,\n createdAmount\n });\n }\n if (createdAmount % 50 === 0) {\n try {\n await healthCheck.wait({\n async onUnhealthy({\n waitingTimeStep,\n startedAt,\n mustEndAt,\n runs,\n waitingReason\n }) {\n console.warn(`Cluster is unhealthy on run #${runs}.`, {\n startedAt,\n mustEndAt,\n waitingTimeStep,\n waitingReason\n });\n },\n async onTimeout({\n waitingTimeStep,\n startedAt,\n mustEndAt,\n runs,\n waitingReason\n }) {\n console.warn(`Cluster health check timed out on run #${runs}.`, {\n startedAt,\n mustEndAt,\n waitingTimeStep,\n waitingReason\n });\n }\n });\n } catch {\n return controller.response.continue(\n {\n ...input,\n createdAmount\n },\n {\n seconds: 30\n }\n );\n }\n }\n const taskId = controller.state.getTask().id;\n\n const createResult = await createEntry.execute(model, {\n id: `${taskId}${mdbid()}`,\n location: mockData.wbyAco_location,\n values: mockData\n });\n\n if (createResult.isFail()) {\n return controller.response.error(createResult.error);\n }\n }\n\n return params.controller.response.done(`Created ${input.totalAmount} records.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ declare class MockDataCreatorTask implements TaskDefinition.Interface<IMockDataC
7
7
  id: string;
8
8
  title: string;
9
9
  maxIterations: number;
10
+ selfCleanup: "always";
10
11
  constructor(context: CmsContext.Interface);
11
12
  run(params: TaskDefinition.RunParams<IMockDataCreatorInput, IMockDataCreatorOutput>): Promise<TaskDefinition.Result<IMockDataCreatorInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions.js").ITaskOutput>>;
12
13
  }
@@ -5,6 +5,7 @@ class MockDataCreatorTask {
5
5
  id = MOCK_DATA_CREATOR_TASK_ID;
6
6
  title = "Mock Data Creator";
7
7
  maxIterations = 500;
8
+ selfCleanup = "always";
8
9
  constructor(context) {
9
10
  this.context = context;
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"names":["TaskDefinition","CmsContext","MOCK_DATA_CREATOR_TASK_ID","MockDataCreatorTask","id","title","maxIterations","constructor","context","run","params","MockDataCreator","carsMock","execute","ex","controller","response","error","MockDataCreatorTaskDefinition","createImplementation","implementation","dependencies"],"sources":["MockDataCreatorTask.ts"],"sourcesContent":["import type { Context } from \"~/types.js\";\nimport type {\n IMockDataCreatorInput,\n IMockDataCreatorOutput\n} from \"~/tasks/MockDataCreator/types.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { CmsContext } from \"@webiny/api-headless-cms/features/shared/abstractions.js\";\n\nexport const MOCK_DATA_CREATOR_TASK_ID = \"mockDataCreator\";\n\nclass MockDataCreatorTask\n implements TaskDefinition.Interface<IMockDataCreatorInput, IMockDataCreatorOutput>\n{\n id = MOCK_DATA_CREATOR_TASK_ID;\n title = \"Mock Data Creator\";\n maxIterations = 500;\n\n constructor(private context: CmsContext.Interface) {}\n\n async run(params: TaskDefinition.RunParams<IMockDataCreatorInput, IMockDataCreatorOutput>) {\n const { MockDataCreator } = await import(\n /* webpackChunkName: \"MockDataCreator\" */ \"./MockDataCreator/MockDataCreator.js\"\n );\n\n const carsMock = new MockDataCreator<IMockDataCreatorInput, IMockDataCreatorOutput>(\n this.context as Context\n );\n\n try {\n return await carsMock.execute(params);\n } catch (ex) {\n return params.controller.response.error(ex);\n }\n }\n}\n\nexport const MockDataCreatorTaskDefinition = TaskDefinition.createImplementation({\n implementation: MockDataCreatorTask,\n dependencies: [CmsContext]\n});\n"],"mappings":"AAKA,SAASA,cAAc,QAAQ,wDAAwD;AACvF,SAASC,UAAU,QAAQ,0DAA0D;AAErF,OAAO,MAAMC,yBAAyB,GAAG,iBAAiB;AAE1D,MAAMC,mBAAmB,CAEzB;EACIC,EAAE,GAAGF,yBAAyB;EAC9BG,KAAK,GAAG,mBAAmB;EAC3BC,aAAa,GAAG,GAAG;EAEnBC,WAAWA,CAASC,OAA6B,EAAE;IAAA,KAA/BA,OAA6B,GAA7BA,OAA6B;EAAG;EAEpD,MAAMC,GAAGA,CAACC,MAA+E,EAAE;IACvF,MAAM;MAAEC;IAAgB,CAAC,GAAG,MAAM,MAAM,CACpC,+EACJ,CAAC;IAED,MAAMC,QAAQ,GAAG,IAAID,eAAe,CAChC,IAAI,CAACH,OACT,CAAC;IAED,IAAI;MACA,OAAO,MAAMI,QAAQ,CAACC,OAAO,CAACH,MAAM,CAAC;IACzC,CAAC,CAAC,OAAOI,EAAE,EAAE;MACT,OAAOJ,MAAM,CAACK,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACH,EAAE,CAAC;IAC/C;EACJ;AACJ;AAEA,OAAO,MAAMI,6BAA6B,GAAGlB,cAAc,CAACmB,oBAAoB,CAAC;EAC7EC,cAAc,EAAEjB,mBAAmB;EACnCkB,YAAY,EAAE,CAACpB,UAAU;AAC7B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TaskDefinition","CmsContext","MOCK_DATA_CREATOR_TASK_ID","MockDataCreatorTask","id","title","maxIterations","selfCleanup","constructor","context","run","params","MockDataCreator","carsMock","execute","ex","controller","response","error","MockDataCreatorTaskDefinition","createImplementation","implementation","dependencies"],"sources":["MockDataCreatorTask.ts"],"sourcesContent":["import type { Context } from \"~/types.js\";\nimport type {\n IMockDataCreatorInput,\n IMockDataCreatorOutput\n} from \"~/tasks/MockDataCreator/types.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { CmsContext } from \"@webiny/api-headless-cms/features/shared/abstractions.js\";\n\nexport const MOCK_DATA_CREATOR_TASK_ID = \"mockDataCreator\";\n\nclass MockDataCreatorTask implements TaskDefinition.Interface<\n IMockDataCreatorInput,\n IMockDataCreatorOutput\n> {\n id = MOCK_DATA_CREATOR_TASK_ID;\n title = \"Mock Data Creator\";\n maxIterations = 500;\n\n selfCleanup = \"always\" as const;\n\n constructor(private context: CmsContext.Interface) {}\n\n async run(params: TaskDefinition.RunParams<IMockDataCreatorInput, IMockDataCreatorOutput>) {\n const { MockDataCreator } = await import(\n /* webpackChunkName: \"MockDataCreator\" */ \"./MockDataCreator/MockDataCreator.js\"\n );\n\n const carsMock = new MockDataCreator<IMockDataCreatorInput, IMockDataCreatorOutput>(\n this.context as Context\n );\n\n try {\n return await carsMock.execute(params);\n } catch (ex) {\n return params.controller.response.error(ex);\n }\n }\n}\n\nexport const MockDataCreatorTaskDefinition = TaskDefinition.createImplementation({\n implementation: MockDataCreatorTask,\n dependencies: [CmsContext]\n});\n"],"mappings":"AAKA,SAASA,cAAc,QAAQ,wDAAwD;AACvF,SAASC,UAAU,QAAQ,0DAA0D;AAErF,OAAO,MAAMC,yBAAyB,GAAG,iBAAiB;AAE1D,MAAMC,mBAAmB,CAGvB;EACEC,EAAE,GAAGF,yBAAyB;EAC9BG,KAAK,GAAG,mBAAmB;EAC3BC,aAAa,GAAG,GAAG;EAEnBC,WAAW,GAAG,QAAQ;EAEtBC,WAAWA,CAASC,OAA6B,EAAE;IAAA,KAA/BA,OAA6B,GAA7BA,OAA6B;EAAG;EAEpD,MAAMC,GAAGA,CAACC,MAA+E,EAAE;IACvF,MAAM;MAAEC;IAAgB,CAAC,GAAG,MAAM,MAAM,CACpC,+EACJ,CAAC;IAED,MAAMC,QAAQ,GAAG,IAAID,eAAe,CAChC,IAAI,CAACH,OACT,CAAC;IAED,IAAI;MACA,OAAO,MAAMI,QAAQ,CAACC,OAAO,CAACH,MAAM,CAAC;IACzC,CAAC,CAAC,OAAOI,EAAE,EAAE;MACT,OAAOJ,MAAM,CAACK,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACH,EAAE,CAAC;IAC/C;EACJ;AACJ;AAEA,OAAO,MAAMI,6BAA6B,GAAGnB,cAAc,CAACoB,oBAAoB,CAAC;EAC7EC,cAAc,EAAElB,mBAAmB;EACnCmB,YAAY,EAAE,CAACrB,UAAU;AAC7B,CAAC,CAAC","ignoreList":[]}
@@ -34,7 +34,7 @@ export class MockDataManager {
34
34
  * If there are no running tasks, we can enable indexing and finish the manager task.
35
35
  */
36
36
  await enableIndexing({
37
- client: this.context.elasticsearch,
37
+ client: this.context.opensearch,
38
38
  model: {
39
39
  modelId: input.modelId,
40
40
  tenant: "root"
@@ -52,7 +52,7 @@ export class MockDataManager {
52
52
  }
53
53
  await disableIndexing({
54
54
  model: result.model,
55
- client: this.context.elasticsearch
55
+ client: this.context.opensearch
56
56
  });
57
57
  const {
58
58
  amountOfTasks,
@@ -1 +1 @@
1
- {"version":3,"names":["TaskDataStatus","calculateAmounts","calculateSeconds","WAIT_MAX_SECONDS","createModelAndGroup","disableIndexing","enableIndexing","MOCK_DATA_CREATOR_TASK_ID","MockDataManager","constructor","context","execute","params","input","controller","taskId","state","getTask","id","runtime","isAborted","abortChildTasks","response","aborted","seconds","items","listChildTasksNotDone","length","continue","client","elasticsearch","model","modelId","tenant","done","result","overwrite","amountOfTasks","amountOfRecords","amount","current","task","trigger","definition","totalAmount","createdAmount","name","tasks","listTasks","where","parentId","taskStatus_in","PENDING","RUNNING","limit","item","abort","message"],"sources":["MockDataManager.ts"],"sourcesContent":["import { TaskDataStatus } from \"@webiny/tasks\";\nimport type {\n IMockDataManagerInput,\n IMockDataManagerOutput\n} from \"~/tasks/MockDataManager/types.js\";\nimport { calculateAmounts } from \"./calculateAmounts.js\";\nimport type { IMockDataCreatorInput } from \"~/tasks/MockDataCreator/types.js\";\nimport { calculateSeconds, WAIT_MAX_SECONDS } from \"./calculateSeconds.js\";\nimport { createModelAndGroup } from \"~/tasks/MockDataManager/createModelAndGroup.js\";\nimport type { Context } from \"~/types.js\";\nimport { disableIndexing, enableIndexing } from \"~/utils/index.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { MOCK_DATA_CREATOR_TASK_ID } from \"~/tasks/MockDataCreatorTask.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\n\nexport class MockDataManager<I extends IMockDataManagerInput, O extends IMockDataManagerOutput> {\n constructor(private context: Context) {}\n\n public async execute(\n params: TaskDefinition.RunParams<I, O>\n ): Promise<TaskDefinition.Result<I, O>> {\n const { input, controller } = params;\n\n const taskId = controller.state.getTask().id;\n if (controller.runtime.isAborted()) {\n await this.abortChildTasks(this.context, taskId);\n return controller.response.aborted();\n } else if (input.seconds) {\n const items = await this.listChildTasksNotDone(this.context, taskId);\n\n /**\n * If there are still running creator tasks, we need to wait a bit more.\n */\n if (items.length > 0) {\n return controller.response.continue(\n {\n ...input\n },\n {\n seconds: input.seconds || WAIT_MAX_SECONDS\n }\n );\n }\n /**\n * If there are no running tasks, we can enable indexing and finish the manager task.\n */\n await enableIndexing({\n client: this.context.elasticsearch,\n model: {\n modelId: input.modelId,\n tenant: \"root\"\n }\n });\n return controller.response.done();\n }\n\n const result = await createModelAndGroup({\n context: this.context,\n modelId: input.modelId,\n overwrite: input.overwrite\n });\n if (typeof result === \"string\") {\n return controller.response.done(result);\n }\n\n await disableIndexing({\n model: result.model,\n client: this.context.elasticsearch\n });\n\n const { amountOfTasks, amountOfRecords } = calculateAmounts(input.amount);\n\n const seconds = calculateSeconds(amountOfRecords);\n\n for (let current = 0; current < amountOfTasks; current++) {\n await controller.task.trigger<IMockDataCreatorInput>({\n definition: MOCK_DATA_CREATOR_TASK_ID,\n input: {\n totalAmount: amountOfRecords,\n createdAmount: 0\n },\n name: `Mock Data Creator Task #${current + 1} of ${amountOfTasks}`\n });\n }\n\n return controller.response.continue(\n {\n ...input,\n seconds,\n amountOfTasks,\n amountOfRecords\n },\n {\n seconds\n }\n );\n }\n\n private async listChildTasksNotDone(context: Context, id: string): Promise<TaskService.Task[]> {\n const { items } = await context.tasks.listTasks({\n where: {\n parentId: id,\n taskStatus_in: [TaskDataStatus.PENDING, TaskDataStatus.RUNNING]\n },\n limit: 10000\n });\n return items;\n }\n\n private async abortChildTasks(context: Context, id: string): Promise<void> {\n const items = await this.listChildTasksNotDone(context, id);\n for (const item of items) {\n await context.tasks.abort({\n id: item.id,\n message: \"Aborted by parent task.\"\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TaskDataStatus","calculateAmounts","calculateSeconds","WAIT_MAX_SECONDS","createModelAndGroup","disableIndexing","enableIndexing","MOCK_DATA_CREATOR_TASK_ID","MockDataManager","constructor","context","execute","params","input","controller","taskId","state","getTask","id","runtime","isAborted","abortChildTasks","response","aborted","seconds","items","listChildTasksNotDone","length","continue","client","opensearch","model","modelId","tenant","done","result","overwrite","amountOfTasks","amountOfRecords","amount","current","task","trigger","definition","totalAmount","createdAmount","name","tasks","listTasks","where","parentId","taskStatus_in","PENDING","RUNNING","limit","item","abort","message"],"sources":["MockDataManager.ts"],"sourcesContent":["import { TaskDataStatus } from \"@webiny/tasks\";\nimport type {\n IMockDataManagerInput,\n IMockDataManagerOutput\n} from \"~/tasks/MockDataManager/types.js\";\nimport { calculateAmounts } from \"./calculateAmounts.js\";\nimport type { IMockDataCreatorInput } from \"~/tasks/MockDataCreator/types.js\";\nimport { calculateSeconds, WAIT_MAX_SECONDS } from \"./calculateSeconds.js\";\nimport { createModelAndGroup } from \"~/tasks/MockDataManager/createModelAndGroup.js\";\nimport type { Context } from \"~/types.js\";\nimport { disableIndexing, enableIndexing } from \"~/utils/index.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { MOCK_DATA_CREATOR_TASK_ID } from \"~/tasks/MockDataCreatorTask.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\n\nexport class MockDataManager<I extends IMockDataManagerInput, O extends IMockDataManagerOutput> {\n constructor(private context: Context) {}\n\n public async execute(\n params: TaskDefinition.RunParams<I, O>\n ): Promise<TaskDefinition.Result<I, O>> {\n const { input, controller } = params;\n\n const taskId = controller.state.getTask().id;\n if (controller.runtime.isAborted()) {\n await this.abortChildTasks(this.context, taskId);\n return controller.response.aborted();\n } else if (input.seconds) {\n const items = await this.listChildTasksNotDone(this.context, taskId);\n\n /**\n * If there are still running creator tasks, we need to wait a bit more.\n */\n if (items.length > 0) {\n return controller.response.continue(\n {\n ...input\n },\n {\n seconds: input.seconds || WAIT_MAX_SECONDS\n }\n );\n }\n /**\n * If there are no running tasks, we can enable indexing and finish the manager task.\n */\n await enableIndexing({\n client: this.context.opensearch,\n model: {\n modelId: input.modelId,\n tenant: \"root\"\n }\n });\n return controller.response.done();\n }\n\n const result = await createModelAndGroup({\n context: this.context,\n modelId: input.modelId,\n overwrite: input.overwrite\n });\n if (typeof result === \"string\") {\n return controller.response.done(result);\n }\n\n await disableIndexing({\n model: result.model,\n client: this.context.opensearch\n });\n\n const { amountOfTasks, amountOfRecords } = calculateAmounts(input.amount);\n\n const seconds = calculateSeconds(amountOfRecords);\n\n for (let current = 0; current < amountOfTasks; current++) {\n await controller.task.trigger<IMockDataCreatorInput>({\n definition: MOCK_DATA_CREATOR_TASK_ID,\n input: {\n totalAmount: amountOfRecords,\n createdAmount: 0\n },\n name: `Mock Data Creator Task #${current + 1} of ${amountOfTasks}`\n });\n }\n\n return controller.response.continue(\n {\n ...input,\n seconds,\n amountOfTasks,\n amountOfRecords\n },\n {\n seconds\n }\n );\n }\n\n private async listChildTasksNotDone(context: Context, id: string): Promise<TaskService.Task[]> {\n const { items } = await context.tasks.listTasks({\n where: {\n parentId: id,\n taskStatus_in: [TaskDataStatus.PENDING, TaskDataStatus.RUNNING]\n },\n limit: 10000\n });\n return items;\n }\n\n private async abortChildTasks(context: Context, id: string): Promise<void> {\n const items = await this.listChildTasksNotDone(context, id);\n for (const item of items) {\n await context.tasks.abort({\n id: item.id,\n message: \"Aborted by parent task.\"\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import { createGroupData } from "./group.js";
2
2
  import { createCarsModel } from "./model.js";
3
3
  import { createIndex } from "../../utils/index.js";
4
+ import { CmsEntryOpenSearchIndex } from "@webiny/api-headless-cms-ddb-es/exports/api/cms/opensearch.js";
4
5
  export const createModelAndGroup = async params => {
5
6
  const {
6
7
  context,
@@ -28,8 +29,8 @@ export const createModelAndGroup = async params => {
28
29
  }
29
30
  await createIndex({
30
31
  model,
31
- client: context.elasticsearch,
32
- plugins: context.plugins
32
+ client: context.opensearch,
33
+ indexConfigs: context.container.resolveAll(CmsEntryOpenSearchIndex)
33
34
  });
34
35
  return {
35
36
  group: group,
@@ -1 +1 @@
1
- {"version":3,"names":["createGroupData","createCarsModel","createIndex","createModelAndGroup","params","context","modelId","overwrite","model","cms","listModels","find","m","group","listGroups","slug","groupData","createGroup","carsModel","createModel","client","elasticsearch","plugins"],"sources":["createModelAndGroup.ts"],"sourcesContent":["import type { CmsGroup, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { Context } from \"~/types.js\";\nimport { createGroupData } from \"./group.js\";\nimport { createCarsModel } from \"./model.js\";\nimport { createIndex } from \"~/utils/index.js\";\n\ninterface ICreateModelAndGroupParams {\n context: Context;\n modelId: string;\n overwrite?: boolean;\n}\nexport interface ICreateModelAndGroupResultSuccess {\n group: CmsGroup;\n model: CmsModel;\n}\nexport type ICreateModelAndGroupResult = string | ICreateModelAndGroupResultSuccess;\n\nexport const createModelAndGroup = async (\n params: ICreateModelAndGroupParams\n): Promise<ICreateModelAndGroupResult> => {\n const { context, modelId, overwrite = false } = params;\n /**\n * First we need to check if the model already exists in the database. If not, we need to create it.\n */\n let model = (await context.cms.listModels()).find(m => m.modelId === modelId);\n let group: CmsGroup | undefined;\n if (model && !overwrite) {\n return `Model \"${modelId}\" already exists.`;\n } else if (!model) {\n group = (await context.cms.listGroups()).find(group => group.slug === \"mocks\");\n if (!group) {\n const groupData = createGroupData();\n group = await context.cms.createGroup(groupData);\n }\n /**\n * Possibly we need to create the model.\n */\n const carsModel = createCarsModel(group);\n model = await context.cms.createModel(carsModel);\n }\n await createIndex({\n model,\n client: context.elasticsearch,\n plugins: context.plugins\n });\n\n return {\n group: group as CmsGroup,\n model: model as CmsModel\n };\n};\n"],"mappings":"AAEA,SAASA,eAAe;AACxB,SAASC,eAAe;AACxB,SAASC,WAAW;AAapB,OAAO,MAAMC,mBAAmB,GAAG,MAC/BC,MAAkC,IACI;EACtC,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC,SAAS,GAAG;EAAM,CAAC,GAAGH,MAAM;EACtD;AACJ;AACA;EACI,IAAII,KAAK,GAAG,CAAC,MAAMH,OAAO,CAACI,GAAG,CAACC,UAAU,CAAC,CAAC,EAAEC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACN,OAAO,KAAKA,OAAO,CAAC;EAC7E,IAAIO,KAA2B;EAC/B,IAAIL,KAAK,IAAI,CAACD,SAAS,EAAE;IACrB,OAAO,UAAUD,OAAO,mBAAmB;EAC/C,CAAC,MAAM,IAAI,CAACE,KAAK,EAAE;IACfK,KAAK,GAAG,CAAC,MAAMR,OAAO,CAACI,GAAG,CAACK,UAAU,CAAC,CAAC,EAAEH,IAAI,CAACE,KAAK,IAAIA,KAAK,CAACE,IAAI,KAAK,OAAO,CAAC;IAC9E,IAAI,CAACF,KAAK,EAAE;MACR,MAAMG,SAAS,GAAGhB,eAAe,CAAC,CAAC;MACnCa,KAAK,GAAG,MAAMR,OAAO,CAACI,GAAG,CAACQ,WAAW,CAACD,SAAS,CAAC;IACpD;IACA;AACR;AACA;IACQ,MAAME,SAAS,GAAGjB,eAAe,CAACY,KAAK,CAAC;IACxCL,KAAK,GAAG,MAAMH,OAAO,CAACI,GAAG,CAACU,WAAW,CAACD,SAAS,CAAC;EACpD;EACA,MAAMhB,WAAW,CAAC;IACdM,KAAK;IACLY,MAAM,EAAEf,OAAO,CAACgB,aAAa;IAC7BC,OAAO,EAAEjB,OAAO,CAACiB;EACrB,CAAC,CAAC;EAEF,OAAO;IACHT,KAAK,EAAEA,KAAiB;IACxBL,KAAK,EAAEA;EACX,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createGroupData","createCarsModel","createIndex","CmsEntryOpenSearchIndex","createModelAndGroup","params","context","modelId","overwrite","model","cms","listModels","find","m","group","listGroups","slug","groupData","createGroup","carsModel","createModel","client","opensearch","indexConfigs","container","resolveAll"],"sources":["createModelAndGroup.ts"],"sourcesContent":["import type { CmsGroup, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { Context } from \"~/types.js\";\nimport { createGroupData } from \"./group.js\";\nimport { createCarsModel } from \"./model.js\";\nimport { createIndex } from \"~/utils/index.js\";\nimport { CmsEntryOpenSearchIndex } from \"@webiny/api-headless-cms-ddb-es/exports/api/cms/opensearch.js\";\n\ninterface ICreateModelAndGroupParams {\n context: Context;\n modelId: string;\n overwrite?: boolean;\n}\nexport interface ICreateModelAndGroupResultSuccess {\n group: CmsGroup;\n model: CmsModel;\n}\nexport type ICreateModelAndGroupResult = string | ICreateModelAndGroupResultSuccess;\n\nexport const createModelAndGroup = async (\n params: ICreateModelAndGroupParams\n): Promise<ICreateModelAndGroupResult> => {\n const { context, modelId, overwrite = false } = params;\n /**\n * First we need to check if the model already exists in the database. If not, we need to create it.\n */\n let model = (await context.cms.listModels()).find(m => m.modelId === modelId);\n let group: CmsGroup | undefined;\n if (model && !overwrite) {\n return `Model \"${modelId}\" already exists.`;\n } else if (!model) {\n group = (await context.cms.listGroups()).find(group => group.slug === \"mocks\");\n if (!group) {\n const groupData = createGroupData();\n group = await context.cms.createGroup(groupData);\n }\n /**\n * Possibly we need to create the model.\n */\n const carsModel = createCarsModel(group);\n model = await context.cms.createModel(carsModel);\n }\n await createIndex({\n model,\n client: context.opensearch,\n indexConfigs: context.container.resolveAll(CmsEntryOpenSearchIndex)\n });\n\n return {\n group: group as CmsGroup,\n model: model as CmsModel\n };\n};\n"],"mappings":"AAEA,SAASA,eAAe;AACxB,SAASC,eAAe;AACxB,SAASC,WAAW;AACpB,SAASC,uBAAuB,QAAQ,+DAA+D;AAavG,OAAO,MAAMC,mBAAmB,GAAG,MAC/BC,MAAkC,IACI;EACtC,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC,SAAS,GAAG;EAAM,CAAC,GAAGH,MAAM;EACtD;AACJ;AACA;EACI,IAAII,KAAK,GAAG,CAAC,MAAMH,OAAO,CAACI,GAAG,CAACC,UAAU,CAAC,CAAC,EAAEC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACN,OAAO,KAAKA,OAAO,CAAC;EAC7E,IAAIO,KAA2B;EAC/B,IAAIL,KAAK,IAAI,CAACD,SAAS,EAAE;IACrB,OAAO,UAAUD,OAAO,mBAAmB;EAC/C,CAAC,MAAM,IAAI,CAACE,KAAK,EAAE;IACfK,KAAK,GAAG,CAAC,MAAMR,OAAO,CAACI,GAAG,CAACK,UAAU,CAAC,CAAC,EAAEH,IAAI,CAACE,KAAK,IAAIA,KAAK,CAACE,IAAI,KAAK,OAAO,CAAC;IAC9E,IAAI,CAACF,KAAK,EAAE;MACR,MAAMG,SAAS,GAAGjB,eAAe,CAAC,CAAC;MACnCc,KAAK,GAAG,MAAMR,OAAO,CAACI,GAAG,CAACQ,WAAW,CAACD,SAAS,CAAC;IACpD;IACA;AACR;AACA;IACQ,MAAME,SAAS,GAAGlB,eAAe,CAACa,KAAK,CAAC;IACxCL,KAAK,GAAG,MAAMH,OAAO,CAACI,GAAG,CAACU,WAAW,CAACD,SAAS,CAAC;EACpD;EACA,MAAMjB,WAAW,CAAC;IACdO,KAAK;IACLY,MAAM,EAAEf,OAAO,CAACgB,UAAU;IAC1BC,YAAY,EAAEjB,OAAO,CAACkB,SAAS,CAACC,UAAU,CAACtB,uBAAuB;EACtE,CAAC,CAAC;EAEF,OAAO;IACHW,KAAK,EAAEA,KAAiB;IACxBL,KAAK,EAAEA;EACX,CAAC;AACL,CAAC","ignoreList":[]}