@webiny/tasks 6.0.0-beta.0 → 6.0.0-rc.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/README.md +10 -9
- package/context.d.ts +2 -3
- package/context.js +44 -30
- package/context.js.map +1 -1
- package/crud/TaskLogPrivateModel.d.ts +9 -0
- package/crud/TaskLogPrivateModel.js +34 -0
- package/crud/TaskLogPrivateModel.js.map +1 -0
- package/crud/TaskPrivateModel.d.ts +9 -0
- package/crud/TaskPrivateModel.js +46 -0
- package/crud/TaskPrivateModel.js.map +1 -0
- package/crud/crud.tasks.d.ts +1 -1
- package/crud/crud.tasks.js +238 -94
- package/crud/crud.tasks.js.map +1 -1
- package/crud/definition.tasks.d.ts +1 -1
- package/crud/definition.tasks.js +9 -18
- package/crud/definition.tasks.js.map +1 -1
- package/crud/service.tasks.d.ts +2 -0
- package/crud/{trigger.tasks.js → service.tasks.js} +59 -42
- package/crud/service.tasks.js.map +1 -0
- package/decorators/RunnableTaskDecorator.d.ts +31 -0
- package/decorators/RunnableTaskDecorator.js +82 -0
- package/decorators/RunnableTaskDecorator.js.map +1 -0
- package/domain/errors.d.ts +29 -0
- package/domain/errors.js +47 -0
- package/domain/errors.js.map +1 -0
- package/events/TaskAfterCreateEvent.d.ts +6 -0
- package/events/TaskAfterCreateEvent.js +10 -0
- package/events/TaskAfterCreateEvent.js.map +1 -0
- package/events/TaskAfterDeleteEvent.d.ts +6 -0
- package/events/TaskAfterDeleteEvent.js +10 -0
- package/events/TaskAfterDeleteEvent.js.map +1 -0
- package/events/TaskAfterUpdateEvent.d.ts +6 -0
- package/events/TaskAfterUpdateEvent.js +10 -0
- package/events/TaskAfterUpdateEvent.js.map +1 -0
- package/events/TaskBeforeCreateEvent.d.ts +6 -0
- package/events/TaskBeforeCreateEvent.js +10 -0
- package/events/TaskBeforeCreateEvent.js.map +1 -0
- package/events/TaskBeforeDeleteEvent.d.ts +6 -0
- package/events/TaskBeforeDeleteEvent.js +10 -0
- package/events/TaskBeforeDeleteEvent.js.map +1 -0
- package/events/TaskBeforeUpdateEvent.d.ts +6 -0
- package/events/TaskBeforeUpdateEvent.js +10 -0
- package/events/TaskBeforeUpdateEvent.js.map +1 -0
- package/events/abstractions.d.ts +53 -0
- package/events/abstractions.js +39 -0
- package/events/abstractions.js.map +1 -0
- package/events/index.d.ts +7 -0
- package/events/index.js +9 -0
- package/events/index.js.map +1 -0
- package/features/AbortTask/AbortTaskUseCase.d.ts +10 -0
- package/features/AbortTask/AbortTaskUseCase.js +11 -0
- package/features/AbortTask/AbortTaskUseCase.js.map +1 -0
- package/features/AbortTask/abstractions.d.ts +25 -0
- package/features/AbortTask/abstractions.js +4 -0
- package/features/AbortTask/abstractions.js.map +1 -0
- package/features/AbortTask/feature.d.ts +2 -0
- package/features/AbortTask/feature.js +11 -0
- package/features/AbortTask/feature.js.map +1 -0
- package/features/AbortTask/index.d.ts +2 -0
- package/features/AbortTask/index.js +4 -0
- package/features/AbortTask/index.js.map +1 -0
- package/features/GetTask/GetTaskUseCase.d.ts +9 -0
- package/features/GetTask/GetTaskUseCase.js +10 -0
- package/features/GetTask/GetTaskUseCase.js.map +1 -0
- package/features/GetTask/abstractions.d.ts +10 -0
- package/features/GetTask/abstractions.js +4 -0
- package/features/GetTask/abstractions.js.map +1 -0
- package/features/GetTask/feature.d.ts +2 -0
- package/features/GetTask/feature.js +11 -0
- package/features/GetTask/feature.js.map +1 -0
- package/features/GetTask/index.d.ts +2 -0
- package/features/GetTask/index.js +4 -0
- package/features/GetTask/index.js.map +1 -0
- package/features/GetTaskDefinition/GetTaskDefinitionUseCase.d.ts +12 -0
- package/features/GetTaskDefinition/GetTaskDefinitionUseCase.js +25 -0
- package/features/GetTaskDefinition/GetTaskDefinitionUseCase.js.map +1 -0
- package/features/GetTaskDefinition/abstractions.d.ts +17 -0
- package/features/GetTaskDefinition/abstractions.js +4 -0
- package/features/GetTaskDefinition/abstractions.js.map +1 -0
- package/features/GetTaskDefinition/feature.d.ts +1 -0
- package/features/GetTaskDefinition/feature.js +10 -0
- package/features/GetTaskDefinition/feature.js.map +1 -0
- package/features/GetTaskDefinition/index.d.ts +2 -0
- package/features/GetTaskDefinition/index.js +4 -0
- package/features/GetTaskDefinition/index.js.map +1 -0
- package/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.d.ts +11 -0
- package/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js +18 -0
- package/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js.map +1 -0
- package/features/ListTaskDefinitions/abstractions.d.ts +9 -0
- package/features/ListTaskDefinitions/abstractions.js +4 -0
- package/features/ListTaskDefinitions/abstractions.js.map +1 -0
- package/features/ListTaskDefinitions/feature.d.ts +1 -0
- package/features/ListTaskDefinitions/feature.js +10 -0
- package/features/ListTaskDefinitions/feature.js.map +1 -0
- package/features/ListTaskDefinitions/index.d.ts +2 -0
- package/features/ListTaskDefinitions/index.js +4 -0
- package/features/ListTaskDefinitions/index.js.map +1 -0
- package/features/ListTasks/ListTasksUseCase.d.ts +9 -0
- package/features/ListTasks/ListTasksUseCase.js +10 -0
- package/features/ListTasks/ListTasksUseCase.js.map +1 -0
- package/features/ListTasks/abstractions.d.ts +13 -0
- package/features/ListTasks/abstractions.js +4 -0
- package/features/ListTasks/abstractions.js.map +1 -0
- package/features/ListTasks/feature.d.ts +2 -0
- package/features/ListTasks/feature.js +11 -0
- package/features/ListTasks/feature.js.map +1 -0
- package/features/ListTasks/index.d.ts +2 -0
- package/features/ListTasks/index.js +4 -0
- package/features/ListTasks/index.js.map +1 -0
- package/features/TaskController/TaskController.d.ts +49 -0
- package/features/TaskController/TaskController.js +71 -0
- package/features/TaskController/TaskController.js.map +1 -0
- package/features/TaskController/augmentation.d.ts +60 -0
- package/features/TaskController/augmentation.js +3 -0
- package/features/TaskController/augmentation.js.map +1 -0
- package/features/TaskController/index.d.ts +2 -0
- package/features/TaskController/index.js +7 -0
- package/features/TaskController/index.js.map +1 -0
- package/features/TaskExecutionContext/TaskExecutionContext.d.ts +24 -0
- package/features/TaskExecutionContext/TaskExecutionContext.js +50 -0
- package/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -0
- package/features/TaskExecutionContext/abstractions.d.ts +26 -0
- package/features/TaskExecutionContext/abstractions.js +13 -0
- package/features/TaskExecutionContext/abstractions.js.map +1 -0
- package/features/TaskExecutionContext/feature.d.ts +1 -0
- package/features/TaskExecutionContext/feature.js +10 -0
- package/features/TaskExecutionContext/feature.js.map +1 -0
- package/features/TaskExecutionContext/index.d.ts +1 -0
- package/features/TaskExecutionContext/index.js +3 -0
- package/features/TaskExecutionContext/index.js.map +1 -0
- package/features/TriggerTask/TriggerTaskUseCase.d.ts +10 -0
- package/features/TriggerTask/TriggerTaskUseCase.js +11 -0
- package/features/TriggerTask/TriggerTaskUseCase.js.map +1 -0
- package/features/TriggerTask/abstractions.d.ts +28 -0
- package/features/TriggerTask/abstractions.js +4 -0
- package/features/TriggerTask/abstractions.js.map +1 -0
- package/features/TriggerTask/feature.d.ts +2 -0
- package/features/TriggerTask/feature.js +11 -0
- package/features/TriggerTask/feature.js.map +1 -0
- package/features/TriggerTask/index.d.ts +2 -0
- package/features/TriggerTask/index.js +4 -0
- package/features/TriggerTask/index.js.map +1 -0
- package/global.d.ts +1 -0
- package/global.js +3 -0
- package/global.js.map +1 -0
- package/graphql/checkPermissions.d.ts +1 -1
- package/graphql/checkPermissions.js +3 -9
- package/graphql/checkPermissions.js.map +1 -1
- package/graphql/index.d.ts +1 -1
- package/graphql/index.js +64 -71
- package/graphql/index.js.map +1 -1
- package/graphql/utils.d.ts +1 -1
- package/graphql/utils.js +8 -17
- package/graphql/utils.js.map +1 -1
- package/handler/index.d.ts +2 -5
- package/handler/index.js +33 -40
- package/handler/index.js.map +1 -1
- package/handler/register.js +8 -8
- package/handler/register.js.map +1 -1
- package/handler/types.d.ts +2 -2
- package/handler/types.js +1 -5
- package/handler/types.js.map +1 -1
- package/index.d.ts +5 -6
- package/index.js +5 -60
- package/index.js.map +1 -1
- package/package.json +23 -44
- package/plugins/TaskServicePlugin.d.ts +19 -0
- package/plugins/TaskServicePlugin.js +10 -0
- package/plugins/TaskServicePlugin.js.map +1 -0
- package/plugins/index.d.ts +1 -1
- package/plugins/index.js +1 -16
- package/plugins/index.js.map +1 -1
- package/response/DatabaseResponse.d.ts +3 -3
- package/response/DatabaseResponse.js +14 -20
- package/response/DatabaseResponse.js.map +1 -1
- package/response/Response.d.ts +4 -3
- package/response/Response.js +63 -27
- package/response/Response.js.map +1 -1
- package/response/ResponseAbortedResult.d.ts +3 -4
- package/response/ResponseAbortedResult.js +3 -11
- package/response/ResponseAbortedResult.js.map +1 -1
- package/response/ResponseContinueResult.d.ts +4 -4
- package/response/ResponseContinueResult.js +3 -11
- package/response/ResponseContinueResult.js.map +1 -1
- package/response/ResponseDoneResult.d.ts +4 -5
- package/response/ResponseDoneResult.js +4 -12
- package/response/ResponseDoneResult.js.map +1 -1
- package/response/ResponseErrorResult.d.ts +3 -4
- package/response/ResponseErrorResult.js +3 -11
- package/response/ResponseErrorResult.js.map +1 -1
- package/response/TaskResponse.d.ts +7 -6
- package/response/TaskResponse.js +7 -14
- package/response/TaskResponse.js.map +1 -1
- package/response/abstractions/Response.d.ts +9 -9
- package/response/abstractions/Response.js +1 -5
- package/response/abstractions/Response.js.map +1 -1
- package/response/abstractions/ResponseAbortedResult.d.ts +3 -3
- package/response/abstractions/ResponseAbortedResult.js +1 -5
- package/response/abstractions/ResponseAbortedResult.js.map +1 -1
- package/response/abstractions/ResponseBaseResult.d.ts +2 -3
- package/response/abstractions/ResponseBaseResult.js +1 -5
- package/response/abstractions/ResponseBaseResult.js.map +1 -1
- package/response/abstractions/ResponseContinueResult.d.ts +5 -4
- package/response/abstractions/ResponseContinueResult.js +1 -5
- package/response/abstractions/ResponseContinueResult.js.map +1 -1
- package/response/abstractions/ResponseDoneResult.d.ts +5 -6
- package/response/abstractions/ResponseDoneResult.js +1 -5
- package/response/abstractions/ResponseDoneResult.js.map +1 -1
- package/response/abstractions/ResponseErrorResult.d.ts +6 -6
- package/response/abstractions/ResponseErrorResult.js +1 -5
- package/response/abstractions/ResponseErrorResult.js.map +1 -1
- package/response/abstractions/TaskResponse.d.ts +9 -34
- package/response/abstractions/TaskResponse.js +1 -5
- package/response/abstractions/TaskResponse.js.map +1 -1
- package/response/abstractions/index.d.ts +7 -7
- package/response/abstractions/index.js +7 -82
- package/response/abstractions/index.js.map +1 -1
- package/response/index.d.ts +7 -7
- package/response/index.js +7 -82
- package/response/index.js.map +1 -1
- package/runner/TaskControl.d.ts +4 -4
- package/runner/TaskControl.js +98 -49
- package/runner/TaskControl.js.map +1 -1
- package/runner/TaskEventValidation.d.ts +2 -2
- package/runner/TaskEventValidation.js +11 -20
- package/runner/TaskEventValidation.js.map +1 -1
- package/runner/TaskManager.d.ts +7 -8
- package/runner/TaskManager.js +19 -38
- package/runner/TaskManager.js.map +1 -1
- package/runner/TaskManagerStore.d.ts +14 -5
- package/runner/TaskManagerStore.js +40 -26
- package/runner/TaskManagerStore.js.map +1 -1
- package/runner/TaskRunner.d.ts +6 -7
- package/runner/TaskRunner.js +9 -31
- package/runner/TaskRunner.js.map +1 -1
- package/runner/abstractions/TaskControl.d.ts +4 -4
- package/runner/abstractions/TaskControl.js +1 -5
- package/runner/abstractions/TaskControl.js.map +1 -1
- package/runner/abstractions/TaskEventValidation.d.ts +2 -2
- package/runner/abstractions/TaskEventValidation.js +1 -5
- package/runner/abstractions/TaskEventValidation.js.map +1 -1
- package/runner/abstractions/TaskManager.d.ts +4 -4
- package/runner/abstractions/TaskManager.js +1 -5
- package/runner/abstractions/TaskManager.js.map +1 -1
- package/runner/abstractions/TaskManagerStore.d.ts +15 -9
- package/runner/abstractions/TaskManagerStore.js +1 -5
- package/runner/abstractions/TaskManagerStore.js.map +1 -1
- package/runner/abstractions/TaskRunner.d.ts +9 -4
- package/runner/abstractions/TaskRunner.js +1 -5
- package/runner/abstractions/TaskRunner.js.map +1 -1
- package/runner/abstractions/index.d.ts +5 -5
- package/runner/abstractions/index.js +5 -60
- package/runner/abstractions/index.js.map +1 -1
- package/runner/index.d.ts +1 -1
- package/runner/index.js +1 -16
- package/runner/index.js.map +1 -1
- package/service/EventBridgeEventTransportPlugin.d.ts +16 -0
- package/service/EventBridgeEventTransportPlugin.js +51 -0
- package/service/EventBridgeEventTransportPlugin.js.map +1 -0
- package/service/StepFunctionServicePlugin.d.ts +25 -0
- package/service/StepFunctionServicePlugin.js +78 -0
- package/service/StepFunctionServicePlugin.js.map +1 -0
- package/service/createService.d.ts +6 -0
- package/service/createService.js +19 -0
- package/service/createService.js.map +1 -0
- package/service/index.d.ts +4 -0
- package/service/index.js +10 -0
- package/service/index.js.map +1 -0
- package/tasks/testingRunTask.d.ts +10 -1
- package/tasks/testingRunTask.js +13 -18
- package/tasks/testingRunTask.js.map +1 -1
- package/types.d.ts +47 -215
- package/types.js +8 -68
- package/types.js.map +1 -1
- package/utils/ObjectUpdater.js +4 -11
- package/utils/ObjectUpdater.js.map +1 -1
- package/utils/getErrorProperties.d.ts +2 -2
- package/utils/getErrorProperties.js +5 -10
- package/utils/getErrorProperties.js.map +1 -1
- package/utils/getObjectProperties.js +1 -8
- package/utils/getObjectProperties.js.map +1 -1
- package/utils/index.d.ts +3 -0
- package/utils/index.js +5 -0
- package/utils/index.js.map +1 -0
- package/crud/model.d.ts +0 -5
- package/crud/model.js +0 -216
- package/crud/model.js.map +0 -1
- package/crud/transport/EventBridgeEventTransportPlugin.d.ts +0 -5
- package/crud/transport/EventBridgeEventTransportPlugin.js +0 -58
- 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/crud/where.d.ts +0 -1
- package/crud/where.js +0 -33
- package/crud/where.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/task/index.d.ts +0 -2
- package/task/index.js +0 -29
- package/task/index.js.map +0 -1
- package/task/input.d.ts +0 -15
- package/task/input.js +0 -21
- package/task/input.js.map +0 -1
- package/task/plugin.d.ts +0 -34
- package/task/plugin.js +0 -100
- package/task/plugin.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/handler/register.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _index = require("./index");
|
|
5
|
-
var _handlerAws = require("@webiny/handler-aws");
|
|
6
|
-
const handler = (0, _handlerAws.createSourceHandler)({
|
|
1
|
+
import { registry } from "@webiny/handler-aws/registry.js";
|
|
2
|
+
import { createSourceHandler } from "@webiny/handler-aws";
|
|
3
|
+
const handler = createSourceHandler({
|
|
7
4
|
name: "handler-webiny-background-task",
|
|
8
5
|
canUse: event => {
|
|
9
6
|
return !!event.payload?.webinyTaskId;
|
|
@@ -13,10 +10,13 @@ const handler = (0, _handlerAws.createSourceHandler)({
|
|
|
13
10
|
event,
|
|
14
11
|
context
|
|
15
12
|
}) => {
|
|
16
|
-
|
|
13
|
+
const {
|
|
14
|
+
createHandler
|
|
15
|
+
} = await import(/* webpackChunkName: "tasks.handler.createHandler" */"./index.js");
|
|
16
|
+
return createHandler(params)(event.payload, context);
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
|
|
19
|
+
registry.register(handler, {
|
|
20
20
|
silent: true
|
|
21
21
|
});
|
|
22
22
|
|
package/handler/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["registry","createSourceHandler","handler","name","canUse","event","payload","webinyTaskId","handle","params","context","createHandler","register","silent"],"sources":["register.ts"],"sourcesContent":["import { registry } from \"@webiny/handler-aws/registry.js\";\nimport { createSourceHandler } from \"@webiny/handler-aws\";\nimport type { HandlerParams, IIncomingEvent, ITaskEvent } from \"./types.js\";\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.js\"\n );\n return createHandler(params)(event.payload, context);\n }\n});\n\nregistry.register(handler, {\n silent: true\n});\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,iCAAiC;AAC1D,SAASC,mBAAmB,QAAQ,qBAAqB;AAGzD,MAAMC,OAAO,GAAGD,mBAAmB,CAA4C;EAC3EE,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,CAClC,iEAEJ,CAAC;IACD,OAAOA,aAAa,CAACF,MAAM,CAAC,CAACJ,KAAK,CAACC,OAAO,EAAEI,OAAO,CAAC;EACxD;AACJ,CAAC,CAAC;AAEFV,QAAQ,CAACY,QAAQ,CAACV,OAAO,EAAE;EACvBW,MAAM,EAAE;AACZ,CAAC,CAAC","ignoreList":[]}
|
package/handler/types.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
+
import type { HandlerFactoryParams } from "@webiny/handler-aws/types.js";
|
|
2
|
+
export type HandlerParams = HandlerFactoryParams;
|
|
1
3
|
export interface IIncomingEvent<TEvent> {
|
|
2
4
|
name: string;
|
|
3
5
|
payload: TEvent;
|
|
4
6
|
}
|
|
5
7
|
export interface ITaskEventInput {
|
|
6
8
|
tenant: string;
|
|
7
|
-
locale: string;
|
|
8
9
|
webinyTaskId: string;
|
|
9
10
|
webinyTaskDefinitionId: string;
|
|
10
11
|
delay?: number;
|
|
11
12
|
}
|
|
12
13
|
export interface ITaskEvent {
|
|
13
14
|
tenant: string;
|
|
14
|
-
locale: string;
|
|
15
15
|
endpoint: string;
|
|
16
16
|
webinyTaskId: string;
|
|
17
17
|
webinyTaskDefinitionId: string;
|
package/handler/types.js
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 type { HandlerFactoryParams } from \"@webiny/handler-aws/types.js\";\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 webinyTaskId: string;\n webinyTaskDefinitionId: string;\n delay?: number;\n}\n\nexport interface ITaskEvent {\n tenant: 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":[]}
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import "./handler/register";
|
|
2
|
-
export { createBackgroundTaskGraphQL } from "./graphql";
|
|
3
|
-
export { createBackgroundTaskContext } from "./context";
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./types";
|
|
1
|
+
import "./handler/register.js";
|
|
2
|
+
export { createBackgroundTaskGraphQL } from "./graphql/index.js";
|
|
3
|
+
export { createBackgroundTaskContext } from "./context.js";
|
|
4
|
+
export * from "./response/index.js";
|
|
5
|
+
export * from "./types.js";
|
package/index.js
CHANGED
|
@@ -1,62 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _exportNames = {
|
|
7
|
-
createBackgroundTaskGraphQL: true,
|
|
8
|
-
createBackgroundTaskContext: true
|
|
9
|
-
};
|
|
10
|
-
Object.defineProperty(exports, "createBackgroundTaskContext", {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return _context.createBackgroundTaskContext;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
Object.defineProperty(exports, "createBackgroundTaskGraphQL", {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function () {
|
|
19
|
-
return _graphql.createBackgroundTaskGraphQL;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
require("./handler/register");
|
|
23
|
-
var _graphql = require("./graphql");
|
|
24
|
-
var _context = require("./context");
|
|
25
|
-
var _task = require("./task");
|
|
26
|
-
Object.keys(_task).forEach(function (key) {
|
|
27
|
-
if (key === "default" || key === "__esModule") return;
|
|
28
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
29
|
-
if (key in exports && exports[key] === _task[key]) return;
|
|
30
|
-
Object.defineProperty(exports, key, {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return _task[key];
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
var _response = require("./response");
|
|
38
|
-
Object.keys(_response).forEach(function (key) {
|
|
39
|
-
if (key === "default" || key === "__esModule") return;
|
|
40
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
41
|
-
if (key in exports && exports[key] === _response[key]) return;
|
|
42
|
-
Object.defineProperty(exports, key, {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function () {
|
|
45
|
-
return _response[key];
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
var _types = require("./types");
|
|
50
|
-
Object.keys(_types).forEach(function (key) {
|
|
51
|
-
if (key === "default" || key === "__esModule") return;
|
|
52
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
53
|
-
if (key in exports && exports[key] === _types[key]) return;
|
|
54
|
-
Object.defineProperty(exports, key, {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
get: function () {
|
|
57
|
-
return _types[key];
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
});
|
|
1
|
+
import "./handler/register.js";
|
|
2
|
+
export { createBackgroundTaskGraphQL } from "./graphql/index.js";
|
|
3
|
+
export { createBackgroundTaskContext } from "./context.js";
|
|
4
|
+
export * from "./response/index.js";
|
|
5
|
+
export * from "./types.js";
|
|
61
6
|
|
|
62
7
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["createBackgroundTaskGraphQL","createBackgroundTaskContext"],"sources":["index.ts"],"sourcesContent":["import \"./handler/register.js\";\n\nexport { createBackgroundTaskGraphQL } from \"./graphql/index.js\";\nexport { createBackgroundTaskContext } from \"./context.js\";\n\nexport * from \"./response/index.js\";\nexport * from \"./types.js\";\n"],"mappings":"AAAA;AAEA,SAASA,2BAA2B;AACpC,SAASC,2BAA2B;AAEpC;AACA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/tasks",
|
|
3
|
-
"version": "6.0.0-
|
|
3
|
+
"version": "6.0.0-rc.0",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"main": "index.js",
|
|
5
6
|
"repository": {
|
|
6
7
|
"type": "git",
|
|
@@ -12,56 +13,34 @@
|
|
|
12
13
|
],
|
|
13
14
|
"license": "MIT",
|
|
14
15
|
"dependencies": {
|
|
15
|
-
"@
|
|
16
|
-
"@
|
|
17
|
-
"@webiny/api": "6.0.0-
|
|
18
|
-
"@webiny/
|
|
19
|
-
"@webiny/
|
|
20
|
-
"@webiny/
|
|
21
|
-
"@webiny/handler": "6.0.0-
|
|
22
|
-
"@webiny/handler-aws": "6.0.0-
|
|
23
|
-
"@webiny/handler-graphql": "6.0.0-
|
|
24
|
-
"@webiny/plugins": "6.0.0-
|
|
25
|
-
"@webiny/
|
|
26
|
-
"@webiny/utils": "6.0.0-beta.0",
|
|
16
|
+
"@webiny/api": "6.0.0-rc.0",
|
|
17
|
+
"@webiny/api-core": "6.0.0-rc.0",
|
|
18
|
+
"@webiny/api-headless-cms": "6.0.0-rc.0",
|
|
19
|
+
"@webiny/aws-sdk": "6.0.0-rc.0",
|
|
20
|
+
"@webiny/error": "6.0.0-rc.0",
|
|
21
|
+
"@webiny/feature": "6.0.0-rc.0",
|
|
22
|
+
"@webiny/handler": "6.0.0-rc.0",
|
|
23
|
+
"@webiny/handler-aws": "6.0.0-rc.0",
|
|
24
|
+
"@webiny/handler-graphql": "6.0.0-rc.0",
|
|
25
|
+
"@webiny/plugins": "6.0.0-rc.0",
|
|
26
|
+
"@webiny/utils": "6.0.0-rc.0",
|
|
27
27
|
"deep-equal": "2.2.3",
|
|
28
|
-
"lodash": "4.17.
|
|
28
|
+
"lodash": "4.17.23",
|
|
29
29
|
"object-merge-advanced": "12.1.0",
|
|
30
|
-
"
|
|
30
|
+
"object-sizeof": "2.6.5",
|
|
31
|
+
"zod": "3.25.76"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|
|
33
|
-
"@
|
|
34
|
-
"@
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"@webiny/api-tenancy": "6.0.0-beta.0",
|
|
40
|
-
"@webiny/api-wcp": "6.0.0-beta.0",
|
|
41
|
-
"@webiny/cli": "6.0.0-beta.0",
|
|
42
|
-
"@webiny/project-utils": "6.0.0-beta.0",
|
|
43
|
-
"rimraf": "5.0.5",
|
|
44
|
-
"ttypescript": "1.5.15",
|
|
45
|
-
"type-fest": "2.19.0",
|
|
46
|
-
"typescript": "4.7.4"
|
|
34
|
+
"@webiny/build-tools": "6.0.0-rc.0",
|
|
35
|
+
"@webiny/project-utils": "6.0.0-rc.0",
|
|
36
|
+
"rimraf": "6.1.3",
|
|
37
|
+
"type-fest": "5.4.4",
|
|
38
|
+
"typescript": "5.9.3",
|
|
39
|
+
"vitest": "4.0.18"
|
|
47
40
|
},
|
|
48
41
|
"publishConfig": {
|
|
49
42
|
"access": "public",
|
|
50
43
|
"directory": "dist"
|
|
51
44
|
},
|
|
52
|
-
"
|
|
53
|
-
"build": "yarn webiny run build",
|
|
54
|
-
"watch": "yarn webiny run watch"
|
|
55
|
-
},
|
|
56
|
-
"gitHead": "aa8dbfbbd5ad13ec271adba6f2431e02991a300f",
|
|
57
|
-
"adio": {
|
|
58
|
-
"ignore": {
|
|
59
|
-
"src": [
|
|
60
|
-
"aws-lambda"
|
|
61
|
-
],
|
|
62
|
-
"dependencies": [
|
|
63
|
-
"@types/aws-lambda"
|
|
64
|
-
]
|
|
65
|
-
}
|
|
66
|
-
}
|
|
45
|
+
"gitHead": "0f2aa699f4642e550ab62c96fcd050e8d02345c9"
|
|
67
46
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Plugin } from "@webiny/plugins";
|
|
2
|
+
import type { ITask } from "../types.js";
|
|
3
|
+
export interface ITaskServiceCreatePluginParams {
|
|
4
|
+
getTenant(): string;
|
|
5
|
+
}
|
|
6
|
+
export type ITaskServiceTask = Pick<ITask, "id" | "definitionId">;
|
|
7
|
+
export interface ITaskService {
|
|
8
|
+
send(task: ITaskServiceTask, delay: number): Promise<unknown | null>;
|
|
9
|
+
fetch(task: ITask): Promise<unknown | null>;
|
|
10
|
+
}
|
|
11
|
+
export interface ITaskServicePluginParams {
|
|
12
|
+
default?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare abstract class TaskServicePlugin extends Plugin {
|
|
15
|
+
static readonly type: string;
|
|
16
|
+
readonly default: boolean;
|
|
17
|
+
constructor(params?: ITaskServicePluginParams);
|
|
18
|
+
abstract createService(params: ITaskServiceCreatePluginParams): ITaskService;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Plugin","TaskServicePlugin","type","constructor","params","default"],"sources":["TaskServicePlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport type { ITask } from \"~/types.js\";\n\nexport interface ITaskServiceCreatePluginParams {\n getTenant(): string;\n}\n\nexport type ITaskServiceTask = Pick<ITask, \"id\" | \"definitionId\">;\n\nexport interface ITaskService {\n send(task: ITaskServiceTask, delay: number): Promise<unknown | null>;\n fetch(task: ITask): Promise<unknown | null>;\n}\n\nexport interface ITaskServicePluginParams {\n default?: boolean;\n}\n\nexport abstract class TaskServicePlugin extends Plugin {\n public static override readonly type: string = \"tasks.taskService\";\n public readonly default: boolean;\n\n public constructor(params?: ITaskServicePluginParams) {\n super();\n this.default = !!params?.default;\n }\n\n public abstract createService(params: ITaskServiceCreatePluginParams): ITaskService;\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,iBAAiB;AAkBxC,OAAO,MAAeC,iBAAiB,SAASD,MAAM,CAAC;EACnD,OAAgCE,IAAI,GAAW,mBAAmB;EAG3DC,WAAWA,CAACC,MAAiC,EAAE;IAClD,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,OAAO,GAAG,CAAC,CAACD,MAAM,EAAEC,OAAO;EACpC;AAGJ","ignoreList":[]}
|
package/plugins/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./
|
|
1
|
+
export * from "./TaskServicePlugin.js";
|
package/plugins/index.js
CHANGED
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _TaskTriggerTransportPlugin = require("./TaskTriggerTransportPlugin");
|
|
7
|
-
Object.keys(_TaskTriggerTransportPlugin).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _TaskTriggerTransportPlugin[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return _TaskTriggerTransportPlugin[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
1
|
+
export * from "./TaskServicePlugin.js";
|
|
17
2
|
|
|
18
3
|
//# sourceMappingURL=index.js.map
|
package/plugins/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./TaskServicePlugin.js\";\n"],"mappings":"AAAA","ignoreList":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { IResponse, IResponseAsync, IResponseContinueParams, IResponseContinueResult, IResponseDoneParams, IResponseDoneResult, IResponseErrorParams, IResponseErrorResult, IResponseResult } from "./abstractions";
|
|
2
|
-
import { ITaskManagerStorePrivate } from "../runner/abstractions";
|
|
1
|
+
import type { IResponse, IResponseAsync, IResponseContinueParams, IResponseContinueResult, IResponseDoneParams, IResponseDoneResult, IResponseErrorParams, IResponseErrorResult, IResponseResult } from "./abstractions/index.js";
|
|
2
|
+
import type { ITaskManagerStorePrivate } from "../runner/abstractions/index.js";
|
|
3
3
|
export declare class DatabaseResponse implements IResponseAsync {
|
|
4
4
|
readonly response: IResponse;
|
|
5
5
|
private readonly store;
|
|
6
6
|
constructor(response: IResponse, store: ITaskManagerStorePrivate);
|
|
7
7
|
from(result: IResponseResult): Promise<IResponseResult>;
|
|
8
8
|
done(params: IResponseDoneParams): Promise<IResponseDoneResult>;
|
|
9
|
-
aborted(): Promise<import("
|
|
9
|
+
aborted(): Promise<import("~/types.js").IResponseAbortedResult>;
|
|
10
10
|
continue(params: IResponseContinueParams): Promise<IResponseContinueResult | IResponseErrorResult>;
|
|
11
11
|
error(params: IResponseErrorParams): Promise<IResponseErrorResult>;
|
|
12
12
|
}
|
|
@@ -1,26 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.DatabaseResponse = void 0;
|
|
7
|
-
var _types = require("../types");
|
|
8
|
-
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
9
|
-
var _getErrorProperties = require("../utils/getErrorProperties");
|
|
10
|
-
class DatabaseResponse {
|
|
1
|
+
import { TaskDataStatus } from "../types.js";
|
|
2
|
+
import { NotFoundError } from "@webiny/handler-graphql";
|
|
3
|
+
import { getErrorProperties } from "../utils/getErrorProperties.js";
|
|
4
|
+
import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
|
|
5
|
+
export class DatabaseResponse {
|
|
11
6
|
constructor(response, store) {
|
|
12
7
|
this.response = response;
|
|
13
8
|
this.store = store;
|
|
14
9
|
}
|
|
15
10
|
from(result) {
|
|
16
11
|
switch (result.status) {
|
|
17
|
-
case
|
|
12
|
+
case TaskResultStatus.DONE:
|
|
18
13
|
return this.done(result);
|
|
19
|
-
case
|
|
14
|
+
case TaskResultStatus.CONTINUE:
|
|
20
15
|
return this.continue(result);
|
|
21
|
-
case
|
|
16
|
+
case TaskResultStatus.ERROR:
|
|
22
17
|
return this.error(result);
|
|
23
|
-
case
|
|
18
|
+
case TaskResultStatus.ABORTED:
|
|
24
19
|
return this.aborted();
|
|
25
20
|
}
|
|
26
21
|
}
|
|
@@ -32,7 +27,7 @@ class DatabaseResponse {
|
|
|
32
27
|
let message = params.message;
|
|
33
28
|
try {
|
|
34
29
|
await this.store.updateTask({
|
|
35
|
-
taskStatus:
|
|
30
|
+
taskStatus: TaskDataStatus.SUCCESS,
|
|
36
31
|
finishedOn: new Date().toISOString(),
|
|
37
32
|
output
|
|
38
33
|
});
|
|
@@ -63,7 +58,7 @@ class DatabaseResponse {
|
|
|
63
58
|
...task.input,
|
|
64
59
|
...params.input
|
|
65
60
|
},
|
|
66
|
-
taskStatus:
|
|
61
|
+
taskStatus: TaskDataStatus.RUNNING
|
|
67
62
|
});
|
|
68
63
|
await this.store.addInfoLog({
|
|
69
64
|
message: "Task continuing.",
|
|
@@ -74,7 +69,7 @@ class DatabaseResponse {
|
|
|
74
69
|
/**
|
|
75
70
|
* If task was not found, we just return the error.
|
|
76
71
|
*/
|
|
77
|
-
if (ex instanceof
|
|
72
|
+
if (ex instanceof NotFoundError) {
|
|
78
73
|
return this.response.error({
|
|
79
74
|
error: {
|
|
80
75
|
message: ex.message || `Task not found.`,
|
|
@@ -102,10 +97,10 @@ class DatabaseResponse {
|
|
|
102
97
|
return this.response.continue(params);
|
|
103
98
|
}
|
|
104
99
|
async error(params) {
|
|
105
|
-
const error = params.error instanceof Error ?
|
|
100
|
+
const error = params.error instanceof Error ? getErrorProperties(params.error) : params.error;
|
|
106
101
|
try {
|
|
107
102
|
await this.store.updateTask({
|
|
108
|
-
taskStatus:
|
|
103
|
+
taskStatus: TaskDataStatus.FAILED,
|
|
109
104
|
finishedOn: new Date().toISOString(),
|
|
110
105
|
output: {
|
|
111
106
|
error
|
|
@@ -147,6 +142,5 @@ class DatabaseResponse {
|
|
|
147
142
|
});
|
|
148
143
|
}
|
|
149
144
|
}
|
|
150
|
-
exports.DatabaseResponse = DatabaseResponse;
|
|
151
145
|
|
|
152
146
|
//# sourceMappingURL=DatabaseResponse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["TaskDataStatus","NotFoundError","getErrorProperties","TaskResultStatus","DatabaseResponse","constructor","response","store","from","result","status","DONE","done","CONTINUE","continue","ERROR","error","ABORTED","aborted","params","output","rest","message","updateTask","taskStatus","SUCCESS","finishedOn","Date","toISOString","addInfoLog","save","ex","task","getTask","input","RUNNING","data","code","getInput","Error","FAILED","addErrorLog"],"sources":["DatabaseResponse.ts"],"sourcesContent":["import { TaskDataStatus } from \"~/types.js\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport type {\n IResponse,\n IResponseAsync,\n IResponseContinueParams,\n IResponseContinueResult,\n IResponseDoneParams,\n IResponseDoneResult,\n IResponseErrorParams,\n IResponseErrorResult,\n IResponseResult\n} from \"./abstractions/index.js\";\nimport type { ITaskManagerStorePrivate } from \"~/runner/abstractions/index.js\";\nimport { getErrorProperties } from \"~/utils/getErrorProperties.js\";\nimport { TaskResultStatus } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\n\nexport class DatabaseResponse implements IResponseAsync {\n public readonly response: IResponse;\n\n private readonly store: ITaskManagerStorePrivate;\n\n public constructor(response: IResponse, store: ITaskManagerStorePrivate) {\n this.response = response;\n this.store = store;\n }\n\n public from(result: IResponseResult): Promise<IResponseResult> {\n switch (result.status) {\n case TaskResultStatus.DONE:\n return this.done(result);\n case TaskResultStatus.CONTINUE:\n return this.continue(result);\n case TaskResultStatus.ERROR:\n return this.error(result);\n case TaskResultStatus.ABORTED:\n return this.aborted();\n }\n }\n\n public async done(params: IResponseDoneParams): Promise<IResponseDoneResult> {\n const { output, ...rest } = params;\n let message = params.message;\n try {\n await this.store.updateTask({\n taskStatus: TaskDataStatus.SUCCESS,\n finishedOn: new Date().toISOString(),\n output\n });\n await this.store.addInfoLog({\n message: message || \"Task done.\"\n });\n await this.store.save();\n } catch (ex) {\n message = `Task done, but failed to update task log. (${ex.message || \"unknown\"})`;\n }\n /**\n * Default behavior is to return the done response.\n */\n return this.response.done({\n ...rest,\n message,\n output\n });\n }\n\n public async aborted() {\n return this.response.aborted();\n }\n\n public async continue(\n params: IResponseContinueParams\n ): Promise<IResponseContinueResult | IResponseErrorResult> {\n try {\n const task = this.store.getTask();\n await this.store.updateTask({\n input: {\n ...task.input,\n ...params.input\n },\n taskStatus: TaskDataStatus.RUNNING\n });\n await this.store.addInfoLog({\n message: \"Task continuing.\",\n data: params.input\n });\n await this.store.save();\n } catch (ex) {\n /**\n * If task was not found, we just return the error.\n */\n if (ex instanceof NotFoundError) {\n return this.response.error({\n error: {\n message: ex.message || `Task not found.`,\n code: ex.code || \"TASK_NOT_FOUND\",\n data: {\n ...ex.data,\n input: this.store.getInput()\n }\n }\n });\n }\n /**\n * Otherwise, we store the error and return it...\n */\n return this.error({\n error: {\n message: `Failed to update task input: ${ex.message || \"unknown error\"}`,\n code: ex.code || \"TASK_UPDATE_ERROR\"\n }\n });\n }\n /**\n * Default behavior is to return the continue response.\n */\n return this.response.continue(params);\n }\n\n public async error(params: IResponseErrorParams): Promise<IResponseErrorResult> {\n const error =\n params.error instanceof Error ? getErrorProperties(params.error) : params.error;\n try {\n await this.store.updateTask({\n taskStatus: TaskDataStatus.FAILED,\n finishedOn: new Date().toISOString(),\n output: {\n error\n }\n });\n await this.store.addErrorLog({\n message: params.error.message,\n data: this.store.getInput(),\n error\n });\n await this.store.save();\n } catch (ex) {\n return this.response.error({\n ...params,\n error: {\n ...error,\n message: ex.message || error.message,\n code: ex.code || error.code,\n data: {\n ...error.data,\n ...ex.data,\n input: this.store.getInput()\n }\n }\n });\n }\n /**\n * Default behavior is to return the error response.\n */\n return this.response.error({\n ...params,\n error: {\n ...params.error,\n data: {\n ...error.data,\n input: this.store.getInput()\n }\n }\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/response/Response.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ITaskEvent } from "../handler/types";
|
|
2
|
-
import { IResponse, IResponseAbortedResult, IResponseContinueParams, IResponseContinueResult, IResponseDoneParams, IResponseDoneResult, IResponseErrorParams, IResponseErrorResult, IResponseFromParams, IResponseResult
|
|
1
|
+
import type { ITaskEvent } from "../handler/types.js";
|
|
2
|
+
import type { IResponse, IResponseAbortedResult, IResponseContinueParams, IResponseContinueResult, IResponseDoneParams, IResponseDoneResult, IResponseErrorParams, IResponseErrorResult, IResponseFromParams, IResponseResult } from "./abstractions/index.js";
|
|
3
|
+
import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
|
|
3
4
|
export declare class Response implements IResponse {
|
|
4
5
|
private _event;
|
|
5
6
|
get event(): ITaskEvent;
|
|
@@ -7,7 +8,7 @@ export declare class Response implements IResponse {
|
|
|
7
8
|
setEvent(event: ITaskEvent): void;
|
|
8
9
|
from(params: IResponseFromParams): IResponseResult;
|
|
9
10
|
continue(params: IResponseContinueParams): IResponseContinueResult;
|
|
10
|
-
done<O extends
|
|
11
|
+
done<O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput>(params?: IResponseDoneParams<O>): IResponseDoneResult<O>;
|
|
11
12
|
aborted(): IResponseAbortedResult;
|
|
12
13
|
error(params: IResponseErrorParams): IResponseErrorResult;
|
|
13
14
|
}
|
package/response/Response.js
CHANGED
|
@@ -1,16 +1,56 @@
|
|
|
1
|
-
|
|
1
|
+
import sizeOfObject from "object-sizeof";
|
|
2
|
+
import { ResponseContinueResult } from "./ResponseContinueResult.js";
|
|
3
|
+
import { ResponseDoneResult } from "./ResponseDoneResult.js";
|
|
4
|
+
import { ResponseErrorResult } from "./ResponseErrorResult.js";
|
|
5
|
+
import { ResponseAbortedResult } from "./ResponseAbortedResult.js";
|
|
6
|
+
import { getErrorProperties } from "../utils/getErrorProperties.js";
|
|
7
|
+
import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
|
|
2
8
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Step Functions has a limit of 256KB for the output size.
|
|
11
|
+
* We will set the max output to be 232KB to leave some room for the rest of the data.
|
|
12
|
+
*/
|
|
13
|
+
const MAX_SIZE_BYTES = 232 * 1024;
|
|
14
|
+
const createMaxSizeOutput = ({
|
|
15
|
+
size
|
|
16
|
+
}) => {
|
|
17
|
+
return {
|
|
18
|
+
message: `Output size exceeds the maximum allowed size.`,
|
|
19
|
+
size,
|
|
20
|
+
max: MAX_SIZE_BYTES
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Figure out the size of the output object and remove the stack trace if the size exceeds the maximum allowed size.
|
|
25
|
+
* If the size is still greater than the maximum allowed size, just return the message that the output size exceeds the maximum allowed size.
|
|
26
|
+
*/
|
|
27
|
+
const getOutput = output => {
|
|
28
|
+
if (!output || Object.keys(output).length === 0) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
let size = sizeOfObject(output);
|
|
32
|
+
if (size > MAX_SIZE_BYTES) {
|
|
33
|
+
if (output.stack) {
|
|
34
|
+
delete output.stack;
|
|
35
|
+
size = sizeOfObject(output);
|
|
36
|
+
if (size <= MAX_SIZE_BYTES) {
|
|
37
|
+
return output;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (output.error?.stack) {
|
|
41
|
+
delete output.error.stack;
|
|
42
|
+
size = sizeOfObject(output);
|
|
43
|
+
if (size <= MAX_SIZE_BYTES) {
|
|
44
|
+
return output;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return createMaxSizeOutput({
|
|
48
|
+
size
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return output;
|
|
52
|
+
};
|
|
53
|
+
export class Response {
|
|
14
54
|
get event() {
|
|
15
55
|
return this._event;
|
|
16
56
|
}
|
|
@@ -22,52 +62,48 @@ class Response {
|
|
|
22
62
|
}
|
|
23
63
|
from(params) {
|
|
24
64
|
switch (params.status) {
|
|
25
|
-
case
|
|
65
|
+
case TaskResultStatus.DONE:
|
|
26
66
|
return this.done(params);
|
|
27
|
-
case
|
|
67
|
+
case TaskResultStatus.CONTINUE:
|
|
28
68
|
return this.continue(params);
|
|
29
|
-
case
|
|
69
|
+
case TaskResultStatus.ERROR:
|
|
30
70
|
return this.error(params);
|
|
31
71
|
}
|
|
32
72
|
}
|
|
33
73
|
continue(params) {
|
|
34
|
-
return new
|
|
74
|
+
return new ResponseContinueResult({
|
|
75
|
+
message: params.message,
|
|
35
76
|
input: params.input,
|
|
36
77
|
webinyTaskId: params?.webinyTaskId || this.event.webinyTaskId,
|
|
37
78
|
webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,
|
|
38
79
|
tenant: params?.tenant || this.event.tenant,
|
|
39
|
-
locale: params?.locale || this.event.locale,
|
|
40
80
|
wait: params.wait
|
|
41
81
|
});
|
|
42
82
|
}
|
|
43
83
|
done(params) {
|
|
44
|
-
return new
|
|
84
|
+
return new ResponseDoneResult({
|
|
45
85
|
webinyTaskId: params?.webinyTaskId || this.event.webinyTaskId,
|
|
46
86
|
webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,
|
|
47
87
|
tenant: params?.tenant || this.event.tenant,
|
|
48
|
-
locale: params?.locale || this.event.locale,
|
|
49
88
|
message: params?.message,
|
|
50
|
-
output: params?.output
|
|
89
|
+
output: getOutput(params?.output)
|
|
51
90
|
});
|
|
52
91
|
}
|
|
53
92
|
aborted() {
|
|
54
|
-
return new
|
|
93
|
+
return new ResponseAbortedResult({
|
|
55
94
|
webinyTaskId: this.event.webinyTaskId,
|
|
56
95
|
webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,
|
|
57
|
-
tenant: this.event.tenant
|
|
58
|
-
locale: this.event.locale
|
|
96
|
+
tenant: this.event.tenant
|
|
59
97
|
});
|
|
60
98
|
}
|
|
61
99
|
error(params) {
|
|
62
|
-
return new
|
|
100
|
+
return new ResponseErrorResult({
|
|
63
101
|
webinyTaskId: params.webinyTaskId || this.event.webinyTaskId,
|
|
64
102
|
webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,
|
|
65
103
|
tenant: params.tenant || this.event.tenant,
|
|
66
|
-
|
|
67
|
-
error: params.error instanceof Error ? (0, _getErrorProperties.getErrorProperties)(params.error) : params.error
|
|
104
|
+
error: params.error instanceof Error ? getErrorProperties(params.error) : params.error
|
|
68
105
|
});
|
|
69
106
|
}
|
|
70
107
|
}
|
|
71
|
-
exports.Response = Response;
|
|
72
108
|
|
|
73
109
|
//# sourceMappingURL=Response.js.map
|