@webiny/tasks 5.41.0-dbt.0 → 5.41.1-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/context.d.ts +1 -2
- package/context.js +8 -16
- package/context.js.map +1 -1
- package/crud/model.js +2 -2
- package/crud/model.js.map +1 -1
- package/crud/service.tasks.d.ts +2 -0
- package/crud/{trigger.tasks.js → service.tasks.js} +39 -17
- package/crud/service.tasks.js.map +1 -0
- package/graphql/index.js +0 -4
- package/graphql/index.js.map +1 -1
- package/graphql/utils.d.ts +2 -2
- package/handler/index.d.ts +1 -3
- package/handler/index.js.map +1 -1
- package/handler/register.js +4 -2
- package/handler/register.js.map +1 -1
- package/handler/types.d.ts +2 -0
- package/handler/types.js.map +1 -1
- package/package.json +20 -19
- package/plugins/TaskServicePlugin.d.ts +21 -0
- package/plugins/TaskServicePlugin.js +17 -0
- package/plugins/TaskServicePlugin.js.map +1 -0
- package/plugins/index.d.ts +1 -1
- package/plugins/index.js +4 -4
- package/plugins/index.js.map +1 -1
- package/response/Response.js +48 -1
- package/response/Response.js.map +1 -1
- package/response/ResponseDoneResult.js +1 -1
- package/response/ResponseDoneResult.js.map +1 -1
- package/response/TaskResponse.js +2 -2
- package/response/TaskResponse.js.map +1 -1
- package/response/abstractions/ResponseContinueResult.d.ts +1 -0
- package/response/abstractions/ResponseContinueResult.js.map +1 -1
- package/response/abstractions/ResponseErrorResult.d.ts +3 -2
- package/response/abstractions/ResponseErrorResult.js.map +1 -1
- package/response/abstractions/TaskResponse.d.ts +5 -8
- package/response/abstractions/TaskResponse.js.map +1 -1
- package/runner/TaskControl.js +44 -17
- package/runner/TaskControl.js.map +1 -1
- package/runner/TaskManager.js.map +1 -1
- package/runner/TaskManagerStore.d.ts +11 -2
- package/runner/TaskManagerStore.js +30 -6
- package/runner/TaskManagerStore.js.map +1 -1
- package/runner/abstractions/TaskManagerStore.d.ts +6 -0
- package/runner/abstractions/TaskManagerStore.js.map +1 -1
- package/runner/abstractions/TaskRunner.d.ts +4 -1
- package/runner/abstractions/TaskRunner.js.map +1 -1
- package/service/EventBridgeEventTransportPlugin.d.ts +18 -0
- package/{crud/transport → service}/EventBridgeEventTransportPlugin.js +9 -7
- package/service/EventBridgeEventTransportPlugin.js.map +1 -0
- package/service/StepFunctionServicePlugin.d.ts +26 -0
- package/service/StepFunctionServicePlugin.js +84 -0
- package/service/StepFunctionServicePlugin.js.map +1 -0
- package/service/createService.d.ts +6 -0
- package/service/createService.js +31 -0
- package/service/createService.js.map +1 -0
- package/service/index.d.ts +4 -0
- package/service/index.js +31 -0
- package/service/index.js.map +1 -0
- package/task/plugin.d.ts +3 -3
- package/types.d.ts +56 -56
- package/types.js +7 -16
- package/types.js.map +1 -1
- package/utils/getErrorProperties.d.ts +1 -1
- package/utils/getErrorProperties.js +3 -1
- package/utils/getErrorProperties.js.map +1 -1
- package/utils/index.d.ts +3 -0
- package/utils/index.js +40 -0
- package/utils/index.js.map +1 -0
- package/crud/transport/EventBridgeEventTransportPlugin.d.ts +0 -5
- package/crud/transport/EventBridgeEventTransportPlugin.js.map +0 -1
- package/crud/trigger.tasks.d.ts +0 -2
- package/crud/trigger.tasks.js.map +0 -1
- package/plugins/TaskTriggerTransportPlugin.d.ts +0 -17
- package/plugins/TaskTriggerTransportPlugin.js +0 -20
- package/plugins/TaskTriggerTransportPlugin.js.map +0 -1
- package/transport/createTransport.d.ts +0 -7
- package/transport/createTransport.js +0 -32
- package/transport/createTransport.js.map +0 -1
package/context.d.ts
CHANGED
package/context.js
CHANGED
|
@@ -7,34 +7,26 @@ exports.createBackgroundTaskContext = void 0;
|
|
|
7
7
|
var _api = require("@webiny/api");
|
|
8
8
|
var _model = require("./crud/model");
|
|
9
9
|
var _definition = require("./crud/definition.tasks");
|
|
10
|
-
var
|
|
10
|
+
var _service = require("./crud/service.tasks");
|
|
11
11
|
var _crud = require("./crud/crud.tasks");
|
|
12
12
|
var _testingRunTask = require("./tasks/testingRunTask");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
config: {
|
|
16
|
-
eventBusName: config?.eventBusName || String(process.env.EVENT_BUS)
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
const createTasksCrud = input => {
|
|
21
|
-
const config = createConfig(input);
|
|
13
|
+
var _service2 = require("./service");
|
|
14
|
+
const createTasksCrud = () => {
|
|
22
15
|
const plugin = new _api.ContextPlugin(async context => {
|
|
23
16
|
context.tasks = {
|
|
24
|
-
...config,
|
|
25
17
|
...(0, _definition.createDefinitionCrud)(context),
|
|
26
18
|
...(0, _crud.createTaskCrud)(context),
|
|
27
|
-
...(0,
|
|
19
|
+
...(0, _service.createServiceCrud)(context)
|
|
28
20
|
};
|
|
29
21
|
});
|
|
30
22
|
plugin.name = "tasks.context";
|
|
31
23
|
return plugin;
|
|
32
24
|
};
|
|
33
|
-
const createTasksContext =
|
|
34
|
-
return [...(0, _model.createTaskModel)(), createTasksCrud(
|
|
25
|
+
const createTasksContext = () => {
|
|
26
|
+
return [...(0, _service2.createServicePlugins)(), ...(0, _model.createTaskModel)(), createTasksCrud()];
|
|
35
27
|
};
|
|
36
|
-
const createBackgroundTaskContext =
|
|
37
|
-
return [(0, _testingRunTask.createTestingRunTask)(), ...createTasksContext(
|
|
28
|
+
const createBackgroundTaskContext = () => {
|
|
29
|
+
return [(0, _testingRunTask.createTestingRunTask)(), ...createTasksContext()];
|
|
38
30
|
};
|
|
39
31
|
exports.createBackgroundTaskContext = createBackgroundTaskContext;
|
|
40
32
|
|
package/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_api","require","_model","_definition","
|
|
1
|
+
{"version":3,"names":["_api","require","_model","_definition","_service","_crud","_testingRunTask","_service2","createTasksCrud","plugin","ContextPlugin","context","tasks","createDefinitionCrud","createTaskCrud","createServiceCrud","name","createTasksContext","createServicePlugins","createTaskModel","createBackgroundTaskContext","createTestingRunTask","exports"],"sources":["context.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { Context } from \"~/types\";\nimport { createTaskModel } from \"./crud/model\";\nimport { createDefinitionCrud } from \"./crud/definition.tasks\";\nimport { createServiceCrud } from \"~/crud/service.tasks\";\nimport { createTaskCrud } from \"./crud/crud.tasks\";\nimport { createTestingRunTask } from \"~/tasks/testingRunTask\";\nimport { createServicePlugins } from \"~/service\";\n\nconst createTasksCrud = () => {\n const plugin = new ContextPlugin<Context>(async context => {\n context.tasks = {\n ...createDefinitionCrud(context),\n ...createTaskCrud(context),\n ...createServiceCrud(context)\n };\n });\n\n plugin.name = \"tasks.context\";\n\n return plugin;\n};\n\nconst createTasksContext = (): Plugin[] => {\n return [...createServicePlugins(), ...createTaskModel(), createTasksCrud()];\n};\n\nexport const createBackgroundTaskContext = (): Plugin[] => {\n return [createTestingRunTask(), ...createTasksContext()];\n};\n"],"mappings":";;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAEA,MAAMO,eAAe,GAAGA,CAAA,KAAM;EAC1B,MAAMC,MAAM,GAAG,IAAIC,kBAAa,CAAU,MAAMC,OAAO,IAAI;IACvDA,OAAO,CAACC,KAAK,GAAG;MACZ,GAAG,IAAAC,gCAAoB,EAACF,OAAO,CAAC;MAChC,GAAG,IAAAG,oBAAc,EAACH,OAAO,CAAC;MAC1B,GAAG,IAAAI,0BAAiB,EAACJ,OAAO;IAChC,CAAC;EACL,CAAC,CAAC;EAEFF,MAAM,CAACO,IAAI,GAAG,eAAe;EAE7B,OAAOP,MAAM;AACjB,CAAC;AAED,MAAMQ,kBAAkB,GAAGA,CAAA,KAAgB;EACvC,OAAO,CAAC,GAAG,IAAAC,8BAAoB,EAAC,CAAC,EAAE,GAAG,IAAAC,sBAAe,EAAC,CAAC,EAAEX,eAAe,CAAC,CAAC,CAAC;AAC/E,CAAC;AAEM,MAAMY,2BAA2B,GAAGA,CAAA,KAAgB;EACvD,OAAO,CAAC,IAAAC,oCAAoB,EAAC,CAAC,EAAE,GAAGJ,kBAAkB,CAAC,CAAC,CAAC;AAC5D,CAAC;AAACK,OAAA,CAAAF,2BAAA,GAAAA,2BAAA","ignoreList":[]}
|
package/crud/model.js
CHANGED
|
@@ -78,10 +78,10 @@ const taskLogModelPlugin = (0, _apiHeadlessCms.createCmsModel)((0, _apiHeadlessC
|
|
|
78
78
|
predefinedValues: {
|
|
79
79
|
enabled: true,
|
|
80
80
|
values: [{
|
|
81
|
-
value: _types.
|
|
81
|
+
value: _types.TaskLogItemType.INFO,
|
|
82
82
|
label: "Info"
|
|
83
83
|
}, {
|
|
84
|
-
value: _types.
|
|
84
|
+
value: _types.TaskLogItemType.ERROR,
|
|
85
85
|
label: "Error"
|
|
86
86
|
}]
|
|
87
87
|
},
|
package/crud/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_apiHeadlessCms","require","_types","WEBINY_TASK_MODEL_ID","exports","WEBINY_TASK_LOG_MODEL_ID","taskLogModelPlugin","createCmsModel","createPrivateModel","name","modelId","fields","id","fieldId","storageId","type","label","validation","message","multipleValues","settings","predefinedValues","enabled","values","value","ITaskLogItemType","INFO","ERROR","taskModelPlugin","TaskDataStatus","PENDING","RUNNING","FAILED","SUCCESS","ABORTED","defaultValue","taskModel","contentModel","taskLogModel","createTaskModel"],"sources":["model.ts"],"sourcesContent":["import { createCmsModel, createPrivateModel } from \"@webiny/api-headless-cms\";\nimport { ITaskLogItemType, TaskDataStatus } from \"~/types\";\n\nexport const WEBINY_TASK_MODEL_ID = \"webinyTask\";\nexport const WEBINY_TASK_LOG_MODEL_ID = \"webinyTaskLog\";\n\nconst taskLogModelPlugin = createCmsModel(\n createPrivateModel({\n name: \"Webiny Task Log\",\n modelId: WEBINY_TASK_LOG_MODEL_ID,\n fields: [\n {\n id: \"executionName\",\n fieldId: \"executionName\",\n storageId: \"text@executionName\",\n type: \"text\",\n label: \"Execution Name\"\n },\n {\n id: \"task\",\n fieldId: \"task\",\n storageId: \"text@task\",\n type: \"text\",\n label: \"Task\",\n validation: [\n {\n name: \"required\",\n message: \"Task is required.\"\n }\n ]\n },\n {\n id: \"iteration\",\n fieldId: \"iteration\",\n storageId: \"number@iteration\",\n type: \"number\",\n label: \"Iteration\",\n validation: [\n {\n name: \"required\",\n message: \"Iteration is required.\"\n }\n ]\n },\n {\n id: \"items\",\n fieldId: \"items\",\n storageId: \"object@items\",\n type: \"object\",\n label: \"Items\",\n multipleValues: true,\n validation: [\n {\n name: \"required\",\n message: \"Items is required.\"\n }\n ],\n settings: {\n fields: [\n {\n id: \"message\",\n fieldId: \"message\",\n storageId: \"text@message\",\n type: \"text\",\n label: \"Message\",\n validation: [\n {\n name: \"required\",\n message: \"Message is required.\"\n }\n ]\n },\n {\n id: \"createdOn\",\n fieldId: \"createdOn\",\n storageId: \"datetime@createdOn\",\n type: \"datetime\",\n label: \"Created On\",\n validation: [\n {\n name: \"required\",\n message: \"Created On is required.\"\n }\n ]\n },\n {\n id: \"type\",\n fieldId: \"type\",\n storageId: \"text@type\",\n type: \"text\",\n label: \"Type\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: ITaskLogItemType.INFO,\n label: \"Info\"\n },\n {\n value: ITaskLogItemType.ERROR,\n label: \"Error\"\n }\n ]\n },\n validation: [\n {\n name: \"required\",\n message: \"Type is required.\"\n }\n ]\n },\n {\n id: \"data\",\n fieldId: \"data\",\n storageId: \"object@data\",\n type: \"json\",\n label: \"Data\"\n },\n {\n id: \"error\",\n fieldId: \"error\",\n storageId: \"object@error\",\n type: \"json\",\n label: \"Error\"\n }\n ]\n }\n }\n ]\n })\n);\n\nconst taskModelPlugin = createCmsModel(\n createPrivateModel({\n name: \"Webiny Task\",\n modelId: WEBINY_TASK_MODEL_ID,\n fields: [\n {\n id: \"name\",\n fieldId: \"name\",\n storageId: \"text@name\",\n type: \"text\",\n label: \"Name\",\n validation: [\n {\n name: \"required\",\n message: \"Name is required.\"\n }\n ]\n },\n {\n id: \"definitionId\",\n fieldId: \"definitionId\",\n storageId: \"text@definitionId\",\n type: \"text\",\n label: \"Definition ID\",\n validation: [\n {\n name: \"required\",\n message: \"Definition ID is required.\"\n }\n ]\n },\n {\n id: \"parentId\",\n fieldId: \"parentId\",\n storageId: \"text@parentId\",\n type: \"text\",\n label: \"Parent ID\"\n },\n {\n id: \"executionName\",\n fieldId: \"executionName\",\n storageId: \"text@executionName\",\n type: \"text\",\n label: \"Execution Name\"\n },\n {\n id: \"iterations\",\n fieldId: \"iterations\",\n storageId: \"number@iterations\",\n type: \"number\",\n label: \"Iterations\"\n },\n {\n id: \"input\",\n fieldId: \"input\",\n storageId: \"object@input\",\n type: \"json\",\n label: \"Input\"\n },\n {\n id: \"output\",\n fieldId: \"output\",\n storageId: \"object@output\",\n type: \"json\",\n label: \"Output\"\n },\n {\n id: \"taskStatus\",\n fieldId: \"taskStatus\",\n storageId: \"text@taskStatus\",\n type: \"text\",\n label: \"Status\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: TaskDataStatus.PENDING,\n label: \"Pending\"\n },\n {\n value: TaskDataStatus.RUNNING,\n label: \"Running\"\n },\n {\n value: TaskDataStatus.FAILED,\n label: \"Failed\"\n },\n {\n value: TaskDataStatus.SUCCESS,\n label: \"Success\"\n },\n {\n value: TaskDataStatus.ABORTED,\n label: \"Aborted\"\n }\n ]\n },\n settings: {\n defaultValue: TaskDataStatus.PENDING\n }\n },\n {\n id: \"startedOn\",\n fieldId: \"startedOn\",\n storageId: \"datetime@startedOn\",\n type: \"datetime\",\n label: \"Started On\"\n },\n {\n id: \"finishedOn\",\n fieldId: \"finishedOn\",\n storageId: \"datetime@finishedOn\",\n type: \"datetime\",\n label: \"Finished On\"\n },\n {\n id: \"eventResponse\",\n fieldId: \"eventResponse\",\n storageId: \"object@eventResponse\",\n type: \"json\",\n label: \"Event Response\"\n }\n ]\n })\n);\n\nexport const taskModel = taskModelPlugin.contentModel;\nexport const taskLogModel = taskLogModelPlugin.contentModel;\n\nexport const createTaskModel = () => {\n return [taskModelPlugin, taskLogModelPlugin];\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_apiHeadlessCms","require","_types","WEBINY_TASK_MODEL_ID","exports","WEBINY_TASK_LOG_MODEL_ID","taskLogModelPlugin","createCmsModel","createPrivateModel","name","modelId","fields","id","fieldId","storageId","type","label","validation","message","multipleValues","settings","predefinedValues","enabled","values","value","TaskLogItemType","INFO","ERROR","taskModelPlugin","TaskDataStatus","PENDING","RUNNING","FAILED","SUCCESS","ABORTED","defaultValue","taskModel","contentModel","taskLogModel","createTaskModel"],"sources":["model.ts"],"sourcesContent":["import { createCmsModel, createPrivateModel } from \"@webiny/api-headless-cms\";\nimport { TaskLogItemType, TaskDataStatus } from \"~/types\";\n\nexport const WEBINY_TASK_MODEL_ID = \"webinyTask\";\nexport const WEBINY_TASK_LOG_MODEL_ID = \"webinyTaskLog\";\n\nconst taskLogModelPlugin = createCmsModel(\n createPrivateModel({\n name: \"Webiny Task Log\",\n modelId: WEBINY_TASK_LOG_MODEL_ID,\n fields: [\n {\n id: \"executionName\",\n fieldId: \"executionName\",\n storageId: \"text@executionName\",\n type: \"text\",\n label: \"Execution Name\"\n },\n {\n id: \"task\",\n fieldId: \"task\",\n storageId: \"text@task\",\n type: \"text\",\n label: \"Task\",\n validation: [\n {\n name: \"required\",\n message: \"Task is required.\"\n }\n ]\n },\n {\n id: \"iteration\",\n fieldId: \"iteration\",\n storageId: \"number@iteration\",\n type: \"number\",\n label: \"Iteration\",\n validation: [\n {\n name: \"required\",\n message: \"Iteration is required.\"\n }\n ]\n },\n {\n id: \"items\",\n fieldId: \"items\",\n storageId: \"object@items\",\n type: \"object\",\n label: \"Items\",\n multipleValues: true,\n validation: [\n {\n name: \"required\",\n message: \"Items is required.\"\n }\n ],\n settings: {\n fields: [\n {\n id: \"message\",\n fieldId: \"message\",\n storageId: \"text@message\",\n type: \"text\",\n label: \"Message\",\n validation: [\n {\n name: \"required\",\n message: \"Message is required.\"\n }\n ]\n },\n {\n id: \"createdOn\",\n fieldId: \"createdOn\",\n storageId: \"datetime@createdOn\",\n type: \"datetime\",\n label: \"Created On\",\n validation: [\n {\n name: \"required\",\n message: \"Created On is required.\"\n }\n ]\n },\n {\n id: \"type\",\n fieldId: \"type\",\n storageId: \"text@type\",\n type: \"text\",\n label: \"Type\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: TaskLogItemType.INFO,\n label: \"Info\"\n },\n {\n value: TaskLogItemType.ERROR,\n label: \"Error\"\n }\n ]\n },\n validation: [\n {\n name: \"required\",\n message: \"Type is required.\"\n }\n ]\n },\n {\n id: \"data\",\n fieldId: \"data\",\n storageId: \"object@data\",\n type: \"json\",\n label: \"Data\"\n },\n {\n id: \"error\",\n fieldId: \"error\",\n storageId: \"object@error\",\n type: \"json\",\n label: \"Error\"\n }\n ]\n }\n }\n ]\n })\n);\n\nconst taskModelPlugin = createCmsModel(\n createPrivateModel({\n name: \"Webiny Task\",\n modelId: WEBINY_TASK_MODEL_ID,\n fields: [\n {\n id: \"name\",\n fieldId: \"name\",\n storageId: \"text@name\",\n type: \"text\",\n label: \"Name\",\n validation: [\n {\n name: \"required\",\n message: \"Name is required.\"\n }\n ]\n },\n {\n id: \"definitionId\",\n fieldId: \"definitionId\",\n storageId: \"text@definitionId\",\n type: \"text\",\n label: \"Definition ID\",\n validation: [\n {\n name: \"required\",\n message: \"Definition ID is required.\"\n }\n ]\n },\n {\n id: \"parentId\",\n fieldId: \"parentId\",\n storageId: \"text@parentId\",\n type: \"text\",\n label: \"Parent ID\"\n },\n {\n id: \"executionName\",\n fieldId: \"executionName\",\n storageId: \"text@executionName\",\n type: \"text\",\n label: \"Execution Name\"\n },\n {\n id: \"iterations\",\n fieldId: \"iterations\",\n storageId: \"number@iterations\",\n type: \"number\",\n label: \"Iterations\"\n },\n {\n id: \"input\",\n fieldId: \"input\",\n storageId: \"object@input\",\n type: \"json\",\n label: \"Input\"\n },\n {\n id: \"output\",\n fieldId: \"output\",\n storageId: \"object@output\",\n type: \"json\",\n label: \"Output\"\n },\n {\n id: \"taskStatus\",\n fieldId: \"taskStatus\",\n storageId: \"text@taskStatus\",\n type: \"text\",\n label: \"Status\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: TaskDataStatus.PENDING,\n label: \"Pending\"\n },\n {\n value: TaskDataStatus.RUNNING,\n label: \"Running\"\n },\n {\n value: TaskDataStatus.FAILED,\n label: \"Failed\"\n },\n {\n value: TaskDataStatus.SUCCESS,\n label: \"Success\"\n },\n {\n value: TaskDataStatus.ABORTED,\n label: \"Aborted\"\n }\n ]\n },\n settings: {\n defaultValue: TaskDataStatus.PENDING\n }\n },\n {\n id: \"startedOn\",\n fieldId: \"startedOn\",\n storageId: \"datetime@startedOn\",\n type: \"datetime\",\n label: \"Started On\"\n },\n {\n id: \"finishedOn\",\n fieldId: \"finishedOn\",\n storageId: \"datetime@finishedOn\",\n type: \"datetime\",\n label: \"Finished On\"\n },\n {\n id: \"eventResponse\",\n fieldId: \"eventResponse\",\n storageId: \"object@eventResponse\",\n type: \"json\",\n label: \"Event Response\"\n }\n ]\n })\n);\n\nexport const taskModel = taskModelPlugin.contentModel;\nexport const taskLogModel = taskLogModelPlugin.contentModel;\n\nexport const createTaskModel = () => {\n return [taskModelPlugin, taskLogModelPlugin];\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,12 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.createServiceCrud = void 0;
|
|
8
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
9
|
var _types = require("../types");
|
|
10
10
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
11
|
-
var
|
|
12
|
-
var _EventBridgeEventTransportPlugin = require("./transport/EventBridgeEventTransportPlugin");
|
|
11
|
+
var _service = require("../service");
|
|
13
12
|
const MAX_DELAY_DAYS = 355;
|
|
14
13
|
const MAX_DELAY_SECONDS = MAX_DELAY_DAYS * 24 * 60 * 60;
|
|
15
14
|
const validateDelay = ({
|
|
@@ -26,11 +25,9 @@ const validateDelay = ({
|
|
|
26
25
|
delay
|
|
27
26
|
});
|
|
28
27
|
};
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
context,
|
|
33
|
-
config
|
|
28
|
+
const createServiceCrud = context => {
|
|
29
|
+
const service = (0, _service.createService)({
|
|
30
|
+
context
|
|
34
31
|
});
|
|
35
32
|
return {
|
|
36
33
|
trigger: async params => {
|
|
@@ -63,16 +60,24 @@ const createTriggerTasksCrud = (context, config) => {
|
|
|
63
60
|
input,
|
|
64
61
|
delay
|
|
65
62
|
});
|
|
66
|
-
|
|
67
|
-
let event = null;
|
|
63
|
+
let task;
|
|
68
64
|
try {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
65
|
+
task = await context.tasks.createTask(input);
|
|
66
|
+
} catch (ex) {
|
|
67
|
+
console.log("Could not create the task.", ex);
|
|
68
|
+
throw ex;
|
|
69
|
+
}
|
|
70
|
+
let result = null;
|
|
71
|
+
try {
|
|
72
|
+
result = await service.send(task, delay);
|
|
73
|
+
if (!result) {
|
|
74
|
+
throw new _error.default(`Could not trigger the step function!`, "TRIGGER_STEP_FUNCTION_ERROR", {
|
|
72
75
|
task
|
|
73
76
|
});
|
|
74
77
|
}
|
|
75
78
|
} catch (ex) {
|
|
79
|
+
console.log("Could not trigger the step function.");
|
|
80
|
+
console.error(ex);
|
|
76
81
|
/**
|
|
77
82
|
* In case of failure to create the Event Bridge Event, we need to delete the task that was meant to be created.
|
|
78
83
|
* TODO maybe we can leave the task and update it as failed - with event bridge error?
|
|
@@ -81,9 +86,26 @@ const createTriggerTasksCrud = (context, config) => {
|
|
|
81
86
|
throw ex;
|
|
82
87
|
}
|
|
83
88
|
return await context.tasks.updateTask(task.id, {
|
|
84
|
-
eventResponse:
|
|
89
|
+
eventResponse: result
|
|
85
90
|
});
|
|
86
91
|
},
|
|
92
|
+
fetchServiceInfo: async input => {
|
|
93
|
+
const task = typeof input === "object" ? input : await context.tasks.getTask(input);
|
|
94
|
+
if (!task && typeof input === "string") {
|
|
95
|
+
throw new _handlerGraphql.NotFoundError(`Task "${input}" was not found!`);
|
|
96
|
+
} else if (!task) {
|
|
97
|
+
throw new _error.default(`Task was not found!`, "TASK_FETCH_ERROR", {
|
|
98
|
+
input
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
return await service.fetch(task);
|
|
103
|
+
} catch (ex) {
|
|
104
|
+
console.log("Service fetch error.");
|
|
105
|
+
console.error(ex);
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
},
|
|
87
109
|
abort: async params => {
|
|
88
110
|
const task = await context.tasks.getTask(params.id);
|
|
89
111
|
if (!task) {
|
|
@@ -121,7 +143,7 @@ const createTriggerTasksCrud = (context, config) => {
|
|
|
121
143
|
await context.tasks.updateLog(taskLog.id, {
|
|
122
144
|
items: taskLog.items.concat([{
|
|
123
145
|
message: params.message || "Task aborted.",
|
|
124
|
-
type: _types.
|
|
146
|
+
type: _types.TaskLogItemType.INFO,
|
|
125
147
|
createdOn: new Date().toISOString()
|
|
126
148
|
}])
|
|
127
149
|
});
|
|
@@ -144,6 +166,6 @@ const createTriggerTasksCrud = (context, config) => {
|
|
|
144
166
|
}
|
|
145
167
|
};
|
|
146
168
|
};
|
|
147
|
-
exports.
|
|
169
|
+
exports.createServiceCrud = createServiceCrud;
|
|
148
170
|
|
|
149
|
-
//# sourceMappingURL=
|
|
171
|
+
//# sourceMappingURL=service.tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_types","_handlerGraphql","_service","MAX_DELAY_DAYS","MAX_DELAY_SECONDS","validateDelay","input","delay","Number","isInteger","WebinyError","createServiceCrud","context","service","createService","trigger","params","definition","id","inputValues","name","parent","tasks","getDefinition","title","definitionId","parentId","onBeforeTrigger","data","task","createTask","ex","console","log","result","send","error","deleteTask","updateTask","eventResponse","fetchServiceInfo","getTask","NotFoundError","fetch","abort","TaskDataStatus","PENDING","RUNNING","includes","taskStatus","status","taskLog","getLatestLog","createLog","iteration","executionName","updatedTask","ABORTED","updateLog","items","concat","message","type","TaskLogItemType","INFO","createdOn","Date","toISOString","onAbort","exports"],"sources":["service.tasks.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n Context,\n ITask,\n ITaskAbortParams,\n ITaskCreateData,\n ITaskDataInput,\n ITaskLog,\n ITaskResponseDoneResultOutput,\n ITasksContextServiceObject,\n ITaskTriggerParams\n} from \"~/types\";\nimport { TaskDataStatus, TaskLogItemType } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { createService } from \"~/service\";\nimport { IStepFunctionServiceFetchResult } from \"~/service/StepFunctionServicePlugin\";\n\nconst MAX_DELAY_DAYS = 355;\nconst MAX_DELAY_SECONDS = MAX_DELAY_DAYS * 24 * 60 * 60;\n\ninterface ValidateDelayParams<T> {\n input: ITaskCreateData<T>;\n delay?: number;\n}\n\nconst validateDelay = <T = ITaskDataInput>({ input, delay }: ValidateDelayParams<T>): void => {\n if (!delay || delay < 0 || typeof delay !== \"number\" || Number.isInteger(delay) === false) {\n return;\n } else if (delay < MAX_DELAY_SECONDS) {\n return;\n }\n throw new WebinyError(\n `The maximum delay for a task is ${MAX_DELAY_DAYS} days.`,\n \"MAX_DELAY_ERROR\",\n {\n ...input,\n delay\n }\n );\n};\n\nexport const createServiceCrud = (context: Context): ITasksContextServiceObject => {\n const service = createService({\n context\n });\n\n return {\n trigger: async <\n T = ITaskDataInput,\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n >(\n params: ITaskTriggerParams<T>\n ): Promise<ITask<T, O>> => {\n const { definition: id, input: inputValues, name, parent, delay = 0 } = params;\n const definition = context.tasks.getDefinition(id);\n if (!definition) {\n throw new WebinyError(`Task definition was not found!`, \"TASK_DEFINITION_ERROR\", {\n id\n });\n }\n const input: ITaskCreateData<T> = {\n name: name || definition.title,\n definitionId: id,\n input: inputValues || ({} as T),\n parentId: parent?.id\n };\n if (definition.onBeforeTrigger) {\n await definition.onBeforeTrigger<T>({\n context,\n data: input\n });\n }\n validateDelay<T>({\n input,\n delay\n });\n\n let task: ITask<T>;\n try {\n task = await context.tasks.createTask<T>(input);\n } catch (ex) {\n console.log(\"Could not create the task.\", ex);\n throw ex;\n }\n\n let result: Awaited<ReturnType<typeof service.send>> | null = null;\n try {\n result = await service.send(task, delay);\n\n if (!result) {\n throw new WebinyError(\n `Could not trigger the step function!`,\n \"TRIGGER_STEP_FUNCTION_ERROR\",\n {\n task\n }\n );\n }\n } catch (ex) {\n console.log(\"Could not trigger the step function.\");\n console.error(ex);\n /**\n * In case of failure to create the Event Bridge Event, we need to delete the task that was meant to be created.\n * TODO maybe we can leave the task and update it as failed - with event bridge error?\n */\n await context.tasks.deleteTask(task.id);\n throw ex;\n }\n return await context.tasks.updateTask<T, O>(task.id, {\n eventResponse: result\n });\n },\n fetchServiceInfo: async (\n input: ITask | string\n ): Promise<IStepFunctionServiceFetchResult | null> => {\n const task = typeof input === \"object\" ? input : await context.tasks.getTask(input);\n if (!task && typeof input === \"string\") {\n throw new NotFoundError(`Task \"${input}\" was not found!`);\n } else if (!task) {\n throw new WebinyError(`Task was not found!`, \"TASK_FETCH_ERROR\", {\n input\n });\n }\n\n try {\n return (await service.fetch(task)) as IStepFunctionServiceFetchResult | null;\n } catch (ex) {\n console.log(\"Service fetch error.\");\n console.error(ex);\n return null;\n }\n },\n abort: async <\n T = ITaskDataInput,\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n >(\n params: ITaskAbortParams\n ): Promise<ITask<T, O>> => {\n const task = await context.tasks.getTask<T, O>(params.id);\n if (!task) {\n throw new NotFoundError(`Task \"${params.id}\" was not found!`);\n }\n\n const definition = context.tasks.getDefinition<Context, T, O>(task.definitionId);\n if (!definition) {\n throw new WebinyError(`Task definition was not found!`, \"TASK_DEFINITION_ERROR\", {\n id: task.id\n });\n }\n /**\n * We should only be able to abort a task which is pending or running\n */\n if (\n [TaskDataStatus.PENDING, TaskDataStatus.RUNNING].includes(task.taskStatus) === false\n ) {\n throw new WebinyError(\n `Cannot abort a task that is not pending or running!`,\n \"TASK_ABORT_ERROR\",\n {\n id: params.id,\n status: task.taskStatus\n }\n );\n }\n let taskLog: ITaskLog | null = null;\n try {\n taskLog = await context.tasks.getLatestLog(task.id);\n } catch (ex) {}\n if (!taskLog) {\n taskLog = await context.tasks.createLog(task, {\n iteration: 1,\n executionName: task.executionName\n });\n }\n try {\n const updatedTask = await context.tasks.updateTask<T, O>(task.id, {\n taskStatus: TaskDataStatus.ABORTED\n });\n await context.tasks.updateLog(taskLog.id, {\n items: taskLog.items.concat([\n {\n message: params.message || \"Task aborted.\",\n type: TaskLogItemType.INFO,\n createdOn: new Date().toISOString()\n }\n ])\n });\n /**\n * TODO: determine when to kick off the onAbort hook\n */\n if (definition.onAbort) {\n await definition.onAbort({\n context,\n task: updatedTask\n });\n }\n\n return updatedTask;\n } catch (ex) {\n throw new WebinyError(`Could not abort the task!`, \"TASK_ABORT_ERROR\", {\n id: params.id,\n message: ex.message\n });\n }\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
package/graphql/index.js
CHANGED
|
@@ -238,7 +238,6 @@ const createGraphQL = () => {
|
|
|
238
238
|
/**
|
|
239
239
|
* We need to think of a way to pass the args type to the resolver without assigning it directly.
|
|
240
240
|
*/
|
|
241
|
-
// @ts-expect-error
|
|
242
241
|
getTask: async (_, args, context) => {
|
|
243
242
|
return (0, _utils.resolve)(async () => {
|
|
244
243
|
await (0, _checkPermissions.checkPermissions)(context, {
|
|
@@ -282,7 +281,6 @@ const createGraphQL = () => {
|
|
|
282
281
|
/**
|
|
283
282
|
* We need to think of a way to pass the args type to the resolver without assigning it directly.
|
|
284
283
|
*/
|
|
285
|
-
// @ts-expect-error
|
|
286
284
|
abortTask: async (_, args, context) => {
|
|
287
285
|
await (0, _checkPermissions.checkPermissions)(context, {
|
|
288
286
|
rwd: "w"
|
|
@@ -294,7 +292,6 @@ const createGraphQL = () => {
|
|
|
294
292
|
/**
|
|
295
293
|
* We need to think of a way to pass the args type to the resolver without assigning it directly.
|
|
296
294
|
*/
|
|
297
|
-
// @ts-expect-error
|
|
298
295
|
triggerTask: async (_, args, context) => {
|
|
299
296
|
await (0, _checkPermissions.checkPermissions)(context, {
|
|
300
297
|
rwd: "w"
|
|
@@ -306,7 +303,6 @@ const createGraphQL = () => {
|
|
|
306
303
|
/**
|
|
307
304
|
* We need to think of a way to pass the args type to the resolver without assigning it directly.
|
|
308
305
|
*/
|
|
309
|
-
// @ts-expect-error
|
|
310
306
|
deleteTask: async (_, args, context) => {
|
|
311
307
|
await (0, _checkPermissions.checkPermissions)(context, {
|
|
312
308
|
rwd: "d"
|
package/graphql/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_handlerGraphql","require","_renderSortEnum","_handler","_renderListFilterFields","_createFieldTypePluginRecords","_utils","_renderFields","_checkPermissions","createWebinyBackgroundTaskDefinitionEnum","items","length","filter","item","isPrivate","map","definition","id","join","createGraphQL","plugin","ContextPlugin","context","tenancy","getCurrentTenant","i18n","getDefaultLocale","taskModel","tasks","getTaskModel","logModel","getLogModel","models","security","withoutAuthorization","cms","listModels","model","fields","fieldTypePlugins","createFieldTypePluginRecords","plugins","taskFields","renderFields","type","logFields","field","fieldId","listTasksFilterFieldsRender","renderListFilterFields","excludeFields","listLogsFilterFieldsRender","sortTasksEnumRender","renderSortEnum","sorterPlugins","sortLogsEnumRender","taskDefinitions","listDefinitions","GraphQLSchemaPlugin","typeDefs","f","resolvers","Query","backgroundTasks","emptyResolver","Mutation","WebinyBackgroundTaskQuery","getTask","_","args","resolve","checkPermissions","rwd","listTasks","resolveList","__","result","listLogs","WebinyBackgroundTaskMutation","abortTask","abort","triggerTask","trigger","deleteTask","WebinyBackgroundTask","logs","parent","sort","limit","where","task","WebinyBackgroundTaskLog","register","name","createBackgroundTaskGraphQL","exports"],"sources":["index.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { renderSortEnum } from \"@webiny/api-headless-cms/utils/renderSortEnum\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport {\n Context,\n IListTaskLogParams,\n IListTaskParams,\n ITask,\n ITaskDefinition,\n ITaskLog\n} from \"~/types\";\nimport { renderListFilterFields } from \"@webiny/api-headless-cms/utils/renderListFilterFields\";\nimport { createFieldTypePluginRecords } from \"@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords\";\nimport { emptyResolver, resolve, resolveList } from \"./utils\";\nimport { renderFields } from \"@webiny/api-headless-cms/utils/renderFields\";\nimport { checkPermissions } from \"./checkPermissions\";\nimport { Plugin } from \"@webiny/plugins/types\";\n\ninterface IGetTaskQueryParams {\n id: string;\n}\n\ninterface IAbortTaskMutationParams {\n id: string;\n message?: string;\n}\n\ninterface ITriggerTaskMutationParams {\n name?: string;\n definition: string;\n input?: Record<string, any>;\n delay?: number;\n}\n\ninterface IDeleteTaskMutationParams {\n id: string;\n}\n\nconst createWebinyBackgroundTaskDefinitionEnum = (items: ITaskDefinition[]): string => {\n if (items.length === 0) {\n return \"Empty\";\n }\n return items\n .filter(item => {\n return !item.isPrivate;\n })\n .map(definition => definition.id)\n .join(\"\\n\");\n};\n\nconst createGraphQL = () => {\n const plugin = new ContextPlugin<Context>(async context => {\n if (!context.tenancy.getCurrentTenant()) {\n return;\n } else if (!context.i18n.getDefaultLocale()) {\n return;\n }\n\n const taskModel = await context.tasks.getTaskModel();\n const logModel = await context.tasks.getLogModel();\n\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter(model => {\n if (model.fields.length === 0) {\n return false;\n } else if (model.isPrivate) {\n return false;\n }\n return true;\n });\n });\n const fieldTypePlugins = createFieldTypePluginRecords(context.plugins);\n\n const taskFields = renderFields({\n models,\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const logFields = renderFields({\n models,\n model: logModel,\n fields: logModel.fields.filter(field => field.fieldId !== \"task\"),\n type: \"manage\",\n fieldTypePlugins\n });\n\n const listTasksFilterFieldsRender = renderListFilterFields({\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldTypePlugins,\n excludeFields: [\"entryId\"]\n });\n\n const listLogsFilterFieldsRender = renderListFilterFields({\n model: logModel,\n fields: logModel.fields,\n type: \"manage\",\n fieldTypePlugins,\n excludeFields: [\"entryId\"]\n });\n\n const sortTasksEnumRender = renderSortEnum({\n model: taskModel,\n fields: taskModel.fields,\n fieldTypePlugins,\n sorterPlugins: []\n });\n\n const sortLogsEnumRender = renderSortEnum({\n model: logModel,\n fields: logModel.fields,\n fieldTypePlugins,\n sorterPlugins: []\n });\n\n const taskDefinitions = context.tasks.listDefinitions();\n\n const plugin = new GraphQLSchemaPlugin<Context>({\n typeDefs: /* GraphQL */ `\n type WebinyBackgroundTaskError {\n message: String\n code: String\n data: JSON\n stack: String\n }\n \n ${taskFields.map(f => f.typeDefs).join(\"\\n\")}\n ${logFields.map(f => f.typeDefs).join(\"\\n\")}\n\n type WebinyBackgroundTask {\n id: String!\n createdOn: DateTime!\n savedOn: DateTime\n createdBy: WebinyBackgroundTaskIdentity!\n logs(\n where: WebinyBackgroundTaskLogListWhereInput\n limit: Number\n sort: [WebinyBackgroundTaskLogListSorter!]\n ): [WebinyBackgroundTaskLog!]!\n ${taskFields.map(f => f.fields).join(\"\\n\")}\n }\n\n type WebinyBackgroundTaskResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskMeta {\n cursor: String\n hasMoreItems: Boolean!\n totalCount: Int!\n }\n\n type WebinyBackgroundTaskListResponse {\n data: [WebinyBackgroundTask!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n \n type WebinyBackgroundTaskLog {\n id: String!\n createdOn: DateTime!\n createdBy: WebinyBackgroundTaskIdentity!\n task: WebinyBackgroundTask!\n ${logFields.map(f => f.fields).join(\"\\n\")}\n }\n \n type WebinyBackgroundTaskLogListResponse {\n data: [WebinyBackgroundTaskLog!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDefinition {\n id: String!\n title: String!\n description: String\n fields: JSON\n }\n\n type WebinyBackgroundTaskListDefinitionsResponse {\n data: [WebinyBackgroundTaskDefinition!]\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskIdentity {\n id: String!\n displayName: String!\n type: String\n }\n\n type WebinyBackgroundTaskTriggerResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDeleteResponse {\n data: Boolean\n error: WebinyBackgroundTaskError\n }\n\n input WebinyBackgroundTaskListWhereInput {\n ${listTasksFilterFieldsRender}\n }\n \n input WebinyBackgroundTaskLogListWhereInput {\n ${listLogsFilterFieldsRender}\n }\n\n enum WebinyBackgroundTaskListSorter {\n ${sortTasksEnumRender}\n }\n \n enum WebinyBackgroundTaskLogListSorter {\n ${sortLogsEnumRender}\n }\n\n type WebinyBackgroundTaskQuery {\n _empty: String\n }\n\n type WebinyBackgroundTaskMutation {\n _empty: String\n }\n\n enum WebinyBackgroundTaskDefinitionEnum {\n ${createWebinyBackgroundTaskDefinitionEnum(taskDefinitions)}\n }\n\n extend type Query {\n backgroundTasks: WebinyBackgroundTaskQuery\n }\n\n extend type Mutation {\n backgroundTasks: WebinyBackgroundTaskMutation\n }\n\n extend type WebinyBackgroundTaskQuery {\n getTask(id: ID!): WebinyBackgroundTaskResponse!\n listTasks(\n where: WebinyBackgroundTaskListWhereInput\n sort: [WebinyBackgroundTaskListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskListResponse!\n listDefinitions: WebinyBackgroundTaskListDefinitionsResponse!\n \n listLogs(\n where: WebinyBackgroundTaskLogListWhereInput\n sort: [WebinyBackgroundTaskLogListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskLogListResponse!\n }\n\n extend type WebinyBackgroundTaskMutation {\n triggerTask(definition: WebinyBackgroundTaskDefinitionEnum!, input: JSON, name: String, delay: Number): WebinyBackgroundTaskTriggerResponse!\n abortTask(id: ID!, message: String): WebinyBackgroundTaskResponse!\n deleteTask(id: ID!): WebinyBackgroundTaskDeleteResponse!\n }\n `,\n resolvers: {\n Query: {\n backgroundTasks: emptyResolver\n },\n Mutation: {\n backgroundTasks: emptyResolver\n },\n WebinyBackgroundTaskQuery: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n getTask: async (_, args: IGetTaskQueryParams, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.getTask(args.id);\n });\n },\n listTasks: async (_, args: IListTaskParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listTasks(args);\n });\n },\n listDefinitions: async (_, __, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n const result = context.tasks.listDefinitions();\n /**\n * Do not output private tasks.\n */\n return result.filter(item => {\n return !item.isPrivate;\n });\n });\n },\n listLogs: async (_, args: IListTaskLogParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listLogs(args);\n });\n }\n },\n WebinyBackgroundTaskMutation: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n abortTask: async (_, args: IAbortTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve(async () => {\n return await context.tasks.abort(args);\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n triggerTask: async (_, args: ITriggerTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve(async () => {\n return await context.tasks.trigger(args);\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n deleteTask: async (_, args: IDeleteTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"d\"\n });\n return resolve(async () => {\n return await context.tasks.deleteTask(args.id);\n });\n }\n },\n /**\n * Custom resolvers for fields\n */\n WebinyBackgroundTask: {\n logs: async (parent: ITask, args: IListTaskLogParams, context) => {\n const { items } = await context.tasks.listLogs({\n sort: [\"createdBy_ASC\"],\n limit: 10000,\n ...args,\n where: {\n ...args?.where,\n task: parent.id\n }\n });\n return items;\n }\n },\n WebinyBackgroundTaskLog: {\n task: async (parent: ITaskLog, _, context) => {\n return await context.tasks.getTask(parent.task);\n }\n }\n }\n });\n context.plugins.register(plugin);\n });\n\n plugin.name = \"tasks.graphql\";\n\n return plugin;\n};\n\nexport const createBackgroundTaskGraphQL = (): Plugin[] => {\n return [createGraphQL()];\n};\n"],"mappings":"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C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkBjB,UAAU,CAAC3B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACD,QAAQ,CAAC,CAACzC,IAAI,CAAC,IAAI,CAAE;AAC7D,kBAAkB2B,SAAS,CAAC9B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACD,QAAQ,CAAC,CAACzC,IAAI,CAAC,IAAI,CAAE;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsBwB,UAAU,CAAC3B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACtB,MAAM,CAAC,CAACpB,IAAI,CAAC,IAAI,CAAE;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB2B,SAAS,CAAC9B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACtB,MAAM,CAAC,CAACpB,IAAI,CAAC,IAAI,CAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB8B,2BAA4B;AAClD;AACA;AACA;AACA,sBAAsBG,0BAA2B;AACjD;AACA;AACA;AACA,sBAAsBC,mBAAoB;AAC1C;AACA;AACA;AACA,sBAAsBG,kBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB9C,wCAAwC,CAAC+C,eAAe,CAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;MACDK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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_handlerGraphql","require","_renderSortEnum","_handler","_renderListFilterFields","_createFieldTypePluginRecords","_utils","_renderFields","_checkPermissions","createWebinyBackgroundTaskDefinitionEnum","items","length","filter","item","isPrivate","map","definition","id","join","createGraphQL","plugin","ContextPlugin","context","tenancy","getCurrentTenant","i18n","getDefaultLocale","taskModel","tasks","getTaskModel","logModel","getLogModel","models","security","withoutAuthorization","cms","listModels","model","fields","fieldTypePlugins","createFieldTypePluginRecords","plugins","taskFields","renderFields","type","logFields","field","fieldId","listTasksFilterFieldsRender","renderListFilterFields","excludeFields","listLogsFilterFieldsRender","sortTasksEnumRender","renderSortEnum","sorterPlugins","sortLogsEnumRender","taskDefinitions","listDefinitions","GraphQLSchemaPlugin","typeDefs","f","resolvers","Query","backgroundTasks","emptyResolver","Mutation","WebinyBackgroundTaskQuery","getTask","_","args","resolve","checkPermissions","rwd","listTasks","resolveList","__","result","listLogs","WebinyBackgroundTaskMutation","abortTask","abort","triggerTask","trigger","deleteTask","WebinyBackgroundTask","logs","parent","sort","limit","where","task","WebinyBackgroundTaskLog","register","name","createBackgroundTaskGraphQL","exports"],"sources":["index.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { renderSortEnum } from \"@webiny/api-headless-cms/utils/renderSortEnum\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport {\n Context,\n IListTaskLogParams,\n IListTaskParams,\n ITask,\n ITaskDefinition,\n ITaskLog\n} from \"~/types\";\nimport { renderListFilterFields } from \"@webiny/api-headless-cms/utils/renderListFilterFields\";\nimport { createFieldTypePluginRecords } from \"@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords\";\nimport { emptyResolver, resolve, resolveList } from \"./utils\";\nimport { renderFields } from \"@webiny/api-headless-cms/utils/renderFields\";\nimport { checkPermissions } from \"./checkPermissions\";\nimport { Plugin } from \"@webiny/plugins/types\";\n\ninterface IGetTaskQueryParams {\n id: string;\n}\n\ninterface IAbortTaskMutationParams {\n id: string;\n message?: string;\n}\n\ninterface ITriggerTaskMutationParams {\n name?: string;\n definition: string;\n input?: Record<string, any>;\n delay?: number;\n}\n\ninterface IDeleteTaskMutationParams {\n id: string;\n}\n\nconst createWebinyBackgroundTaskDefinitionEnum = (items: ITaskDefinition[]): string => {\n if (items.length === 0) {\n return \"Empty\";\n }\n return items\n .filter(item => {\n return !item.isPrivate;\n })\n .map(definition => definition.id)\n .join(\"\\n\");\n};\n\nconst createGraphQL = () => {\n const plugin = new ContextPlugin<Context>(async context => {\n if (!context.tenancy.getCurrentTenant()) {\n return;\n } else if (!context.i18n.getDefaultLocale()) {\n return;\n }\n\n const taskModel = await context.tasks.getTaskModel();\n const logModel = await context.tasks.getLogModel();\n\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter(model => {\n if (model.fields.length === 0) {\n return false;\n } else if (model.isPrivate) {\n return false;\n }\n return true;\n });\n });\n const fieldTypePlugins = createFieldTypePluginRecords(context.plugins);\n\n const taskFields = renderFields({\n models,\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const logFields = renderFields({\n models,\n model: logModel,\n fields: logModel.fields.filter(field => field.fieldId !== \"task\"),\n type: \"manage\",\n fieldTypePlugins\n });\n\n const listTasksFilterFieldsRender = renderListFilterFields({\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldTypePlugins,\n excludeFields: [\"entryId\"]\n });\n\n const listLogsFilterFieldsRender = renderListFilterFields({\n model: logModel,\n fields: logModel.fields,\n type: \"manage\",\n fieldTypePlugins,\n excludeFields: [\"entryId\"]\n });\n\n const sortTasksEnumRender = renderSortEnum({\n model: taskModel,\n fields: taskModel.fields,\n fieldTypePlugins,\n sorterPlugins: []\n });\n\n const sortLogsEnumRender = renderSortEnum({\n model: logModel,\n fields: logModel.fields,\n fieldTypePlugins,\n sorterPlugins: []\n });\n\n const taskDefinitions = context.tasks.listDefinitions();\n\n const plugin = new GraphQLSchemaPlugin<Context>({\n typeDefs: /* GraphQL */ `\n type WebinyBackgroundTaskError {\n message: String\n code: String\n data: JSON\n stack: String\n }\n \n ${taskFields.map(f => f.typeDefs).join(\"\\n\")}\n ${logFields.map(f => f.typeDefs).join(\"\\n\")}\n\n type WebinyBackgroundTask {\n id: String!\n createdOn: DateTime!\n savedOn: DateTime\n createdBy: WebinyBackgroundTaskIdentity!\n logs(\n where: WebinyBackgroundTaskLogListWhereInput\n limit: Number\n sort: [WebinyBackgroundTaskLogListSorter!]\n ): [WebinyBackgroundTaskLog!]!\n ${taskFields.map(f => f.fields).join(\"\\n\")}\n }\n\n type WebinyBackgroundTaskResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskMeta {\n cursor: String\n hasMoreItems: Boolean!\n totalCount: Int!\n }\n\n type WebinyBackgroundTaskListResponse {\n data: [WebinyBackgroundTask!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n \n type WebinyBackgroundTaskLog {\n id: String!\n createdOn: DateTime!\n createdBy: WebinyBackgroundTaskIdentity!\n task: WebinyBackgroundTask!\n ${logFields.map(f => f.fields).join(\"\\n\")}\n }\n \n type WebinyBackgroundTaskLogListResponse {\n data: [WebinyBackgroundTaskLog!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDefinition {\n id: String!\n title: String!\n description: String\n fields: JSON\n }\n\n type WebinyBackgroundTaskListDefinitionsResponse {\n data: [WebinyBackgroundTaskDefinition!]\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskIdentity {\n id: String!\n displayName: String!\n type: String\n }\n\n type WebinyBackgroundTaskTriggerResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDeleteResponse {\n data: Boolean\n error: WebinyBackgroundTaskError\n }\n\n input WebinyBackgroundTaskListWhereInput {\n ${listTasksFilterFieldsRender}\n }\n \n input WebinyBackgroundTaskLogListWhereInput {\n ${listLogsFilterFieldsRender}\n }\n\n enum WebinyBackgroundTaskListSorter {\n ${sortTasksEnumRender}\n }\n \n enum WebinyBackgroundTaskLogListSorter {\n ${sortLogsEnumRender}\n }\n\n type WebinyBackgroundTaskQuery {\n _empty: String\n }\n\n type WebinyBackgroundTaskMutation {\n _empty: String\n }\n\n enum WebinyBackgroundTaskDefinitionEnum {\n ${createWebinyBackgroundTaskDefinitionEnum(taskDefinitions)}\n }\n\n extend type Query {\n backgroundTasks: WebinyBackgroundTaskQuery\n }\n\n extend type Mutation {\n backgroundTasks: WebinyBackgroundTaskMutation\n }\n\n extend type WebinyBackgroundTaskQuery {\n getTask(id: ID!): WebinyBackgroundTaskResponse!\n listTasks(\n where: WebinyBackgroundTaskListWhereInput\n sort: [WebinyBackgroundTaskListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskListResponse!\n listDefinitions: WebinyBackgroundTaskListDefinitionsResponse!\n \n listLogs(\n where: WebinyBackgroundTaskLogListWhereInput\n sort: [WebinyBackgroundTaskLogListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskLogListResponse!\n }\n\n extend type WebinyBackgroundTaskMutation {\n triggerTask(definition: WebinyBackgroundTaskDefinitionEnum!, input: JSON, name: String, delay: Number): WebinyBackgroundTaskTriggerResponse!\n abortTask(id: ID!, message: String): WebinyBackgroundTaskResponse!\n deleteTask(id: ID!): WebinyBackgroundTaskDeleteResponse!\n }\n `,\n resolvers: {\n Query: {\n backgroundTasks: emptyResolver\n },\n Mutation: {\n backgroundTasks: emptyResolver\n },\n WebinyBackgroundTaskQuery: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n getTask: async (_, args: IGetTaskQueryParams, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.getTask(args.id);\n });\n },\n listTasks: async (_, args: IListTaskParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listTasks(args);\n });\n },\n listDefinitions: async (_, __, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n const result = context.tasks.listDefinitions();\n /**\n * Do not output private tasks.\n */\n return result.filter(item => {\n return !item.isPrivate;\n });\n });\n },\n listLogs: async (_, args: IListTaskLogParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listLogs(args);\n });\n }\n },\n WebinyBackgroundTaskMutation: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n abortTask: async (_, args: IAbortTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve(async () => {\n return await context.tasks.abort(args);\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n triggerTask: async (_, args: ITriggerTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve(async () => {\n return await context.tasks.trigger(args);\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n deleteTask: async (_, args: IDeleteTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"d\"\n });\n return resolve(async () => {\n return await context.tasks.deleteTask(args.id);\n });\n }\n },\n /**\n * Custom resolvers for fields\n */\n WebinyBackgroundTask: {\n logs: async (parent: ITask, args: IListTaskLogParams, context) => {\n const { items } = await context.tasks.listLogs({\n sort: [\"createdBy_ASC\"],\n limit: 10000,\n ...args,\n where: {\n ...args?.where,\n task: parent.id\n }\n });\n return items;\n }\n },\n WebinyBackgroundTaskLog: {\n task: async (parent: ITaskLog, _, context) => {\n return await context.tasks.getTask(parent.task);\n }\n }\n }\n });\n context.plugins.register(plugin);\n });\n\n plugin.name = \"tasks.graphql\";\n\n return plugin;\n};\n\nexport const createBackgroundTaskGraphQL = (): Plugin[] => {\n return [createGraphQL()];\n};\n"],"mappings":"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C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkBjB,UAAU,CAAC3B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACD,QAAQ,CAAC,CAACzC,IAAI,CAAC,IAAI,CAAE;AAC7D,kBAAkB2B,SAAS,CAAC9B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACD,QAAQ,CAAC,CAACzC,IAAI,CAAC,IAAI,CAAE;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsBwB,UAAU,CAAC3B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACtB,MAAM,CAAC,CAACpB,IAAI,CAAC,IAAI,CAAE;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB2B,SAAS,CAAC9B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACtB,MAAM,CAAC,CAACpB,IAAI,CAAC,IAAI,CAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB8B,2BAA4B;AAClD;AACA;AACA;AACA,sBAAsBG,0BAA2B;AACjD;AACA;AACA;AACA,sBAAsBC,mBAAoB;AAC1C;AACA;AACA;AACA,sBAAsBG,kBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB9C,wCAAwC,CAAC+C,eAAe,CAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;MACDK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","ignoreList":[]}
|
package/graphql/utils.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ export declare const emptyResolver: () => {};
|
|
|
4
4
|
interface ResolveCallable<T = any> {
|
|
5
5
|
(): Promise<T>;
|
|
6
6
|
}
|
|
7
|
-
export declare const resolve: <T = any>(fn: ResolveCallable<T>) => Promise<
|
|
8
|
-
export declare const resolveList: (fn: ResolveCallable) => Promise<
|
|
7
|
+
export declare const resolve: <T = any>(fn: ResolveCallable<T>) => Promise<Response<Awaited<T>> | ErrorResponse>;
|
|
8
|
+
export declare const resolveList: (fn: ResolveCallable) => Promise<ListResponse<any, CmsEntryMeta> | ListErrorResponse>;
|
|
9
9
|
export {};
|
package/handler/index.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { HandlerFactoryParams } from "@webiny/handler-aws/types";
|
|
2
1
|
import { APIGatewayProxyResult } from "aws-lambda";
|
|
3
2
|
import { Context as LambdaContext } from "aws-lambda/handler";
|
|
4
|
-
import { ITaskRawEvent } from "./types";
|
|
3
|
+
import { HandlerParams, ITaskRawEvent } from "./types";
|
|
5
4
|
export interface HandlerCallable {
|
|
6
5
|
(event: ITaskRawEvent, context: LambdaContext): Promise<APIGatewayProxyResult>;
|
|
7
6
|
}
|
|
8
|
-
export type HandlerParams = HandlerFactoryParams;
|
|
9
7
|
export declare const createHandler: (params: HandlerParams) => HandlerCallable;
|
package/handler/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_handler","require","_plugins","_execute","_types","_runner","_utils","_TaskEventValidation","url","createHandler","params","event","context","app","createBaseHandler","options","logger","debug","registerDefaultPlugins","webiny","addHook","_","__","payload","body","setErrorHandler","error","reply","__webiny_raw_result","message","code","data","status","TaskResponseStatus","ERROR","send","post","handler","TaskRunner","timerFactory","TaskEventValidation","run","execute","headers","tenant","endpoint","locale","exports"],"sources":["index.ts"],"sourcesContent":["import { createHandler as createBaseHandler } from \"@webiny/handler\";\nimport { registerDefaultPlugins } from \"@webiny/handler-aws/plugins\";\nimport { execute } from \"@webiny/handler-aws/execute\";\nimport {
|
|
1
|
+
{"version":3,"names":["_handler","require","_plugins","_execute","_types","_runner","_utils","_TaskEventValidation","url","createHandler","params","event","context","app","createBaseHandler","options","logger","debug","registerDefaultPlugins","webiny","addHook","_","__","payload","body","setErrorHandler","error","reply","__webiny_raw_result","message","code","data","status","TaskResponseStatus","ERROR","send","post","handler","TaskRunner","timerFactory","TaskEventValidation","run","execute","headers","tenant","endpoint","locale","exports"],"sources":["index.ts"],"sourcesContent":["import { createHandler as createBaseHandler } from \"@webiny/handler\";\nimport { registerDefaultPlugins } from \"@webiny/handler-aws/plugins\";\nimport { execute } from \"@webiny/handler-aws/execute\";\nimport { APIGatewayProxyResult } from \"aws-lambda\";\nimport { Context as LambdaContext } from \"aws-lambda/handler\";\nimport { Context, TaskResponseStatus } from \"~/types\";\nimport { HandlerParams, ITaskRawEvent } from \"~/handler/types\";\nimport { TaskRunner } from \"~/runner\";\nimport WebinyError from \"@webiny/error\";\nimport { timerFactory } from \"@webiny/handler-aws/utils\";\nimport { TaskEventValidation } from \"~/runner/TaskEventValidation\";\n\nexport interface HandlerCallable {\n (event: ITaskRawEvent, context: LambdaContext): Promise<APIGatewayProxyResult>;\n}\n\nconst url = \"/webiny-background-task-event\";\n\nexport const createHandler = (params: HandlerParams): HandlerCallable => {\n return async (event, context) => {\n const app = createBaseHandler({\n ...params,\n options: {\n logger: params.debug === true,\n ...(params.options || {})\n }\n });\n\n registerDefaultPlugins(app.webiny);\n\n app.addHook(\"preSerialization\", async (_, __, payload: Record<string, any>) => {\n if (!payload.body) {\n return payload;\n }\n return payload.body;\n });\n\n app.setErrorHandler<WebinyError>(async (error, _, reply) => {\n app.__webiny_raw_result = {\n error: {\n message: error.message,\n code: error.code,\n data: error.data\n },\n status: TaskResponseStatus.ERROR\n };\n return reply.send();\n });\n\n app.post(url, async (_, reply) => {\n const handler = new TaskRunner(\n /**\n * We can safely cast because we know that the context is of type tasks/Context\n */\n app.webiny as Context,\n timerFactory(context),\n new TaskEventValidation()\n );\n\n app.__webiny_raw_result = await handler.run(event);\n return reply.send({});\n });\n return execute({\n app,\n url,\n payload: {\n ...event,\n headers: {\n [\"x-tenant\"]: event.tenant,\n [\"x-webiny-cms-endpoint\"]: event.endpoint,\n [\"x-webiny-cms-locale\"]: event.locale,\n [\"x-i18n-locale\"]: event.locale,\n [\"accept-language\"]: event.locale\n }\n }\n });\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAMA,MAAMO,GAAG,GAAG,+BAA+B;AAEpC,MAAMC,aAAa,GAAIC,MAAqB,IAAsB;EACrE,OAAO,OAAOC,KAAK,EAAEC,OAAO,KAAK;IAC7B,MAAMC,GAAG,GAAG,IAAAC,sBAAiB,EAAC;MAC1B,GAAGJ,MAAM;MACTK,OAAO,EAAE;QACLC,MAAM,EAAEN,MAAM,CAACO,KAAK,KAAK,IAAI;QAC7B,IAAIP,MAAM,CAACK,OAAO,IAAI,CAAC,CAAC;MAC5B;IACJ,CAAC,CAAC;IAEF,IAAAG,+BAAsB,EAACL,GAAG,CAACM,MAAM,CAAC;IAElCN,GAAG,CAACO,OAAO,CAAC,kBAAkB,EAAE,OAAOC,CAAC,EAAEC,EAAE,EAAEC,OAA4B,KAAK;MAC3E,IAAI,CAACA,OAAO,CAACC,IAAI,EAAE;QACf,OAAOD,OAAO;MAClB;MACA,OAAOA,OAAO,CAACC,IAAI;IACvB,CAAC,CAAC;IAEFX,GAAG,CAACY,eAAe,CAAc,OAAOC,KAAK,EAAEL,CAAC,EAAEM,KAAK,KAAK;MACxDd,GAAG,CAACe,mBAAmB,GAAG;QACtBF,KAAK,EAAE;UACHG,OAAO,EAAEH,KAAK,CAACG,OAAO;UACtBC,IAAI,EAAEJ,KAAK,CAACI,IAAI;UAChBC,IAAI,EAAEL,KAAK,CAACK;QAChB,CAAC;QACDC,MAAM,EAAEC,yBAAkB,CAACC;MAC/B,CAAC;MACD,OAAOP,KAAK,CAACQ,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IAEFtB,GAAG,CAACuB,IAAI,CAAC5B,GAAG,EAAE,OAAOa,CAAC,EAAEM,KAAK,KAAK;MAC9B,MAAMU,OAAO,GAAG,IAAIC,kBAAU;MAC1B;AAChB;AACA;MACgBzB,GAAG,CAACM,MAAM,EACV,IAAAoB,mBAAY,EAAC3B,OAAO,CAAC,EACrB,IAAI4B,wCAAmB,CAAC,CAC5B,CAAC;MAED3B,GAAG,CAACe,mBAAmB,GAAG,MAAMS,OAAO,CAACI,GAAG,CAAC9B,KAAK,CAAC;MAClD,OAAOgB,KAAK,CAACQ,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,OAAO,IAAAO,gBAAO,EAAC;MACX7B,GAAG;MACHL,GAAG;MACHe,OAAO,EAAE;QACL,GAAGZ,KAAK;QACRgC,OAAO,EAAE;UACL,CAAC,UAAU,GAAGhC,KAAK,CAACiC,MAAM;UAC1B,CAAC,uBAAuB,GAAGjC,KAAK,CAACkC,QAAQ;UACzC,CAAC,qBAAqB,GAAGlC,KAAK,CAACmC,MAAM;UACrC,CAAC,eAAe,GAAGnC,KAAK,CAACmC,MAAM;UAC/B,CAAC,iBAAiB,GAAGnC,KAAK,CAACmC;QAC/B;MACJ;IACJ,CAAC,CAAC;EACN,CAAC;AACL,CAAC;AAACC,OAAA,CAAAtC,aAAA,GAAAA,aAAA","ignoreList":[]}
|
package/handler/register.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _registry = require("@webiny/handler-aws/registry");
|
|
4
|
-
var _index = require("./index");
|
|
5
4
|
var _handlerAws = require("@webiny/handler-aws");
|
|
6
5
|
const handler = (0, _handlerAws.createSourceHandler)({
|
|
7
6
|
name: "handler-webiny-background-task",
|
|
@@ -13,7 +12,10 @@ const handler = (0, _handlerAws.createSourceHandler)({
|
|
|
13
12
|
event,
|
|
14
13
|
context
|
|
15
14
|
}) => {
|
|
16
|
-
|
|
15
|
+
const {
|
|
16
|
+
createHandler
|
|
17
|
+
} = await import( /* webpackChunkName: "tasks.handler.createHandler" */"./index");
|
|
18
|
+
return createHandler(params)(event.payload, context);
|
|
17
19
|
}
|
|
18
20
|
});
|
|
19
21
|
_registry.registry.register(handler, {
|
package/handler/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_registry","require","
|
|
1
|
+
{"version":3,"names":["_registry","require","_handlerAws","handler","createSourceHandler","name","canUse","event","payload","webinyTaskId","handle","params","context","createHandler","registry","register","silent"],"sources":["register.ts"],"sourcesContent":["import { registry } from \"@webiny/handler-aws/registry\";\nimport { createSourceHandler } from \"@webiny/handler-aws\";\nimport { HandlerParams, IIncomingEvent, ITaskEvent } from \"./types\";\n\nconst handler = createSourceHandler<IIncomingEvent<ITaskEvent>, HandlerParams>({\n name: \"handler-webiny-background-task\",\n canUse: event => {\n return !!event.payload?.webinyTaskId;\n },\n handle: async ({ params, event, context }) => {\n const { createHandler } = await import(\n /* webpackChunkName: \"tasks.handler.createHandler\" */\n \"./index\"\n );\n return createHandler(params)(event.payload, context);\n }\n});\n\nregistry.register(handler, {\n silent: true\n});\n"],"mappings":";;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGA,MAAME,OAAO,GAAG,IAAAC,+BAAmB,EAA4C;EAC3EC,IAAI,EAAE,gCAAgC;EACtCC,MAAM,EAAEC,KAAK,IAAI;IACb,OAAO,CAAC,CAACA,KAAK,CAACC,OAAO,EAAEC,YAAY;EACxC,CAAC;EACDC,MAAM,EAAE,MAAAA,CAAO;IAAEC,MAAM;IAAEJ,KAAK;IAAEK;EAAQ,CAAC,KAAK;IAC1C,MAAM;MAAEC;IAAc,CAAC,GAAG,MAAM,MAAM,EAClC,8DAEJ,CAAC;IACD,OAAOA,aAAa,CAACF,MAAM,CAAC,CAACJ,KAAK,CAACC,OAAO,EAAEI,OAAO,CAAC;EACxD;AACJ,CAAC,CAAC;AAEFE,kBAAQ,CAACC,QAAQ,CAACZ,OAAO,EAAE;EACvBa,MAAM,EAAE;AACZ,CAAC,CAAC","ignoreList":[]}
|
package/handler/types.d.ts
CHANGED
package/handler/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { HandlerFactoryParams } from \"@webiny/handler-aws/types\";\n\nexport type HandlerParams = HandlerFactoryParams;\n\nexport interface IIncomingEvent<TEvent> {\n name: string;\n payload: TEvent;\n}\n\nexport interface ITaskEventInput {\n tenant: string;\n locale: string;\n webinyTaskId: string;\n webinyTaskDefinitionId: string;\n delay?: number;\n}\n\nexport interface ITaskEvent {\n tenant: string;\n locale: string;\n endpoint: string;\n webinyTaskId: string;\n webinyTaskDefinitionId: string;\n executionName: string;\n stateMachineId: string;\n}\n\nexport interface ITaskRawEvent extends ITaskEvent {\n delay?: number;\n}\n"],"mappings":"","ignoreList":[]}
|