@webiny/tasks 5.40.0-beta.2 → 5.40.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/context.js.map +1 -1
  2. package/crud/EventBridgeEventTransport.js.map +1 -1
  3. package/crud/crud.tasks.js.map +1 -1
  4. package/crud/definition.tasks.js.map +1 -1
  5. package/crud/model.js +4 -8
  6. package/crud/model.js.map +1 -1
  7. package/crud/trigger.tasks.js.map +1 -1
  8. package/crud/where.js.map +1 -1
  9. package/graphql/checkPermissions.js.map +1 -1
  10. package/graphql/index.js.map +1 -1
  11. package/graphql/utils.js.map +1 -1
  12. package/handler/index.js.map +1 -1
  13. package/handler/register.js.map +1 -1
  14. package/handler/types.js.map +1 -1
  15. package/index.js.map +1 -1
  16. package/package.json +36 -26
  17. package/response/DatabaseResponse.js.map +1 -1
  18. package/response/Response.js.map +1 -1
  19. package/response/ResponseAbortedResult.js.map +1 -1
  20. package/response/ResponseContinueResult.js.map +1 -1
  21. package/response/ResponseDoneResult.js.map +1 -1
  22. package/response/ResponseErrorResult.js.map +1 -1
  23. package/response/TaskResponse.js.map +1 -1
  24. package/response/abstractions/Response.js.map +1 -1
  25. package/response/abstractions/ResponseAbortedResult.js.map +1 -1
  26. package/response/abstractions/ResponseBaseResult.js.map +1 -1
  27. package/response/abstractions/ResponseContinueResult.js.map +1 -1
  28. package/response/abstractions/ResponseDoneResult.js.map +1 -1
  29. package/response/abstractions/ResponseErrorResult.js.map +1 -1
  30. package/response/abstractions/TaskResponse.d.ts +1 -1
  31. package/response/abstractions/TaskResponse.js.map +1 -1
  32. package/response/abstractions/index.js.map +1 -1
  33. package/response/index.js.map +1 -1
  34. package/runner/TaskControl.js +0 -1
  35. package/runner/TaskControl.js.map +1 -1
  36. package/runner/TaskEventValidation.js.map +1 -1
  37. package/runner/TaskManager.js.map +1 -1
  38. package/runner/TaskManagerStore.js +3 -1
  39. package/runner/TaskManagerStore.js.map +1 -1
  40. package/runner/TaskRunner.d.ts +1 -0
  41. package/runner/TaskRunner.js +15 -0
  42. package/runner/TaskRunner.js.map +1 -1
  43. package/runner/abstractions/TaskControl.js.map +1 -1
  44. package/runner/abstractions/TaskEventValidation.js.map +1 -1
  45. package/runner/abstractions/TaskManager.js.map +1 -1
  46. package/runner/abstractions/TaskManagerStore.js.map +1 -1
  47. package/runner/abstractions/TaskRunner.js.map +1 -1
  48. package/runner/abstractions/index.js.map +1 -1
  49. package/runner/index.js.map +1 -1
  50. package/task/index.js.map +1 -1
  51. package/task/input.js.map +1 -1
  52. package/task/plugin.js.map +1 -1
  53. package/tasks/testingRunTask.js.map +1 -1
  54. package/timer/CustomTimer.js.map +1 -1
  55. package/timer/Timer.js.map +1 -1
  56. package/timer/abstractions/ITimer.js.map +1 -1
  57. package/timer/factory.js.map +1 -1
  58. package/timer/index.js.map +1 -1
  59. package/types.js +3 -6
  60. package/types.js.map +1 -1
  61. package/utils/ObjectUpdater.js.map +1 -1
  62. package/utils/getErrorProperties.js.map +1 -1
  63. package/utils/getObjectProperties.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/tasks",
3
- "version": "5.40.0-beta.2",
3
+ "version": "5.40.0-beta.3",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,35 +12,35 @@
12
12
  ],
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
- "@babel/runtime": "7.22.6",
16
- "@webiny/api": "5.40.0-beta.2",
17
- "@webiny/api-headless-cms": "5.40.0-beta.2",
18
- "@webiny/aws-sdk": "5.40.0-beta.2",
19
- "@webiny/error": "5.40.0-beta.2",
20
- "@webiny/handler": "5.40.0-beta.2",
21
- "@webiny/handler-aws": "5.40.0-beta.2",
22
- "@webiny/handler-graphql": "5.40.0-beta.2",
23
- "@webiny/plugins": "5.40.0-beta.2",
24
- "@webiny/pubsub": "5.40.0-beta.2",
25
- "@webiny/utils": "5.40.0-beta.2",
26
- "aws-lambda": "1.0.7",
15
+ "@babel/runtime": "7.24.1",
16
+ "@types/aws-lambda": "8.10.136",
17
+ "@webiny/api": "5.40.0-beta.3",
18
+ "@webiny/api-headless-cms": "5.40.0-beta.3",
19
+ "@webiny/aws-sdk": "5.40.0-beta.3",
20
+ "@webiny/error": "5.40.0-beta.3",
21
+ "@webiny/handler": "5.40.0-beta.3",
22
+ "@webiny/handler-aws": "5.40.0-beta.3",
23
+ "@webiny/handler-graphql": "5.40.0-beta.3",
24
+ "@webiny/plugins": "5.40.0-beta.3",
25
+ "@webiny/pubsub": "5.40.0-beta.3",
26
+ "@webiny/utils": "5.40.0-beta.3",
27
27
  "deep-equal": "2.2.3",
28
28
  "lodash": "4.17.21",
29
29
  "object-merge-advanced": "12.1.0",
30
- "zod": "3.21.4"
30
+ "zod": "3.22.4"
31
31
  },
32
32
  "devDependencies": {
33
- "@babel/cli": "7.22.6",
34
- "@babel/core": "7.22.8",
35
- "@babel/preset-env": "7.22.7",
36
- "@babel/preset-typescript": "7.22.5",
37
- "@webiny/api-i18n": "5.40.0-beta.2",
38
- "@webiny/api-security": "5.40.0-beta.2",
39
- "@webiny/api-tenancy": "5.40.0-beta.2",
40
- "@webiny/api-wcp": "5.40.0-beta.2",
41
- "@webiny/cli": "5.40.0-beta.2",
42
- "@webiny/project-utils": "5.40.0-beta.2",
43
- "rimraf": "3.0.2",
33
+ "@babel/cli": "7.24.1",
34
+ "@babel/core": "7.24.3",
35
+ "@babel/preset-env": "7.24.3",
36
+ "@babel/preset-typescript": "7.24.1",
37
+ "@webiny/api-i18n": "5.40.0-beta.3",
38
+ "@webiny/api-security": "5.40.0-beta.3",
39
+ "@webiny/api-tenancy": "5.40.0-beta.3",
40
+ "@webiny/api-wcp": "5.40.0-beta.3",
41
+ "@webiny/cli": "5.40.0-beta.3",
42
+ "@webiny/project-utils": "5.40.0-beta.3",
43
+ "rimraf": "5.0.5",
44
44
  "ttypescript": "1.5.15",
45
45
  "type-fest": "2.19.0",
46
46
  "typescript": "4.7.4"
@@ -53,5 +53,15 @@
53
53
  "build": "yarn webiny run build",
54
54
  "watch": "yarn webiny run watch"
55
55
  },
56
- "gitHead": "15e414a228687140ce2f30bd2f55763368e99827"
56
+ "gitHead": "638d8b84063906cd1aa979ed6e0487ad26fbcf2f",
57
+ "adio": {
58
+ "ignore": {
59
+ "src": [
60
+ "aws-lambda"
61
+ ],
62
+ "dependencies": [
63
+ "@types/aws-lambda"
64
+ ]
65
+ }
66
+ }
57
67
  }
@@ -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","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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAaA,IAAAE,mBAAA,GAAAF,OAAA;AAEO,MAAMG,gBAAgB,CAA2B;EAK7CC,WAAWA,CAACC,QAAmB,EAAEC,KAA+B,EAAE;IACrE,IAAI,CAACD,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACtB;EAEOC,IAAIA,CAACC,MAAuB,EAA4B;IAC3D,QAAQA,MAAM,CAACC,MAAM;MACjB,KAAKC,yBAAkB,CAACC,IAAI;QACxB,OAAO,IAAI,CAACC,IAAI,CAACJ,MAAM,CAAC;MAC5B,KAAKE,yBAAkB,CAACG,QAAQ;QAC5B,OAAO,IAAI,CAACC,QAAQ,CAACN,MAAM,CAAC;MAChC,KAAKE,yBAAkB,CAACK,KAAK;QACzB,OAAO,IAAI,CAACC,KAAK,CAACR,MAAM,CAAC;MAC7B,KAAKE,yBAAkB,CAACO,OAAO;QAC3B,OAAO,IAAI,CAACC,OAAO,CAAC,CAAC;IAC7B;EACJ;EAEA,MAAaN,IAAIA,CAACO,MAA2B,EAAgC;IACzE,MAAM;MAAEC,MAAM;MAAE,GAAGC;IAAK,CAAC,GAAGF,MAAM;IAClC,IAAIG,OAAO,GAAGH,MAAM,CAACG,OAAO;IAC5B,IAAI;MACA,MAAM,IAAI,CAAChB,KAAK,CAACiB,UAAU,CAAC;QACxBC,UAAU,EAAEC,qBAAc,CAACC,OAAO;QAClCC,UAAU,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QACpCT;MACJ,CAAC,CAAC;MACF,MAAM,IAAI,CAACd,KAAK,CAACwB,UAAU,CAAC;QACxBR,OAAO,EAAEA,OAAO,IAAI;MACxB,CAAC,CAAC;MACF,MAAM,IAAI,CAAChB,KAAK,CAACyB,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,OAAOC,EAAE,EAAE;MACTV,OAAO,GAAI,8CAA6CU,EAAE,CAACV,OAAO,IAAI,SAAU,GAAE;IACtF;IACA;AACR;AACA;IACQ,OAAO,IAAI,CAACjB,QAAQ,CAACO,IAAI,CAAC;MACtB,GAAGS,IAAI;MACPC,OAAO;MACPF;IACJ,CAAC,CAAC;EACN;EAEA,MAAaF,OAAOA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACb,QAAQ,CAACa,OAAO,CAAC,CAAC;EAClC;EAEA,MAAaJ,QAAQA,CACjBK,MAA+B,EACwB;IACvD,IAAI;MACA,MAAMc,IAAI,GAAG,IAAI,CAAC3B,KAAK,CAAC4B,OAAO,CAAC,CAAC;MACjC,MAAM,IAAI,CAAC5B,KAAK,CAACiB,UAAU,CAAC;QACxBY,KAAK,EAAE;UACH,GAAGF,IAAI,CAACE,KAAK;UACb,GAAGhB,MAAM,CAACgB;QACd,CAAC;QACDX,UAAU,EAAEC,qBAAc,CAACW;MAC/B,CAAC,CAAC;MACF,MAAM,IAAI,CAAC9B,KAAK,CAACwB,UAAU,CAAC;QACxBR,OAAO,EAAE,kBAAkB;QAC3Be,IAAI,EAAElB,MAAM,CAACgB;MACjB,CAAC,CAAC;MACF,MAAM,IAAI,CAAC7B,KAAK,CAACyB,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT;AACZ;AACA;MACY,IAAIA,EAAE,YAAYM,6BAAa,EAAE;QAC7B,OAAO,IAAI,CAACjC,QAAQ,CAACW,KAAK,CAAC;UACvBA,KAAK,EAAE;YACHM,OAAO,EAAEU,EAAE,CAACV,OAAO,IAAK,iBAAgB;YACxCiB,IAAI,EAAEP,EAAE,CAACO,IAAI,IAAI,gBAAgB;YACjCF,IAAI,EAAE;cACF,GAAGL,EAAE,CAACK,IAAI;cACVF,KAAK,EAAE,IAAI,CAAC7B,KAAK,CAACkC,QAAQ,CAAC;YAC/B;UACJ;QACJ,CAAC,CAAC;MACN;MACA;AACZ;AACA;MACY,OAAO,IAAI,CAACxB,KAAK,CAAC;QACdA,KAAK,EAAE;UACHM,OAAO,EAAG,gCAA+BU,EAAE,CAACV,OAAO,IAAI,eAAgB,EAAC;UACxEiB,IAAI,EAAEP,EAAE,CAACO,IAAI,IAAI;QACrB;MACJ,CAAC,CAAC;IACN;IACA;AACR;AACA;IACQ,OAAO,IAAI,CAAClC,QAAQ,CAACS,QAAQ,CAACK,MAAM,CAAC;EACzC;EAEA,MAAaH,KAAKA,CAACG,MAA4B,EAAiC;IAC5E,MAAMH,KAAK,GACPG,MAAM,CAACH,KAAK,YAAYyB,KAAK,GAAG,IAAAC,sCAAkB,EAACvB,MAAM,CAACH,KAAK,CAAC,GAAGG,MAAM,CAACH,KAAK;IACnF,IAAI;MACA,MAAM,IAAI,CAACV,KAAK,CAACiB,UAAU,CAAC;QACxBC,UAAU,EAAEC,qBAAc,CAACkB,MAAM;QACjChB,UAAU,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QACpCT,MAAM,EAAE;UACJJ;QACJ;MACJ,CAAC,CAAC;MACF,MAAM,IAAI,CAACV,KAAK,CAACsC,WAAW,CAAC;QACzBtB,OAAO,EAAEH,MAAM,CAACH,KAAK,CAACM,OAAO;QAC7Be,IAAI,EAAE,IAAI,CAAC/B,KAAK,CAACkC,QAAQ,CAAC,CAAC;QAC3BxB;MACJ,CAAC,CAAC;MACF,MAAM,IAAI,CAACV,KAAK,CAACyB,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,OAAOC,EAAE,EAAE;MACT,OAAO,IAAI,CAAC3B,QAAQ,CAACW,KAAK,CAAC;QACvB,GAAGG,MAAM;QACTH,KAAK,EAAE;UACH,GAAGA,KAAK;UACRM,OAAO,EAAEU,EAAE,CAACV,OAAO,IAAIN,KAAK,CAACM,OAAO;UACpCiB,IAAI,EAAEP,EAAE,CAACO,IAAI,IAAIvB,KAAK,CAACuB,IAAI;UAC3BF,IAAI,EAAE;YACF,GAAGrB,KAAK,CAACqB,IAAI;YACb,GAAGL,EAAE,CAACK,IAAI;YACVF,KAAK,EAAE,IAAI,CAAC7B,KAAK,CAACkC,QAAQ,CAAC;UAC/B;QACJ;MACJ,CAAC,CAAC;IACN;IACA;AACR;AACA;IACQ,OAAO,IAAI,CAACnC,QAAQ,CAACW,KAAK,CAAC;MACvB,GAAGG,MAAM;MACTH,KAAK,EAAE;QACH,GAAGG,MAAM,CAACH,KAAK;QACfqB,IAAI,EAAE;UACF,GAAGrB,KAAK,CAACqB,IAAI;UACbF,KAAK,EAAE,IAAI,CAAC7B,KAAK,CAACkC,QAAQ,CAAC;QAC/B;MACJ;IACJ,CAAC,CAAC;EACN;AACJ;AAACK,OAAA,CAAA1C,gBAAA,GAAAA,gBAAA"}
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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","ignoreList":[]}
@@ -1 +1 @@
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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"}
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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","ignoreList":[]}
@@ -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.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"}
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","ignoreList":[]}
@@ -1 +1 @@
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"}
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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","ResponseDoneResult","status","TaskResponseStatus","DONE","constructor","params","message","webinyTaskId","webinyTaskDefinitionId","tenant","locale","output","exports"],"sources":["ResponseDoneResult.ts"],"sourcesContent":["import { ITaskResponseDoneResultOutput, TaskResponseStatus } from \"~/types\";\nimport { IResponseDoneResult } from \"./abstractions\";\n\nexport class ResponseDoneResult<\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> implements IResponseDoneResult<O>\n{\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 output?: O;\n public readonly status: TaskResponseStatus.DONE = TaskResponseStatus.DONE;\n\n public constructor(params: Omit<IResponseDoneResult<O>, \"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.output = params.output;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,kBAAkB,CAG/B;EAOoBC,MAAM,GAA4BC,yBAAkB,CAACC,IAAI;EAElEC,WAAWA,CAACC,MAA8C,EAAE;IAC/D,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,MAAM,GAAGN,MAAM,CAACM,MAAM;EAC/B;AACJ;AAACC,OAAA,CAAAZ,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"names":["_types","require","ResponseDoneResult","status","TaskResponseStatus","DONE","constructor","params","message","webinyTaskId","webinyTaskDefinitionId","tenant","locale","output","exports"],"sources":["ResponseDoneResult.ts"],"sourcesContent":["import { ITaskResponseDoneResultOutput, TaskResponseStatus } from \"~/types\";\nimport { IResponseDoneResult } from \"./abstractions\";\n\nexport class ResponseDoneResult<\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> implements IResponseDoneResult<O>\n{\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 output?: O;\n public readonly status: TaskResponseStatus.DONE = TaskResponseStatus.DONE;\n\n public constructor(params: Omit<IResponseDoneResult<O>, \"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.output = params.output;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,kBAAkB,CAG/B;EAOoBC,MAAM,GAA4BC,yBAAkB,CAACC,IAAI;EAElEC,WAAWA,CAACC,MAA8C,EAAE;IAC/D,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,MAAM,GAAGN,MAAM,CAACM,MAAM;EAC/B;AACJ;AAACC,OAAA,CAAAZ,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","ResponseErrorResult","status","TaskResponseStatus","ERROR","constructor","params","webinyTaskId","webinyTaskDefinitionId","tenant","locale","error","exports"],"sources":["ResponseErrorResult.ts"],"sourcesContent":["import { TaskResponseStatus } from \"~/types\";\nimport { IResponseError, IResponseErrorResult } from \"./abstractions\";\n\nexport class ResponseErrorResult implements IResponseErrorResult {\n public readonly webinyTaskId: string;\n public readonly webinyTaskDefinitionId: string;\n public readonly tenant: string;\n public readonly locale: string;\n public readonly error: IResponseError;\n public readonly status: TaskResponseStatus.ERROR = TaskResponseStatus.ERROR;\n\n public constructor(params: Omit<IResponseErrorResult, \"status\">) {\n this.webinyTaskId = params.webinyTaskId;\n this.webinyTaskDefinitionId = params.webinyTaskDefinitionId;\n this.tenant = params.tenant;\n this.locale = params.locale;\n this.error = params.error;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,mBAAmB,CAAiC;EAM7CC,MAAM,GAA6BC,yBAAkB,CAACC,KAAK;EAEpEC,WAAWA,CAACC,MAA4C,EAAE;IAC7D,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;IAC3B,IAAI,CAACC,KAAK,GAAGL,MAAM,CAACK,KAAK;EAC7B;AACJ;AAACC,OAAA,CAAAX,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"names":["_types","require","ResponseErrorResult","status","TaskResponseStatus","ERROR","constructor","params","webinyTaskId","webinyTaskDefinitionId","tenant","locale","error","exports"],"sources":["ResponseErrorResult.ts"],"sourcesContent":["import { TaskResponseStatus } from \"~/types\";\nimport { IResponseError, IResponseErrorResult } from \"./abstractions\";\n\nexport class ResponseErrorResult implements IResponseErrorResult {\n public readonly webinyTaskId: string;\n public readonly webinyTaskDefinitionId: string;\n public readonly tenant: string;\n public readonly locale: string;\n public readonly error: IResponseError;\n public readonly status: TaskResponseStatus.ERROR = TaskResponseStatus.ERROR;\n\n public constructor(params: Omit<IResponseErrorResult, \"status\">) {\n this.webinyTaskId = params.webinyTaskId;\n this.webinyTaskDefinitionId = params.webinyTaskDefinitionId;\n this.tenant = params.tenant;\n this.locale = params.locale;\n this.error = params.error;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,mBAAmB,CAAiC;EAM7CC,MAAM,GAA6BC,yBAAkB,CAACC,KAAK;EAEpEC,WAAWA,CAACC,MAA4C,EAAE;IAC7D,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;IAC3B,IAAI,CAACC,KAAK,GAAGL,MAAM,CAACK,KAAK;EAC7B;AACJ;AAACC,OAAA,CAAAX,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -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 | 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"}
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","ignoreList":[]}
@@ -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 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
+ {"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":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["ResponseAbortedResult.ts"],"sourcesContent":["import { IResponseBaseResult } from \"~/response/abstractions/ResponseBaseResult\";\nimport { TaskResponseStatus } from \"~/types\";\n\nexport interface IResponseAbortedResult extends IResponseBaseResult {\n status: TaskResponseStatus.ABORTED;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["ResponseAbortedResult.ts"],"sourcesContent":["import { IResponseBaseResult } from \"~/response/abstractions/ResponseBaseResult\";\nimport { TaskResponseStatus } from \"~/types\";\n\nexport interface IResponseAbortedResult extends IResponseBaseResult {\n status: TaskResponseStatus.ABORTED;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["ResponseBaseResult.ts"],"sourcesContent":["import { TaskResponseStatus } from \"~/types\";\n\nexport interface IResponseBaseResult {\n status: TaskResponseStatus;\n webinyTaskId: string;\n webinyTaskDefinitionId: string;\n tenant: string;\n locale: string;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["ResponseBaseResult.ts"],"sourcesContent":["import { TaskResponseStatus } from \"~/types\";\n\nexport interface IResponseBaseResult {\n status: TaskResponseStatus;\n webinyTaskId: string;\n webinyTaskDefinitionId: string;\n tenant: string;\n locale: string;\n}\n"],"mappings":"","ignoreList":[]}
@@ -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 delay: -1;\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":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["ResponseDoneResult.ts"],"sourcesContent":["import { ITaskResponseDoneResultOutput, TaskResponseStatus } from \"~/types\";\nimport { IResponseBaseResult } from \"./ResponseBaseResult\";\n\nexport interface IResponseDoneParams<\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> {\n tenant?: string;\n locale?: string;\n webinyTaskId?: string;\n message?: string;\n output?: O;\n}\n\nexport interface IResponseDoneResult<\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> extends IResponseBaseResult {\n message?: string;\n output?: O;\n status: TaskResponseStatus.DONE;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["ResponseDoneResult.ts"],"sourcesContent":["import { ITaskResponseDoneResultOutput, TaskResponseStatus } from \"~/types\";\nimport { IResponseBaseResult } from \"./ResponseBaseResult\";\n\nexport interface IResponseDoneParams<\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> {\n tenant?: string;\n locale?: string;\n webinyTaskId?: string;\n message?: string;\n output?: O;\n}\n\nexport interface IResponseDoneResult<\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> extends IResponseBaseResult {\n message?: string;\n output?: O;\n status: TaskResponseStatus.DONE;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["ResponseErrorResult.ts"],"sourcesContent":["import { TaskResponseStatus } from \"~/types\";\nimport { IResponseBaseResult } from \"./ResponseBaseResult\";\n\nexport interface IResponseError {\n message: string;\n code?: string;\n data?: Record<string, any>;\n stack?: string;\n}\n\nexport interface IResponseErrorParams {\n error: IResponseError | Error;\n tenant?: string;\n locale?: string;\n webinyTaskId?: string;\n}\n\nexport interface IResponseErrorResult extends IResponseBaseResult {\n error: IResponseError;\n status: TaskResponseStatus.ERROR;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["ResponseErrorResult.ts"],"sourcesContent":["import { TaskResponseStatus } from \"~/types\";\nimport { IResponseBaseResult } from \"./ResponseBaseResult\";\n\nexport interface IResponseError {\n message: string;\n code?: string;\n data?: Record<string, any>;\n stack?: string;\n}\n\nexport interface IResponseErrorParams {\n error: IResponseError | Error;\n tenant?: string;\n locale?: string;\n webinyTaskId?: string;\n}\n\nexport interface IResponseErrorResult extends IResponseBaseResult {\n error: IResponseError;\n status: TaskResponseStatus.ERROR;\n}\n"],"mappings":"","ignoreList":[]}
@@ -3,7 +3,7 @@ import { IResponseError } from "./ResponseErrorResult";
3
3
  export declare type ITaskResponseResult<I = ITaskDataInput, O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput> = ITaskResponseDoneResult<O> | ITaskResponseContinueResult<I> | ITaskResponseErrorResult | ITaskResponseAbortedResult;
4
4
  export interface ITaskResponseDoneResultOutput {
5
5
  error?: IResponseError;
6
- [key: string]: string | string[] | number | boolean | undefined | Record<string, string | number> | IResponseError;
6
+ [key: string]: string | string[] | number | boolean | undefined | Record<string, any> | IResponseError;
7
7
  }
8
8
  export interface ITaskResponseDoneResult<O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput> {
9
9
  message?: string;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["TaskResponse.ts"],"sourcesContent":["import { ITaskDataInput, TaskResponseStatus } from \"~/types\";\nimport { IResponseError } from \"./ResponseErrorResult\";\n\nexport type ITaskResponseResult<\n I = ITaskDataInput,\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> =\n | ITaskResponseDoneResult<O>\n | ITaskResponseContinueResult<I>\n | ITaskResponseErrorResult\n | ITaskResponseAbortedResult;\n\nexport interface ITaskResponseDoneResultOutput {\n error?: IResponseError;\n [key: string]:\n | string\n | string[]\n | number\n | boolean\n | undefined\n | Record<string, string | number>\n | IResponseError;\n}\nexport interface ITaskResponseDoneResult<\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> {\n message?: string;\n output?: O;\n status: TaskResponseStatus.DONE;\n}\n\nexport interface ITaskResponseContinueResult<T = ITaskDataInput> {\n input: T;\n wait?: number;\n status: TaskResponseStatus.CONTINUE;\n}\n\nexport interface ITaskResponseErrorResult {\n error: IResponseError;\n status: TaskResponseStatus.ERROR;\n}\n\nexport interface ITaskResponseAbortedResult {\n status: TaskResponseStatus.ABORTED;\n}\n\nexport interface ITaskResponseContinueOptionsUntil {\n date: Date;\n}\nexport interface ITaskResponseContinueOptionsSeconds {\n seconds: number;\n}\n\nexport type ITaskResponseContinueOptions =\n | ITaskResponseContinueOptionsUntil\n | ITaskResponseContinueOptionsSeconds;\n\nexport interface ITaskResponseDoneCallable<\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> {\n (output?: O): ITaskResponseDoneResult<O>;\n (message?: string, output?: O): ITaskResponseDoneResult<O>;\n}\n\nexport interface ITaskResponse<\n T = ITaskDataInput,\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> {\n done: ITaskResponseDoneCallable<O>;\n continue: (data: T, options?: ITaskResponseContinueOptions) => ITaskResponseContinueResult<T>;\n error: (error: IResponseError | Error | string) => ITaskResponseErrorResult;\n aborted: () => ITaskResponseAbortedResult;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["TaskResponse.ts"],"sourcesContent":["import { ITaskDataInput, TaskResponseStatus } from \"~/types\";\nimport { IResponseError } from \"./ResponseErrorResult\";\n\nexport type ITaskResponseResult<\n I = ITaskDataInput,\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> =\n | ITaskResponseDoneResult<O>\n | ITaskResponseContinueResult<I>\n | ITaskResponseErrorResult\n | ITaskResponseAbortedResult;\n\nexport interface ITaskResponseDoneResultOutput {\n error?: IResponseError;\n [key: string]:\n | string\n | string[]\n | number\n | boolean\n | undefined\n | Record<string, any>\n | IResponseError;\n}\nexport interface ITaskResponseDoneResult<\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> {\n message?: string;\n output?: O;\n status: TaskResponseStatus.DONE;\n}\n\nexport interface ITaskResponseContinueResult<T = ITaskDataInput> {\n input: T;\n wait?: number;\n status: TaskResponseStatus.CONTINUE;\n}\n\nexport interface ITaskResponseErrorResult {\n error: IResponseError;\n status: TaskResponseStatus.ERROR;\n}\n\nexport interface ITaskResponseAbortedResult {\n status: TaskResponseStatus.ABORTED;\n}\n\nexport interface ITaskResponseContinueOptionsUntil {\n date: Date;\n}\nexport interface ITaskResponseContinueOptionsSeconds {\n seconds: number;\n}\n\nexport type ITaskResponseContinueOptions =\n | ITaskResponseContinueOptionsUntil\n | ITaskResponseContinueOptionsSeconds;\n\nexport interface ITaskResponseDoneCallable<\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> {\n (output?: O): ITaskResponseDoneResult<O>;\n (message?: string, output?: O): ITaskResponseDoneResult<O>;\n}\n\nexport interface ITaskResponse<\n T = ITaskDataInput,\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> {\n done: ITaskResponseDoneCallable<O>;\n continue: (data: T, options?: ITaskResponseContinueOptions) => ITaskResponseContinueResult<T>;\n error: (error: IResponseError | Error | string) => ITaskResponseErrorResult;\n aborted: () => ITaskResponseAbortedResult;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_Response","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ResponseContinueResult","_ResponseDoneResult","_ResponseErrorResult","_ResponseAbortedResult","_ResponseBaseResult","_TaskResponse"],"sources":["index.ts"],"sourcesContent":["export * from \"./Response\";\nexport * from \"./ResponseContinueResult\";\nexport * from \"./ResponseDoneResult\";\nexport * from \"./ResponseErrorResult\";\nexport * from \"./ResponseAbortedResult\";\nexport * from \"./ResponseBaseResult\";\nexport * from \"./TaskResponse\";\n"],"mappings":"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"}
1
+ {"version":3,"names":["_Response","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_ResponseContinueResult","_ResponseDoneResult","_ResponseErrorResult","_ResponseAbortedResult","_ResponseBaseResult","_TaskResponse"],"sources":["index.ts"],"sourcesContent":["export * from \"./Response\";\nexport * from \"./ResponseContinueResult\";\nexport * from \"./ResponseDoneResult\";\nexport * from \"./ResponseErrorResult\";\nexport * from \"./ResponseAbortedResult\";\nexport * from \"./ResponseBaseResult\";\nexport * from \"./TaskResponse\";\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,uBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,uBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,uBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,uBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,mBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,mBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,mBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,mBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,oBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,oBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,oBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,oBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,sBAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,sBAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,sBAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,sBAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,mBAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,mBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,mBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,mBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,aAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,aAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAU,aAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAM,aAAA,CAAAV,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_DatabaseResponse","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Response","_ResponseContinueResult","_ResponseDoneResult","_ResponseAbortedResult","_ResponseErrorResult","_TaskResponse"],"sources":["index.ts"],"sourcesContent":["export * from \"./DatabaseResponse\";\nexport * from \"./Response\";\nexport * from \"./ResponseContinueResult\";\nexport * from \"./ResponseDoneResult\";\nexport * from \"./ResponseAbortedResult\";\nexport * from \"./ResponseErrorResult\";\nexport * from \"./TaskResponse\";\n"],"mappings":";;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,SAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,SAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,SAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,SAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,uBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,uBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,uBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,uBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,mBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,mBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,mBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,mBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,sBAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,sBAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,sBAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,sBAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,oBAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,oBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,oBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,oBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,aAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,aAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAU,aAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAM,aAAA,CAAAV,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_DatabaseResponse","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Response","_ResponseContinueResult","_ResponseDoneResult","_ResponseAbortedResult","_ResponseErrorResult","_TaskResponse"],"sources":["index.ts"],"sourcesContent":["export * from \"./DatabaseResponse\";\nexport * from \"./Response\";\nexport * from \"./ResponseContinueResult\";\nexport * from \"./ResponseDoneResult\";\nexport * from \"./ResponseAbortedResult\";\nexport * from \"./ResponseErrorResult\";\nexport * from \"./TaskResponse\";\n"],"mappings":"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","ignoreList":[]}
@@ -176,7 +176,6 @@ class TaskControl {
176
176
  * Otherwise just continue and create a new log.
177
177
  */
178
178
  }
179
-
180
179
  const currentIteration = taskLog?.iteration || 0;
181
180
  try {
182
181
  return await this.context.tasks.createLog(task, {
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_TaskManager","_response","_TaskManagerStore","_handlerGraphql","_getErrorProperties","TaskControl","constructor","runner","response","context","run","event","taskId","webinyTaskId","task","getTask","error","taskLog","getTaskLog","taskStatus","TaskDataStatus","ABORTED","aborted","SUCCESS","message","FAILED","taskResponse","TaskResponse","store","TaskManagerStore","manager","TaskManager","databaseResponse","DatabaseResponse","definition","tasks","getDefinition","definitionId","id","code","data","result","runEvents","from","ex","stack","input","status","TaskResponseStatus","ERROR","onError","console","log","getErrorProperties","DONE","onDone","getLatestLog","NotFoundError","currentIteration","iteration","createLog","executionName","exports"],"sources":["TaskControl.ts"],"sourcesContent":["import { ITaskEvent } from \"~/handler/types\";\nimport {\n Context,\n ITask,\n ITaskDataInput,\n ITaskDefinition,\n ITaskLog,\n TaskDataStatus,\n TaskResponseStatus\n} from \"~/types\";\nimport { ITaskControl, ITaskRunner } from \"./abstractions\";\nimport { TaskManager } from \"./TaskManager\";\nimport { IResponse, IResponseResult } from \"~/response/abstractions\";\nimport { DatabaseResponse, TaskResponse } from \"~/response\";\nimport { TaskManagerStore } from \"./TaskManagerStore\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { getErrorProperties } from \"~/utils/getErrorProperties\";\n\nexport class TaskControl implements ITaskControl {\n public readonly runner: ITaskRunner;\n public readonly response: IResponse;\n public readonly context: Context;\n\n public constructor(runner: ITaskRunner, response: IResponse, context: Context) {\n this.runner = runner;\n this.context = context;\n this.response = response;\n }\n\n public async run(event: Pick<ITaskEvent, \"webinyTaskId\">): Promise<IResponseResult> {\n const taskId = event.webinyTaskId;\n /**\n * This is the initial getTask idea.\n * We will need to take care of child tasks:\n * * child tasks can be in multiple levels (child task creates a child task, etc...).\n * * child tasks could be executed in parallel.\n */\n let task: ITask<ITaskDataInput>;\n try {\n task = await this.getTask(taskId);\n } catch (error) {\n return this.response.error({\n error\n });\n }\n /**\n * As this as a run of the task, we need to create a new log entry.\n */\n\n let taskLog: ITaskLog;\n try {\n taskLog = await this.getTaskLog(task);\n } catch (error) {\n return this.response.error({\n error\n });\n }\n /**\n * Make sure that task does not run if it is aborted.\n * This will effectively end the Step Function execution with a \"success\" status.\n */\n if (task.taskStatus === TaskDataStatus.ABORTED) {\n return this.response.aborted();\n }\n /**\n * Do not run if already a success (done).\n */\n //\n else if (task.taskStatus === TaskDataStatus.SUCCESS) {\n return this.response.error({\n error: {\n message: \"Task is already done, cannot run it again.\"\n }\n });\n }\n /**\n * Do not run if already failed.\n */\n //\n else if (task.taskStatus === TaskDataStatus.FAILED) {\n return this.response.error({\n error: {\n message: \"Task has failed, cannot run it again.\"\n }\n });\n }\n const taskResponse = new TaskResponse(this.response);\n const store = new TaskManagerStore(this.context, task, taskLog);\n\n const manager = new TaskManager(\n this.runner,\n this.context,\n this.response,\n taskResponse,\n store\n );\n\n const databaseResponse = new DatabaseResponse(this.response, store);\n\n const definition = this.context.tasks.getDefinition(task.definitionId);\n if (!definition) {\n return await databaseResponse.error({\n error: {\n message: `Task \"${task.id}\" cannot be executed because there is no \"${task.definitionId}\" definition plugin.`,\n code: \"TASK_DEFINITION_ERROR\",\n data: {\n definitionId: task.definitionId\n }\n }\n });\n }\n\n try {\n const result = await manager.run(definition);\n\n await this.runEvents(result, definition, task);\n\n return await databaseResponse.from(result);\n } catch (ex) {\n /**\n * We always want to store the error in the task log.\n */\n return await databaseResponse.from(\n this.response.error({\n error: {\n message: ex.message,\n code: ex.code || \"TASK_ERROR\",\n stack: ex.stack,\n data: {\n ...ex.data,\n input: task.input\n }\n }\n })\n );\n }\n }\n\n private async runEvents(\n result: IResponseResult,\n definition: ITaskDefinition,\n task: ITask\n ): Promise<void> {\n if (result.status === TaskResponseStatus.ERROR && definition.onError) {\n try {\n await definition.onError({\n task,\n context: this.context\n });\n } catch (ex) {\n console.error(`Error executing onError hook for task \"${task.id}\".`);\n console.log(getErrorProperties(ex));\n }\n } else if (result.status === TaskResponseStatus.DONE && definition.onDone) {\n try {\n await definition.onDone({\n task,\n context: this.context\n });\n } catch (ex) {\n console.error(`Error executing onDone hook for task \"${task.id}\".`);\n console.log(getErrorProperties(ex));\n }\n }\n }\n\n private async getTask<T = any>(id: string): Promise<ITask<T>> {\n try {\n const task = await this.runner.context.tasks.getTask<T>(id);\n if (task) {\n return task;\n }\n } catch (ex) {\n throw this.response.error({\n error: {\n message: ex.message,\n code: ex.code || \"TASK_ERROR\",\n stack: ex.stack,\n data: ex.data\n }\n });\n }\n throw this.response.error({\n error: {\n message: `Task \"${id}\" cannot be executed because it does not exist.`,\n code: \"TASK_NOT_FOUND\"\n }\n });\n }\n\n private async getTaskLog(task: ITask): Promise<ITaskLog> {\n let taskLog: ITaskLog | null = null;\n /**\n * First we are trying to get existing latest log.\n */\n try {\n taskLog = await this.context.tasks.getLatestLog(task.id);\n } catch (error) {\n /**\n * If error is not the NotFoundError, we need to throw it.\n */\n if (error instanceof NotFoundError === false) {\n throw this.response.error({\n error\n });\n }\n /**\n * Otherwise just continue and create a new log.\n */\n }\n\n const currentIteration = taskLog?.iteration || 0;\n\n try {\n return await this.context.tasks.createLog(task, {\n executionName: this.response.event.executionName,\n iteration: currentIteration + 1\n });\n } catch (error) {\n throw this.response.error({\n error\n });\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_types","require","_TaskManager","_response","_TaskManagerStore","_handlerGraphql","_getErrorProperties","TaskControl","constructor","runner","response","context","run","event","taskId","webinyTaskId","task","getTask","error","taskLog","getTaskLog","taskStatus","TaskDataStatus","ABORTED","aborted","SUCCESS","message","FAILED","taskResponse","TaskResponse","store","TaskManagerStore","manager","TaskManager","databaseResponse","DatabaseResponse","definition","tasks","getDefinition","definitionId","id","code","data","result","runEvents","from","ex","stack","input","status","TaskResponseStatus","ERROR","onError","console","log","getErrorProperties","DONE","onDone","getLatestLog","NotFoundError","currentIteration","iteration","createLog","executionName","exports"],"sources":["TaskControl.ts"],"sourcesContent":["import { ITaskEvent } from \"~/handler/types\";\nimport {\n Context,\n ITask,\n ITaskDataInput,\n ITaskDefinition,\n ITaskLog,\n TaskDataStatus,\n TaskResponseStatus\n} from \"~/types\";\nimport { ITaskControl, ITaskRunner } from \"./abstractions\";\nimport { TaskManager } from \"./TaskManager\";\nimport { IResponse, IResponseResult } from \"~/response/abstractions\";\nimport { DatabaseResponse, TaskResponse } from \"~/response\";\nimport { TaskManagerStore } from \"./TaskManagerStore\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { getErrorProperties } from \"~/utils/getErrorProperties\";\n\nexport class TaskControl implements ITaskControl {\n public readonly runner: ITaskRunner;\n public readonly response: IResponse;\n public readonly context: Context;\n\n public constructor(runner: ITaskRunner, response: IResponse, context: Context) {\n this.runner = runner;\n this.context = context;\n this.response = response;\n }\n\n public async run(event: Pick<ITaskEvent, \"webinyTaskId\">): Promise<IResponseResult> {\n const taskId = event.webinyTaskId;\n /**\n * This is the initial getTask idea.\n * We will need to take care of child tasks:\n * * child tasks can be in multiple levels (child task creates a child task, etc...).\n * * child tasks could be executed in parallel.\n */\n let task: ITask<ITaskDataInput>;\n try {\n task = await this.getTask(taskId);\n } catch (error) {\n return this.response.error({\n error\n });\n }\n /**\n * As this as a run of the task, we need to create a new log entry.\n */\n\n let taskLog: ITaskLog;\n try {\n taskLog = await this.getTaskLog(task);\n } catch (error) {\n return this.response.error({\n error\n });\n }\n /**\n * Make sure that task does not run if it is aborted.\n * This will effectively end the Step Function execution with a \"success\" status.\n */\n if (task.taskStatus === TaskDataStatus.ABORTED) {\n return this.response.aborted();\n }\n /**\n * Do not run if already a success (done).\n */\n //\n else if (task.taskStatus === TaskDataStatus.SUCCESS) {\n return this.response.error({\n error: {\n message: \"Task is already done, cannot run it again.\"\n }\n });\n }\n /**\n * Do not run if already failed.\n */\n //\n else if (task.taskStatus === TaskDataStatus.FAILED) {\n return this.response.error({\n error: {\n message: \"Task has failed, cannot run it again.\"\n }\n });\n }\n const taskResponse = new TaskResponse(this.response);\n const store = new TaskManagerStore(this.context, task, taskLog);\n\n const manager = new TaskManager(\n this.runner,\n this.context,\n this.response,\n taskResponse,\n store\n );\n\n const databaseResponse = new DatabaseResponse(this.response, store);\n\n const definition = this.context.tasks.getDefinition(task.definitionId);\n if (!definition) {\n return await databaseResponse.error({\n error: {\n message: `Task \"${task.id}\" cannot be executed because there is no \"${task.definitionId}\" definition plugin.`,\n code: \"TASK_DEFINITION_ERROR\",\n data: {\n definitionId: task.definitionId\n }\n }\n });\n }\n\n try {\n const result = await manager.run(definition);\n\n await this.runEvents(result, definition, task);\n\n return await databaseResponse.from(result);\n } catch (ex) {\n /**\n * We always want to store the error in the task log.\n */\n return await databaseResponse.from(\n this.response.error({\n error: {\n message: ex.message,\n code: ex.code || \"TASK_ERROR\",\n stack: ex.stack,\n data: {\n ...ex.data,\n input: task.input\n }\n }\n })\n );\n }\n }\n\n private async runEvents(\n result: IResponseResult,\n definition: ITaskDefinition,\n task: ITask\n ): Promise<void> {\n if (result.status === TaskResponseStatus.ERROR && definition.onError) {\n try {\n await definition.onError({\n task,\n context: this.context\n });\n } catch (ex) {\n console.error(`Error executing onError hook for task \"${task.id}\".`);\n console.log(getErrorProperties(ex));\n }\n } else if (result.status === TaskResponseStatus.DONE && definition.onDone) {\n try {\n await definition.onDone({\n task,\n context: this.context\n });\n } catch (ex) {\n console.error(`Error executing onDone hook for task \"${task.id}\".`);\n console.log(getErrorProperties(ex));\n }\n }\n }\n\n private async getTask<T = any>(id: string): Promise<ITask<T>> {\n try {\n const task = await this.runner.context.tasks.getTask<T>(id);\n if (task) {\n return task;\n }\n } catch (ex) {\n throw this.response.error({\n error: {\n message: ex.message,\n code: ex.code || \"TASK_ERROR\",\n stack: ex.stack,\n data: ex.data\n }\n });\n }\n throw this.response.error({\n error: {\n message: `Task \"${id}\" cannot be executed because it does not exist.`,\n code: \"TASK_NOT_FOUND\"\n }\n });\n }\n\n private async getTaskLog(task: ITask): Promise<ITaskLog> {\n let taskLog: ITaskLog | null = null;\n /**\n * First we are trying to get existing latest log.\n */\n try {\n taskLog = await this.context.tasks.getLatestLog(task.id);\n } catch (error) {\n /**\n * If error is not the NotFoundError, we need to throw it.\n */\n if (error instanceof NotFoundError === false) {\n throw this.response.error({\n error\n });\n }\n /**\n * Otherwise just continue and create a new log.\n */\n }\n\n const currentIteration = taskLog?.iteration || 0;\n\n try {\n return await this.context.tasks.createLog(task, {\n executionName: this.response.event.executionName,\n iteration: currentIteration + 1\n });\n } catch (error) {\n throw this.response.error({\n error\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_zod","_interopRequireDefault","require","_utils","validation","zod","object","webinyTaskId","string","webinyTaskDefinitionId","endpoint","tenant","locale","executionName","stateMachineId","required","TaskEventValidation","validate","event","result","safeParse","success","data","createZodError","error","exports"],"sources":["TaskEventValidation.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createZodError } from \"@webiny/utils\";\nimport { ITaskEventValidation, ITaskEventValidationResult } from \"./abstractions\";\nimport { ITaskEvent } from \"~/handler/types\";\n\nconst validation = zod\n .object({\n webinyTaskId: zod.string(),\n webinyTaskDefinitionId: zod.string(),\n endpoint: zod.string(),\n tenant: zod.string(),\n locale: zod.string(),\n executionName: zod.string(),\n stateMachineId: zod.string()\n })\n .required();\n\nexport class TaskEventValidation implements ITaskEventValidation {\n public validate(event: Partial<ITaskEvent>): ITaskEventValidationResult {\n const result = validation.safeParse(event);\n if (result.success) {\n return result.data;\n }\n throw createZodError(result.error);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAIA,MAAME,UAAU,GAAGC,YAAG,CACjBC,MAAM,CAAC;EACJC,YAAY,EAAEF,YAAG,CAACG,MAAM,CAAC,CAAC;EAC1BC,sBAAsB,EAAEJ,YAAG,CAACG,MAAM,CAAC,CAAC;EACpCE,QAAQ,EAAEL,YAAG,CAACG,MAAM,CAAC,CAAC;EACtBG,MAAM,EAAEN,YAAG,CAACG,MAAM,CAAC,CAAC;EACpBI,MAAM,EAAEP,YAAG,CAACG,MAAM,CAAC,CAAC;EACpBK,aAAa,EAAER,YAAG,CAACG,MAAM,CAAC,CAAC;EAC3BM,cAAc,EAAET,YAAG,CAACG,MAAM,CAAC;AAC/B,CAAC,CAAC,CACDO,QAAQ,CAAC,CAAC;AAER,MAAMC,mBAAmB,CAAiC;EACtDC,QAAQA,CAACC,KAA0B,EAA8B;IACpE,MAAMC,MAAM,GAAGf,UAAU,CAACgB,SAAS,CAACF,KAAK,CAAC;IAC1C,IAAIC,MAAM,CAACE,OAAO,EAAE;MAChB,OAAOF,MAAM,CAACG,IAAI;IACtB;IACA,MAAM,IAAAC,qBAAc,EAACJ,MAAM,CAACK,KAAK,CAAC;EACtC;AACJ;AAACC,OAAA,CAAAT,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"names":["_zod","_interopRequireDefault","require","_utils","validation","zod","object","webinyTaskId","string","webinyTaskDefinitionId","endpoint","tenant","locale","executionName","stateMachineId","required","TaskEventValidation","validate","event","result","safeParse","success","data","createZodError","error","exports"],"sources":["TaskEventValidation.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createZodError } from \"@webiny/utils\";\nimport { ITaskEventValidation, ITaskEventValidationResult } from \"./abstractions\";\nimport { ITaskEvent } from \"~/handler/types\";\n\nconst validation = zod\n .object({\n webinyTaskId: zod.string(),\n webinyTaskDefinitionId: zod.string(),\n endpoint: zod.string(),\n tenant: zod.string(),\n locale: zod.string(),\n executionName: zod.string(),\n stateMachineId: zod.string()\n })\n .required();\n\nexport class TaskEventValidation implements ITaskEventValidation {\n public validate(event: Partial<ITaskEvent>): ITaskEventValidationResult {\n const result = validation.safeParse(event);\n if (result.success) {\n return result.data;\n }\n throw createZodError(result.error);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAIA,MAAME,UAAU,GAAGC,YAAG,CACjBC,MAAM,CAAC;EACJC,YAAY,EAAEF,YAAG,CAACG,MAAM,CAAC,CAAC;EAC1BC,sBAAsB,EAAEJ,YAAG,CAACG,MAAM,CAAC,CAAC;EACpCE,QAAQ,EAAEL,YAAG,CAACG,MAAM,CAAC,CAAC;EACtBG,MAAM,EAAEN,YAAG,CAACG,MAAM,CAAC,CAAC;EACpBI,MAAM,EAAEP,YAAG,CAACG,MAAM,CAAC,CAAC;EACpBK,aAAa,EAAER,YAAG,CAACG,MAAM,CAAC,CAAC;EAC3BM,cAAc,EAAET,YAAG,CAACG,MAAM,CAAC;AAC/B,CAAC,CAAC,CACDO,QAAQ,CAAC,CAAC;AAER,MAAMC,mBAAmB,CAAiC;EACtDC,QAAQA,CAACC,KAA0B,EAA8B;IACpE,MAAMC,MAAM,GAAGf,UAAU,CAACgB,SAAS,CAACF,KAAK,CAAC;IAC1C,IAAIC,MAAM,CAACE,OAAO,EAAE;MAChB,OAAOF,MAAM,CAACG,IAAI;IACtB;IACA,MAAM,IAAAC,qBAAc,EAACJ,MAAM,CAACK,KAAK,CAAC;EACtC;AACJ;AAACC,OAAA,CAAAT,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_getErrorProperties","TaskManager","constructor","runner","context","response","taskResponse","store","run","definition","getStatus","TaskDataStatus","ABORTED","aborted","PENDING","updateTask","taskStatus","RUNNING","startedOn","Date","toISOString","executionName","event","iterations","save","error","getTask","maxIterations","onMaxIterations","task","message","ex","data","getErrorProperties","result","input","structuredClone","getInput","security","withoutAuthorization","isCloseToTimeout","seconds","isAborted","trigger","params","tasks","parent","status","TaskResponseStatus","CONTINUE","continue","wait","ERROR","done","output","exports"],"sources":["TaskManager.ts"],"sourcesContent":["import { ITaskManager, ITaskManagerStorePrivate, ITaskRunner } from \"./abstractions\";\nimport {\n Context,\n ITask,\n ITaskDataInput,\n ITaskDefinition,\n ITaskTriggerParams,\n TaskDataStatus,\n TaskResponseStatus\n} from \"~/types\";\nimport {\n IResponse,\n IResponseResult,\n ITaskResponse,\n ITaskResponseResult\n} from \"~/response/abstractions\";\nimport { getErrorProperties } from \"~/utils/getErrorProperties\";\n\nexport class TaskManager<T = ITaskDataInput> implements ITaskManager<T> {\n private readonly runner: Pick<ITaskRunner, \"isCloseToTimeout\">;\n private readonly context: Context;\n private readonly response: IResponse;\n private readonly taskResponse: ITaskResponse;\n private readonly store: ITaskManagerStorePrivate;\n\n public constructor(\n runner: Pick<ITaskRunner, \"isCloseToTimeout\">,\n context: Context,\n response: IResponse,\n taskResponse: ITaskResponse,\n store: ITaskManagerStorePrivate\n ) {\n this.runner = runner;\n this.context = context;\n this.response = response;\n this.taskResponse = taskResponse;\n this.store = store;\n }\n\n public async run(definition: ITaskDefinition): Promise<IResponseResult> {\n /**\n * If task was aborted, do not run it again, return as it was done.\n */\n if (this.store.getStatus() === TaskDataStatus.ABORTED) {\n return this.response.aborted();\n }\n /**\n * If the task status is pending, update it to running and add a log.\n */\n //\n else if (this.store.getStatus() === TaskDataStatus.PENDING) {\n try {\n await this.store.updateTask({\n taskStatus: TaskDataStatus.RUNNING,\n startedOn: new Date().toISOString(),\n executionName: this.response.event.executionName,\n iterations: 1\n });\n await this.store.save();\n } catch (error) {\n return this.response.error({\n error\n });\n }\n }\n /**\n * We do not want to run the task indefinitely.\n * If the task has reached the max iterations, we will stop it and execute the onMaxIterations handler, if any.\n */\n //\n else if (this.store.getTask().iterations >= definition.maxIterations) {\n try {\n if (definition.onMaxIterations) {\n await definition.onMaxIterations({\n task: this.store.getTask(),\n context: this.context\n });\n }\n return this.response.error({\n error: {\n message: \"Task reached max iterations.\"\n }\n });\n } catch (ex) {\n return this.response.error({\n error: {\n message: \"Failed to execute onMaxIterations handler.\",\n data: getErrorProperties(ex)\n }\n });\n }\n }\n /**\n * Always update the task iteration.\n */\n //\n else {\n try {\n await this.store.updateTask(task => {\n return {\n iterations: task.iterations + 1\n };\n });\n } catch (error) {\n return this.response.error({\n error\n });\n }\n }\n\n let result: ITaskResponseResult;\n\n try {\n const input = structuredClone(this.store.getInput());\n /**\n * We always run the task without authorization because we are running a task without a user - nothing to authorize against.\n */\n result = await this.context.security.withoutAuthorization(async () => {\n return await definition.run({\n input,\n context: this.context,\n response: this.taskResponse,\n isCloseToTimeout: (seconds?: number) => {\n return this.runner.isCloseToTimeout(seconds);\n },\n isAborted: () => {\n return this.store.getStatus() === TaskDataStatus.ABORTED;\n },\n store: this.store,\n trigger: async <I = ITaskDataInput>(\n params: Omit<ITaskTriggerParams<I>, \"parent\">\n ): Promise<ITask<I>> => {\n return this.context.tasks.trigger({\n ...params,\n parent: this.store.getTask()\n });\n }\n });\n });\n } catch (ex) {\n return this.response.error({\n error: getErrorProperties(ex)\n });\n }\n\n if (result.status === TaskResponseStatus.CONTINUE) {\n return this.response.continue({\n input: result.input,\n wait: result.wait\n });\n } else if (result.status === TaskResponseStatus.ERROR) {\n return this.response.error({\n error: result.error\n });\n } else if (result.status === TaskResponseStatus.ABORTED) {\n return this.response.aborted();\n }\n return this.response.done({\n message: result.message,\n output: result.output\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_types","require","_getErrorProperties","TaskManager","constructor","runner","context","response","taskResponse","store","run","definition","getStatus","TaskDataStatus","ABORTED","aborted","PENDING","updateTask","taskStatus","RUNNING","startedOn","Date","toISOString","executionName","event","iterations","save","error","getTask","maxIterations","onMaxIterations","task","message","ex","data","getErrorProperties","result","input","structuredClone","getInput","security","withoutAuthorization","isCloseToTimeout","seconds","isAborted","trigger","params","tasks","parent","status","TaskResponseStatus","CONTINUE","continue","wait","ERROR","done","output","exports"],"sources":["TaskManager.ts"],"sourcesContent":["import { ITaskManager, ITaskManagerStorePrivate, ITaskRunner } from \"./abstractions\";\nimport {\n Context,\n ITask,\n ITaskDataInput,\n ITaskDefinition,\n ITaskTriggerParams,\n TaskDataStatus,\n TaskResponseStatus\n} from \"~/types\";\nimport {\n IResponse,\n IResponseResult,\n ITaskResponse,\n ITaskResponseResult\n} from \"~/response/abstractions\";\nimport { getErrorProperties } from \"~/utils/getErrorProperties\";\n\nexport class TaskManager<T = ITaskDataInput> implements ITaskManager<T> {\n private readonly runner: Pick<ITaskRunner, \"isCloseToTimeout\">;\n private readonly context: Context;\n private readonly response: IResponse;\n private readonly taskResponse: ITaskResponse;\n private readonly store: ITaskManagerStorePrivate;\n\n public constructor(\n runner: Pick<ITaskRunner, \"isCloseToTimeout\">,\n context: Context,\n response: IResponse,\n taskResponse: ITaskResponse,\n store: ITaskManagerStorePrivate\n ) {\n this.runner = runner;\n this.context = context;\n this.response = response;\n this.taskResponse = taskResponse;\n this.store = store;\n }\n\n public async run(definition: ITaskDefinition): Promise<IResponseResult> {\n /**\n * If task was aborted, do not run it again, return as it was done.\n */\n if (this.store.getStatus() === TaskDataStatus.ABORTED) {\n return this.response.aborted();\n }\n /**\n * If the task status is pending, update it to running and add a log.\n */\n //\n else if (this.store.getStatus() === TaskDataStatus.PENDING) {\n try {\n await this.store.updateTask({\n taskStatus: TaskDataStatus.RUNNING,\n startedOn: new Date().toISOString(),\n executionName: this.response.event.executionName,\n iterations: 1\n });\n await this.store.save();\n } catch (error) {\n return this.response.error({\n error\n });\n }\n }\n /**\n * We do not want to run the task indefinitely.\n * If the task has reached the max iterations, we will stop it and execute the onMaxIterations handler, if any.\n */\n //\n else if (this.store.getTask().iterations >= definition.maxIterations) {\n try {\n if (definition.onMaxIterations) {\n await definition.onMaxIterations({\n task: this.store.getTask(),\n context: this.context\n });\n }\n return this.response.error({\n error: {\n message: \"Task reached max iterations.\"\n }\n });\n } catch (ex) {\n return this.response.error({\n error: {\n message: \"Failed to execute onMaxIterations handler.\",\n data: getErrorProperties(ex)\n }\n });\n }\n }\n /**\n * Always update the task iteration.\n */\n //\n else {\n try {\n await this.store.updateTask(task => {\n return {\n iterations: task.iterations + 1\n };\n });\n } catch (error) {\n return this.response.error({\n error\n });\n }\n }\n\n let result: ITaskResponseResult;\n\n try {\n const input = structuredClone(this.store.getInput());\n /**\n * We always run the task without authorization because we are running a task without a user - nothing to authorize against.\n */\n result = await this.context.security.withoutAuthorization(async () => {\n return await definition.run({\n input,\n context: this.context,\n response: this.taskResponse,\n isCloseToTimeout: (seconds?: number) => {\n return this.runner.isCloseToTimeout(seconds);\n },\n isAborted: () => {\n return this.store.getStatus() === TaskDataStatus.ABORTED;\n },\n store: this.store,\n trigger: async <I = ITaskDataInput>(\n params: Omit<ITaskTriggerParams<I>, \"parent\">\n ): Promise<ITask<I>> => {\n return this.context.tasks.trigger({\n ...params,\n parent: this.store.getTask()\n });\n }\n });\n });\n } catch (ex) {\n return this.response.error({\n error: getErrorProperties(ex)\n });\n }\n\n if (result.status === TaskResponseStatus.CONTINUE) {\n return this.response.continue({\n input: result.input,\n wait: result.wait\n });\n } else if (result.status === TaskResponseStatus.ERROR) {\n return this.response.error({\n error: result.error\n });\n } else if (result.status === TaskResponseStatus.ABORTED) {\n return this.response.aborted();\n }\n return this.response.done({\n message: result.message,\n output: result.output\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,9 @@ var _getObjectProperties = require("../utils/getObjectProperties");
11
11
  var _ObjectUpdater = require("../utils/ObjectUpdater");
12
12
  /**
13
13
  * Package deep-equal does not have types.
14
- */ // @ts-expect-error
14
+ */
15
+ // @ts-expect-error
16
+
15
17
  const getInput = (originalInput, input) => {
16
18
  if (typeof input === "function") {
17
19
  return input(originalInput);
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_deepEqual","_interopRequireDefault","_getObjectProperties","_ObjectUpdater","getInput","originalInput","input","TaskManagerStore","taskUpdater","ObjectUpdater","taskLogUpdater","constructor","context","task","log","taskLog","getStatus","taskStatus","getTask","updateTask","param","options","data","deepEqual","update","save","updateInput","updateOutput","values","output","getOutput","addInfoLog","items","message","type","ITaskLogItemType","INFO","createdOn","Date","toISOString","addErrorLog","error","Error","getObjectProperties","ERROR","isDirty","tasks","id","fetch","updateLog","exports"],"sources":["TaskManagerStore.ts"],"sourcesContent":["import {\n ITask,\n ITaskDataInput,\n ITaskLog,\n ITaskLogItemType,\n ITaskManagerStoreInfoLog,\n ITaskManagerStorePrivate,\n ITaskManagerStoreSetOutputOptions,\n ITaskManagerStoreUpdateTaskInputOptions,\n ITaskManagerStoreUpdateTaskOptions,\n ITaskResponseDoneResultOutput,\n ITasksContextObject,\n TaskDataStatus\n} from \"~/types\";\nimport {\n ITaskManagerStoreAddLogOptions,\n ITaskManagerStoreErrorLog,\n ITaskManagerStoreUpdateTaskInputParam,\n ITaskManagerStoreUpdateTaskParams\n} from \"./abstractions\";\n/**\n * Package deep-equal does not have types.\n */\n// @ts-expect-error\nimport deepEqual from \"deep-equal\";\nimport { getObjectProperties } from \"~/utils/getObjectProperties\";\nimport { ObjectUpdater } from \"~/utils/ObjectUpdater\";\n\nconst getInput = <T extends ITaskDataInput = ITaskDataInput>(\n originalInput: T,\n input: ITaskManagerStoreUpdateTaskInputParam<T>\n): T => {\n if (typeof input === \"function\") {\n return input(originalInput);\n }\n return {\n ...originalInput,\n ...input\n };\n};\n\nexport interface TaskManagerStoreContext {\n tasks: Pick<ITasksContextObject, \"updateTask\" | \"updateLog\">;\n}\n\nexport class TaskManagerStore<\n T extends ITaskDataInput = ITaskDataInput,\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> implements ITaskManagerStorePrivate<T, O>\n{\n private readonly context: TaskManagerStoreContext;\n private task: ITask<T, O>;\n private taskLog: ITaskLog;\n\n private readonly taskUpdater = new ObjectUpdater<ITask<T, O>>();\n private readonly taskLogUpdater = new ObjectUpdater<ITaskLog>();\n\n public constructor(context: TaskManagerStoreContext, task: ITask, log: ITaskLog) {\n this.context = context;\n this.task = task as ITask<T, O>;\n this.taskLog = log;\n }\n\n public getStatus(): TaskDataStatus {\n return this.task.taskStatus;\n }\n\n public getTask(): ITask<T, O> {\n return this.task as ITask<T, O>;\n }\n\n public async updateTask(\n param: ITaskManagerStoreUpdateTaskParams<T, O>,\n options?: ITaskManagerStoreUpdateTaskOptions\n ): Promise<void> {\n const data = typeof param === \"function\" ? param(this.task) : param;\n\n /**\n * No need to update if nothing changed.\n */\n if (deepEqual(data, this.task)) {\n return;\n }\n\n this.taskUpdater.update(data);\n\n if (options?.save === false) {\n return;\n }\n await this.save();\n }\n\n public async updateInput(\n param: ITaskManagerStoreUpdateTaskInputParam<T>,\n options?: ITaskManagerStoreUpdateTaskInputOptions\n ): Promise<void> {\n const input = getInput<T>(this.task.input, param);\n\n /**\n * No need to update if nothing changed.\n */\n if (deepEqual(input, this.task.input)) {\n return;\n }\n this.taskUpdater.update({\n input: input as T\n });\n if (options?.save === false) {\n return;\n }\n await this.save();\n }\n\n public getInput(): T {\n return this.task.input as T;\n }\n\n public async updateOutput(\n values: Partial<O>,\n options: ITaskManagerStoreSetOutputOptions = {}\n ): Promise<void> {\n this.taskUpdater.update({\n output: values as O\n });\n if (options?.save === false) {\n return;\n }\n await this.save();\n }\n\n public getOutput(): O {\n return this.task.output as O;\n }\n /**\n * Currently the methods throws an error if something goes wrong during the database update.\n * TODO: Maybe we should wrap it into try/catch and return error if any?\n */\n public async addInfoLog(\n log: ITaskManagerStoreInfoLog,\n options?: ITaskManagerStoreAddLogOptions\n ): Promise<void> {\n this.taskLogUpdater.update({\n items: [\n {\n message: log.message,\n data: log.data,\n type: ITaskLogItemType.INFO,\n createdOn: new Date().toISOString()\n }\n ]\n });\n if (options?.save === false) {\n return;\n }\n\n await this.save();\n }\n /**\n * Currently the methods throws an error if something goes wrong during the database update.\n * TODO: Maybe we should wrap it into try/catch and return error if any?\n */\n public async addErrorLog(\n log: ITaskManagerStoreErrorLog,\n options?: ITaskManagerStoreAddLogOptions\n ): Promise<void> {\n this.taskLogUpdater.update({\n items: [\n {\n message: log.message,\n error: log.error instanceof Error ? getObjectProperties(log.error) : log.error,\n type: ITaskLogItemType.ERROR,\n createdOn: new Date().toISOString()\n }\n ]\n });\n if (options?.save === false) {\n return;\n }\n await this.save();\n }\n\n public async save(): Promise<void> {\n /**\n * Update both task and the log, if anything to update.\n */\n if (this.taskUpdater.isDirty()) {\n this.task = await this.context.tasks.updateTask<T, O>(\n this.task.id,\n this.taskUpdater.fetch()\n );\n }\n if (this.taskLogUpdater.isDirty()) {\n this.taskLog = await this.context.tasks.updateLog(\n this.taskLog.id,\n this.taskLogUpdater.fetch()\n );\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_types","require","_deepEqual","_interopRequireDefault","_getObjectProperties","_ObjectUpdater","getInput","originalInput","input","TaskManagerStore","taskUpdater","ObjectUpdater","taskLogUpdater","constructor","context","task","log","taskLog","getStatus","taskStatus","getTask","updateTask","param","options","data","deepEqual","update","save","updateInput","updateOutput","values","output","getOutput","addInfoLog","items","message","type","ITaskLogItemType","INFO","createdOn","Date","toISOString","addErrorLog","error","Error","getObjectProperties","ERROR","isDirty","tasks","id","fetch","updateLog","exports"],"sources":["TaskManagerStore.ts"],"sourcesContent":["import {\n ITask,\n ITaskDataInput,\n ITaskLog,\n ITaskLogItemType,\n ITaskManagerStoreInfoLog,\n ITaskManagerStorePrivate,\n ITaskManagerStoreSetOutputOptions,\n ITaskManagerStoreUpdateTaskInputOptions,\n ITaskManagerStoreUpdateTaskOptions,\n ITaskResponseDoneResultOutput,\n ITasksContextObject,\n TaskDataStatus\n} from \"~/types\";\nimport {\n ITaskManagerStoreAddLogOptions,\n ITaskManagerStoreErrorLog,\n ITaskManagerStoreUpdateTaskInputParam,\n ITaskManagerStoreUpdateTaskParams\n} from \"./abstractions\";\n/**\n * Package deep-equal does not have types.\n */\n// @ts-expect-error\nimport deepEqual from \"deep-equal\";\nimport { getObjectProperties } from \"~/utils/getObjectProperties\";\nimport { ObjectUpdater } from \"~/utils/ObjectUpdater\";\n\nconst getInput = <T extends ITaskDataInput = ITaskDataInput>(\n originalInput: T,\n input: ITaskManagerStoreUpdateTaskInputParam<T>\n): T => {\n if (typeof input === \"function\") {\n return input(originalInput);\n }\n return {\n ...originalInput,\n ...input\n };\n};\n\nexport interface TaskManagerStoreContext {\n tasks: Pick<ITasksContextObject, \"updateTask\" | \"updateLog\">;\n}\n\nexport class TaskManagerStore<\n T extends ITaskDataInput = ITaskDataInput,\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n> implements ITaskManagerStorePrivate<T, O>\n{\n private readonly context: TaskManagerStoreContext;\n private task: ITask<T, O>;\n private taskLog: ITaskLog;\n\n private readonly taskUpdater = new ObjectUpdater<ITask<T, O>>();\n private readonly taskLogUpdater = new ObjectUpdater<ITaskLog>();\n\n public constructor(context: TaskManagerStoreContext, task: ITask, log: ITaskLog) {\n this.context = context;\n this.task = task as ITask<T, O>;\n this.taskLog = log;\n }\n\n public getStatus(): TaskDataStatus {\n return this.task.taskStatus;\n }\n\n public getTask(): ITask<T, O> {\n return this.task as ITask<T, O>;\n }\n\n public async updateTask(\n param: ITaskManagerStoreUpdateTaskParams<T, O>,\n options?: ITaskManagerStoreUpdateTaskOptions\n ): Promise<void> {\n const data = typeof param === \"function\" ? param(this.task) : param;\n\n /**\n * No need to update if nothing changed.\n */\n if (deepEqual(data, this.task)) {\n return;\n }\n\n this.taskUpdater.update(data);\n\n if (options?.save === false) {\n return;\n }\n await this.save();\n }\n\n public async updateInput(\n param: ITaskManagerStoreUpdateTaskInputParam<T>,\n options?: ITaskManagerStoreUpdateTaskInputOptions\n ): Promise<void> {\n const input = getInput<T>(this.task.input, param);\n\n /**\n * No need to update if nothing changed.\n */\n if (deepEqual(input, this.task.input)) {\n return;\n }\n this.taskUpdater.update({\n input: input as T\n });\n if (options?.save === false) {\n return;\n }\n await this.save();\n }\n\n public getInput(): T {\n return this.task.input as T;\n }\n\n public async updateOutput(\n values: Partial<O>,\n options: ITaskManagerStoreSetOutputOptions = {}\n ): Promise<void> {\n this.taskUpdater.update({\n output: values as O\n });\n if (options?.save === false) {\n return;\n }\n await this.save();\n }\n\n public getOutput(): O {\n return this.task.output as O;\n }\n /**\n * Currently the methods throws an error if something goes wrong during the database update.\n * TODO: Maybe we should wrap it into try/catch and return error if any?\n */\n public async addInfoLog(\n log: ITaskManagerStoreInfoLog,\n options?: ITaskManagerStoreAddLogOptions\n ): Promise<void> {\n this.taskLogUpdater.update({\n items: [\n {\n message: log.message,\n data: log.data,\n type: ITaskLogItemType.INFO,\n createdOn: new Date().toISOString()\n }\n ]\n });\n if (options?.save === false) {\n return;\n }\n\n await this.save();\n }\n /**\n * Currently the methods throws an error if something goes wrong during the database update.\n * TODO: Maybe we should wrap it into try/catch and return error if any?\n */\n public async addErrorLog(\n log: ITaskManagerStoreErrorLog,\n options?: ITaskManagerStoreAddLogOptions\n ): Promise<void> {\n this.taskLogUpdater.update({\n items: [\n {\n message: log.message,\n error: log.error instanceof Error ? getObjectProperties(log.error) : log.error,\n type: ITaskLogItemType.ERROR,\n createdOn: new Date().toISOString()\n }\n ]\n });\n if (options?.save === false) {\n return;\n }\n await this.save();\n }\n\n public async save(): Promise<void> {\n /**\n * Update both task and the log, if anything to update.\n */\n if (this.taskUpdater.isDirty()) {\n this.task = await this.context.tasks.updateTask<T, O>(\n this.task.id,\n this.taskUpdater.fetch()\n );\n }\n if (this.taskLogUpdater.isDirty()) {\n this.taskLog = await this.context.tasks.updateLog(\n this.taskLog.id,\n this.taskLogUpdater.fetch()\n );\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAwBA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AANA;AACA;AACA;AACA;;AAKA,MAAMK,QAAQ,GAAGA,CACbC,aAAgB,EAChBC,KAA+C,KAC3C;EACJ,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;IAC7B,OAAOA,KAAK,CAACD,aAAa,CAAC;EAC/B;EACA,OAAO;IACH,GAAGA,aAAa;IAChB,GAAGC;EACP,CAAC;AACL,CAAC;AAMM,MAAMC,gBAAgB,CAI7B;EAKqBC,WAAW,GAAG,IAAIC,4BAAa,CAAc,CAAC;EAC9CC,cAAc,GAAG,IAAID,4BAAa,CAAW,CAAC;EAExDE,WAAWA,CAACC,OAAgC,EAAEC,IAAW,EAAEC,GAAa,EAAE;IAC7E,IAAI,CAACF,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,IAAI,GAAGA,IAAmB;IAC/B,IAAI,CAACE,OAAO,GAAGD,GAAG;EACtB;EAEOE,SAASA,CAAA,EAAmB;IAC/B,OAAO,IAAI,CAACH,IAAI,CAACI,UAAU;EAC/B;EAEOC,OAAOA,CAAA,EAAgB;IAC1B,OAAO,IAAI,CAACL,IAAI;EACpB;EAEA,MAAaM,UAAUA,CACnBC,KAA8C,EAC9CC,OAA4C,EAC/B;IACb,MAAMC,IAAI,GAAG,OAAOF,KAAK,KAAK,UAAU,GAAGA,KAAK,CAAC,IAAI,CAACP,IAAI,CAAC,GAAGO,KAAK;;IAEnE;AACR;AACA;IACQ,IAAI,IAAAG,kBAAS,EAACD,IAAI,EAAE,IAAI,CAACT,IAAI,CAAC,EAAE;MAC5B;IACJ;IAEA,IAAI,CAACL,WAAW,CAACgB,MAAM,CAACF,IAAI,CAAC;IAE7B,IAAID,OAAO,EAAEI,IAAI,KAAK,KAAK,EAAE;MACzB;IACJ;IACA,MAAM,IAAI,CAACA,IAAI,CAAC,CAAC;EACrB;EAEA,MAAaC,WAAWA,CACpBN,KAA+C,EAC/CC,OAAiD,EACpC;IACb,MAAMf,KAAK,GAAGF,QAAQ,CAAI,IAAI,CAACS,IAAI,CAACP,KAAK,EAAEc,KAAK,CAAC;;IAEjD;AACR;AACA;IACQ,IAAI,IAAAG,kBAAS,EAACjB,KAAK,EAAE,IAAI,CAACO,IAAI,CAACP,KAAK,CAAC,EAAE;MACnC;IACJ;IACA,IAAI,CAACE,WAAW,CAACgB,MAAM,CAAC;MACpBlB,KAAK,EAAEA;IACX,CAAC,CAAC;IACF,IAAIe,OAAO,EAAEI,IAAI,KAAK,KAAK,EAAE;MACzB;IACJ;IACA,MAAM,IAAI,CAACA,IAAI,CAAC,CAAC;EACrB;EAEOrB,QAAQA,CAAA,EAAM;IACjB,OAAO,IAAI,CAACS,IAAI,CAACP,KAAK;EAC1B;EAEA,MAAaqB,YAAYA,CACrBC,MAAkB,EAClBP,OAA0C,GAAG,CAAC,CAAC,EAClC;IACb,IAAI,CAACb,WAAW,CAACgB,MAAM,CAAC;MACpBK,MAAM,EAAED;IACZ,CAAC,CAAC;IACF,IAAIP,OAAO,EAAEI,IAAI,KAAK,KAAK,EAAE;MACzB;IACJ;IACA,MAAM,IAAI,CAACA,IAAI,CAAC,CAAC;EACrB;EAEOK,SAASA,CAAA,EAAM;IAClB,OAAO,IAAI,CAACjB,IAAI,CAACgB,MAAM;EAC3B;EACA;AACJ;AACA;AACA;EACI,MAAaE,UAAUA,CACnBjB,GAA6B,EAC7BO,OAAwC,EAC3B;IACb,IAAI,CAACX,cAAc,CAACc,MAAM,CAAC;MACvBQ,KAAK,EAAE,CACH;QACIC,OAAO,EAAEnB,GAAG,CAACmB,OAAO;QACpBX,IAAI,EAAER,GAAG,CAACQ,IAAI;QACdY,IAAI,EAAEC,uBAAgB,CAACC,IAAI;QAC3BC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC;MACtC,CAAC;IAET,CAAC,CAAC;IACF,IAAIlB,OAAO,EAAEI,IAAI,KAAK,KAAK,EAAE;MACzB;IACJ;IAEA,MAAM,IAAI,CAACA,IAAI,CAAC,CAAC;EACrB;EACA;AACJ;AACA;AACA;EACI,MAAae,WAAWA,CACpB1B,GAA8B,EAC9BO,OAAwC,EAC3B;IACb,IAAI,CAACX,cAAc,CAACc,MAAM,CAAC;MACvBQ,KAAK,EAAE,CACH;QACIC,OAAO,EAAEnB,GAAG,CAACmB,OAAO;QACpBQ,KAAK,EAAE3B,GAAG,CAAC2B,KAAK,YAAYC,KAAK,GAAG,IAAAC,wCAAmB,EAAC7B,GAAG,CAAC2B,KAAK,CAAC,GAAG3B,GAAG,CAAC2B,KAAK;QAC9EP,IAAI,EAAEC,uBAAgB,CAACS,KAAK;QAC5BP,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC;MACtC,CAAC;IAET,CAAC,CAAC;IACF,IAAIlB,OAAO,EAAEI,IAAI,KAAK,KAAK,EAAE;MACzB;IACJ;IACA,MAAM,IAAI,CAACA,IAAI,CAAC,CAAC;EACrB;EAEA,MAAaA,IAAIA,CAAA,EAAkB;IAC/B;AACR;AACA;IACQ,IAAI,IAAI,CAACjB,WAAW,CAACqC,OAAO,CAAC,CAAC,EAAE;MAC5B,IAAI,CAAChC,IAAI,GAAG,MAAM,IAAI,CAACD,OAAO,CAACkC,KAAK,CAAC3B,UAAU,CAC3C,IAAI,CAACN,IAAI,CAACkC,EAAE,EACZ,IAAI,CAACvC,WAAW,CAACwC,KAAK,CAAC,CAC3B,CAAC;IACL;IACA,IAAI,IAAI,CAACtC,cAAc,CAACmC,OAAO,CAAC,CAAC,EAAE;MAC/B,IAAI,CAAC9B,OAAO,GAAG,MAAM,IAAI,CAACH,OAAO,CAACkC,KAAK,CAACG,SAAS,CAC7C,IAAI,CAAClC,OAAO,CAACgC,EAAE,EACf,IAAI,CAACrC,cAAc,CAACsC,KAAK,CAAC,CAC9B,CAAC;IACL;EACJ;AACJ;AAACE,OAAA,CAAA3C,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -22,4 +22,5 @@ export declare class TaskRunner<C extends Context = Context> implements ITaskRun
22
22
  isCloseToTimeout(seconds?: number): boolean;
23
23
  run(rawEvent: ITaskRawEvent): Promise<IResponseResult>;
24
24
  private getIsCloseToTimeoutMilliseconds;
25
+ private setLocale;
25
26
  }