@webiny/api-headless-cms-es-tasks 5.41.4-beta.6 → 5.42.0-beta.0

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms-es-tasks",
3
- "version": "5.41.4-beta.6",
3
+ "version": "5.42.0-beta.0",
4
4
  "main": "index.js",
5
5
  "description": "Elasticsearch Background tasks for Webiny Headless CMS",
6
6
  "keywords": [
@@ -13,28 +13,25 @@
13
13
  },
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
- "@webiny/api-elasticsearch": "5.41.4-beta.6",
17
- "@webiny/api-headless-cms": "5.41.4-beta.6",
18
- "@webiny/api-headless-cms-ddb-es": "5.41.4-beta.6",
19
- "@webiny/handler": "5.41.4-beta.6",
20
- "@webiny/handler-aws": "5.41.4-beta.6",
21
- "@webiny/tasks": "5.41.4-beta.6",
22
- "@webiny/utils": "5.41.4-beta.6"
16
+ "@webiny/api-elasticsearch": "5.42.0-beta.0",
17
+ "@webiny/api-headless-cms": "5.42.0-beta.0",
18
+ "@webiny/api-headless-cms-ddb-es": "5.42.0-beta.0",
19
+ "@webiny/handler": "5.42.0-beta.0",
20
+ "@webiny/handler-aws": "5.42.0-beta.0",
21
+ "@webiny/tasks": "5.42.0-beta.0",
22
+ "@webiny/utils": "5.42.0-beta.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@babel/cli": "7.24.1",
26
- "@babel/core": "7.24.3",
27
- "@babel/preset-env": "7.24.3",
28
- "@faker-js/faker": "8.4.1",
29
- "@webiny/api": "5.41.4-beta.6",
30
- "@webiny/api-i18n": "5.41.4-beta.6",
31
- "@webiny/api-security": "5.41.4-beta.6",
32
- "@webiny/api-tenancy": "5.41.4-beta.6",
33
- "@webiny/api-wcp": "5.41.4-beta.6",
34
- "@webiny/cli": "5.41.4-beta.6",
35
- "@webiny/handler-graphql": "5.41.4-beta.6",
36
- "@webiny/plugins": "5.41.4-beta.6",
37
- "@webiny/project-utils": "5.41.4-beta.6",
25
+ "@faker-js/faker": "9.3.0",
26
+ "@webiny/api": "5.42.0-beta.0",
27
+ "@webiny/api-i18n": "5.42.0-beta.0",
28
+ "@webiny/api-security": "5.42.0-beta.0",
29
+ "@webiny/api-tenancy": "5.42.0-beta.0",
30
+ "@webiny/api-wcp": "5.42.0-beta.0",
31
+ "@webiny/cli": "5.42.0-beta.0",
32
+ "@webiny/handler-graphql": "5.42.0-beta.0",
33
+ "@webiny/plugins": "5.42.0-beta.0",
34
+ "@webiny/project-utils": "5.42.0-beta.0",
38
35
  "ttypescript": "1.5.15",
39
36
  "typescript": "4.9.5"
40
37
  },
@@ -46,5 +43,5 @@
46
43
  "access": "public",
47
44
  "directory": "dist"
48
45
  },
49
- "gitHead": "94922b33af59db5afe75127bb07443ce7f1448c4"
46
+ "gitHead": "ebf90f62ed3f28114ffdb012b7e5f80988af53d3"
50
47
  }
@@ -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 { ITaskResponseResult, ITaskRunParams } from \"@webiny/tasks\";\nimport { IMockDataCreatorInput, IMockDataCreatorOutput } from \"./types\";\nimport { CmsModelManager } from \"@webiny/api-headless-cms/types\";\nimport { mockData } from \"./mockData\";\nimport { createWaitUntilHealthy } from \"@webiny/api-elasticsearch/utils/waitUntilHealthy\";\nimport { 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,"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 { ITaskResponseResult, ITaskRunParams } from \"@webiny/tasks\";\nimport { IMockDataCreatorInput, IMockDataCreatorOutput } from \"./types\";\nimport { CmsModelManager } from \"@webiny/api-headless-cms/types\";\nimport { mockData } from \"./mockData\";\nimport { createWaitUntilHealthy } from \"@webiny/api-elasticsearch/utils/waitUntilHealthy\";\nimport { 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 +1 @@
1
- {"version":3,"names":["_tasks","require","_calculateAmounts","_calculateSeconds","_createMockDataCreatorTask","_createModelAndGroup","_utils","MockDataManager","execute","params","context","isAborted","input","response","trigger","store","taskId","getTask","id","abortChildTasks","aborted","seconds","items","listChildTasksNotDone","length","continue","WAIT_MAX_SECONDS","enableIndexing","client","elasticsearch","model","modelId","tenant","locale","done","result","createModelAndGroup","overwrite","disableIndexing","amountOfTasks","amountOfRecords","calculateAmounts","amount","calculateSeconds","current","definition","MOCK_DATA_CREATOR_TASK_ID","totalAmount","createdAmount","name","tasks","listTasks","where","parentId","taskStatus_in","TaskDataStatus","PENDING","RUNNING","limit","item","abort","message","exports"],"sources":["MockDataManager.ts"],"sourcesContent":["import { ITask, ITaskResponseResult, ITaskRunParams, TaskDataStatus } from \"@webiny/tasks\";\nimport { IMockDataManagerInput, IMockDataManagerOutput } from \"~/tasks/MockDataManager/types\";\nimport { calculateAmounts } from \"./calculateAmounts\";\nimport { IMockDataCreatorInput } from \"~/tasks/MockDataCreator/types\";\nimport { calculateSeconds, WAIT_MAX_SECONDS } from \"./calculateSeconds\";\nimport { MOCK_DATA_CREATOR_TASK_ID } from \"~/tasks/createMockDataCreatorTask\";\nimport { createModelAndGroup } from \"~/tasks/MockDataManager/createModelAndGroup\";\nimport { Context } from \"~/types\";\nimport { disableIndexing, enableIndexing } from \"~/utils\";\n\nexport class MockDataManager<\n C extends Context,\n I extends IMockDataManagerInput,\n O extends IMockDataManagerOutput\n> {\n public async execute(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>> {\n const { context, isAborted, input, response, trigger, store } = params;\n\n const taskId = store.getTask().id;\n if (isAborted()) {\n await this.abortChildTasks(context, taskId);\n return response.aborted();\n } else if (input.seconds) {\n const items = await this.listChildTasksNotDone(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 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: context.elasticsearch,\n model: {\n modelId: input.modelId,\n tenant: \"root\",\n locale: \"en-US\"\n }\n });\n return response.done();\n }\n\n const result = await createModelAndGroup({\n context,\n modelId: input.modelId,\n overwrite: input.overwrite\n });\n if (typeof result === \"string\") {\n return response.done(result);\n }\n\n await disableIndexing({\n model: result.model,\n client: 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 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 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<ITask[]> {\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":["_tasks","require","_calculateAmounts","_calculateSeconds","_createMockDataCreatorTask","_createModelAndGroup","_utils","MockDataManager","execute","params","context","isAborted","input","response","trigger","store","taskId","getTask","id","abortChildTasks","aborted","seconds","items","listChildTasksNotDone","length","continue","WAIT_MAX_SECONDS","enableIndexing","client","elasticsearch","model","modelId","tenant","locale","done","result","createModelAndGroup","overwrite","disableIndexing","amountOfTasks","amountOfRecords","calculateAmounts","amount","calculateSeconds","current","definition","MOCK_DATA_CREATOR_TASK_ID","totalAmount","createdAmount","name","tasks","listTasks","where","parentId","taskStatus_in","TaskDataStatus","PENDING","RUNNING","limit","item","abort","message","exports"],"sources":["MockDataManager.ts"],"sourcesContent":["import { ITask, ITaskResponseResult, ITaskRunParams, TaskDataStatus } from \"@webiny/tasks\";\nimport { IMockDataManagerInput, IMockDataManagerOutput } from \"~/tasks/MockDataManager/types\";\nimport { calculateAmounts } from \"./calculateAmounts\";\nimport { IMockDataCreatorInput } from \"~/tasks/MockDataCreator/types\";\nimport { calculateSeconds, WAIT_MAX_SECONDS } from \"./calculateSeconds\";\nimport { MOCK_DATA_CREATOR_TASK_ID } from \"~/tasks/createMockDataCreatorTask\";\nimport { createModelAndGroup } from \"~/tasks/MockDataManager/createModelAndGroup\";\nimport { Context } from \"~/types\";\nimport { disableIndexing, enableIndexing } from \"~/utils\";\n\nexport class MockDataManager<\n C extends Context,\n I extends IMockDataManagerInput,\n O extends IMockDataManagerOutput\n> {\n public async execute(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>> {\n const { context, isAborted, input, response, trigger, store } = params;\n\n const taskId = store.getTask().id;\n if (isAborted()) {\n await this.abortChildTasks(context, taskId);\n return response.aborted();\n } else if (input.seconds) {\n const items = await this.listChildTasksNotDone(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 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: context.elasticsearch,\n model: {\n modelId: input.modelId,\n tenant: \"root\",\n locale: \"en-US\"\n }\n });\n return response.done();\n }\n\n const result = await createModelAndGroup({\n context,\n modelId: input.modelId,\n overwrite: input.overwrite\n });\n if (typeof result === \"string\") {\n return response.done(result);\n }\n\n await disableIndexing({\n model: result.model,\n client: 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 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 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<ITask[]> {\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 +1 @@
1
- {"version":3,"names":["constrains","amount","percentagePerTask","findValue","input","value","Error","calculateAmounts","values","amountOfRecords","Math","round","parseFloat","String","amountOfTasks","ceil","exports"],"sources":["calculateAmounts.ts"],"sourcesContent":["interface ICalculateAmounts {\n amountOfTasks: number;\n amountOfRecords: number;\n}\n\ninterface IMaxRecordsPerTask {\n amount: number;\n percentagePerTask: number;\n}\n\nconst constrains: IMaxRecordsPerTask[] = [\n {\n amount: 50,\n percentagePerTask: 100\n },\n {\n amount: 1000,\n percentagePerTask: 50\n },\n {\n amount: 100000,\n percentagePerTask: 20\n }\n // {\n // amount: 50000,\n // percentagePerTask: 10\n // },\n // {\n // amount: 750000,\n // percentagePerTask: 10\n // },\n // {\n // amount: 1000000,\n // percentagePerTask: 2\n // },\n // {\n // amount: 5000000,\n // percentagePerTask: 1\n // },\n // {\n // amount: 10000000,\n // percentagePerTask: 0.5\n // }\n];\n\nconst findValue = (input: number): IMaxRecordsPerTask => {\n for (const value of constrains) {\n if (input <= value.amount) {\n return value;\n }\n }\n throw new Error(`No valid value found - input value is too large: ${input}.`);\n};\n\nexport const calculateAmounts = (input: number): ICalculateAmounts => {\n const values = findValue(input);\n\n const { percentagePerTask } = values;\n /**\n * Do not ask...\n */\n const amountOfRecords =\n percentagePerTask < 100\n ? Math.round(parseFloat(String(input / (100 / percentagePerTask))))\n : input;\n\n const amountOfTasks = Math.ceil(100 / percentagePerTask);\n\n return {\n amountOfRecords,\n amountOfTasks\n };\n};\n"],"mappings":";;;;;;AAUA,MAAMA,UAAgC,GAAG,CACrC;EACIC,MAAM,EAAE,EAAE;EACVC,iBAAiB,EAAE;AACvB,CAAC,EACD;EACID,MAAM,EAAE,IAAI;EACZC,iBAAiB,EAAE;AACvB,CAAC,EACD;EACID,MAAM,EAAE,MAAM;EACdC,iBAAiB,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,CACH;AAED,MAAMC,SAAS,GAAIC,KAAa,IAAyB;EACrD,KAAK,MAAMC,KAAK,IAAIL,UAAU,EAAE;IAC5B,IAAII,KAAK,IAAIC,KAAK,CAACJ,MAAM,EAAE;MACvB,OAAOI,KAAK;IAChB;EACJ;EACA,MAAM,IAAIC,KAAK,CAAE,oDAAmDF,KAAM,GAAE,CAAC;AACjF,CAAC;AAEM,MAAMG,gBAAgB,GAAIH,KAAa,IAAwB;EAClE,MAAMI,MAAM,GAAGL,SAAS,CAACC,KAAK,CAAC;EAE/B,MAAM;IAAEF;EAAkB,CAAC,GAAGM,MAAM;EACpC;AACJ;AACA;EACI,MAAMC,eAAe,GACjBP,iBAAiB,GAAG,GAAG,GACjBQ,IAAI,CAACC,KAAK,CAACC,UAAU,CAACC,MAAM,CAACT,KAAK,IAAI,GAAG,GAAGF,iBAAiB,CAAC,CAAC,CAAC,CAAC,GACjEE,KAAK;EAEf,MAAMU,aAAa,GAAGJ,IAAI,CAACK,IAAI,CAAC,GAAG,GAAGb,iBAAiB,CAAC;EAExD,OAAO;IACHO,eAAe;IACfK;EACJ,CAAC;AACL,CAAC;AAACE,OAAA,CAAAT,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["constrains","amount","percentagePerTask","findValue","input","value","Error","calculateAmounts","values","amountOfRecords","Math","round","parseFloat","String","amountOfTasks","ceil","exports"],"sources":["calculateAmounts.ts"],"sourcesContent":["interface ICalculateAmounts {\n amountOfTasks: number;\n amountOfRecords: number;\n}\n\ninterface IMaxRecordsPerTask {\n amount: number;\n percentagePerTask: number;\n}\n\nconst constrains: IMaxRecordsPerTask[] = [\n {\n amount: 50,\n percentagePerTask: 100\n },\n {\n amount: 1000,\n percentagePerTask: 50\n },\n {\n amount: 100000,\n percentagePerTask: 20\n }\n // {\n // amount: 50000,\n // percentagePerTask: 10\n // },\n // {\n // amount: 750000,\n // percentagePerTask: 10\n // },\n // {\n // amount: 1000000,\n // percentagePerTask: 2\n // },\n // {\n // amount: 5000000,\n // percentagePerTask: 1\n // },\n // {\n // amount: 10000000,\n // percentagePerTask: 0.5\n // }\n];\n\nconst findValue = (input: number): IMaxRecordsPerTask => {\n for (const value of constrains) {\n if (input <= value.amount) {\n return value;\n }\n }\n throw new Error(`No valid value found - input value is too large: ${input}.`);\n};\n\nexport const calculateAmounts = (input: number): ICalculateAmounts => {\n const values = findValue(input);\n\n const { percentagePerTask } = values;\n /**\n * Do not ask...\n */\n const amountOfRecords =\n percentagePerTask < 100\n ? Math.round(parseFloat(String(input / (100 / percentagePerTask))))\n : input;\n\n const amountOfTasks = Math.ceil(100 / percentagePerTask);\n\n return {\n amountOfRecords,\n amountOfTasks\n };\n};\n"],"mappings":";;;;;;AAUA,MAAMA,UAAgC,GAAG,CACrC;EACIC,MAAM,EAAE,EAAE;EACVC,iBAAiB,EAAE;AACvB,CAAC,EACD;EACID,MAAM,EAAE,IAAI;EACZC,iBAAiB,EAAE;AACvB,CAAC,EACD;EACID,MAAM,EAAE,MAAM;EACdC,iBAAiB,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,CACH;AAED,MAAMC,SAAS,GAAIC,KAAa,IAAyB;EACrD,KAAK,MAAMC,KAAK,IAAIL,UAAU,EAAE;IAC5B,IAAII,KAAK,IAAIC,KAAK,CAACJ,MAAM,EAAE;MACvB,OAAOI,KAAK;IAChB;EACJ;EACA,MAAM,IAAIC,KAAK,CAAC,oDAAoDF,KAAK,GAAG,CAAC;AACjF,CAAC;AAEM,MAAMG,gBAAgB,GAAIH,KAAa,IAAwB;EAClE,MAAMI,MAAM,GAAGL,SAAS,CAACC,KAAK,CAAC;EAE/B,MAAM;IAAEF;EAAkB,CAAC,GAAGM,MAAM;EACpC;AACJ;AACA;EACI,MAAMC,eAAe,GACjBP,iBAAiB,GAAG,GAAG,GACjBQ,IAAI,CAACC,KAAK,CAACC,UAAU,CAACC,MAAM,CAACT,KAAK,IAAI,GAAG,GAAGF,iBAAiB,CAAC,CAAC,CAAC,CAAC,GACjEE,KAAK;EAEf,MAAMU,aAAa,GAAGJ,IAAI,CAACK,IAAI,CAAC,GAAG,GAAGb,iBAAiB,CAAC;EAExD,OAAO;IACHO,eAAe;IACfK;EACJ,CAAC;AACL,CAAC;AAACE,OAAA,CAAAT,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_group","require","_model","_utils","createModelAndGroup","params","context","modelId","overwrite","model","cms","listModels","find","m","group","listGroups","slug","groupData","createGroupData","createGroup","carsModel","createCarsModel","createModel","createIndex","client","elasticsearch","plugins","exports"],"sources":["createModelAndGroup.ts"],"sourcesContent":["import { CmsGroup, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { Context } from \"~/types\";\nimport { createGroupData } from \"./group\";\nimport { createCarsModel } from \"./model\";\nimport { createIndex } from \"~/utils\";\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,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAaO,MAAMG,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,OAAQ,UAASD,OAAQ,mBAAkB;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,GAAG,IAAAC,sBAAe,EAAC,CAAC;MACnCJ,KAAK,GAAG,MAAMR,OAAO,CAACI,GAAG,CAACS,WAAW,CAACF,SAAS,CAAC;IACpD;IACA;AACR;AACA;IACQ,MAAMG,SAAS,GAAG,IAAAC,sBAAe,EAACP,KAAK,CAAC;IACxCL,KAAK,GAAG,MAAMH,OAAO,CAACI,GAAG,CAACY,WAAW,CAACF,SAAS,CAAC;EACpD;EACA,MAAM,IAAAG,kBAAW,EAAC;IACdd,KAAK;IACLe,MAAM,EAAElB,OAAO,CAACmB,aAAa;IAC7BC,OAAO,EAAEpB,OAAO,CAACoB;EACrB,CAAC,CAAC;EAEF,OAAO;IACHZ,KAAK,EAAEA,KAAiB;IACxBL,KAAK,EAAEA;EACX,CAAC;AACL,CAAC;AAACkB,OAAA,CAAAvB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_group","require","_model","_utils","createModelAndGroup","params","context","modelId","overwrite","model","cms","listModels","find","m","group","listGroups","slug","groupData","createGroupData","createGroup","carsModel","createCarsModel","createModel","createIndex","client","elasticsearch","plugins","exports"],"sources":["createModelAndGroup.ts"],"sourcesContent":["import { CmsGroup, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { Context } from \"~/types\";\nimport { createGroupData } from \"./group\";\nimport { createCarsModel } from \"./model\";\nimport { createIndex } from \"~/utils\";\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,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAaO,MAAMG,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,GAAG,IAAAC,sBAAe,EAAC,CAAC;MACnCJ,KAAK,GAAG,MAAMR,OAAO,CAACI,GAAG,CAACS,WAAW,CAACF,SAAS,CAAC;IACpD;IACA;AACR;AACA;IACQ,MAAMG,SAAS,GAAG,IAAAC,sBAAe,EAACP,KAAK,CAAC;IACxCL,KAAK,GAAG,MAAMH,OAAO,CAACI,GAAG,CAACY,WAAW,CAACF,SAAS,CAAC;EACpD;EACA,MAAM,IAAAG,kBAAW,EAAC;IACdd,KAAK;IACLe,MAAM,EAAElB,OAAO,CAACmB,aAAa;IAC7BC,OAAO,EAAEpB,OAAO,CAACoB;EACrB,CAAC,CAAC;EAEF,OAAO;IACHZ,KAAK,EAAEA,KAAiB;IACxBL,KAAK,EAAEA;EACX,CAAC;AACL,CAAC;AAACkB,OAAA,CAAAvB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -14,7 +14,7 @@ const createMockDataCreatorTask = () => {
14
14
  async run(params) {
15
15
  const {
16
16
  MockDataCreator
17
- } = await import( /* webpackChunkName: "MockDataCreator" */"./MockDataCreator/MockDataCreator");
17
+ } = await import(/* webpackChunkName: "MockDataCreator" */"./MockDataCreator/MockDataCreator");
18
18
  const carsMock = new MockDataCreator();
19
19
  try {
20
20
  return await carsMock.execute(params);
@@ -1 +1 @@
1
- {"version":3,"names":["_tasks","require","MOCK_DATA_CREATOR_TASK_ID","exports","createMockDataCreatorTask","createTaskDefinition","id","title","maxIterations","run","params","MockDataCreator","carsMock","execute","ex","response","error"],"sources":["createMockDataCreatorTask.ts"],"sourcesContent":["import { createTaskDefinition } from \"@webiny/tasks\";\nimport { Context } from \"~/types\";\nimport { IMockDataCreatorInput, IMockDataCreatorOutput } from \"~/tasks/MockDataCreator/types\";\n\nexport const MOCK_DATA_CREATOR_TASK_ID = \"mockDataCreator\";\n\nexport const createMockDataCreatorTask = () => {\n return createTaskDefinition<Context, IMockDataCreatorInput, IMockDataCreatorOutput>({\n id: MOCK_DATA_CREATOR_TASK_ID,\n title: \"Mock Data Creator\",\n maxIterations: 500,\n async run(params) {\n const { MockDataCreator } = await import(\n /* webpackChunkName: \"MockDataCreator\" */ \"./MockDataCreator/MockDataCreator\"\n );\n\n const carsMock = new MockDataCreator<\n Context,\n IMockDataCreatorInput,\n IMockDataCreatorOutput\n >();\n\n try {\n return await carsMock.execute(params);\n } catch (ex) {\n return params.response.error(ex);\n }\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIO,MAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,iBAAiB;AAEnD,MAAME,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,OAAO,IAAAC,2BAAoB,EAAyD;IAChFC,EAAE,EAAEJ,yBAAyB;IAC7BK,KAAK,EAAE,mBAAmB;IAC1BC,aAAa,EAAE,GAAG;IAClB,MAAMC,GAAGA,CAACC,MAAM,EAAE;MACd,MAAM;QAAEC;MAAgB,CAAC,GAAG,MAAM,MAAM,EACpC,4EACJ,CAAC;MAED,MAAMC,QAAQ,GAAG,IAAID,eAAe,CAIlC,CAAC;MAEH,IAAI;QACA,OAAO,MAAMC,QAAQ,CAACC,OAAO,CAACH,MAAM,CAAC;MACzC,CAAC,CAAC,OAAOI,EAAE,EAAE;QACT,OAAOJ,MAAM,CAACK,QAAQ,CAACC,KAAK,CAACF,EAAE,CAAC;MACpC;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAACX,OAAA,CAAAC,yBAAA,GAAAA,yBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_tasks","require","MOCK_DATA_CREATOR_TASK_ID","exports","createMockDataCreatorTask","createTaskDefinition","id","title","maxIterations","run","params","MockDataCreator","carsMock","execute","ex","response","error"],"sources":["createMockDataCreatorTask.ts"],"sourcesContent":["import { createTaskDefinition } from \"@webiny/tasks\";\nimport { Context } from \"~/types\";\nimport { IMockDataCreatorInput, IMockDataCreatorOutput } from \"~/tasks/MockDataCreator/types\";\n\nexport const MOCK_DATA_CREATOR_TASK_ID = \"mockDataCreator\";\n\nexport const createMockDataCreatorTask = () => {\n return createTaskDefinition<Context, IMockDataCreatorInput, IMockDataCreatorOutput>({\n id: MOCK_DATA_CREATOR_TASK_ID,\n title: \"Mock Data Creator\",\n maxIterations: 500,\n async run(params) {\n const { MockDataCreator } = await import(\n /* webpackChunkName: \"MockDataCreator\" */ \"./MockDataCreator/MockDataCreator\"\n );\n\n const carsMock = new MockDataCreator<\n Context,\n IMockDataCreatorInput,\n IMockDataCreatorOutput\n >();\n\n try {\n return await carsMock.execute(params);\n } catch (ex) {\n return params.response.error(ex);\n }\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIO,MAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,iBAAiB;AAEnD,MAAME,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,OAAO,IAAAC,2BAAoB,EAAyD;IAChFC,EAAE,EAAEJ,yBAAyB;IAC7BK,KAAK,EAAE,mBAAmB;IAC1BC,aAAa,EAAE,GAAG;IAClB,MAAMC,GAAGA,CAACC,MAAM,EAAE;MACd,MAAM;QAAEC;MAAgB,CAAC,GAAG,MAAM,MAAM,CACpC,4EACJ,CAAC;MAED,MAAMC,QAAQ,GAAG,IAAID,eAAe,CAIlC,CAAC;MAEH,IAAI;QACA,OAAO,MAAMC,QAAQ,CAACC,OAAO,CAACH,MAAM,CAAC;MACzC,CAAC,CAAC,OAAOI,EAAE,EAAE;QACT,OAAOJ,MAAM,CAACK,QAAQ,CAACC,KAAK,CAACF,EAAE,CAAC;MACpC;IACJ;EACJ,CAAC,CAAC;AACN,CAAC;AAACX,OAAA,CAAAC,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -16,7 +16,7 @@ const createMockDataManagerTask = () => {
16
16
  async run(params) {
17
17
  const {
18
18
  MockDataManager
19
- } = await import( /* webpackChunkName: "MockDataManager" */"./MockDataManager/MockDataManager");
19
+ } = await import(/* webpackChunkName: "MockDataManager" */"./MockDataManager/MockDataManager");
20
20
  const carsMock = new MockDataManager();
21
21
  try {
22
22
  return await carsMock.execute({
@@ -1 +1 @@
1
- {"version":3,"names":["_tasks","require","_constants","_utils","MOCK_DATA_MANAGER_TASK_ID","exports","createMockDataManagerTask","createTaskDefinition","id","title","maxIterations","run","params","MockDataManager","carsMock","execute","input","modelId","CARS_MODEL_ID","ex","response","error","onError","context","enableIndexing","client","elasticsearch","model","tenant","locale","onAbort"],"sources":["createMockDataManagerTask.ts"],"sourcesContent":["import { createTaskDefinition } from \"@webiny/tasks\";\nimport { Context } from \"~/types\";\nimport { IMockDataManagerInput, IMockDataManagerOutput } from \"~/tasks/MockDataManager/types\";\nimport { CARS_MODEL_ID } from \"~/tasks/MockDataManager/constants\";\nimport { enableIndexing } from \"~/utils\";\n\nexport const MOCK_DATA_MANAGER_TASK_ID = \"mockDataManager\";\n\nexport const createMockDataManagerTask = () => {\n return createTaskDefinition<Context, IMockDataManagerInput, IMockDataManagerOutput>({\n id: MOCK_DATA_MANAGER_TASK_ID,\n title: \"Mock Data Manager\",\n maxIterations: 500,\n async run(params) {\n const { MockDataManager } = await import(\n /* webpackChunkName: \"MockDataManager\" */ \"./MockDataManager/MockDataManager\"\n );\n\n const carsMock = new MockDataManager<\n Context,\n IMockDataManagerInput,\n IMockDataManagerOutput\n >();\n\n try {\n return await carsMock.execute({\n ...params,\n input: {\n ...params.input,\n modelId: CARS_MODEL_ID\n }\n });\n } catch (ex) {\n return params.response.error(ex);\n }\n },\n async onError({ context }) {\n await enableIndexing({\n client: context.elasticsearch,\n model: {\n modelId: CARS_MODEL_ID,\n tenant: \"root\",\n locale: \"en-US\"\n }\n });\n },\n async onAbort({ context }) {\n await enableIndexing({\n client: context.elasticsearch,\n model: {\n modelId: CARS_MODEL_ID,\n tenant: \"root\",\n locale: \"en-US\"\n }\n });\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEO,MAAMG,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,iBAAiB;AAEnD,MAAME,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,OAAO,IAAAC,2BAAoB,EAAyD;IAChFC,EAAE,EAAEJ,yBAAyB;IAC7BK,KAAK,EAAE,mBAAmB;IAC1BC,aAAa,EAAE,GAAG;IAClB,MAAMC,GAAGA,CAACC,MAAM,EAAE;MACd,MAAM;QAAEC;MAAgB,CAAC,GAAG,MAAM,MAAM,EACpC,4EACJ,CAAC;MAED,MAAMC,QAAQ,GAAG,IAAID,eAAe,CAIlC,CAAC;MAEH,IAAI;QACA,OAAO,MAAMC,QAAQ,CAACC,OAAO,CAAC;UAC1B,GAAGH,MAAM;UACTI,KAAK,EAAE;YACH,GAAGJ,MAAM,CAACI,KAAK;YACfC,OAAO,EAAEC;UACb;QACJ,CAAC,CAAC;MACN,CAAC,CAAC,OAAOC,EAAE,EAAE;QACT,OAAOP,MAAM,CAACQ,QAAQ,CAACC,KAAK,CAACF,EAAE,CAAC;MACpC;IACJ,CAAC;IACD,MAAMG,OAAOA,CAAC;MAAEC;IAAQ,CAAC,EAAE;MACvB,MAAM,IAAAC,qBAAc,EAAC;QACjBC,MAAM,EAAEF,OAAO,CAACG,aAAa;QAC7BC,KAAK,EAAE;UACHV,OAAO,EAAEC,wBAAa;UACtBU,MAAM,EAAE,MAAM;UACdC,MAAM,EAAE;QACZ;MACJ,CAAC,CAAC;IACN,CAAC;IACD,MAAMC,OAAOA,CAAC;MAAEP;IAAQ,CAAC,EAAE;MACvB,MAAM,IAAAC,qBAAc,EAAC;QACjBC,MAAM,EAAEF,OAAO,CAACG,aAAa;QAC7BC,KAAK,EAAE;UACHV,OAAO,EAAEC,wBAAa;UACtBU,MAAM,EAAE,MAAM;UACdC,MAAM,EAAE;QACZ;MACJ,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;AACN,CAAC;AAACxB,OAAA,CAAAC,yBAAA,GAAAA,yBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_tasks","require","_constants","_utils","MOCK_DATA_MANAGER_TASK_ID","exports","createMockDataManagerTask","createTaskDefinition","id","title","maxIterations","run","params","MockDataManager","carsMock","execute","input","modelId","CARS_MODEL_ID","ex","response","error","onError","context","enableIndexing","client","elasticsearch","model","tenant","locale","onAbort"],"sources":["createMockDataManagerTask.ts"],"sourcesContent":["import { createTaskDefinition } from \"@webiny/tasks\";\nimport { Context } from \"~/types\";\nimport { IMockDataManagerInput, IMockDataManagerOutput } from \"~/tasks/MockDataManager/types\";\nimport { CARS_MODEL_ID } from \"~/tasks/MockDataManager/constants\";\nimport { enableIndexing } from \"~/utils\";\n\nexport const MOCK_DATA_MANAGER_TASK_ID = \"mockDataManager\";\n\nexport const createMockDataManagerTask = () => {\n return createTaskDefinition<Context, IMockDataManagerInput, IMockDataManagerOutput>({\n id: MOCK_DATA_MANAGER_TASK_ID,\n title: \"Mock Data Manager\",\n maxIterations: 500,\n async run(params) {\n const { MockDataManager } = await import(\n /* webpackChunkName: \"MockDataManager\" */ \"./MockDataManager/MockDataManager\"\n );\n\n const carsMock = new MockDataManager<\n Context,\n IMockDataManagerInput,\n IMockDataManagerOutput\n >();\n\n try {\n return await carsMock.execute({\n ...params,\n input: {\n ...params.input,\n modelId: CARS_MODEL_ID\n }\n });\n } catch (ex) {\n return params.response.error(ex);\n }\n },\n async onError({ context }) {\n await enableIndexing({\n client: context.elasticsearch,\n model: {\n modelId: CARS_MODEL_ID,\n tenant: \"root\",\n locale: \"en-US\"\n }\n });\n },\n async onAbort({ context }) {\n await enableIndexing({\n client: context.elasticsearch,\n model: {\n modelId: CARS_MODEL_ID,\n tenant: \"root\",\n locale: \"en-US\"\n }\n });\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEO,MAAMG,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,iBAAiB;AAEnD,MAAME,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,OAAO,IAAAC,2BAAoB,EAAyD;IAChFC,EAAE,EAAEJ,yBAAyB;IAC7BK,KAAK,EAAE,mBAAmB;IAC1BC,aAAa,EAAE,GAAG;IAClB,MAAMC,GAAGA,CAACC,MAAM,EAAE;MACd,MAAM;QAAEC;MAAgB,CAAC,GAAG,MAAM,MAAM,CACpC,4EACJ,CAAC;MAED,MAAMC,QAAQ,GAAG,IAAID,eAAe,CAIlC,CAAC;MAEH,IAAI;QACA,OAAO,MAAMC,QAAQ,CAACC,OAAO,CAAC;UAC1B,GAAGH,MAAM;UACTI,KAAK,EAAE;YACH,GAAGJ,MAAM,CAACI,KAAK;YACfC,OAAO,EAAEC;UACb;QACJ,CAAC,CAAC;MACN,CAAC,CAAC,OAAOC,EAAE,EAAE;QACT,OAAOP,MAAM,CAACQ,QAAQ,CAACC,KAAK,CAACF,EAAE,CAAC;MACpC;IACJ,CAAC;IACD,MAAMG,OAAOA,CAAC;MAAEC;IAAQ,CAAC,EAAE;MACvB,MAAM,IAAAC,qBAAc,EAAC;QACjBC,MAAM,EAAEF,OAAO,CAACG,aAAa;QAC7BC,KAAK,EAAE;UACHV,OAAO,EAAEC,wBAAa;UACtBU,MAAM,EAAE,MAAM;UACdC,MAAM,EAAE;QACZ;MACJ,CAAC,CAAC;IACN,CAAC;IACD,MAAMC,OAAOA,CAAC;MAAEP;IAAQ,CAAC,EAAE;MACvB,MAAM,IAAAC,qBAAc,EAAC;QACjBC,MAAM,EAAEF,OAAO,CAACG,aAAa;QAC7BC,KAAK,EAAE;UACHV,OAAO,EAAEC,wBAAa;UACtBU,MAAM,EAAE,MAAM;UACdC,MAAM,EAAE;QACZ;MACJ,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;AACN,CAAC;AAACxB,OAAA,CAAAC,yBAAA,GAAAA,yBAAA","ignoreList":[]}