@webiny/tasks 5.39.2-beta.3 → 5.39.3-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/crud/EventBridgeEventTransport.d.ts +16 -0
- package/crud/EventBridgeEventTransport.js +57 -0
- package/crud/EventBridgeEventTransport.js.map +1 -0
- package/crud/crud.tasks.js +89 -52
- package/crud/crud.tasks.js.map +1 -1
- package/crud/model.js +1 -5
- package/crud/model.js.map +1 -1
- package/crud/trigger.tasks.js +26 -5
- package/crud/trigger.tasks.js.map +1 -1
- package/graphql/index.js +1 -1
- package/graphql/index.js.map +1 -1
- package/handler/index.d.ts +2 -2
- package/handler/index.js +17 -3
- package/handler/index.js.map +1 -1
- package/handler/types.d.ts +4 -0
- package/handler/types.js.map +1 -1
- package/package.json +19 -18
- package/response/DatabaseResponse.d.ts +2 -2
- package/response/DatabaseResponse.js +7 -1
- package/response/DatabaseResponse.js.map +1 -1
- package/response/Response.d.ts +3 -1
- package/response/Response.js +7 -1
- package/response/Response.js.map +1 -1
- package/response/ResponseAbortedResult.js +1 -1
- package/response/ResponseAbortedResult.js.map +1 -1
- package/response/ResponseContinueResult.d.ts +5 -1
- package/response/ResponseContinueResult.js +4 -0
- package/response/ResponseContinueResult.js.map +1 -1
- package/response/TaskResponse.d.ts +1 -1
- package/response/TaskResponse.js +6 -1
- package/response/TaskResponse.js.map +1 -1
- package/response/abstractions/Response.d.ts +1 -0
- package/response/abstractions/Response.js.map +1 -1
- package/response/abstractions/ResponseContinueResult.d.ts +1 -0
- package/response/abstractions/ResponseContinueResult.js.map +1 -1
- package/response/abstractions/TaskResponse.d.ts +7 -2
- package/response/abstractions/TaskResponse.js.map +1 -1
- package/runner/TaskManager.d.ts +2 -3
- package/runner/TaskManager.js +23 -20
- package/runner/TaskManager.js.map +1 -1
- package/runner/TaskManagerStore.d.ts +14 -10
- package/runner/TaskManagerStore.js +56 -19
- package/runner/TaskManagerStore.js.map +1 -1
- package/runner/TaskRunner.d.ts +7 -12
- package/runner/TaskRunner.js +22 -15
- package/runner/TaskRunner.js.map +1 -1
- package/runner/abstractions/TaskManagerStore.d.ts +52 -13
- package/runner/abstractions/TaskManagerStore.js.map +1 -1
- package/runner/abstractions/TaskRunner.d.ts +1 -7
- package/runner/abstractions/TaskRunner.js.map +1 -1
- package/task/plugin.js +1 -1
- package/task/plugin.js.map +1 -1
- package/timer/CustomTimer.d.ts +6 -0
- package/timer/CustomTimer.js +21 -0
- package/timer/CustomTimer.js.map +1 -0
- package/timer/Timer.d.ts +9 -0
- package/timer/Timer.js +17 -0
- package/timer/Timer.js.map +1 -0
- package/timer/abstractions/ITimer.d.ts +6 -0
- package/timer/abstractions/ITimer.js +7 -0
- package/timer/abstractions/ITimer.js.map +1 -0
- package/timer/factory.d.ts +4 -0
- package/timer/factory.js +20 -0
- package/timer/factory.js.map +1 -0
- package/timer/index.d.ts +4 -0
- package/timer/index.js +51 -0
- package/timer/index.js.map +1 -0
- package/types.d.ts +62 -35
- package/types.js +11 -5
- package/types.js.map +1 -1
- package/utils/ObjectUpdater.d.ts +8 -0
- package/utils/ObjectUpdater.js +46 -0
- package/utils/ObjectUpdater.js.map +1 -0
- package/crud/createEventBridgeEvent.d.ts +0 -9
- package/crud/createEventBridgeEvent.js +0 -73
- package/crud/createEventBridgeEvent.js.map +0 -1
- package/runner/utils/getErrorProperties.d.ts +0 -5
- package/runner/utils/getErrorProperties.js +0 -18
- package/runner/utils/getErrorProperties.js.map +0 -1
- package/runner/utils/getObjectProperties.d.ts +0 -4
- package/runner/utils/getObjectProperties.js +0 -21
- package/runner/utils/getObjectProperties.js.map +0 -1
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}\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): 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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"}
|
|
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,SAAS,EAAE;QACPC,KAAK,EAAE;UACHC,eAAe,EAAEC;QACrB,CAAC;QACDC,QAAQ,EAAE;UACNF,eAAe,EAAEC;QACrB,CAAC;QACDE,yBAAyB,EAAE;UACvB;AACpB;AACA;UACoB;UACAC,OAAO,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAyB,EAAE/C,OAAO,KAAK;YACtD,OAAO,IAAAgD,cAAO,EAAC,YAAY;cACvB,MAAM,IAAAC,kCAAgB,EAACjD,OAAO,EAAE;gBAC5BkD,GAAG,EAAE;cACT,CAAC,CAAC;cACF,OAAO,MAAMlD,OAAO,CAACM,KAAK,CAACuC,OAAO,CAACE,IAAI,CAACpD,EAAE,CAAC;YAC/C,CAAC,CAAC;UACN,CAAC;UACDwD,SAAS,EAAE,MAAAA,CAAOL,CAAC,EAAEC,IAAqB,EAAE/C,OAAO,KAAK;YACpD,OAAO,IAAAoD,kBAAW,EAAC,YAAY;cAC3B,MAAM,IAAAH,kCAAgB,EAACjD,OAAO,EAAE;gBAC5BkD,GAAG,EAAE;cACT,CAAC,CAAC;cACF,OAAO,MAAMlD,OAAO,CAACM,KAAK,CAAC6C,SAAS,CAACJ,IAAI,CAAC;YAC9C,CAAC,CAAC;UACN,CAAC;UACDZ,eAAe,EAAE,MAAAA,CAAOW,CAAC,EAAEO,EAAE,EAAErD,OAAO,KAAK;YACvC,OAAO,IAAAgD,cAAO,EAAC,YAAY;cACvB,MAAM,IAAAC,kCAAgB,EAACjD,OAAO,EAAE;gBAC5BkD,GAAG,EAAE;cACT,CAAC,CAAC;cACF,MAAMI,MAAM,GAAGtD,OAAO,CAACM,KAAK,CAAC6B,eAAe,CAAC,CAAC;cAC9C;AAC5B;AACA;cAC4B,OAAOmB,MAAM,CAAChE,MAAM,CAACC,IAAI,IAAI;gBACzB,OAAO,CAACA,IAAI,CAACC,SAAS;cAC1B,CAAC,CAAC;YACN,CAAC,CAAC;UACN,CAAC;UACD+D,QAAQ,EAAE,MAAAA,CAAOT,CAAC,EAAEC,IAAwB,EAAE/C,OAAO,KAAK;YACtD,OAAO,IAAAoD,kBAAW,EAAC,YAAY;cAC3B,MAAM,IAAAH,kCAAgB,EAACjD,OAAO,EAAE;gBAC5BkD,GAAG,EAAE;cACT,CAAC,CAAC;cACF,OAAO,MAAMlD,OAAO,CAACM,KAAK,CAACiD,QAAQ,CAACR,IAAI,CAAC;YAC7C,CAAC,CAAC;UACN;QACJ,CAAC;QACDS,4BAA4B,EAAE;UAC1B;AACpB;AACA;UACoB;UACAC,SAAS,EAAE,MAAAA,CAAOX,CAAC,EAAEC,IAA8B,EAAE/C,OAAO,KAAK;YAC7D,MAAM,IAAAiD,kCAAgB,EAACjD,OAAO,EAAE;cAC5BkD,GAAG,EAAE;YACT,CAAC,CAAC;YACF,OAAO,IAAAF,cAAO,EAAC,YAAY;cACvB,OAAO,MAAMhD,OAAO,CAACM,KAAK,CAACoD,KAAK,CAACX,IAAI,CAAC;YAC1C,CAAC,CAAC;UACN,CAAC;UACD;AACpB;AACA;UACoB;UACAY,WAAW,EAAE,MAAAA,CAAOb,CAAC,EAAEC,IAAgC,EAAE/C,OAAO,KAAK;YACjE,MAAM,IAAAiD,kCAAgB,EAACjD,OAAO,EAAE;cAC5BkD,GAAG,EAAE;YACT,CAAC,CAAC;YACF,OAAO,IAAAF,cAAO,EAAC,YAAY;cACvB,OAAO,MAAMhD,OAAO,CAACM,KAAK,CAACsD,OAAO,CAACb,IAAI,CAAC;YAC5C,CAAC,CAAC;UACN,CAAC;UACD;AACpB;AACA;UACoB;UACAc,UAAU,EAAE,MAAAA,CAAOf,CAAC,EAAEC,IAA+B,EAAE/C,OAAO,KAAK;YAC/D,MAAM,IAAAiD,kCAAgB,EAACjD,OAAO,EAAE;cAC5BkD,GAAG,EAAE;YACT,CAAC,CAAC;YACF,OAAO,IAAAF,cAAO,EAAC,YAAY;cACvB,OAAO,MAAMhD,OAAO,CAACM,KAAK,CAACuD,UAAU,CAACd,IAAI,CAACpD,EAAE,CAAC;YAClD,CAAC,CAAC;UACN;QACJ,CAAC;QACD;AAChB;AACA;QACgBmE,oBAAoB,EAAE;UAClBC,IAAI,EAAE,MAAAA,CAAOC,MAAa,EAAEjB,IAAwB,EAAE/C,OAAO,KAAK;YAC9D,MAAM;cAAEZ;YAAM,CAAC,GAAG,MAAMY,OAAO,CAACM,KAAK,CAACiD,QAAQ,CAAC;cAC3CU,IAAI,EAAE,CAAC,eAAe,CAAC;cACvBC,KAAK,EAAE,KAAK;cACZ,GAAGnB,IAAI;cACPoB,KAAK,EAAE;gBACH,GAAGpB,IAAI,EAAEoB,KAAK;gBACdC,IAAI,EAAEJ,MAAM,CAACrE;cACjB;YACJ,CAAC,CAAC;YACF,OAAOP,KAAK;UAChB;QACJ,CAAC;QACDiF,uBAAuB,EAAE;UACrBD,IAAI,EAAE,MAAAA,CAAOJ,MAAgB,EAAElB,CAAC,EAAE9C,OAAO,KAAK;YAC1C,OAAO,MAAMA,OAAO,CAACM,KAAK,CAACuC,OAAO,CAACmB,MAAM,CAACI,IAAI,CAAC;UACnD;QACJ;MACJ;IACJ,CAAC,CAAC;IACFpE,OAAO,CAACmB,OAAO,CAACmD,QAAQ,CAACxE,MAAM,CAAC;EACpC,CAAC,CAAC;EAEFA,MAAM,CAACyE,IAAI,GAAG,eAAe;EAE7B,OAAOzE,MAAM;AACjB,CAAC;AAEM,MAAM0E,2BAA2B,GAAGA,CAAA,KAAgB;EACvD,OAAO,CAAC3E,aAAa,CAAC,CAAC,CAAC;AAC5B,CAAC;AAAC4E,OAAA,CAAAD,2BAAA,GAAAA,2BAAA"}
|
package/handler/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { HandlerFactoryParams } from "@webiny/handler-aws/types";
|
|
2
2
|
import { APIGatewayProxyResult } from "aws-lambda";
|
|
3
3
|
import { Context as LambdaContext } from "aws-lambda/handler";
|
|
4
|
-
import {
|
|
4
|
+
import { ITaskRawEvent } from "./types";
|
|
5
5
|
export interface HandlerCallable {
|
|
6
|
-
(event:
|
|
6
|
+
(event: ITaskRawEvent, context: LambdaContext): Promise<APIGatewayProxyResult>;
|
|
7
7
|
}
|
|
8
8
|
export declare type HandlerParams = HandlerFactoryParams;
|
|
9
9
|
export declare const createHandler: (params: HandlerParams) => HandlerCallable;
|
package/handler/index.js
CHANGED
|
@@ -9,6 +9,8 @@ var _plugins = require("@webiny/handler-aws/plugins");
|
|
|
9
9
|
var _execute = require("@webiny/handler-aws/execute");
|
|
10
10
|
var _types = require("../types");
|
|
11
11
|
var _runner = require("../runner");
|
|
12
|
+
var _timer = require("../timer");
|
|
13
|
+
var _TaskEventValidation = require("../runner/TaskEventValidation");
|
|
12
14
|
const url = "/webiny-background-task-event";
|
|
13
15
|
const createHandler = params => {
|
|
14
16
|
return async (event, context) => {
|
|
@@ -37,12 +39,24 @@ const createHandler = params => {
|
|
|
37
39
|
};
|
|
38
40
|
return reply.send();
|
|
39
41
|
});
|
|
40
|
-
app.post(url, async (
|
|
41
|
-
|
|
42
|
+
app.post(url, async (_, reply) => {
|
|
43
|
+
/**
|
|
44
|
+
* Happened to a client so adding a check.
|
|
45
|
+
* We cannot reproduce it.
|
|
46
|
+
*/
|
|
47
|
+
if (!context) {
|
|
48
|
+
console.error("Missing Lambda context.");
|
|
49
|
+
return reply.send({
|
|
50
|
+
error: {
|
|
51
|
+
message: "This handler requires Lambda context to be passed."
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
const handler = new _runner.TaskRunner(
|
|
42
56
|
/**
|
|
43
57
|
* We can safely cast because we know that the context is of type tasks/Context
|
|
44
58
|
*/
|
|
45
|
-
app.webiny);
|
|
59
|
+
app.webiny, (0, _timer.timerFactory)(context), new _TaskEventValidation.TaskEventValidation());
|
|
46
60
|
app.__webiny_raw_result = await handler.run(event);
|
|
47
61
|
return reply.send({});
|
|
48
62
|
});
|
package/handler/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_handler","require","_plugins","_execute","_types","_runner","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","
|
|
1
|
+
{"version":3,"names":["_handler","require","_plugins","_execute","_types","_runner","_timer","_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","console","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 { HandlerFactoryParams } from \"@webiny/handler-aws/types\";\nimport { APIGatewayProxyResult } from \"aws-lambda\";\nimport { Context as LambdaContext } from \"aws-lambda/handler\";\nimport { Context, TaskResponseStatus } from \"~/types\";\nimport { ITaskRawEvent } from \"~/handler/types\";\nimport { TaskRunner } from \"~/runner\";\nimport WebinyError from \"@webiny/error\";\nimport { timerFactory } from \"~/timer\";\nimport { TaskEventValidation } from \"~/runner/TaskEventValidation\";\n\nexport interface HandlerCallable {\n (event: ITaskRawEvent, context: LambdaContext): Promise<APIGatewayProxyResult>;\n}\n\nexport type HandlerParams = HandlerFactoryParams;\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 /**\n * Happened to a client so adding a check.\n * We cannot reproduce it.\n */\n if (!context) {\n console.error(\"Missing Lambda context.\");\n return reply.send({\n error: {\n message: \"This handler requires Lambda context to be passed.\"\n }\n });\n }\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 }\n }\n });\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAIA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAQA,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;AACZ;AACA;AACA;MACY,IAAI,CAACf,OAAO,EAAE;QACVyB,OAAO,CAACX,KAAK,CAAC,yBAAyB,CAAC;QACxC,OAAOC,KAAK,CAACQ,IAAI,CAAC;UACdT,KAAK,EAAE;YACHG,OAAO,EAAE;UACb;QACJ,CAAC,CAAC;MACN;MACA,MAAMS,OAAO,GAAG,IAAIC,kBAAU;MAC1B;AAChB;AACA;MACgB1B,GAAG,CAACM,MAAM,EACV,IAAAqB,mBAAY,EAAC5B,OAAO,CAAC,EACrB,IAAI6B,wCAAmB,CAAC,CAC5B,CAAC;MAED5B,GAAG,CAACe,mBAAmB,GAAG,MAAMU,OAAO,CAACI,GAAG,CAAC/B,KAAK,CAAC;MAClD,OAAOgB,KAAK,CAACQ,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,OAAO,IAAAQ,gBAAO,EAAC;MACX9B,GAAG;MACHL,GAAG;MACHe,OAAO,EAAE;QACL,GAAGZ,KAAK;QACRiC,OAAO,EAAE;UACL,CAAC,UAAU,GAAGjC,KAAK,CAACkC,MAAM;UAC1B,CAAC,uBAAuB,GAAGlC,KAAK,CAACmC,QAAQ;UACzC,CAAC,qBAAqB,GAAGnC,KAAK,CAACoC;QACnC;MACJ;IACJ,CAAC,CAAC;EACN,CAAC;AACL,CAAC;AAACC,OAAA,CAAAvC,aAAA,GAAAA,aAAA"}
|
package/handler/types.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export interface ITaskEventInput {
|
|
|
7
7
|
locale: string;
|
|
8
8
|
webinyTaskId: string;
|
|
9
9
|
webinyTaskDefinitionId: string;
|
|
10
|
+
delay?: number;
|
|
10
11
|
}
|
|
11
12
|
export interface ITaskEvent {
|
|
12
13
|
tenant: string;
|
|
@@ -17,3 +18,6 @@ export interface ITaskEvent {
|
|
|
17
18
|
executionName: string;
|
|
18
19
|
stateMachineId: string;
|
|
19
20
|
}
|
|
21
|
+
export interface ITaskRawEvent extends ITaskEvent {
|
|
22
|
+
delay?: number;
|
|
23
|
+
}
|
package/handler/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export 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}\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"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export 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":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/tasks",
|
|
3
|
-
"version": "5.39.
|
|
3
|
+
"version": "5.39.3-beta.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -13,19 +13,20 @@
|
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@babel/runtime": "7.22.6",
|
|
16
|
-
"@webiny/api": "5.39.
|
|
17
|
-
"@webiny/api-headless-cms": "5.39.
|
|
18
|
-
"@webiny/aws-sdk": "5.39.
|
|
19
|
-
"@webiny/error": "5.39.
|
|
20
|
-
"@webiny/handler": "5.39.
|
|
21
|
-
"@webiny/handler-aws": "5.39.
|
|
22
|
-
"@webiny/handler-graphql": "5.39.
|
|
23
|
-
"@webiny/plugins": "5.39.
|
|
24
|
-
"@webiny/pubsub": "5.39.
|
|
25
|
-
"@webiny/utils": "5.39.
|
|
16
|
+
"@webiny/api": "5.39.3-beta.0",
|
|
17
|
+
"@webiny/api-headless-cms": "5.39.3-beta.0",
|
|
18
|
+
"@webiny/aws-sdk": "5.39.3-beta.0",
|
|
19
|
+
"@webiny/error": "5.39.3-beta.0",
|
|
20
|
+
"@webiny/handler": "5.39.3-beta.0",
|
|
21
|
+
"@webiny/handler-aws": "5.39.3-beta.0",
|
|
22
|
+
"@webiny/handler-graphql": "5.39.3-beta.0",
|
|
23
|
+
"@webiny/plugins": "5.39.3-beta.0",
|
|
24
|
+
"@webiny/pubsub": "5.39.3-beta.0",
|
|
25
|
+
"@webiny/utils": "5.39.3-beta.0",
|
|
26
26
|
"aws-lambda": "1.0.7",
|
|
27
27
|
"deep-equal": "2.2.3",
|
|
28
28
|
"lodash": "4.17.21",
|
|
29
|
+
"object-merge-advanced": "12.1.0",
|
|
29
30
|
"zod": "3.21.4"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
@@ -33,12 +34,12 @@
|
|
|
33
34
|
"@babel/core": "7.22.8",
|
|
34
35
|
"@babel/preset-env": "7.22.7",
|
|
35
36
|
"@babel/preset-typescript": "7.22.5",
|
|
36
|
-
"@webiny/api-i18n": "5.39.
|
|
37
|
-
"@webiny/api-security": "5.39.
|
|
38
|
-
"@webiny/api-tenancy": "5.39.
|
|
39
|
-
"@webiny/api-wcp": "5.39.
|
|
40
|
-
"@webiny/cli": "5.39.
|
|
41
|
-
"@webiny/project-utils": "5.39.
|
|
37
|
+
"@webiny/api-i18n": "5.39.3-beta.0",
|
|
38
|
+
"@webiny/api-security": "5.39.3-beta.0",
|
|
39
|
+
"@webiny/api-tenancy": "5.39.3-beta.0",
|
|
40
|
+
"@webiny/api-wcp": "5.39.3-beta.0",
|
|
41
|
+
"@webiny/cli": "5.39.3-beta.0",
|
|
42
|
+
"@webiny/project-utils": "5.39.3-beta.0",
|
|
42
43
|
"rimraf": "3.0.2",
|
|
43
44
|
"ttypescript": "1.5.15",
|
|
44
45
|
"type-fest": "2.19.0",
|
|
@@ -52,5 +53,5 @@
|
|
|
52
53
|
"build": "yarn webiny run build",
|
|
53
54
|
"watch": "yarn webiny run watch"
|
|
54
55
|
},
|
|
55
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "bb0a2c8b43b2caa88f7a2d745a88039a520d124c"
|
|
56
57
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { IResponse, IResponseAsync, IResponseContinueParams, IResponseContinueResult, IResponseDoneParams, IResponseDoneResult, IResponseErrorParams, IResponseErrorResult, IResponseResult } from "./abstractions";
|
|
2
|
-
import {
|
|
2
|
+
import { ITaskManagerStorePrivate } from "../runner/abstractions";
|
|
3
3
|
export declare class DatabaseResponse implements IResponseAsync {
|
|
4
4
|
readonly response: IResponse;
|
|
5
5
|
private readonly store;
|
|
6
|
-
constructor(response: IResponse, store:
|
|
6
|
+
constructor(response: IResponse, store: ITaskManagerStorePrivate);
|
|
7
7
|
from(result: IResponseResult): Promise<IResponseResult>;
|
|
8
8
|
done(params: IResponseDoneParams): Promise<IResponseDoneResult>;
|
|
9
9
|
aborted(): Promise<import("../types").IResponseAbortedResult>;
|
|
@@ -39,6 +39,7 @@ class DatabaseResponse {
|
|
|
39
39
|
await this.store.addInfoLog({
|
|
40
40
|
message: message || "Task done."
|
|
41
41
|
});
|
|
42
|
+
await this.store.save();
|
|
42
43
|
} catch (ex) {
|
|
43
44
|
message = `Task done, but failed to update task log. (${ex.message || "unknown"})`;
|
|
44
45
|
}
|
|
@@ -68,6 +69,7 @@ class DatabaseResponse {
|
|
|
68
69
|
message: "Task continuing.",
|
|
69
70
|
data: params.input
|
|
70
71
|
});
|
|
72
|
+
await this.store.save();
|
|
71
73
|
} catch (ex) {
|
|
72
74
|
/**
|
|
73
75
|
* If task was not found, we just return the error.
|
|
@@ -104,13 +106,17 @@ class DatabaseResponse {
|
|
|
104
106
|
try {
|
|
105
107
|
await this.store.updateTask({
|
|
106
108
|
taskStatus: _types.TaskDataStatus.FAILED,
|
|
107
|
-
finishedOn: new Date().toISOString()
|
|
109
|
+
finishedOn: new Date().toISOString(),
|
|
110
|
+
output: {
|
|
111
|
+
error
|
|
112
|
+
}
|
|
108
113
|
});
|
|
109
114
|
await this.store.addErrorLog({
|
|
110
115
|
message: params.error.message,
|
|
111
116
|
data: this.store.getInput(),
|
|
112
117
|
error
|
|
113
118
|
});
|
|
119
|
+
await this.store.save();
|
|
114
120
|
} catch (ex) {
|
|
115
121
|
return this.response.error({
|
|
116
122
|
...params,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","_handlerGraphql","_getErrorProperties","DatabaseResponse","constructor","response","store","from","result","status","TaskResponseStatus","DONE","done","CONTINUE","continue","ERROR","error","ABORTED","aborted","params","output","rest","message","updateTask","taskStatus","TaskDataStatus","SUCCESS","finishedOn","Date","toISOString","addInfoLog","ex","task","getTask","input","RUNNING","data","NotFoundError","code","getInput","Error","getErrorProperties","FAILED","addErrorLog","exports"],"sources":["DatabaseResponse.ts"],"sourcesContent":["import { TaskDataStatus, TaskResponseStatus } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport {\n IResponse,\n IResponseAsync,\n IResponseContinueParams,\n IResponseContinueResult,\n IResponseDoneParams,\n IResponseDoneResult,\n IResponseErrorParams,\n IResponseErrorResult,\n IResponseResult\n} from \"./abstractions\";\nimport {
|
|
1
|
+
{"version":3,"names":["_types","require","_handlerGraphql","_getErrorProperties","DatabaseResponse","constructor","response","store","from","result","status","TaskResponseStatus","DONE","done","CONTINUE","continue","ERROR","error","ABORTED","aborted","params","output","rest","message","updateTask","taskStatus","TaskDataStatus","SUCCESS","finishedOn","Date","toISOString","addInfoLog","save","ex","task","getTask","input","RUNNING","data","NotFoundError","code","getInput","Error","getErrorProperties","FAILED","addErrorLog","exports"],"sources":["DatabaseResponse.ts"],"sourcesContent":["import { TaskDataStatus, TaskResponseStatus } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport {\n IResponse,\n IResponseAsync,\n IResponseContinueParams,\n IResponseContinueResult,\n IResponseDoneParams,\n IResponseDoneResult,\n IResponseErrorParams,\n IResponseErrorResult,\n IResponseResult\n} from \"./abstractions\";\nimport { ITaskManagerStorePrivate } from \"~/runner/abstractions\";\nimport { getErrorProperties } from \"~/utils/getErrorProperties\";\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 TaskResponseStatus.DONE:\n return this.done(result);\n case TaskResponseStatus.CONTINUE:\n return this.continue(result);\n case TaskResponseStatus.ERROR:\n return this.error(result);\n case TaskResponseStatus.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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"}
|
package/response/Response.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { ITaskEvent } from "../handler/types";
|
|
2
2
|
import { IResponse, IResponseAbortedResult, IResponseContinueParams, IResponseContinueResult, IResponseDoneParams, IResponseDoneResult, IResponseErrorParams, IResponseErrorResult, IResponseFromParams, IResponseResult, ITaskResponseDoneResultOutput } from "./abstractions";
|
|
3
3
|
export declare class Response implements IResponse {
|
|
4
|
-
|
|
4
|
+
private _event;
|
|
5
|
+
get event(): ITaskEvent;
|
|
5
6
|
constructor(event: ITaskEvent);
|
|
7
|
+
setEvent(event: ITaskEvent): void;
|
|
6
8
|
from(params: IResponseFromParams): IResponseResult;
|
|
7
9
|
continue(params: IResponseContinueParams): IResponseContinueResult;
|
|
8
10
|
done<O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput>(params?: IResponseDoneParams<O>): IResponseDoneResult<O>;
|
package/response/Response.js
CHANGED
|
@@ -11,8 +11,14 @@ var _ResponseErrorResult = require("./ResponseErrorResult");
|
|
|
11
11
|
var _ResponseAbortedResult = require("./ResponseAbortedResult");
|
|
12
12
|
var _getErrorProperties = require("../utils/getErrorProperties");
|
|
13
13
|
class Response {
|
|
14
|
+
get event() {
|
|
15
|
+
return this._event;
|
|
16
|
+
}
|
|
14
17
|
constructor(event) {
|
|
15
|
-
this.
|
|
18
|
+
this._event = event;
|
|
19
|
+
}
|
|
20
|
+
setEvent(event) {
|
|
21
|
+
this._event = event;
|
|
16
22
|
}
|
|
17
23
|
from(params) {
|
|
18
24
|
switch (params.status) {
|
package/response/Response.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","_ResponseContinueResult","_ResponseDoneResult","_ResponseErrorResult","_ResponseAbortedResult","_getErrorProperties","Response","constructor","
|
|
1
|
+
{"version":3,"names":["_types","require","_ResponseContinueResult","_ResponseDoneResult","_ResponseErrorResult","_ResponseAbortedResult","_getErrorProperties","Response","event","_event","constructor","setEvent","from","params","status","TaskResponseStatus","DONE","done","CONTINUE","continue","ERROR","error","ResponseContinueResult","input","webinyTaskId","webinyTaskDefinitionId","tenant","locale","wait","ResponseDoneResult","message","output","aborted","ResponseAbortedResult","ResponseErrorResult","Error","getErrorProperties","exports"],"sources":["Response.ts"],"sourcesContent":["import { ITaskEvent } from \"~/handler/types\";\nimport { TaskResponseStatus } from \"~/types\";\nimport {\n IResponse,\n IResponseAbortedResult,\n IResponseContinueParams,\n IResponseContinueResult,\n IResponseDoneParams,\n IResponseDoneResult,\n IResponseErrorParams,\n IResponseErrorResult,\n IResponseFromParams,\n IResponseResult,\n ITaskResponseDoneResultOutput\n} from \"./abstractions\";\nimport { ResponseContinueResult } from \"~/response/ResponseContinueResult\";\nimport { ResponseDoneResult } from \"~/response/ResponseDoneResult\";\nimport { ResponseErrorResult } from \"~/response/ResponseErrorResult\";\nimport { ResponseAbortedResult } from \"./ResponseAbortedResult\";\nimport { getErrorProperties } from \"~/utils/getErrorProperties\";\n\nexport class Response implements IResponse {\n private _event: ITaskEvent;\n\n public get event(): ITaskEvent {\n return this._event;\n }\n\n public constructor(event: ITaskEvent) {\n this._event = event;\n }\n\n public setEvent(event: ITaskEvent) {\n this._event = event;\n }\n\n public from(params: IResponseFromParams): IResponseResult {\n switch (params.status) {\n case TaskResponseStatus.DONE:\n return this.done(params);\n case TaskResponseStatus.CONTINUE:\n return this.continue(params);\n case TaskResponseStatus.ERROR:\n return this.error(params);\n }\n }\n\n public continue(params: IResponseContinueParams): IResponseContinueResult {\n return new ResponseContinueResult({\n input: params.input,\n webinyTaskId: params?.webinyTaskId || this.event.webinyTaskId,\n webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,\n tenant: params?.tenant || this.event.tenant,\n locale: params?.locale || this.event.locale,\n wait: params.wait\n });\n }\n\n public done<O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput>(\n params?: IResponseDoneParams<O>\n ): IResponseDoneResult<O> {\n return new ResponseDoneResult<O>({\n webinyTaskId: params?.webinyTaskId || this.event.webinyTaskId,\n webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,\n tenant: params?.tenant || this.event.tenant,\n locale: params?.locale || this.event.locale,\n message: params?.message,\n output: params?.output\n });\n }\n\n public aborted(): IResponseAbortedResult {\n return new ResponseAbortedResult({\n webinyTaskId: this.event.webinyTaskId,\n webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,\n tenant: this.event.tenant,\n locale: this.event.locale\n });\n }\n\n public error(params: IResponseErrorParams): IResponseErrorResult {\n return new ResponseErrorResult({\n webinyTaskId: params.webinyTaskId || this.event.webinyTaskId,\n webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,\n tenant: params.tenant || this.event.tenant,\n locale: params.locale || this.event.locale,\n error: params.error instanceof Error ? getErrorProperties(params.error) : params.error\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ class ResponseAbortedResult {
|
|
|
9
9
|
status = _types.TaskResponseStatus.ABORTED;
|
|
10
10
|
constructor(params) {
|
|
11
11
|
this.webinyTaskId = params.webinyTaskId;
|
|
12
|
-
this.webinyTaskDefinitionId = params.
|
|
12
|
+
this.webinyTaskDefinitionId = params.webinyTaskDefinitionId;
|
|
13
13
|
this.tenant = params.tenant;
|
|
14
14
|
this.locale = params.locale;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","ResponseAbortedResult","status","TaskResponseStatus","ABORTED","constructor","params","webinyTaskId","webinyTaskDefinitionId","tenant","locale","exports"],"sources":["ResponseAbortedResult.ts"],"sourcesContent":["import { TaskResponseStatus } from \"~/types\";\nimport { IResponseAbortedResult } from \"./abstractions\";\n\nexport class ResponseAbortedResult implements IResponseAbortedResult {\n public readonly webinyTaskId: string;\n public readonly webinyTaskDefinitionId: string;\n public readonly tenant: string;\n public readonly locale: string;\n public readonly status: TaskResponseStatus.ABORTED = TaskResponseStatus.ABORTED;\n\n public constructor(params: Omit<IResponseAbortedResult, \"status\">) {\n this.webinyTaskId = params.webinyTaskId;\n this.webinyTaskDefinitionId = params.
|
|
1
|
+
{"version":3,"names":["_types","require","ResponseAbortedResult","status","TaskResponseStatus","ABORTED","constructor","params","webinyTaskId","webinyTaskDefinitionId","tenant","locale","exports"],"sources":["ResponseAbortedResult.ts"],"sourcesContent":["import { TaskResponseStatus } from \"~/types\";\nimport { IResponseAbortedResult } from \"./abstractions\";\n\nexport class ResponseAbortedResult implements IResponseAbortedResult {\n public readonly webinyTaskId: string;\n public readonly webinyTaskDefinitionId: string;\n public readonly tenant: string;\n public readonly locale: string;\n public readonly status: TaskResponseStatus.ABORTED = TaskResponseStatus.ABORTED;\n\n public constructor(params: Omit<IResponseAbortedResult, \"status\">) {\n this.webinyTaskId = params.webinyTaskId;\n this.webinyTaskDefinitionId = params.webinyTaskDefinitionId;\n this.tenant = params.tenant;\n this.locale = params.locale;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,qBAAqB,CAAmC;EAKjDC,MAAM,GAA+BC,yBAAkB,CAACC,OAAO;EAExEC,WAAWA,CAACC,MAA8C,EAAE;IAC/D,IAAI,CAACC,YAAY,GAAGD,MAAM,CAACC,YAAY;IACvC,IAAI,CAACC,sBAAsB,GAAGF,MAAM,CAACE,sBAAsB;IAC3D,IAAI,CAACC,MAAM,GAAGH,MAAM,CAACG,MAAM;IAC3B,IAAI,CAACC,MAAM,GAAGJ,MAAM,CAACI,MAAM;EAC/B;AACJ;AAACC,OAAA,CAAAV,qBAAA,GAAAA,qBAAA"}
|
|
@@ -8,6 +8,10 @@ export declare class ResponseContinueResult<T = ITaskDataInput> implements IResp
|
|
|
8
8
|
readonly locale: string;
|
|
9
9
|
readonly status: TaskResponseStatus.CONTINUE;
|
|
10
10
|
readonly input: T;
|
|
11
|
+
/**
|
|
12
|
+
* We need this to make sure that the task will not use the delay from the previous iteration.
|
|
13
|
+
*/
|
|
14
|
+
readonly delay = -1;
|
|
11
15
|
readonly wait?: number;
|
|
12
|
-
constructor(params: Omit<IResponseContinueResult<T>, "status">);
|
|
16
|
+
constructor(params: Omit<IResponseContinueResult<T>, "delay" | "status">);
|
|
13
17
|
}
|
|
@@ -7,6 +7,10 @@ exports.ResponseContinueResult = void 0;
|
|
|
7
7
|
var _types = require("../types");
|
|
8
8
|
class ResponseContinueResult {
|
|
9
9
|
status = _types.TaskResponseStatus.CONTINUE;
|
|
10
|
+
/**
|
|
11
|
+
* We need this to make sure that the task will not use the delay from the previous iteration.
|
|
12
|
+
*/
|
|
13
|
+
delay = -1;
|
|
10
14
|
constructor(params) {
|
|
11
15
|
this.message = params.message;
|
|
12
16
|
this.webinyTaskId = params.webinyTaskId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","ResponseContinueResult","status","TaskResponseStatus","CONTINUE","constructor","params","message","webinyTaskId","webinyTaskDefinitionId","tenant","locale","input","wait","exports"],"sources":["ResponseContinueResult.ts"],"sourcesContent":["import { ITaskDataInput, TaskResponseStatus } from \"~/types\";\nimport { IResponseContinueResult } from \"./abstractions\";\n\nexport class ResponseContinueResult<T = ITaskDataInput> implements IResponseContinueResult<T> {\n public readonly message?: string | undefined;\n public readonly webinyTaskId: string;\n public readonly webinyTaskDefinitionId: string;\n public readonly tenant: string;\n public readonly locale: string;\n public readonly status: TaskResponseStatus.CONTINUE = TaskResponseStatus.CONTINUE;\n public readonly input: T;\n public readonly wait?: number;\n\n public constructor(params: Omit<IResponseContinueResult<T>, \"status\">) {\n this.message = params.message;\n this.webinyTaskId = params.webinyTaskId;\n this.webinyTaskDefinitionId = params.webinyTaskDefinitionId;\n this.tenant = params.tenant;\n this.locale = params.locale;\n this.input = params.input;\n this.wait = params.wait;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,sBAAsB,CAA2D;EAM1EC,MAAM,GAAgCC,yBAAkB,CAACC,QAAQ;
|
|
1
|
+
{"version":3,"names":["_types","require","ResponseContinueResult","status","TaskResponseStatus","CONTINUE","delay","constructor","params","message","webinyTaskId","webinyTaskDefinitionId","tenant","locale","input","wait","exports"],"sources":["ResponseContinueResult.ts"],"sourcesContent":["import { ITaskDataInput, TaskResponseStatus } from \"~/types\";\nimport { IResponseContinueResult } from \"./abstractions\";\n\nexport class ResponseContinueResult<T = ITaskDataInput> implements IResponseContinueResult<T> {\n public readonly message?: string | undefined;\n public readonly webinyTaskId: string;\n public readonly webinyTaskDefinitionId: string;\n public readonly tenant: string;\n public readonly locale: string;\n public readonly status: TaskResponseStatus.CONTINUE = TaskResponseStatus.CONTINUE;\n public readonly input: T;\n /**\n * We need this to make sure that the task will not use the delay from the previous iteration.\n */\n public readonly delay = -1;\n public readonly wait?: number;\n\n public constructor(params: Omit<IResponseContinueResult<T>, \"delay\" | \"status\">) {\n this.message = params.message;\n this.webinyTaskId = params.webinyTaskId;\n this.webinyTaskDefinitionId = params.webinyTaskDefinitionId;\n this.tenant = params.tenant;\n this.locale = params.locale;\n this.input = params.input;\n this.wait = params.wait;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,sBAAsB,CAA2D;EAM1EC,MAAM,GAAgCC,yBAAkB,CAACC,QAAQ;EAEjF;AACJ;AACA;EACoBC,KAAK,GAAG,CAAC,CAAC;EAGnBC,WAAWA,CAACC,MAA4D,EAAE;IAC7E,IAAI,CAACC,OAAO,GAAGD,MAAM,CAACC,OAAO;IAC7B,IAAI,CAACC,YAAY,GAAGF,MAAM,CAACE,YAAY;IACvC,IAAI,CAACC,sBAAsB,GAAGH,MAAM,CAACG,sBAAsB;IAC3D,IAAI,CAACC,MAAM,GAAGJ,MAAM,CAACI,MAAM;IAC3B,IAAI,CAACC,MAAM,GAAGL,MAAM,CAACK,MAAM;IAC3B,IAAI,CAACC,KAAK,GAAGN,MAAM,CAACM,KAAK;IACzB,IAAI,CAACC,IAAI,GAAGP,MAAM,CAACO,IAAI;EAC3B;AACJ;AAACC,OAAA,CAAAd,sBAAA,GAAAA,sBAAA"}
|
|
@@ -3,7 +3,7 @@ import { ITaskDataInput } from "../types";
|
|
|
3
3
|
export declare class TaskResponse implements ITaskResponse {
|
|
4
4
|
private readonly response;
|
|
5
5
|
constructor(response: IResponse);
|
|
6
|
-
done<O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput>(message?: string, output?: O): ITaskResponseDoneResult<O>;
|
|
6
|
+
done<O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput>(message?: string | O, output?: O): ITaskResponseDoneResult<O>;
|
|
7
7
|
continue<T = ITaskDataInput>(input: T, options?: ITaskResponseContinueOptions): ITaskResponseContinueResult;
|
|
8
8
|
error(error: IResponseError | Error | string): ITaskResponseErrorResult;
|
|
9
9
|
aborted(): ITaskResponseAbortedResult;
|
package/response/TaskResponse.js
CHANGED
|
@@ -36,8 +36,13 @@ class TaskResponse {
|
|
|
36
36
|
this.response = response;
|
|
37
37
|
}
|
|
38
38
|
done(message, output) {
|
|
39
|
+
if (typeof message === "object" && !output) {
|
|
40
|
+
return this.response.done({
|
|
41
|
+
output: message
|
|
42
|
+
});
|
|
43
|
+
}
|
|
39
44
|
return this.response.done({
|
|
40
|
-
message,
|
|
45
|
+
message: message,
|
|
41
46
|
output
|
|
42
47
|
});
|
|
43
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getErrorProperties","require","MAX_WAITING_TIME","getWaitingTime","options","waitingTime","undefined","seconds","now","Date","date","getTime","TaskResponse","constructor","response","done","message","output","continue","input","wait","error","getError","aborted","Error","getErrorProperties","exports"],"sources":["TaskResponse.ts"],"sourcesContent":["import {\n IResponse,\n IResponseError,\n ITaskResponse,\n ITaskResponseAbortedResult,\n ITaskResponseContinueOptions,\n ITaskResponseContinueResult,\n ITaskResponseDoneResult,\n ITaskResponseDoneResultOutput,\n ITaskResponseErrorResult\n} from \"./abstractions\";\nimport { ITaskDataInput } from \"~/types\";\nimport { getErrorProperties } from \"~/utils/getErrorProperties\";\n\n/**\n * 355 days transformed into seconds.\n */\nconst MAX_WAITING_TIME = 30672000;\n\n/**\n * There are options to send:\n * * seconds - number of seconds to wait\n * * date - date until which to wait\n */\nconst getWaitingTime = (options?: ITaskResponseContinueOptions): number | undefined => {\n let waitingTime: number | undefined;\n if (!options) {\n return undefined;\n }\n if (\"seconds\" in options) {\n waitingTime = options.seconds;\n } else if (\"date\" in options) {\n const now = new Date();\n waitingTime = (options.date.getTime() - now.getTime()) / 1000;\n }\n if (!waitingTime || waitingTime < 0) {\n return undefined;\n }\n return waitingTime > MAX_WAITING_TIME ? MAX_WAITING_TIME : waitingTime;\n};\n\nexport class TaskResponse implements ITaskResponse {\n private readonly response: IResponse;\n\n public constructor(response: IResponse) {\n this.response = response;\n }\n\n public done<O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput>(\n message?: string,\n output?: O\n ): ITaskResponseDoneResult<O> {\n return this.response.done<O>({\n message,\n output\n });\n }\n\n public continue<T = ITaskDataInput>(\n input: T,\n options?: ITaskResponseContinueOptions\n ): ITaskResponseContinueResult {\n const wait = getWaitingTime(options);\n if (!wait || wait < 1) {\n return this.response.continue({\n input\n });\n }\n return this.response.continue({\n input,\n wait\n });\n }\n\n public error(error: IResponseError | Error | string): ITaskResponseErrorResult {\n return this.response.error({\n error: this.getError(error)\n });\n }\n\n public aborted(): ITaskResponseAbortedResult {\n return this.response.aborted();\n }\n\n private getError(error: IResponseError | Error | string): IResponseError | Error {\n if (error instanceof Error) {\n return getErrorProperties(error);\n } else if (typeof error === \"string\") {\n return new Error(error);\n }\n return error;\n }\n}\n"],"mappings":";;;;;;AAYA,IAAAA,mBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAG,QAAQ;;AAEjC;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAIC,OAAsC,IAAyB;EACnF,IAAIC,WAA+B;EACnC,IAAI,CAACD,OAAO,EAAE;IACV,OAAOE,SAAS;EACpB;EACA,IAAI,SAAS,IAAIF,OAAO,EAAE;IACtBC,WAAW,GAAGD,OAAO,CAACG,OAAO;EACjC,CAAC,MAAM,IAAI,MAAM,IAAIH,OAAO,EAAE;IAC1B,MAAMI,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC;IACtBJ,WAAW,GAAG,CAACD,OAAO,CAACM,IAAI,CAACC,OAAO,CAAC,CAAC,GAAGH,GAAG,CAACG,OAAO,CAAC,CAAC,IAAI,IAAI;EACjE;EACA,IAAI,CAACN,WAAW,IAAIA,WAAW,GAAG,CAAC,EAAE;IACjC,OAAOC,SAAS;EACpB;EACA,OAAOD,WAAW,GAAGH,gBAAgB,GAAGA,gBAAgB,GAAGG,WAAW;AAC1E,CAAC;AAEM,MAAMO,YAAY,CAA0B;EAGxCC,WAAWA,CAACC,QAAmB,EAAE;IACpC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEOC,IAAIA,CACPC,
|
|
1
|
+
{"version":3,"names":["_getErrorProperties","require","MAX_WAITING_TIME","getWaitingTime","options","waitingTime","undefined","seconds","now","Date","date","getTime","TaskResponse","constructor","response","done","message","output","continue","input","wait","error","getError","aborted","Error","getErrorProperties","exports"],"sources":["TaskResponse.ts"],"sourcesContent":["import {\n IResponse,\n IResponseError,\n ITaskResponse,\n ITaskResponseAbortedResult,\n ITaskResponseContinueOptions,\n ITaskResponseContinueResult,\n ITaskResponseDoneResult,\n ITaskResponseDoneResultOutput,\n ITaskResponseErrorResult\n} from \"./abstractions\";\nimport { ITaskDataInput } from \"~/types\";\nimport { getErrorProperties } from \"~/utils/getErrorProperties\";\n\n/**\n * 355 days transformed into seconds.\n */\nconst MAX_WAITING_TIME = 30672000;\n\n/**\n * There are options to send:\n * * seconds - number of seconds to wait\n * * date - date until which to wait\n */\nconst getWaitingTime = (options?: ITaskResponseContinueOptions): number | undefined => {\n let waitingTime: number | undefined;\n if (!options) {\n return undefined;\n }\n if (\"seconds\" in options) {\n waitingTime = options.seconds;\n } else if (\"date\" in options) {\n const now = new Date();\n waitingTime = (options.date.getTime() - now.getTime()) / 1000;\n }\n if (!waitingTime || waitingTime < 0) {\n return undefined;\n }\n return waitingTime > MAX_WAITING_TIME ? MAX_WAITING_TIME : waitingTime;\n};\n\nexport class TaskResponse implements ITaskResponse {\n private readonly response: IResponse;\n\n public constructor(response: IResponse) {\n this.response = response;\n }\n\n public done<O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput>(\n message?: string | O,\n output?: O\n ): ITaskResponseDoneResult<O> {\n if (typeof message === \"object\" && !output) {\n return this.response.done({\n output: message\n });\n }\n return this.response.done<O>({\n message: message as string,\n output\n });\n }\n\n public continue<T = ITaskDataInput>(\n input: T,\n options?: ITaskResponseContinueOptions\n ): ITaskResponseContinueResult {\n const wait = getWaitingTime(options);\n if (!wait || wait < 1) {\n return this.response.continue({\n input\n });\n }\n return this.response.continue({\n input,\n wait\n });\n }\n\n public error(error: IResponseError | Error | string): ITaskResponseErrorResult {\n return this.response.error({\n error: this.getError(error)\n });\n }\n\n public aborted(): ITaskResponseAbortedResult {\n return this.response.aborted();\n }\n\n private getError(error: IResponseError | Error | string): IResponseError | Error {\n if (error instanceof Error) {\n return getErrorProperties(error);\n } else if (typeof error === \"string\") {\n return new Error(error);\n }\n return error;\n }\n}\n"],"mappings":";;;;;;AAYA,IAAAA,mBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAG,QAAQ;;AAEjC;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAIC,OAAsC,IAAyB;EACnF,IAAIC,WAA+B;EACnC,IAAI,CAACD,OAAO,EAAE;IACV,OAAOE,SAAS;EACpB;EACA,IAAI,SAAS,IAAIF,OAAO,EAAE;IACtBC,WAAW,GAAGD,OAAO,CAACG,OAAO;EACjC,CAAC,MAAM,IAAI,MAAM,IAAIH,OAAO,EAAE;IAC1B,MAAMI,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC;IACtBJ,WAAW,GAAG,CAACD,OAAO,CAACM,IAAI,CAACC,OAAO,CAAC,CAAC,GAAGH,GAAG,CAACG,OAAO,CAAC,CAAC,IAAI,IAAI;EACjE;EACA,IAAI,CAACN,WAAW,IAAIA,WAAW,GAAG,CAAC,EAAE;IACjC,OAAOC,SAAS;EACpB;EACA,OAAOD,WAAW,GAAGH,gBAAgB,GAAGA,gBAAgB,GAAGG,WAAW;AAC1E,CAAC;AAEM,MAAMO,YAAY,CAA0B;EAGxCC,WAAWA,CAACC,QAAmB,EAAE;IACpC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;EAEOC,IAAIA,CACPC,OAAoB,EACpBC,MAAU,EACgB;IAC1B,IAAI,OAAOD,OAAO,KAAK,QAAQ,IAAI,CAACC,MAAM,EAAE;MACxC,OAAO,IAAI,CAACH,QAAQ,CAACC,IAAI,CAAC;QACtBE,MAAM,EAAED;MACZ,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACF,QAAQ,CAACC,IAAI,CAAI;MACzBC,OAAO,EAAEA,OAAiB;MAC1BC;IACJ,CAAC,CAAC;EACN;EAEOC,QAAQA,CACXC,KAAQ,EACRf,OAAsC,EACX;IAC3B,MAAMgB,IAAI,GAAGjB,cAAc,CAACC,OAAO,CAAC;IACpC,IAAI,CAACgB,IAAI,IAAIA,IAAI,GAAG,CAAC,EAAE;MACnB,OAAO,IAAI,CAACN,QAAQ,CAACI,QAAQ,CAAC;QAC1BC;MACJ,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACL,QAAQ,CAACI,QAAQ,CAAC;MAC1BC,KAAK;MACLC;IACJ,CAAC,CAAC;EACN;EAEOC,KAAKA,CAACA,KAAsC,EAA4B;IAC3E,OAAO,IAAI,CAACP,QAAQ,CAACO,KAAK,CAAC;MACvBA,KAAK,EAAE,IAAI,CAACC,QAAQ,CAACD,KAAK;IAC9B,CAAC,CAAC;EACN;EAEOE,OAAOA,CAAA,EAA+B;IACzC,OAAO,IAAI,CAACT,QAAQ,CAACS,OAAO,CAAC,CAAC;EAClC;EAEQD,QAAQA,CAACD,KAAsC,EAA0B;IAC7E,IAAIA,KAAK,YAAYG,KAAK,EAAE;MACxB,OAAO,IAAAC,sCAAkB,EAACJ,KAAK,CAAC;IACpC,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAClC,OAAO,IAAIG,KAAK,CAACH,KAAK,CAAC;IAC3B;IACA,OAAOA,KAAK;EAChB;AACJ;AAACK,OAAA,CAAAd,YAAA,GAAAA,YAAA"}
|
|
@@ -8,6 +8,7 @@ export declare type IResponseFromParams = IResponseDoneResult | IResponseContinu
|
|
|
8
8
|
export declare type IResponseResult = IResponseDoneResult | IResponseContinueResult | IResponseErrorResult | IResponseAbortedResult;
|
|
9
9
|
export interface IResponse {
|
|
10
10
|
readonly event: ITaskEvent;
|
|
11
|
+
setEvent: (event: ITaskEvent) => void;
|
|
11
12
|
from: (params: IResponseFromParams) => IResponseResult;
|
|
12
13
|
done: <O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput>(params?: IResponseDoneParams<O>) => IResponseDoneResult<O>;
|
|
13
14
|
aborted: () => IResponseAbortedResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["Response.ts"],"sourcesContent":["import { ITaskEvent } from \"~/handler/types\";\nimport { IResponseContinueParams, IResponseContinueResult } from \"./ResponseContinueResult\";\nimport { IResponseDoneParams, IResponseDoneResult } from \"./ResponseDoneResult\";\nimport { IResponseErrorParams, IResponseErrorResult } from \"./ResponseErrorResult\";\nimport { IResponseAbortedResult } from \"./ResponseAbortedResult\";\nimport { ITaskResponseDoneResultOutput } from \"~/response/abstractions/TaskResponse\";\n\nexport type IResponseFromParams =\n | IResponseDoneResult\n | IResponseContinueResult\n | IResponseErrorResult;\n\nexport type IResponseResult =\n | IResponseDoneResult\n | IResponseContinueResult\n | IResponseErrorResult\n | IResponseAbortedResult;\n\nexport interface IResponse {\n readonly event: ITaskEvent;\n\n from: (params: IResponseFromParams) => IResponseResult;\n done: <O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput>(\n params?: IResponseDoneParams<O>\n ) => IResponseDoneResult<O>;\n aborted: () => IResponseAbortedResult;\n continue: (params: IResponseContinueParams) => IResponseContinueResult;\n error: (params: IResponseErrorParams) => IResponseErrorResult;\n}\n\nexport interface IResponseAsync {\n readonly response: IResponse;\n\n from: (result: IResponseResult) => Promise<IResponseResult>;\n done: (params: IResponseDoneParams) => Promise<IResponseDoneResult>;\n continue: (\n params: IResponseContinueParams\n ) => Promise<IResponseContinueResult | IResponseErrorResult>;\n aborted: () => Promise<IResponseAbortedResult>;\n error: (params: IResponseErrorParams) => Promise<IResponseErrorResult>;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["Response.ts"],"sourcesContent":["import { ITaskEvent } from \"~/handler/types\";\nimport { IResponseContinueParams, IResponseContinueResult } from \"./ResponseContinueResult\";\nimport { IResponseDoneParams, IResponseDoneResult } from \"./ResponseDoneResult\";\nimport { IResponseErrorParams, IResponseErrorResult } from \"./ResponseErrorResult\";\nimport { IResponseAbortedResult } from \"./ResponseAbortedResult\";\nimport { ITaskResponseDoneResultOutput } from \"~/response/abstractions/TaskResponse\";\n\nexport type IResponseFromParams =\n | IResponseDoneResult\n | IResponseContinueResult\n | IResponseErrorResult;\n\nexport type IResponseResult =\n | IResponseDoneResult\n | IResponseContinueResult\n | IResponseErrorResult\n | IResponseAbortedResult;\n\nexport interface IResponse {\n readonly event: ITaskEvent;\n\n setEvent: (event: ITaskEvent) => void;\n\n from: (params: IResponseFromParams) => IResponseResult;\n done: <O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput>(\n params?: IResponseDoneParams<O>\n ) => IResponseDoneResult<O>;\n aborted: () => IResponseAbortedResult;\n continue: (params: IResponseContinueParams) => IResponseContinueResult;\n error: (params: IResponseErrorParams) => IResponseErrorResult;\n}\n\nexport interface IResponseAsync {\n readonly response: IResponse;\n\n from: (result: IResponseResult) => Promise<IResponseResult>;\n done: (params: IResponseDoneParams) => Promise<IResponseDoneResult>;\n continue: (\n params: IResponseContinueParams\n ) => Promise<IResponseContinueResult | IResponseErrorResult>;\n aborted: () => Promise<IResponseAbortedResult>;\n error: (params: IResponseErrorParams) => Promise<IResponseErrorResult>;\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["ResponseContinueResult.ts"],"sourcesContent":["import { ITaskDataInput, TaskResponseStatus } from \"~/types\";\nimport { IResponseBaseResult } from \"./ResponseBaseResult\";\n\n/**\n * Wait can be used to pause next iteration of the Lambda execution.\n * For example, if the task is hammering the Elasticsearch cluster too much, you can use this to pause the execution for some time.\n */\n\nexport interface IResponseContinueParams<T = ITaskDataInput> {\n tenant?: string;\n locale?: string;\n webinyTaskId?: string;\n input: T;\n wait?: number;\n}\n\nexport interface IResponseContinueResult<T = ITaskDataInput> extends IResponseBaseResult {\n message?: string;\n input: T;\n wait?: number;\n status: TaskResponseStatus.CONTINUE;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["ResponseContinueResult.ts"],"sourcesContent":["import { ITaskDataInput, TaskResponseStatus } from \"~/types\";\nimport { IResponseBaseResult } from \"./ResponseBaseResult\";\n\n/**\n * Wait can be used to pause next iteration of the Lambda execution.\n * For example, if the task is hammering the Elasticsearch cluster too much, you can use this to pause the execution for some time.\n */\n\nexport interface IResponseContinueParams<T = ITaskDataInput> {\n tenant?: string;\n locale?: string;\n webinyTaskId?: string;\n input: T;\n wait?: number;\n}\n\nexport interface IResponseContinueResult<T = ITaskDataInput> extends IResponseBaseResult {\n message?: string;\n input: T;\n wait?: number;\n delay: -1;\n status: TaskResponseStatus.CONTINUE;\n}\n"],"mappings":""}
|