@webiny/api-headless-cms-es-tasks 0.0.0-unstable.06b2ede40f → 0.0.0-unstable.0d717d18dd

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 (64) hide show
  1. package/HeadlessCmsEsTasksFeature.d.ts +4 -0
  2. package/HeadlessCmsEsTasksFeature.js +13 -0
  3. package/HeadlessCmsEsTasksFeature.js.map +1 -0
  4. package/README.md +11 -15
  5. package/index.d.ts +4 -3
  6. package/index.js +3 -37
  7. package/package.json +25 -26
  8. package/tasks/MockDataCreator/MockDataCreator.d.ts +9 -5
  9. package/tasks/MockDataCreator/MockDataCreator.js +68 -97
  10. package/tasks/MockDataCreator/MockDataCreator.js.map +1 -1
  11. package/tasks/MockDataCreator/mockData.js +1333 -1193
  12. package/tasks/MockDataCreator/mockData.js.map +1 -1
  13. package/tasks/MockDataCreator/types.d.ts +3 -3
  14. package/tasks/MockDataCreator/types.js +0 -7
  15. package/tasks/MockDataCreatorTask.d.ts +19 -0
  16. package/tasks/MockDataCreatorTask.js +33 -0
  17. package/tasks/MockDataCreatorTask.js.map +1 -0
  18. package/tasks/MockDataManager/MockDataManager.d.ts +11 -5
  19. package/tasks/MockDataManager/MockDataManager.js +81 -104
  20. package/tasks/MockDataManager/MockDataManager.js.map +1 -1
  21. package/tasks/MockDataManager/calculateAmounts.js +26 -58
  22. package/tasks/MockDataManager/calculateAmounts.js.map +1 -1
  23. package/tasks/MockDataManager/calculateSeconds.js +8 -18
  24. package/tasks/MockDataManager/calculateSeconds.js.map +1 -1
  25. package/tasks/MockDataManager/constants.js +2 -7
  26. package/tasks/MockDataManager/constants.js.map +1 -1
  27. package/tasks/MockDataManager/createModelAndGroup.d.ts +2 -2
  28. package/tasks/MockDataManager/createModelAndGroup.js +40 -43
  29. package/tasks/MockDataManager/createModelAndGroup.js.map +1 -1
  30. package/tasks/MockDataManager/group.d.ts +1 -1
  31. package/tasks/MockDataManager/group.js +11 -16
  32. package/tasks/MockDataManager/group.js.map +1 -1
  33. package/tasks/MockDataManager/model.d.ts +2 -2
  34. package/tasks/MockDataManager/model.js +6292 -4701
  35. package/tasks/MockDataManager/model.js.map +1 -1
  36. package/tasks/MockDataManager/types.d.ts +3 -3
  37. package/tasks/MockDataManager/types.js +0 -7
  38. package/tasks/MockDataManagerTask.d.ts +23 -0
  39. package/tasks/MockDataManagerTask.js +64 -0
  40. package/tasks/MockDataManagerTask.js.map +1 -0
  41. package/types.d.ts +4 -5
  42. package/types.js +0 -18
  43. package/utils/createIndex.d.ts +5 -5
  44. package/utils/createIndex.js +19 -35
  45. package/utils/createIndex.js.map +1 -1
  46. package/utils/disableIndexing.d.ts +5 -3
  47. package/utils/disableIndexing.js +22 -31
  48. package/utils/disableIndexing.js.map +1 -1
  49. package/utils/enableIndexing.d.ts +5 -3
  50. package/utils/enableIndexing.js +22 -31
  51. package/utils/enableIndexing.js.map +1 -1
  52. package/utils/index.d.ts +3 -3
  53. package/utils/index.js +3 -40
  54. package/index.js.map +0 -1
  55. package/tasks/MockDataCreator/types.js.map +0 -1
  56. package/tasks/MockDataManager/types.js.map +0 -1
  57. package/tasks/createMockDataCreatorTask.d.ts +0 -4
  58. package/tasks/createMockDataCreatorTask.js +0 -29
  59. package/tasks/createMockDataCreatorTask.js.map +0 -1
  60. package/tasks/createMockDataManagerTask.d.ts +0 -4
  61. package/tasks/createMockDataManagerTask.js +0 -61
  62. package/tasks/createMockDataManagerTask.js.map +0 -1
  63. package/types.js.map +0 -1
  64. package/utils/index.js.map +0 -1
@@ -0,0 +1,4 @@
1
+ export declare const HeadlessCmsEsTasksFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { MockDataCreatorTaskDefinition } from "./tasks/MockDataCreatorTask.js";
3
+ import { MockDataManagerTaskDefinition } from "./tasks/MockDataManagerTask.js";
4
+ const HeadlessCmsEsTasksFeature = createFeature({
5
+ name: "HeadlessCmsEsTasks",
6
+ register (container) {
7
+ container.register(MockDataCreatorTaskDefinition);
8
+ container.register(MockDataManagerTaskDefinition);
9
+ }
10
+ });
11
+ export { HeadlessCmsEsTasksFeature };
12
+
13
+ //# sourceMappingURL=HeadlessCmsEsTasksFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadlessCmsEsTasksFeature.js","sources":["../src/HeadlessCmsEsTasksFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { MockDataCreatorTaskDefinition } from \"~/tasks/MockDataCreatorTask.js\";\nimport { MockDataManagerTaskDefinition } from \"~/tasks/MockDataManagerTask.js\";\n\nexport const HeadlessCmsEsTasksFeature = createFeature({\n name: \"HeadlessCmsEsTasks\",\n register(container) {\n container.register(MockDataCreatorTaskDefinition);\n container.register(MockDataManagerTaskDefinition);\n }\n});\n"],"names":["HeadlessCmsEsTasksFeature","createFeature","container","MockDataCreatorTaskDefinition","MockDataManagerTaskDefinition"],"mappings":";;;AAIO,MAAMA,4BAA4BC,cAAc;IACnD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
package/README.md CHANGED
@@ -1,15 +1,11 @@
1
- # @webiny/api-headless-cms-tasks
2
- [![](https://img.shields.io/npm/dw/@webiny/api-headless-cms-tasks.svg)](https://www.npmjs.com/package/@webiny/api-headless-cms-tasks)
3
- [![](https://img.shields.io/npm/v/@webiny/api-headless-cms-tasks.svg)](https://www.npmjs.com/package/@webiny/api-headless-cms-tasks)
4
- [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
5
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
6
-
7
- ## Install
8
- ```
9
- npm install --save @webiny/api-headless-cms-tasks
10
- ```
11
-
12
- Or if you prefer yarn:
13
- ```
14
- yarn add @webiny/api-headless-cms-tasks
15
- ```
1
+ # @webiny/api-headless-cms-es-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._
package/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- export * from "./tasks/createMockDataManagerTask";
2
- export * from "./tasks/createMockDataCreatorTask";
3
- export declare const createHeadlessCmsEsTasks: () => (import("@webiny/tasks").TaskDefinitionPlugin<import("./types").Context, import("./tasks/MockDataCreator/types").IMockDataCreatorInput, import("@webiny/tasks").ITaskResponseDoneResultOutput> | import("@webiny/tasks").TaskDefinitionPlugin<import("./types").Context, import("./types").IMockDataManagerInput, import("@webiny/tasks").ITaskResponseDoneResultOutput>)[];
1
+ import { MOCK_DATA_CREATOR_TASK_ID } from "./tasks/MockDataCreatorTask.js";
2
+ import { MOCK_DATA_MANAGER_TASK_ID } from "./tasks/MockDataManagerTask.js";
3
+ export { MOCK_DATA_CREATOR_TASK_ID, MOCK_DATA_MANAGER_TASK_ID };
4
+ export { HeadlessCmsEsTasksFeature } from "./HeadlessCmsEsTasksFeature.js";
package/index.js CHANGED
@@ -1,37 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- createHeadlessCmsEsTasks: true
8
- };
9
- exports.createHeadlessCmsEsTasks = void 0;
10
- var _createMockDataManagerTask = require("./tasks/createMockDataManagerTask");
11
- Object.keys(_createMockDataManagerTask).forEach(function (key) {
12
- if (key === "default" || key === "__esModule") return;
13
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
14
- if (key in exports && exports[key] === _createMockDataManagerTask[key]) return;
15
- Object.defineProperty(exports, key, {
16
- enumerable: true,
17
- get: function () {
18
- return _createMockDataManagerTask[key];
19
- }
20
- });
21
- });
22
- var _createMockDataCreatorTask = require("./tasks/createMockDataCreatorTask");
23
- Object.keys(_createMockDataCreatorTask).forEach(function (key) {
24
- if (key === "default" || key === "__esModule") return;
25
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
26
- if (key in exports && exports[key] === _createMockDataCreatorTask[key]) return;
27
- Object.defineProperty(exports, key, {
28
- enumerable: true,
29
- get: function () {
30
- return _createMockDataCreatorTask[key];
31
- }
32
- });
33
- });
34
- const createHeadlessCmsEsTasks = () => [(0, _createMockDataManagerTask.createMockDataManagerTask)(), (0, _createMockDataCreatorTask.createMockDataCreatorTask)()];
35
- exports.createHeadlessCmsEsTasks = createHeadlessCmsEsTasks;
36
-
37
- //# sourceMappingURL=index.js.map
1
+ export { MOCK_DATA_CREATOR_TASK_ID } from "./tasks/MockDataCreatorTask.js";
2
+ export { MOCK_DATA_MANAGER_TASK_ID } from "./tasks/MockDataManagerTask.js";
3
+ export { HeadlessCmsEsTasksFeature } from "./HeadlessCmsEsTasksFeature.js";
package/package.json CHANGED
@@ -1,7 +1,11 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms-es-tasks",
3
- "version": "0.0.0-unstable.06b2ede40f",
4
- "main": "index.js",
3
+ "version": "0.0.0-unstable.0d717d18dd",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": "./index.js",
7
+ "./*": "./*"
8
+ },
5
9
  "description": "Elasticsearch Background tasks for Webiny Headless CMS",
6
10
  "keywords": [
7
11
  "api-headless-cms-es-tasks:base"
@@ -13,33 +17,28 @@
13
17
  },
14
18
  "license": "MIT",
15
19
  "dependencies": {
16
- "@webiny/api-elasticsearch": "0.0.0-unstable.06b2ede40f",
17
- "@webiny/api-headless-cms": "0.0.0-unstable.06b2ede40f",
18
- "@webiny/api-headless-cms-ddb-es": "0.0.0-unstable.06b2ede40f",
19
- "@webiny/handler": "0.0.0-unstable.06b2ede40f",
20
- "@webiny/handler-aws": "0.0.0-unstable.06b2ede40f",
21
- "@webiny/tasks": "0.0.0-unstable.06b2ede40f",
22
- "@webiny/utils": "0.0.0-unstable.06b2ede40f"
20
+ "@webiny/api-core": "0.0.0-unstable.0d717d18dd",
21
+ "@webiny/api-headless-cms": "0.0.0-unstable.0d717d18dd",
22
+ "@webiny/api-headless-cms-ddb-es": "0.0.0-unstable.0d717d18dd",
23
+ "@webiny/api-opensearch": "0.0.0-unstable.0d717d18dd",
24
+ "@webiny/background-tasks": "0.0.0-unstable.0d717d18dd",
25
+ "@webiny/feature": "0.0.0-unstable.0d717d18dd",
26
+ "@webiny/utils": "0.0.0-unstable.0d717d18dd"
23
27
  },
24
28
  "devDependencies": {
25
- "@faker-js/faker": "9.3.0",
26
- "@webiny/api": "0.0.0-unstable.06b2ede40f",
27
- "@webiny/api-i18n": "0.0.0-unstable.06b2ede40f",
28
- "@webiny/api-security": "0.0.0-unstable.06b2ede40f",
29
- "@webiny/api-tenancy": "0.0.0-unstable.06b2ede40f",
30
- "@webiny/api-wcp": "0.0.0-unstable.06b2ede40f",
31
- "@webiny/handler-graphql": "0.0.0-unstable.06b2ede40f",
32
- "@webiny/plugins": "0.0.0-unstable.06b2ede40f",
33
- "@webiny/project-utils": "0.0.0-unstable.06b2ede40f",
34
- "typescript": "5.3.3"
35
- },
36
- "scripts": {
37
- "build": "node ../cli/bin.js run build",
38
- "watch": "node ../cli/bin.js run watch"
29
+ "@webiny/api-graphql": "0.0.0-unstable.0d717d18dd",
30
+ "@webiny/api-headless-cms-testing": "0.0.0-unstable.0d717d18dd",
31
+ "@webiny/build-tools": "0.0.0-unstable.0d717d18dd",
32
+ "@webiny/db-dynamodb": "0.0.0-unstable.0d717d18dd",
33
+ "@webiny/project-utils": "0.0.0-unstable.0d717d18dd",
34
+ "@webiny/wcp": "0.0.0-unstable.0d717d18dd",
35
+ "typescript": "7.0.2",
36
+ "vitest": "4.1.10"
39
37
  },
40
38
  "publishConfig": {
41
- "access": "public",
42
- "directory": "dist"
39
+ "access": "public"
43
40
  },
44
- "gitHead": "06b2ede40fc2212a70eeafd74afd50b56fb0ce82"
41
+ "webiny": {
42
+ "publishFrom": "dist"
43
+ }
45
44
  }
@@ -1,6 +1,10 @@
1
- import type { ITaskResponseResult, ITaskRunParams } from "@webiny/tasks";
2
- import type { IMockDataCreatorInput, IMockDataCreatorOutput } from "./types";
3
- import type { Context } from "../../types";
4
- export declare class MockDataCreator<C extends Context, I extends IMockDataCreatorInput, O extends IMockDataCreatorOutput> {
5
- execute(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>>;
1
+ import type { IMockDataCreatorInput, IMockDataCreatorOutput } from "./types.js";
2
+ import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
3
+ import type { Context } from "../../types.js";
4
+ import { OpenSearchClient } from "@webiny/api-opensearch/exports/api/opensearch.js";
5
+ export declare class MockDataCreator<I extends IMockDataCreatorInput, O extends IMockDataCreatorOutput> {
6
+ private readonly context;
7
+ private readonly openSearchClient;
8
+ constructor(context: Context, openSearchClient: OpenSearchClient.Interface);
9
+ execute(params: TaskDefinition.RunParams<I, O>): Promise<TaskDefinition.Result<I, O>>;
6
10
  }
@@ -1,106 +1,77 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.MockDataCreator = void 0;
7
- var _mockData = require("./mockData");
8
- var _waitUntilHealthy = require("@webiny/api-elasticsearch/utils/waitUntilHealthy");
9
- var _types = require("@webiny/api-elasticsearch/operations/types");
10
- var _utils = require("@webiny/utils");
1
+ import { mockData } from "./mockData.js";
2
+ import { createWaitUntilHealthy } from "@webiny/api-opensearch/utils/waitUntilHealthy/index.js";
3
+ import { OpenSearchCatClusterHealthStatus } from "@webiny/api-opensearch/operations/types.js";
4
+ import { mdbid } from "@webiny/utils";
5
+ import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
6
+ import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
11
7
  class MockDataCreator {
12
- async execute(params) {
13
- const {
14
- context,
15
- isAborted,
16
- input,
17
- response,
18
- isCloseToTimeout
19
- } = params;
20
- if (isAborted()) {
21
- return response.aborted();
22
- } else if (isCloseToTimeout()) {
23
- return response.continue({
24
- ...input
25
- });
26
- }
27
- let manager;
28
- try {
29
- manager = await context.cms.getEntryManager("cars");
30
- } catch (ex) {
31
- return response.error(ex);
8
+ constructor(context, openSearchClient){
9
+ this.context = context;
10
+ this.openSearchClient = openSearchClient;
32
11
  }
33
- const healthCheck = (0, _waitUntilHealthy.createWaitUntilHealthy)(context.elasticsearch, {
34
- waitingTimeStep: 20,
35
- maxWaitingTime: 150,
36
- maxProcessorPercent: 80,
37
- minClusterHealthStatus: _types.ElasticsearchCatClusterHealthStatus.Yellow,
38
- maxRamPercent: 101
39
- });
40
- let createdAmount = input.createdAmount;
41
- for (; createdAmount < input.totalAmount; createdAmount++) {
42
- if (isAborted()) {
43
- return response.aborted();
44
- } else if (isCloseToTimeout()) {
45
- return response.continue({
46
- ...input,
47
- createdAmount
12
+ async execute(params) {
13
+ const { input, controller } = params;
14
+ if (controller.runtime.isAborted()) return controller.response.aborted();
15
+ if (controller.runtime.isCloseToTimeout()) return controller.response.continue({
16
+ ...input
48
17
  });
49
- }
50
- if (createdAmount % 50 === 0) {
51
- try {
52
- await healthCheck.wait({
53
- async onUnhealthy({
54
- waitingTimeStep,
55
- startedAt,
56
- mustEndAt,
57
- runs,
58
- waitingReason
59
- }) {
60
- console.warn(`Cluster is unhealthy on run #${runs}.`, {
61
- startedAt,
62
- mustEndAt,
63
- waitingTimeStep,
64
- waitingReason
65
- });
66
- },
67
- async onTimeout({
68
- waitingTimeStep,
69
- startedAt,
70
- mustEndAt,
71
- runs,
72
- waitingReason
73
- }) {
74
- console.warn(`Cluster health check timed out on run #${runs}.`, {
75
- startedAt,
76
- mustEndAt,
77
- waitingTimeStep,
78
- waitingReason
79
- });
18
+ const getModel = this.context.container.resolve(GetModelUseCase);
19
+ const createEntry = this.context.container.resolve(CreateEntryUseCase);
20
+ const modelResult = await getModel.execute("cars");
21
+ if (modelResult.isFail()) return controller.response.error(modelResult.error);
22
+ const model = modelResult.value;
23
+ const healthCheck = createWaitUntilHealthy(this.openSearchClient.use(), {
24
+ waitingTimeStep: 20,
25
+ maxWaitingTime: 150,
26
+ maxProcessorPercent: 80,
27
+ minClusterHealthStatus: OpenSearchCatClusterHealthStatus.Yellow,
28
+ maxRamPercent: 101
29
+ });
30
+ let createdAmount = input.createdAmount;
31
+ for(; createdAmount < input.totalAmount; createdAmount++){
32
+ if (controller.runtime.isAborted()) return controller.response.aborted();
33
+ if (controller.runtime.isCloseToTimeout()) return controller.response.continue({
34
+ ...input,
35
+ createdAmount
36
+ });
37
+ if (createdAmount % 50 === 0) try {
38
+ await healthCheck.wait({
39
+ async onUnhealthy ({ waitingTimeStep, startedAt, mustEndAt, runs, waitingReason }) {
40
+ console.warn(`Cluster is unhealthy on run #${runs}.`, {
41
+ startedAt,
42
+ mustEndAt,
43
+ waitingTimeStep,
44
+ waitingReason
45
+ });
46
+ },
47
+ async onTimeout ({ waitingTimeStep, startedAt, mustEndAt, runs, waitingReason }) {
48
+ console.warn(`Cluster health check timed out on run #${runs}.`, {
49
+ startedAt,
50
+ mustEndAt,
51
+ waitingTimeStep,
52
+ waitingReason
53
+ });
54
+ }
55
+ });
56
+ } catch {
57
+ return controller.response.continue({
58
+ ...input,
59
+ createdAmount
60
+ }, {
61
+ seconds: 30
62
+ });
80
63
  }
81
- });
82
- } catch (ex) {
83
- return response.continue({
84
- ...input,
85
- createdAmount
86
- }, {
87
- seconds: 30
88
- });
64
+ const taskId = controller.state.getTask().id;
65
+ const createResult = await createEntry.execute(model, {
66
+ id: `${taskId}${mdbid()}`,
67
+ location: mockData.wbyAco_location,
68
+ values: mockData
69
+ });
70
+ if (createResult.isFail()) return controller.response.error(createResult.error);
89
71
  }
90
- }
91
- const taskId = params.store.getTask().id;
92
- try {
93
- await manager.create({
94
- id: `${taskId}${(0, _utils.mdbid)()}`,
95
- ..._mockData.mockData
96
- });
97
- } catch (ex) {
98
- return response.error(ex);
99
- }
72
+ return params.controller.response.done(`Created ${input.totalAmount} records.`);
100
73
  }
101
- return params.response.done(`Created ${input.totalAmount} records.`);
102
- }
103
74
  }
104
- exports.MockDataCreator = MockDataCreator;
75
+ export { MockDataCreator };
105
76
 
106
77
  //# sourceMappingURL=MockDataCreator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_mockData","require","_waitUntilHealthy","_types","_utils","MockDataCreator","execute","params","context","isAborted","input","response","isCloseToTimeout","aborted","continue","manager","cms","getEntryManager","ex","error","healthCheck","createWaitUntilHealthy","elasticsearch","waitingTimeStep","maxWaitingTime","maxProcessorPercent","minClusterHealthStatus","ElasticsearchCatClusterHealthStatus","Yellow","maxRamPercent","createdAmount","totalAmount","wait","onUnhealthy","startedAt","mustEndAt","runs","waitingReason","console","warn","onTimeout","seconds","taskId","store","getTask","id","create","mdbid","mockData","done","exports"],"sources":["MockDataCreator.ts"],"sourcesContent":["import type { ITaskResponseResult, ITaskRunParams } from \"@webiny/tasks\";\nimport type { IMockDataCreatorInput, IMockDataCreatorOutput } from \"./types\";\nimport type { CmsModelManager } from \"@webiny/api-headless-cms/types\";\nimport { mockData } from \"./mockData\";\nimport { createWaitUntilHealthy } from \"@webiny/api-elasticsearch/utils/waitUntilHealthy\";\nimport type { Context } from \"~/types\";\nimport { ElasticsearchCatClusterHealthStatus } from \"@webiny/api-elasticsearch/operations/types\";\nimport { mdbid } from \"@webiny/utils\";\n\nexport class MockDataCreator<\n C extends Context,\n I extends IMockDataCreatorInput,\n O extends IMockDataCreatorOutput\n> {\n public async execute(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>> {\n const { context, isAborted, input, response, isCloseToTimeout } = params;\n\n if (isAborted()) {\n return response.aborted();\n } else if (isCloseToTimeout()) {\n return response.continue({\n ...input\n });\n }\n\n let manager: CmsModelManager;\n try {\n manager = await context.cms.getEntryManager(\"cars\");\n } catch (ex) {\n return response.error(ex);\n }\n\n const healthCheck = createWaitUntilHealthy(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 (isAborted()) {\n return response.aborted();\n } else if (isCloseToTimeout()) {\n return 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 (ex) {\n return response.continue(\n {\n ...input,\n createdAmount\n },\n {\n seconds: 30\n }\n );\n }\n }\n const taskId = params.store.getTask().id;\n try {\n await manager.create({\n id: `${taskId}${mdbid()}`,\n ...mockData\n });\n } catch (ex) {\n return response.error(ex);\n }\n }\n\n return params.response.done(`Created ${input.totalAmount} records.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"tasks/MockDataCreator/MockDataCreator.js","sources":["../../../src/tasks/MockDataCreator/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\";\nimport { OpenSearchClient } from \"@webiny/api-opensearch/exports/api/opensearch.js\";\n\nexport class MockDataCreator<I extends IMockDataCreatorInput, O extends IMockDataCreatorOutput> {\n constructor(\n private readonly context: Context,\n private readonly openSearchClient: OpenSearchClient.Interface\n ) {}\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.openSearchClient.use(), {\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"],"names":["MockDataCreator","context","openSearchClient","params","input","controller","getModel","GetModelUseCase","createEntry","CreateEntryUseCase","modelResult","model","healthCheck","createWaitUntilHealthy","OpenSearchCatClusterHealthStatus","createdAmount","waitingTimeStep","startedAt","mustEndAt","runs","waitingReason","console","taskId","createResult","mdbid","mockData"],"mappings":";;;;;;AAWO,MAAMA;IACT,YACqBC,OAAgB,EAChBC,gBAA4C,CAC/D;aAFmBD,OAAO,GAAPA;aACAC,gBAAgB,GAAhBA;IAClB;IAEH,MAAa,QACTC,MAAsC,EACF;QACpC,MAAM,EAAEC,KAAK,EAAEC,UAAU,EAAE,GAAGF;QAE9B,IAAIE,WAAW,OAAO,CAAC,SAAS,IAC5B,OAAOA,WAAW,QAAQ,CAAC,OAAO;QAC/B,IAAIA,WAAW,OAAO,CAAC,gBAAgB,IAC1C,OAAOA,WAAW,QAAQ,CAAC,QAAQ,CAAC;YAChC,GAAGD,KAAK;QACZ;QAGJ,MAAME,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAACC;QAChD,MAAMC,cAAc,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAACC;QAEnD,MAAMC,cAAc,MAAMJ,SAAS,OAAO,CAAC;QAC3C,IAAII,YAAY,MAAM,IAClB,OAAOL,WAAW,QAAQ,CAAC,KAAK,CAACK,YAAY,KAAK;QAGtD,MAAMC,QAAQD,YAAY,KAAK;QAE/B,MAAME,cAAcC,uBAAuB,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI;YACpE,iBAAiB;YACjB,gBAAgB;YAChB,qBAAqB;YACrB,wBAAwBC,iCAAiC,MAAM;YAC/D,eAAe;QACnB;QAEA,IAAIC,gBAAgBX,MAAM,aAAa;QAEvC,MAAOW,gBAAgBX,MAAM,WAAW,EAAEW,gBAAiB;YACvD,IAAIV,WAAW,OAAO,CAAC,SAAS,IAC5B,OAAOA,WAAW,QAAQ,CAAC,OAAO;YAC/B,IAAIA,WAAW,OAAO,CAAC,gBAAgB,IAC1C,OAAOA,WAAW,QAAQ,CAAC,QAAQ,CAAC;gBAChC,GAAGD,KAAK;gBACRW;YACJ;YAEJ,IAAIA,gBAAgB,OAAO,GACvB,IAAI;gBACA,MAAMH,YAAY,IAAI,CAAC;oBACnB,MAAM,aAAY,EACdI,eAAe,EACfC,SAAS,EACTC,SAAS,EACTC,IAAI,EACJC,aAAa,EAChB;wBACGC,QAAQ,IAAI,CAAC,CAAC,6BAA6B,EAAEF,KAAK,CAAC,CAAC,EAAE;4BAClDF;4BACAC;4BACAF;4BACAI;wBACJ;oBACJ;oBACA,MAAM,WAAU,EACZJ,eAAe,EACfC,SAAS,EACTC,SAAS,EACTC,IAAI,EACJC,aAAa,EAChB;wBACGC,QAAQ,IAAI,CAAC,CAAC,uCAAuC,EAAEF,KAAK,CAAC,CAAC,EAAE;4BAC5DF;4BACAC;4BACAF;4BACAI;wBACJ;oBACJ;gBACJ;YACJ,EAAE,OAAM;gBACJ,OAAOf,WAAW,QAAQ,CAAC,QAAQ,CAC/B;oBACI,GAAGD,KAAK;oBACRW;gBACJ,GACA;oBACI,SAAS;gBACb;YAER;YAEJ,MAAMO,SAASjB,WAAW,KAAK,CAAC,OAAO,GAAG,EAAE;YAE5C,MAAMkB,eAAe,MAAMf,YAAY,OAAO,CAACG,OAAO;gBAClD,IAAI,GAAGW,SAASE,SAAS;gBACzB,UAAUC,SAAS,eAAe;gBAClC,QAAQA;YACZ;YAEA,IAAIF,aAAa,MAAM,IACnB,OAAOlB,WAAW,QAAQ,CAAC,KAAK,CAACkB,aAAa,KAAK;QAE3D;QAEA,OAAOpB,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAEC,MAAM,WAAW,CAAC,SAAS,CAAC;IAClF;AACJ"}