@webiny/background-tasks 0.0.0-unstable.0156a4c312

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 (666) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/admin/BackgroundTaskRoutes.d.ts +2 -0
  4. package/admin/BackgroundTaskRoutes.js +70 -0
  5. package/admin/BackgroundTaskRoutes.js.map +1 -0
  6. package/admin/BackgroundTasks.d.ts +2 -0
  7. package/admin/BackgroundTasks.js +55 -0
  8. package/admin/BackgroundTasks.js.map +1 -0
  9. package/admin/features/abortTask/AbortTaskGateway.d.ts +12 -0
  10. package/admin/features/abortTask/AbortTaskGateway.js +62 -0
  11. package/admin/features/abortTask/AbortTaskGateway.js.map +1 -0
  12. package/admin/features/abortTask/AbortTaskUseCase.d.ts +11 -0
  13. package/admin/features/abortTask/AbortTaskUseCase.js +18 -0
  14. package/admin/features/abortTask/AbortTaskUseCase.js.map +1 -0
  15. package/admin/features/abortTask/abstractions.d.ts +19 -0
  16. package/admin/features/abortTask/abstractions.js +6 -0
  17. package/admin/features/abortTask/abstractions.js.map +1 -0
  18. package/admin/features/abortTask/feature.d.ts +3 -0
  19. package/admin/features/abortTask/feature.js +19 -0
  20. package/admin/features/abortTask/feature.js.map +1 -0
  21. package/admin/features/abortTask/index.d.ts +2 -0
  22. package/admin/features/abortTask/index.js +2 -0
  23. package/admin/features/deleteTask/DeleteTaskGateway.d.ts +11 -0
  24. package/admin/features/deleteTask/DeleteTaskGateway.js +41 -0
  25. package/admin/features/deleteTask/DeleteTaskGateway.js.map +1 -0
  26. package/admin/features/deleteTask/DeleteTaskUseCase.d.ts +10 -0
  27. package/admin/features/deleteTask/DeleteTaskUseCase.js +18 -0
  28. package/admin/features/deleteTask/DeleteTaskUseCase.js.map +1 -0
  29. package/admin/features/deleteTask/abstractions.d.ts +14 -0
  30. package/admin/features/deleteTask/abstractions.js +6 -0
  31. package/admin/features/deleteTask/abstractions.js.map +1 -0
  32. package/admin/features/deleteTask/feature.d.ts +3 -0
  33. package/admin/features/deleteTask/feature.js +19 -0
  34. package/admin/features/deleteTask/feature.js.map +1 -0
  35. package/admin/features/deleteTask/index.d.ts +2 -0
  36. package/admin/features/deleteTask/index.js +2 -0
  37. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.d.ts +12 -0
  38. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js +40 -0
  39. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js.map +1 -0
  40. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.d.ts +11 -0
  41. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js +18 -0
  42. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js.map +1 -0
  43. package/admin/features/getBackgroundTaskSettings/abstractions.d.ts +15 -0
  44. package/admin/features/getBackgroundTaskSettings/abstractions.js +6 -0
  45. package/admin/features/getBackgroundTaskSettings/abstractions.js.map +1 -0
  46. package/admin/features/getBackgroundTaskSettings/feature.d.ts +3 -0
  47. package/admin/features/getBackgroundTaskSettings/feature.js +19 -0
  48. package/admin/features/getBackgroundTaskSettings/feature.js.map +1 -0
  49. package/admin/features/getBackgroundTaskSettings/index.d.ts +3 -0
  50. package/admin/features/getBackgroundTaskSettings/index.js +2 -0
  51. package/admin/features/getTask/GetTaskGateway.d.ts +12 -0
  52. package/admin/features/getTask/GetTaskGateway.js +61 -0
  53. package/admin/features/getTask/GetTaskGateway.js.map +1 -0
  54. package/admin/features/getTask/GetTaskUseCase.d.ts +11 -0
  55. package/admin/features/getTask/GetTaskUseCase.js +18 -0
  56. package/admin/features/getTask/GetTaskUseCase.js.map +1 -0
  57. package/admin/features/getTask/abstractions.d.ts +15 -0
  58. package/admin/features/getTask/abstractions.js +6 -0
  59. package/admin/features/getTask/abstractions.js.map +1 -0
  60. package/admin/features/getTask/feature.d.ts +3 -0
  61. package/admin/features/getTask/feature.js +19 -0
  62. package/admin/features/getTask/feature.js.map +1 -0
  63. package/admin/features/getTask/index.d.ts +2 -0
  64. package/admin/features/getTask/index.js +2 -0
  65. package/admin/features/listDefinitions/ListDefinitionsGateway.d.ts +12 -0
  66. package/admin/features/listDefinitions/ListDefinitionsGateway.js +42 -0
  67. package/admin/features/listDefinitions/ListDefinitionsGateway.js.map +1 -0
  68. package/admin/features/listDefinitions/ListDefinitionsUseCase.d.ts +11 -0
  69. package/admin/features/listDefinitions/ListDefinitionsUseCase.js +18 -0
  70. package/admin/features/listDefinitions/ListDefinitionsUseCase.js.map +1 -0
  71. package/admin/features/listDefinitions/abstractions.d.ts +15 -0
  72. package/admin/features/listDefinitions/abstractions.js +6 -0
  73. package/admin/features/listDefinitions/abstractions.js.map +1 -0
  74. package/admin/features/listDefinitions/feature.d.ts +3 -0
  75. package/admin/features/listDefinitions/feature.js +19 -0
  76. package/admin/features/listDefinitions/feature.js.map +1 -0
  77. package/admin/features/listDefinitions/index.d.ts +2 -0
  78. package/admin/features/listDefinitions/index.js +2 -0
  79. package/admin/features/listLogs/ListLogsGateway.d.ts +11 -0
  80. package/admin/features/listLogs/ListLogsGateway.js +73 -0
  81. package/admin/features/listLogs/ListLogsGateway.js.map +1 -0
  82. package/admin/features/listLogs/ListLogsUseCase.d.ts +10 -0
  83. package/admin/features/listLogs/ListLogsUseCase.js +18 -0
  84. package/admin/features/listLogs/ListLogsUseCase.js.map +1 -0
  85. package/admin/features/listLogs/abstractions.d.ts +30 -0
  86. package/admin/features/listLogs/abstractions.js +6 -0
  87. package/admin/features/listLogs/abstractions.js.map +1 -0
  88. package/admin/features/listLogs/feature.d.ts +3 -0
  89. package/admin/features/listLogs/feature.js +19 -0
  90. package/admin/features/listLogs/feature.js.map +1 -0
  91. package/admin/features/listLogs/index.d.ts +2 -0
  92. package/admin/features/listLogs/index.js +2 -0
  93. package/admin/features/listTasks/ListTasksGateway.d.ts +11 -0
  94. package/admin/features/listTasks/ListTasksGateway.js +79 -0
  95. package/admin/features/listTasks/ListTasksGateway.js.map +1 -0
  96. package/admin/features/listTasks/ListTasksUseCase.d.ts +10 -0
  97. package/admin/features/listTasks/ListTasksUseCase.js +18 -0
  98. package/admin/features/listTasks/ListTasksUseCase.js.map +1 -0
  99. package/admin/features/listTasks/abstractions.d.ts +31 -0
  100. package/admin/features/listTasks/abstractions.js +6 -0
  101. package/admin/features/listTasks/abstractions.js.map +1 -0
  102. package/admin/features/listTasks/feature.d.ts +3 -0
  103. package/admin/features/listTasks/feature.js +19 -0
  104. package/admin/features/listTasks/feature.js.map +1 -0
  105. package/admin/features/listTasks/index.d.ts +2 -0
  106. package/admin/features/listTasks/index.js +2 -0
  107. package/admin/features/permissions/abstractions.d.ts +17 -0
  108. package/admin/features/permissions/abstractions.js +6 -0
  109. package/admin/features/permissions/abstractions.js.map +1 -0
  110. package/admin/features/permissions/feature.d.ts +14 -0
  111. package/admin/features/permissions/feature.js +7 -0
  112. package/admin/features/permissions/feature.js.map +1 -0
  113. package/admin/features/permissions/index.d.ts +2 -0
  114. package/admin/features/permissions/index.js +2 -0
  115. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.d.ts +12 -0
  116. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js +43 -0
  117. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js.map +1 -0
  118. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +11 -0
  119. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +18 -0
  120. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  121. package/admin/features/updateBackgroundTaskSettings/abstractions.d.ts +18 -0
  122. package/admin/features/updateBackgroundTaskSettings/abstractions.js +6 -0
  123. package/admin/features/updateBackgroundTaskSettings/abstractions.js.map +1 -0
  124. package/admin/features/updateBackgroundTaskSettings/feature.d.ts +3 -0
  125. package/admin/features/updateBackgroundTaskSettings/feature.js +19 -0
  126. package/admin/features/updateBackgroundTaskSettings/feature.js.map +1 -0
  127. package/admin/features/updateBackgroundTaskSettings/index.d.ts +3 -0
  128. package/admin/features/updateBackgroundTaskSettings/index.js +2 -0
  129. package/admin/index.d.ts +2 -0
  130. package/admin/index.js +2 -0
  131. package/admin/permissions.d.ts +12 -0
  132. package/admin/permissions.js +22 -0
  133. package/admin/permissions.js.map +1 -0
  134. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.d.ts +21 -0
  135. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js +86 -0
  136. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js.map +1 -0
  137. package/admin/presentation/BackgroundTaskSettings/abstractions.d.ts +16 -0
  138. package/admin/presentation/BackgroundTaskSettings/abstractions.js +5 -0
  139. package/admin/presentation/BackgroundTaskSettings/abstractions.js.map +1 -0
  140. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.d.ts +2 -0
  141. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js +56 -0
  142. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js.map +1 -0
  143. package/admin/presentation/BackgroundTaskSettings/feature.d.ts +3 -0
  144. package/admin/presentation/BackgroundTaskSettings/feature.js +17 -0
  145. package/admin/presentation/BackgroundTaskSettings/feature.js.map +1 -0
  146. package/admin/presentation/BackgroundTaskSettings/index.d.ts +2 -0
  147. package/admin/presentation/BackgroundTaskSettings/index.js +2 -0
  148. package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.d.ts +14 -0
  149. package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.js +41 -0
  150. package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.js.map +1 -0
  151. package/admin/presentation/TaskDefinitions/abstractions.d.ts +14 -0
  152. package/admin/presentation/TaskDefinitions/abstractions.js +5 -0
  153. package/admin/presentation/TaskDefinitions/abstractions.js.map +1 -0
  154. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.d.ts +2 -0
  155. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js +76 -0
  156. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js.map +1 -0
  157. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.d.ts +2 -0
  158. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js +16 -0
  159. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js.map +1 -0
  160. package/admin/presentation/TaskDefinitions/feature.d.ts +3 -0
  161. package/admin/presentation/TaskDefinitions/feature.js +17 -0
  162. package/admin/presentation/TaskDefinitions/feature.js.map +1 -0
  163. package/admin/presentation/TaskDefinitions/index.d.ts +2 -0
  164. package/admin/presentation/TaskDefinitions/index.js +2 -0
  165. package/admin/presentation/TaskDetail/TaskDetailPresenter.d.ts +24 -0
  166. package/admin/presentation/TaskDetail/TaskDetailPresenter.js +87 -0
  167. package/admin/presentation/TaskDetail/TaskDetailPresenter.js.map +1 -0
  168. package/admin/presentation/TaskDetail/abstractions.d.ts +24 -0
  169. package/admin/presentation/TaskDetail/abstractions.js +5 -0
  170. package/admin/presentation/TaskDetail/abstractions.js.map +1 -0
  171. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.d.ts +11 -0
  172. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js +270 -0
  173. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js.map +1 -0
  174. package/admin/presentation/TaskDetail/feature.d.ts +3 -0
  175. package/admin/presentation/TaskDetail/feature.js +17 -0
  176. package/admin/presentation/TaskDetail/feature.js.map +1 -0
  177. package/admin/presentation/TaskDetail/index.d.ts +2 -0
  178. package/admin/presentation/TaskDetail/index.js +2 -0
  179. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.d.ts +15 -0
  180. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js +91 -0
  181. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js.map +1 -0
  182. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.d.ts +54 -0
  183. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js +109 -0
  184. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js.map +1 -0
  185. package/admin/presentation/TaskExecutions/abstractions.d.ts +28 -0
  186. package/admin/presentation/TaskExecutions/abstractions.js +5 -0
  187. package/admin/presentation/TaskExecutions/abstractions.js.map +1 -0
  188. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.d.ts +2 -0
  189. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js +16 -0
  190. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js.map +1 -0
  191. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.d.ts +2 -0
  192. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js +341 -0
  193. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js.map +1 -0
  194. package/admin/presentation/TaskExecutions/feature.d.ts +3 -0
  195. package/admin/presentation/TaskExecutions/feature.js +17 -0
  196. package/admin/presentation/TaskExecutions/feature.js.map +1 -0
  197. package/admin/presentation/TaskExecutions/index.d.ts +2 -0
  198. package/admin/presentation/TaskExecutions/index.js +2 -0
  199. package/admin/presentation/security/HasPermission.d.ts +12 -0
  200. package/admin/presentation/security/HasPermission.js +6 -0
  201. package/admin/presentation/security/HasPermission.js.map +1 -0
  202. package/admin/presentation/security/usePermissions.d.ts +12 -0
  203. package/admin/presentation/security/usePermissions.js +6 -0
  204. package/admin/presentation/security/usePermissions.js.map +1 -0
  205. package/admin/routes.d.ts +6 -0
  206. package/admin/routes.js +18 -0
  207. package/admin/routes.js.map +1 -0
  208. package/admin/shared/types.d.ts +18 -0
  209. package/admin/shared/types.js +0 -0
  210. package/api/BackgroundTasksFeature.d.ts +4 -0
  211. package/api/BackgroundTasksFeature.js +79 -0
  212. package/api/BackgroundTasksFeature.js.map +1 -0
  213. package/api/abstractions/Timer.d.ts +1 -0
  214. package/api/abstractions/Timer.js +0 -0
  215. package/api/abstractions/index.d.ts +1 -0
  216. package/api/abstractions/index.js +1 -0
  217. package/api/crud/TaskLogPrivateModel.d.ts +9 -0
  218. package/api/crud/TaskLogPrivateModel.js +41 -0
  219. package/api/crud/TaskLogPrivateModel.js.map +1 -0
  220. package/api/crud/TaskPrivateModel.d.ts +9 -0
  221. package/api/crud/TaskPrivateModel.js +56 -0
  222. package/api/crud/TaskPrivateModel.js.map +1 -0
  223. package/api/decorators/SelfCleaningTaskHandlerDecorator.d.ts +33 -0
  224. package/api/decorators/SelfCleaningTaskHandlerDecorator.js +69 -0
  225. package/api/decorators/SelfCleaningTaskHandlerDecorator.js.map +1 -0
  226. package/api/decorators/TaskDefinitionDefaultsDecorator.d.ts +27 -0
  227. package/api/decorators/TaskDefinitionDefaultsDecorator.js +47 -0
  228. package/api/decorators/TaskDefinitionDefaultsDecorator.js.map +1 -0
  229. package/api/domain/BackgroundTaskSettings.d.ts +3 -0
  230. package/api/domain/BackgroundTaskSettings.js +0 -0
  231. package/api/domain/TaskService.d.ts +12 -0
  232. package/api/domain/TaskService.js +5 -0
  233. package/api/domain/TaskService.js.map +1 -0
  234. package/api/domain/constants.d.ts +3 -0
  235. package/api/domain/constants.js +6 -0
  236. package/api/domain/constants.js.map +1 -0
  237. package/api/domain/errors.d.ts +61 -0
  238. package/api/domain/errors.js +109 -0
  239. package/api/domain/errors.js.map +1 -0
  240. package/api/domain/task/TaskLogModelProvider.d.ts +12 -0
  241. package/api/domain/task/TaskLogModelProvider.js +23 -0
  242. package/api/domain/task/TaskLogModelProvider.js.map +1 -0
  243. package/api/domain/task/TaskLogsRepository.d.ts +34 -0
  244. package/api/domain/task/TaskLogsRepository.js +146 -0
  245. package/api/domain/task/TaskLogsRepository.js.map +1 -0
  246. package/api/domain/task/TaskModelProvider.d.ts +12 -0
  247. package/api/domain/task/TaskModelProvider.js +23 -0
  248. package/api/domain/task/TaskModelProvider.js.map +1 -0
  249. package/api/domain/task/TasksRepository.d.ts +37 -0
  250. package/api/domain/task/TasksRepository.js +126 -0
  251. package/api/domain/task/TasksRepository.js.map +1 -0
  252. package/api/domain/task/abstractions.d.ts +50 -0
  253. package/api/domain/task/abstractions.js +8 -0
  254. package/api/domain/task/abstractions.js.map +1 -0
  255. package/api/domain/task/createRevisionId.d.ts +1 -0
  256. package/api/domain/task/createRevisionId.js +8 -0
  257. package/api/domain/task/createRevisionId.js.map +1 -0
  258. package/api/domain/task/entryToTask.d.ts +3 -0
  259. package/api/domain/task/entryToTask.js +20 -0
  260. package/api/domain/task/entryToTask.js.map +1 -0
  261. package/api/domain/task/entryToTaskLog.d.ts +3 -0
  262. package/api/domain/task/entryToTaskLog.js +12 -0
  263. package/api/domain/task/entryToTaskLog.js.map +1 -0
  264. package/api/events/TaskAfterCreateEvent.d.ts +6 -0
  265. package/api/events/TaskAfterCreateEvent.js +13 -0
  266. package/api/events/TaskAfterCreateEvent.js.map +1 -0
  267. package/api/events/TaskAfterDeleteEvent.d.ts +6 -0
  268. package/api/events/TaskAfterDeleteEvent.js +13 -0
  269. package/api/events/TaskAfterDeleteEvent.js.map +1 -0
  270. package/api/events/TaskAfterUpdateEvent.d.ts +6 -0
  271. package/api/events/TaskAfterUpdateEvent.js +13 -0
  272. package/api/events/TaskAfterUpdateEvent.js.map +1 -0
  273. package/api/events/TaskBeforeCreateEvent.d.ts +6 -0
  274. package/api/events/TaskBeforeCreateEvent.js +13 -0
  275. package/api/events/TaskBeforeCreateEvent.js.map +1 -0
  276. package/api/events/TaskBeforeDeleteEvent.d.ts +6 -0
  277. package/api/events/TaskBeforeDeleteEvent.js +13 -0
  278. package/api/events/TaskBeforeDeleteEvent.js.map +1 -0
  279. package/api/events/TaskBeforeUpdateEvent.d.ts +6 -0
  280. package/api/events/TaskBeforeUpdateEvent.js +13 -0
  281. package/api/events/TaskBeforeUpdateEvent.js.map +1 -0
  282. package/api/events/abstractions.d.ts +53 -0
  283. package/api/events/abstractions.js +10 -0
  284. package/api/events/abstractions.js.map +1 -0
  285. package/api/events/index.d.ts +7 -0
  286. package/api/events/index.js +7 -0
  287. package/api/features/AbortTask/AbortTaskUseCase.d.ts +9 -0
  288. package/api/features/AbortTask/AbortTaskUseCase.js +12 -0
  289. package/api/features/AbortTask/AbortTaskUseCase.js.map +1 -0
  290. package/api/features/AbortTask/abstractions.d.ts +25 -0
  291. package/api/features/AbortTask/abstractions.js +5 -0
  292. package/api/features/AbortTask/abstractions.js.map +1 -0
  293. package/api/features/AbortTask/feature.d.ts +4 -0
  294. package/api/features/AbortTask/feature.js +13 -0
  295. package/api/features/AbortTask/feature.js.map +1 -0
  296. package/api/features/AbortTask/index.d.ts +2 -0
  297. package/api/features/AbortTask/index.js +2 -0
  298. package/api/features/BackgroundTaskPermissions/abstractions.d.ts +17 -0
  299. package/api/features/BackgroundTaskPermissions/abstractions.js +6 -0
  300. package/api/features/BackgroundTaskPermissions/abstractions.js.map +1 -0
  301. package/api/features/BackgroundTaskPermissions/feature.d.ts +4 -0
  302. package/api/features/BackgroundTaskPermissions/feature.js +7 -0
  303. package/api/features/BackgroundTaskPermissions/feature.js.map +1 -0
  304. package/api/features/BackgroundTaskPermissions/index.d.ts +2 -0
  305. package/api/features/BackgroundTaskPermissions/index.js +2 -0
  306. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +27 -0
  307. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +117 -0
  308. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -0
  309. package/api/features/CleanupTaskSubtree/abstractions.d.ts +7 -0
  310. package/api/features/CleanupTaskSubtree/abstractions.js +5 -0
  311. package/api/features/CleanupTaskSubtree/abstractions.js.map +1 -0
  312. package/api/features/CleanupTaskSubtree/feature.d.ts +4 -0
  313. package/api/features/CleanupTaskSubtree/feature.js +11 -0
  314. package/api/features/CleanupTaskSubtree/feature.js.map +1 -0
  315. package/api/features/CleanupTaskSubtree/index.d.ts +2 -0
  316. package/api/features/CleanupTaskSubtree/index.js +2 -0
  317. package/api/features/CreateTask/CreateTaskUseCase.d.ts +17 -0
  318. package/api/features/CreateTask/CreateTaskUseCase.js +56 -0
  319. package/api/features/CreateTask/CreateTaskUseCase.js.map +1 -0
  320. package/api/features/CreateTask/abstractions.d.ts +21 -0
  321. package/api/features/CreateTask/abstractions.js +5 -0
  322. package/api/features/CreateTask/abstractions.js.map +1 -0
  323. package/api/features/CreateTask/feature.d.ts +4 -0
  324. package/api/features/CreateTask/feature.js +11 -0
  325. package/api/features/CreateTask/feature.js.map +1 -0
  326. package/api/features/CreateTask/index.d.ts +2 -0
  327. package/api/features/CreateTask/index.js +2 -0
  328. package/api/features/CreateTaskLog/CreateTaskLogUseCase.d.ts +13 -0
  329. package/api/features/CreateTaskLog/CreateTaskLogUseCase.js +19 -0
  330. package/api/features/CreateTaskLog/CreateTaskLogUseCase.js.map +1 -0
  331. package/api/features/CreateTaskLog/abstractions.d.ts +16 -0
  332. package/api/features/CreateTaskLog/abstractions.js +5 -0
  333. package/api/features/CreateTaskLog/abstractions.js.map +1 -0
  334. package/api/features/CreateTaskLog/feature.d.ts +4 -0
  335. package/api/features/CreateTaskLog/feature.js +11 -0
  336. package/api/features/CreateTaskLog/feature.js.map +1 -0
  337. package/api/features/CreateTaskLog/index.d.ts +2 -0
  338. package/api/features/CreateTaskLog/index.js +2 -0
  339. package/api/features/DeleteTask/DeleteTaskUseCase.d.ts +14 -0
  340. package/api/features/DeleteTask/DeleteTaskUseCase.js +34 -0
  341. package/api/features/DeleteTask/DeleteTaskUseCase.js.map +1 -0
  342. package/api/features/DeleteTask/abstractions.d.ts +17 -0
  343. package/api/features/DeleteTask/abstractions.js +5 -0
  344. package/api/features/DeleteTask/abstractions.js.map +1 -0
  345. package/api/features/DeleteTask/feature.d.ts +4 -0
  346. package/api/features/DeleteTask/feature.js +11 -0
  347. package/api/features/DeleteTask/feature.js.map +1 -0
  348. package/api/features/DeleteTask/index.d.ts +2 -0
  349. package/api/features/DeleteTask/index.js +2 -0
  350. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.d.ts +11 -0
  351. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.js +19 -0
  352. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.js.map +1 -0
  353. package/api/features/DeleteTaskLog/abstractions.d.ts +14 -0
  354. package/api/features/DeleteTaskLog/abstractions.js +5 -0
  355. package/api/features/DeleteTaskLog/abstractions.js.map +1 -0
  356. package/api/features/DeleteTaskLog/feature.d.ts +4 -0
  357. package/api/features/DeleteTaskLog/feature.js +11 -0
  358. package/api/features/DeleteTaskLog/feature.js.map +1 -0
  359. package/api/features/DeleteTaskLog/index.d.ts +2 -0
  360. package/api/features/DeleteTaskLog/index.js +2 -0
  361. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.d.ts +21 -0
  362. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js +63 -0
  363. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js.map +1 -0
  364. package/api/features/GetBackgroundTaskSettings/abstractions.d.ts +13 -0
  365. package/api/features/GetBackgroundTaskSettings/abstractions.js +5 -0
  366. package/api/features/GetBackgroundTaskSettings/abstractions.js.map +1 -0
  367. package/api/features/GetBackgroundTaskSettings/feature.d.ts +4 -0
  368. package/api/features/GetBackgroundTaskSettings/feature.js +11 -0
  369. package/api/features/GetBackgroundTaskSettings/feature.js.map +1 -0
  370. package/api/features/GetBackgroundTaskSettings/index.d.ts +2 -0
  371. package/api/features/GetBackgroundTaskSettings/index.js +2 -0
  372. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.d.ts +11 -0
  373. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.js +19 -0
  374. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.js.map +1 -0
  375. package/api/features/GetLatestTaskLog/abstractions.d.ts +15 -0
  376. package/api/features/GetLatestTaskLog/abstractions.js +5 -0
  377. package/api/features/GetLatestTaskLog/abstractions.js.map +1 -0
  378. package/api/features/GetLatestTaskLog/feature.d.ts +4 -0
  379. package/api/features/GetLatestTaskLog/feature.js +11 -0
  380. package/api/features/GetLatestTaskLog/feature.js.map +1 -0
  381. package/api/features/GetLatestTaskLog/index.d.ts +2 -0
  382. package/api/features/GetLatestTaskLog/index.js +2 -0
  383. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.d.ts +13 -0
  384. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js +51 -0
  385. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js.map +1 -0
  386. package/api/features/GetRunnableTaskDefinition/abstractions.d.ts +17 -0
  387. package/api/features/GetRunnableTaskDefinition/abstractions.js +5 -0
  388. package/api/features/GetRunnableTaskDefinition/abstractions.js.map +1 -0
  389. package/api/features/GetRunnableTaskDefinition/feature.d.ts +4 -0
  390. package/api/features/GetRunnableTaskDefinition/feature.js +11 -0
  391. package/api/features/GetRunnableTaskDefinition/feature.js.map +1 -0
  392. package/api/features/GetRunnableTaskDefinition/index.d.ts +2 -0
  393. package/api/features/GetRunnableTaskDefinition/index.js +2 -0
  394. package/api/features/GetTask/GetTaskUseCase.d.ts +13 -0
  395. package/api/features/GetTask/GetTaskUseCase.js +19 -0
  396. package/api/features/GetTask/GetTaskUseCase.js.map +1 -0
  397. package/api/features/GetTask/abstractions.d.ts +17 -0
  398. package/api/features/GetTask/abstractions.js +5 -0
  399. package/api/features/GetTask/abstractions.js.map +1 -0
  400. package/api/features/GetTask/feature.d.ts +4 -0
  401. package/api/features/GetTask/feature.js +11 -0
  402. package/api/features/GetTask/feature.js.map +1 -0
  403. package/api/features/GetTask/index.d.ts +2 -0
  404. package/api/features/GetTask/index.js +2 -0
  405. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.d.ts +11 -0
  406. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js +24 -0
  407. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js.map +1 -0
  408. package/api/features/ListTaskDefinitions/abstractions.d.ts +9 -0
  409. package/api/features/ListTaskDefinitions/abstractions.js +5 -0
  410. package/api/features/ListTaskDefinitions/abstractions.js.map +1 -0
  411. package/api/features/ListTaskDefinitions/feature.d.ts +4 -0
  412. package/api/features/ListTaskDefinitions/feature.js +11 -0
  413. package/api/features/ListTaskDefinitions/feature.js.map +1 -0
  414. package/api/features/ListTaskDefinitions/index.d.ts +2 -0
  415. package/api/features/ListTaskDefinitions/index.js +2 -0
  416. package/api/features/ListTaskLogs/ListTaskLogsUseCase.d.ts +12 -0
  417. package/api/features/ListTaskLogs/ListTaskLogsUseCase.js +19 -0
  418. package/api/features/ListTaskLogs/ListTaskLogsUseCase.js.map +1 -0
  419. package/api/features/ListTaskLogs/abstractions.d.ts +15 -0
  420. package/api/features/ListTaskLogs/abstractions.js +5 -0
  421. package/api/features/ListTaskLogs/abstractions.js.map +1 -0
  422. package/api/features/ListTaskLogs/feature.d.ts +4 -0
  423. package/api/features/ListTaskLogs/feature.js +11 -0
  424. package/api/features/ListTaskLogs/feature.js.map +1 -0
  425. package/api/features/ListTaskLogs/index.d.ts +2 -0
  426. package/api/features/ListTaskLogs/index.js +2 -0
  427. package/api/features/ListTasks/ListTasksUseCase.d.ts +13 -0
  428. package/api/features/ListTasks/ListTasksUseCase.js +19 -0
  429. package/api/features/ListTasks/ListTasksUseCase.js.map +1 -0
  430. package/api/features/ListTasks/abstractions.d.ts +19 -0
  431. package/api/features/ListTasks/abstractions.js +5 -0
  432. package/api/features/ListTasks/abstractions.js.map +1 -0
  433. package/api/features/ListTasks/feature.d.ts +4 -0
  434. package/api/features/ListTasks/feature.js +11 -0
  435. package/api/features/ListTasks/feature.js.map +1 -0
  436. package/api/features/ListTasks/index.d.ts +2 -0
  437. package/api/features/ListTasks/index.js +2 -0
  438. package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.d.ts +11 -0
  439. package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.js +19 -0
  440. package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.js.map +1 -0
  441. package/api/features/ListVisibleTaskDefinitions/abstractions.d.ts +9 -0
  442. package/api/features/ListVisibleTaskDefinitions/abstractions.js +5 -0
  443. package/api/features/ListVisibleTaskDefinitions/abstractions.js.map +1 -0
  444. package/api/features/ListVisibleTaskDefinitions/feature.d.ts +4 -0
  445. package/api/features/ListVisibleTaskDefinitions/feature.js +11 -0
  446. package/api/features/ListVisibleTaskDefinitions/feature.js.map +1 -0
  447. package/api/features/ListVisibleTaskDefinitions/index.d.ts +2 -0
  448. package/api/features/ListVisibleTaskDefinitions/index.js +2 -0
  449. package/api/features/TaskController/TaskController.d.ts +49 -0
  450. package/api/features/TaskController/TaskController.js +71 -0
  451. package/api/features/TaskController/TaskController.js.map +1 -0
  452. package/api/features/TaskController/augmentation.d.ts +60 -0
  453. package/api/features/TaskController/augmentation.js +0 -0
  454. package/api/features/TaskController/index.d.ts +2 -0
  455. package/api/features/TaskController/index.js +2 -0
  456. package/api/features/TaskExecutionContext/TaskExecutionContext.d.ts +24 -0
  457. package/api/features/TaskExecutionContext/TaskExecutionContext.js +43 -0
  458. package/api/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -0
  459. package/api/features/TaskExecutionContext/abstractions.d.ts +26 -0
  460. package/api/features/TaskExecutionContext/abstractions.js +5 -0
  461. package/api/features/TaskExecutionContext/abstractions.js.map +1 -0
  462. package/api/features/TaskExecutionContext/feature.d.ts +4 -0
  463. package/api/features/TaskExecutionContext/feature.js +11 -0
  464. package/api/features/TaskExecutionContext/feature.js.map +1 -0
  465. package/api/features/TaskExecutionContext/index.d.ts +1 -0
  466. package/api/features/TaskExecutionContext/index.js +1 -0
  467. package/api/features/TaskHandlerResolver/TaskHandlerResolver.d.ts +12 -0
  468. package/api/features/TaskHandlerResolver/TaskHandlerResolver.js +19 -0
  469. package/api/features/TaskHandlerResolver/TaskHandlerResolver.js.map +1 -0
  470. package/api/features/TaskHandlerResolver/abstractions.d.ts +17 -0
  471. package/api/features/TaskHandlerResolver/abstractions.js +5 -0
  472. package/api/features/TaskHandlerResolver/abstractions.js.map +1 -0
  473. package/api/features/TaskHandlerResolver/feature.d.ts +9 -0
  474. package/api/features/TaskHandlerResolver/feature.js +11 -0
  475. package/api/features/TaskHandlerResolver/feature.js.map +1 -0
  476. package/api/features/TaskHandlerResolver/index.d.ts +2 -0
  477. package/api/features/TaskHandlerResolver/index.js +2 -0
  478. package/api/features/TaskService/BackgroundTaskService.d.ts +42 -0
  479. package/api/features/TaskService/BackgroundTaskService.js +191 -0
  480. package/api/features/TaskService/BackgroundTaskService.js.map +1 -0
  481. package/api/features/TaskService/feature.d.ts +4 -0
  482. package/api/features/TaskService/feature.js +11 -0
  483. package/api/features/TaskService/feature.js.map +1 -0
  484. package/api/features/TaskService/index.d.ts +1 -0
  485. package/api/features/TaskService/index.js +1 -0
  486. package/api/features/TriggerTask/TriggerTaskUseCase.d.ts +9 -0
  487. package/api/features/TriggerTask/TriggerTaskUseCase.js +12 -0
  488. package/api/features/TriggerTask/TriggerTaskUseCase.js.map +1 -0
  489. package/api/features/TriggerTask/abstractions.d.ts +28 -0
  490. package/api/features/TriggerTask/abstractions.js +5 -0
  491. package/api/features/TriggerTask/abstractions.js.map +1 -0
  492. package/api/features/TriggerTask/feature.d.ts +4 -0
  493. package/api/features/TriggerTask/feature.js +13 -0
  494. package/api/features/TriggerTask/feature.js.map +1 -0
  495. package/api/features/TriggerTask/index.d.ts +2 -0
  496. package/api/features/TriggerTask/index.js +2 -0
  497. package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.d.ts +15 -0
  498. package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.js +26 -0
  499. package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.js.map +1 -0
  500. package/api/features/TriggerVisibleTask/abstractions.d.ts +17 -0
  501. package/api/features/TriggerVisibleTask/abstractions.js +5 -0
  502. package/api/features/TriggerVisibleTask/abstractions.js.map +1 -0
  503. package/api/features/TriggerVisibleTask/feature.d.ts +4 -0
  504. package/api/features/TriggerVisibleTask/feature.js +11 -0
  505. package/api/features/TriggerVisibleTask/feature.js.map +1 -0
  506. package/api/features/TriggerVisibleTask/index.d.ts +2 -0
  507. package/api/features/TriggerVisibleTask/index.js +2 -0
  508. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.d.ts +23 -0
  509. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js +67 -0
  510. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map +1 -0
  511. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +14 -0
  512. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +27 -0
  513. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  514. package/api/features/UpdateBackgroundTaskSettings/abstractions.d.ts +26 -0
  515. package/api/features/UpdateBackgroundTaskSettings/abstractions.js +6 -0
  516. package/api/features/UpdateBackgroundTaskSettings/abstractions.js.map +1 -0
  517. package/api/features/UpdateBackgroundTaskSettings/feature.d.ts +4 -0
  518. package/api/features/UpdateBackgroundTaskSettings/feature.js +13 -0
  519. package/api/features/UpdateBackgroundTaskSettings/feature.js.map +1 -0
  520. package/api/features/UpdateBackgroundTaskSettings/index.d.ts +2 -0
  521. package/api/features/UpdateBackgroundTaskSettings/index.js +2 -0
  522. package/api/features/UpdateBackgroundTaskSettings/schema.d.ts +4 -0
  523. package/api/features/UpdateBackgroundTaskSettings/schema.js +8 -0
  524. package/api/features/UpdateBackgroundTaskSettings/schema.js.map +1 -0
  525. package/api/features/UpdateTask/UpdateTaskUseCase.d.ts +17 -0
  526. package/api/features/UpdateTask/UpdateTaskUseCase.js +36 -0
  527. package/api/features/UpdateTask/UpdateTaskUseCase.js.map +1 -0
  528. package/api/features/UpdateTask/abstractions.d.ts +22 -0
  529. package/api/features/UpdateTask/abstractions.js +5 -0
  530. package/api/features/UpdateTask/abstractions.js.map +1 -0
  531. package/api/features/UpdateTask/feature.d.ts +4 -0
  532. package/api/features/UpdateTask/feature.js +11 -0
  533. package/api/features/UpdateTask/feature.js.map +1 -0
  534. package/api/features/UpdateTask/index.d.ts +2 -0
  535. package/api/features/UpdateTask/index.js +2 -0
  536. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.d.ts +12 -0
  537. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.js +19 -0
  538. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.js.map +1 -0
  539. package/api/features/UpdateTaskLog/abstractions.d.ts +16 -0
  540. package/api/features/UpdateTaskLog/abstractions.js +5 -0
  541. package/api/features/UpdateTaskLog/abstractions.js.map +1 -0
  542. package/api/features/UpdateTaskLog/feature.d.ts +4 -0
  543. package/api/features/UpdateTaskLog/feature.js +11 -0
  544. package/api/features/UpdateTaskLog/feature.js.map +1 -0
  545. package/api/features/UpdateTaskLog/index.d.ts +2 -0
  546. package/api/features/UpdateTaskLog/index.js +2 -0
  547. package/api/global.d.ts +1 -0
  548. package/api/global.js +1 -0
  549. package/api/graphql/BackgroundTasksGraphQLSchema.d.ts +29 -0
  550. package/api/graphql/BackgroundTasksGraphQLSchema.js +462 -0
  551. package/api/graphql/BackgroundTasksGraphQLSchema.js.map +1 -0
  552. package/api/graphql/checkPermissions.d.ts +7 -0
  553. package/api/graphql/checkPermissions.js +22 -0
  554. package/api/graphql/checkPermissions.js.map +1 -0
  555. package/api/graphql/utils.d.ts +9 -0
  556. package/api/graphql/utils.js +20 -0
  557. package/api/graphql/utils.js.map +1 -0
  558. package/api/handler/types.d.ts +21 -0
  559. package/api/handler/types.js +0 -0
  560. package/api/index.d.ts +21 -0
  561. package/api/index.js +20 -0
  562. package/api/models/BackgroundTaskSettingsModel.d.ts +8 -0
  563. package/api/models/BackgroundTaskSettingsModel.js +27 -0
  564. package/api/models/BackgroundTaskSettingsModel.js.map +1 -0
  565. package/api/permissions.d.ts +12 -0
  566. package/api/permissions.js +22 -0
  567. package/api/permissions.js.map +1 -0
  568. package/api/response/DatabaseResponse.d.ts +12 -0
  569. package/api/response/DatabaseResponse.js +127 -0
  570. package/api/response/DatabaseResponse.js.map +1 -0
  571. package/api/response/Response.d.ts +14 -0
  572. package/api/response/Response.js +91 -0
  573. package/api/response/Response.js.map +1 -0
  574. package/api/response/ResponseAbortedResult.d.ts +9 -0
  575. package/api/response/ResponseAbortedResult.js +12 -0
  576. package/api/response/ResponseAbortedResult.js.map +1 -0
  577. package/api/response/ResponseContinueResult.d.ts +17 -0
  578. package/api/response/ResponseContinueResult.js +16 -0
  579. package/api/response/ResponseContinueResult.js.map +1 -0
  580. package/api/response/ResponseDoneResult.d.ts +11 -0
  581. package/api/response/ResponseDoneResult.js +14 -0
  582. package/api/response/ResponseDoneResult.js.map +1 -0
  583. package/api/response/ResponseErrorResult.d.ts +10 -0
  584. package/api/response/ResponseErrorResult.js +13 -0
  585. package/api/response/ResponseErrorResult.js.map +1 -0
  586. package/api/response/TaskResponse.d.ts +12 -0
  587. package/api/response/TaskResponse.js +53 -0
  588. package/api/response/TaskResponse.js.map +1 -0
  589. package/api/response/abstractions/Response.d.ts +25 -0
  590. package/api/response/abstractions/Response.js +0 -0
  591. package/api/response/abstractions/ResponseAbortedResult.d.ts +5 -0
  592. package/api/response/abstractions/ResponseAbortedResult.js +0 -0
  593. package/api/response/abstractions/ResponseBaseResult.d.ts +7 -0
  594. package/api/response/abstractions/ResponseBaseResult.js +0 -0
  595. package/api/response/abstractions/ResponseContinueResult.d.ts +21 -0
  596. package/api/response/abstractions/ResponseContinueResult.js +0 -0
  597. package/api/response/abstractions/ResponseDoneResult.d.ts +13 -0
  598. package/api/response/abstractions/ResponseDoneResult.js +0 -0
  599. package/api/response/abstractions/ResponseErrorResult.d.ts +18 -0
  600. package/api/response/abstractions/ResponseErrorResult.js +0 -0
  601. package/api/response/abstractions/TaskResponse.d.ts +16 -0
  602. package/api/response/abstractions/TaskResponse.js +0 -0
  603. package/api/response/abstractions/index.d.ts +7 -0
  604. package/api/response/abstractions/index.js +7 -0
  605. package/api/response/index.d.ts +7 -0
  606. package/api/response/index.js +7 -0
  607. package/api/runner/TaskControl.d.ts +48 -0
  608. package/api/runner/TaskControl.js +186 -0
  609. package/api/runner/TaskControl.js.map +1 -0
  610. package/api/runner/TaskEventValidation.d.ts +5 -0
  611. package/api/runner/TaskEventValidation.js +20 -0
  612. package/api/runner/TaskEventValidation.js.map +1 -0
  613. package/api/runner/TaskManager.d.ts +22 -0
  614. package/api/runner/TaskManager.js +83 -0
  615. package/api/runner/TaskManager.js.map +1 -0
  616. package/api/runner/TaskManagerStore.d.ts +57 -0
  617. package/api/runner/TaskManagerStore.js +127 -0
  618. package/api/runner/TaskManagerStore.js.map +1 -0
  619. package/api/runner/TaskRunner.d.ts +25 -0
  620. package/api/runner/TaskRunner.js +86 -0
  621. package/api/runner/TaskRunner.js.map +1 -0
  622. package/api/runner/abstractions/TaskControl.d.ts +10 -0
  623. package/api/runner/abstractions/TaskControl.js +0 -0
  624. package/api/runner/abstractions/TaskEventValidation.d.ts +5 -0
  625. package/api/runner/abstractions/TaskEventValidation.js +0 -0
  626. package/api/runner/abstractions/TaskManager.d.ts +5 -0
  627. package/api/runner/abstractions/TaskManager.js +0 -0
  628. package/api/runner/abstractions/TaskManagerStore.d.ts +92 -0
  629. package/api/runner/abstractions/TaskManagerStore.js +0 -0
  630. package/api/runner/abstractions/TaskRunner.d.ts +13 -0
  631. package/api/runner/abstractions/TaskRunner.js +0 -0
  632. package/api/runner/abstractions/index.d.ts +5 -0
  633. package/api/runner/abstractions/index.js +5 -0
  634. package/api/runner/index.d.ts +1 -0
  635. package/api/runner/index.js +1 -0
  636. package/api/tasks/testingRunTask.d.ts +19 -0
  637. package/api/tasks/testingRunTask.js +25 -0
  638. package/api/tasks/testingRunTask.js.map +1 -0
  639. package/api/types.d.ts +120 -0
  640. package/api/types.js +20 -0
  641. package/api/types.js.map +1 -0
  642. package/api/utils/ObjectUpdater.d.ts +8 -0
  643. package/api/utils/ObjectUpdater.js +33 -0
  644. package/api/utils/ObjectUpdater.js.map +1 -0
  645. package/api/utils/getErrorProperties.d.ts +2 -0
  646. package/api/utils/getErrorProperties.js +9 -0
  647. package/api/utils/getErrorProperties.js.map +1 -0
  648. package/api/utils/getObjectProperties.d.ts +8 -0
  649. package/api/utils/getObjectProperties.js +11 -0
  650. package/api/utils/getObjectProperties.js.map +1 -0
  651. package/api/utils/index.d.ts +3 -0
  652. package/api/utils/index.js +3 -0
  653. package/api/utils/normalizeSelfCleanup.d.ts +2 -0
  654. package/api/utils/normalizeSelfCleanup.js +16 -0
  655. package/api/utils/normalizeSelfCleanup.js.map +1 -0
  656. package/index.d.ts +2 -0
  657. package/index.js +2 -0
  658. package/package.json +65 -0
  659. package/testing/index.d.ts +3 -0
  660. package/testing/index.js +2 -0
  661. package/testing/mockTaskTriggerTransportPlugin.d.ts +2 -0
  662. package/testing/mockTaskTriggerTransportPlugin.js +18 -0
  663. package/testing/mockTaskTriggerTransportPlugin.js.map +1 -0
  664. package/testing/runner.d.ts +19 -0
  665. package/testing/runner.js +44 -0
  666. package/testing/runner.js.map +1 -0
package/api/index.js ADDED
@@ -0,0 +1,20 @@
1
+ export * from "./response/index.js";
2
+ export * from "./types.js";
3
+ export { TaskService } from "./domain/TaskService.js";
4
+ export { BackgroundTasksFeature } from "./BackgroundTasksFeature.js";
5
+ export { BackgroundTasksGraphQLSchema } from "./graphql/BackgroundTasksGraphQLSchema.js";
6
+ export { TriggerTaskUseCase } from "./features/TriggerTask/abstractions.js";
7
+ export { AbortTaskUseCase } from "./features/AbortTask/abstractions.js";
8
+ export { GetTaskUseCase } from "./features/GetTask/abstractions.js";
9
+ export { ListTasksUseCase } from "./features/ListTasks/abstractions.js";
10
+ export { CreateTaskUseCase } from "./features/CreateTask/abstractions.js";
11
+ export { UpdateTaskUseCase } from "./features/UpdateTask/abstractions.js";
12
+ export { DeleteTaskUseCase } from "./features/DeleteTask/abstractions.js";
13
+ export { CreateTaskLogUseCase } from "./features/CreateTaskLog/abstractions.js";
14
+ export { UpdateTaskLogUseCase } from "./features/UpdateTaskLog/abstractions.js";
15
+ export { DeleteTaskLogUseCase } from "./features/DeleteTaskLog/abstractions.js";
16
+ export { GetLatestTaskLogUseCase } from "./features/GetLatestTaskLog/abstractions.js";
17
+ export { ListTaskLogsUseCase } from "./features/ListTaskLogs/abstractions.js";
18
+ export { GetRunnableTaskDefinitionUseCase } from "./features/GetRunnableTaskDefinition/abstractions.js";
19
+ export { TaskNotFoundError } from "./domain/errors.js";
20
+ export { CleanupTaskSubtreeUseCase } from "./features/CleanupTaskSubtree/abstractions.js";
@@ -0,0 +1,8 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ declare class BackgroundTaskSettingsModelFactory implements ModelFactory.Interface {
3
+ execute(builder: ModelFactory.Builder): Promise<import("@webiny/api-headless-cms/features/modelBuilder/index.js").PublicModelBuilder[]>;
4
+ }
5
+ export declare const BackgroundTaskSettingsModel: typeof BackgroundTaskSettingsModelFactory & {
6
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-headless-cms/features/modelBuilder/abstractions").IModelFactory>;
7
+ };
8
+ export {};
@@ -0,0 +1,27 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ import { BACKGROUND_TASK_MAX_RETENTION_DAYS, BACKGROUND_TASK_SETTINGS_MODEL_ID } from "../domain/constants.js";
3
+ class BackgroundTaskSettingsModelFactory {
4
+ async execute(builder) {
5
+ const model = builder.public({
6
+ modelId: BACKGROUND_TASK_SETTINGS_MODEL_ID,
7
+ name: "Background Task Settings",
8
+ group: "hidden"
9
+ }).description("Global settings for the background tasks system.").titleFieldId("retentionDays").singularApiName("BackgroundTaskSettings").pluralApiName("BackgroundTaskSettings").tags([
10
+ "$publishing:false",
11
+ "$hidden:true"
12
+ ]).singleEntry();
13
+ model.fields((fields)=>({
14
+ retentionDays: fields.number().label("Retention (days)").gte(0, "Must be 0 or greater.").lte(BACKGROUND_TASK_MAX_RETENTION_DAYS, `Must be at most ${BACKGROUND_TASK_MAX_RETENTION_DAYS}.`).description(`How long to keep completed task runs. 0 = never delete. Max ${BACKGROUND_TASK_MAX_RETENTION_DAYS} days.`)
15
+ }));
16
+ return [
17
+ model
18
+ ];
19
+ }
20
+ }
21
+ const BackgroundTaskSettingsModel = ModelFactory.createImplementation({
22
+ implementation: BackgroundTaskSettingsModelFactory,
23
+ dependencies: []
24
+ });
25
+ export { BackgroundTaskSettingsModel };
26
+
27
+ //# sourceMappingURL=BackgroundTaskSettingsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/models/BackgroundTaskSettingsModel.js","sources":["../../../src/api/models/BackgroundTaskSettingsModel.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport {\n BACKGROUND_TASK_SETTINGS_MODEL_ID,\n BACKGROUND_TASK_MAX_RETENTION_DAYS\n} from \"~/api/domain/constants.js\";\n\nclass BackgroundTaskSettingsModelFactory implements ModelFactory.Interface {\n async execute(builder: ModelFactory.Builder) {\n const model = builder\n .public({\n modelId: BACKGROUND_TASK_SETTINGS_MODEL_ID,\n name: \"Background Task Settings\",\n group: \"hidden\"\n })\n .description(\"Global settings for the background tasks system.\")\n .titleFieldId(\"retentionDays\")\n .singularApiName(\"BackgroundTaskSettings\")\n .pluralApiName(\"BackgroundTaskSettings\")\n .tags([\"$publishing:false\", \"$hidden:true\"])\n .singleEntry();\n\n model.fields(fields => ({\n retentionDays: fields\n .number()\n .label(\"Retention (days)\")\n .gte(0, \"Must be 0 or greater.\")\n .lte(\n BACKGROUND_TASK_MAX_RETENTION_DAYS,\n `Must be at most ${BACKGROUND_TASK_MAX_RETENTION_DAYS}.`\n )\n .description(\n `How long to keep completed task runs. 0 = never delete. Max ${BACKGROUND_TASK_MAX_RETENTION_DAYS} days.`\n )\n }));\n\n return [model];\n }\n}\n\nexport const BackgroundTaskSettingsModel = ModelFactory.createImplementation({\n implementation: BackgroundTaskSettingsModelFactory,\n dependencies: []\n});\n"],"names":["BackgroundTaskSettingsModelFactory","builder","model","BACKGROUND_TASK_SETTINGS_MODEL_ID","fields","BACKGROUND_TASK_MAX_RETENTION_DAYS","BackgroundTaskSettingsModel","ModelFactory"],"mappings":";;AAMA,MAAMA;IACF,MAAM,QAAQC,OAA6B,EAAE;QACzC,MAAMC,QAAQD,QACT,MAAM,CAAC;YACJ,SAASE;YACT,MAAM;YACN,OAAO;QACX,GACC,WAAW,CAAC,oDACZ,YAAY,CAAC,iBACb,eAAe,CAAC,0BAChB,aAAa,CAAC,0BACd,IAAI,CAAC;YAAC;YAAqB;SAAe,EAC1C,WAAW;QAEhBD,MAAM,MAAM,CAACE,CAAAA,SAAW;gBACpB,eAAeA,OACV,MAAM,GACN,KAAK,CAAC,oBACN,GAAG,CAAC,GAAG,yBACP,GAAG,CACAC,oCACA,CAAC,gBAAgB,EAAEA,mCAAmC,CAAC,CAAC,EAE3D,WAAW,CACR,CAAC,4DAA4D,EAAEA,mCAAmC,MAAM,CAAC;YAErH;QAEA,OAAO;YAACH;SAAM;IAClB;AACJ;AAEO,MAAMI,8BAA8BC,aAAa,oBAAoB,CAAC;IACzE,gBAAgBP;IAChB,cAAc,EAAE;AACpB"}
@@ -0,0 +1,12 @@
1
+ export declare const BACKGROUND_TASK_PERMISSIONS_SCHEMA: {
2
+ readonly prefix: "backgroundTasks";
3
+ readonly fullAccess: true;
4
+ readonly entities: readonly [{
5
+ readonly id: "task";
6
+ readonly permission: "backgroundTasks.task";
7
+ readonly scopes: readonly ["full"];
8
+ readonly actions: readonly [{
9
+ readonly name: "rwd";
10
+ }];
11
+ }];
12
+ };
@@ -0,0 +1,22 @@
1
+ import { createPermissionSchema } from "@webiny/api-core/exports/api/security.js";
2
+ const BACKGROUND_TASK_PERMISSIONS_SCHEMA = createPermissionSchema({
3
+ prefix: "backgroundTasks",
4
+ fullAccess: true,
5
+ entities: [
6
+ {
7
+ id: "task",
8
+ permission: "backgroundTasks.task",
9
+ scopes: [
10
+ "full"
11
+ ],
12
+ actions: [
13
+ {
14
+ name: "rwd"
15
+ }
16
+ ]
17
+ }
18
+ ]
19
+ });
20
+ export { BACKGROUND_TASK_PERMISSIONS_SCHEMA };
21
+
22
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/permissions.js","sources":["../../src/api/permissions.ts"],"sourcesContent":["import { createPermissionSchema } from \"@webiny/api-core/exports/api/security.js\";\n\nexport const BACKGROUND_TASK_PERMISSIONS_SCHEMA = createPermissionSchema({\n prefix: \"backgroundTasks\",\n fullAccess: true,\n entities: [\n {\n id: \"task\",\n permission: \"backgroundTasks.task\",\n scopes: [\"full\"],\n actions: [{ name: \"rwd\" }]\n }\n ]\n});\n"],"names":["BACKGROUND_TASK_PERMISSIONS_SCHEMA","createPermissionSchema"],"mappings":";AAEO,MAAMA,qCAAqCC,uBAAuB;IACrE,QAAQ;IACR,YAAY;IACZ,UAAU;QACN;YACI,IAAI;YACJ,YAAY;YACZ,QAAQ;gBAAC;aAAO;YAChB,SAAS;gBAAC;oBAAE,MAAM;gBAAM;aAAE;QAC9B;KACH;AACL"}
@@ -0,0 +1,12 @@
1
+ import type { IResponse, IResponseAsync, IResponseContinueParams, IResponseContinueResult, IResponseDoneParams, IResponseDoneResult, IResponseErrorParams, IResponseErrorResult, IResponseResult } from "./abstractions/index.js";
2
+ import type { ITaskManagerStorePrivate } from "../../api/runner/abstractions/index.js";
3
+ export declare class DatabaseResponse implements IResponseAsync {
4
+ readonly response: IResponse;
5
+ private readonly store;
6
+ constructor(response: IResponse, store: ITaskManagerStorePrivate);
7
+ from(result: IResponseResult): Promise<IResponseResult>;
8
+ done(params: IResponseDoneParams): Promise<IResponseDoneResult>;
9
+ aborted(): Promise<import("~/api/types.js").IResponseAbortedResult>;
10
+ continue(params: IResponseContinueParams): Promise<IResponseContinueResult | IResponseErrorResult>;
11
+ error(params: IResponseErrorParams): Promise<IResponseErrorResult>;
12
+ }
@@ -0,0 +1,127 @@
1
+ import { TaskDataStatus } from "../types.js";
2
+ import { NotFoundError } from "@webiny/api-graphql";
3
+ import { getErrorProperties } from "../utils/getErrorProperties.js";
4
+ import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
5
+ class DatabaseResponse {
6
+ constructor(response, store){
7
+ this.response = response;
8
+ this.store = store;
9
+ }
10
+ from(result) {
11
+ switch(result.status){
12
+ case TaskResultStatus.DONE:
13
+ return this.done(result);
14
+ case TaskResultStatus.CONTINUE:
15
+ return this.continue(result);
16
+ case TaskResultStatus.ERROR:
17
+ return this.error(result);
18
+ case TaskResultStatus.ABORTED:
19
+ return this.aborted();
20
+ }
21
+ }
22
+ async done(params) {
23
+ const { output, ...rest } = params;
24
+ let message = params.message;
25
+ try {
26
+ await this.store.updateTask({
27
+ taskStatus: TaskDataStatus.SUCCESS,
28
+ finishedOn: new Date().toISOString(),
29
+ output
30
+ });
31
+ await this.store.addInfoLog({
32
+ message: message || "Task done."
33
+ });
34
+ await this.store.save();
35
+ } catch (ex) {
36
+ message = `Task done, but failed to update task log. (${ex.message || "unknown"})`;
37
+ }
38
+ return this.response.done({
39
+ ...rest,
40
+ message,
41
+ output
42
+ });
43
+ }
44
+ async aborted() {
45
+ return this.response.aborted();
46
+ }
47
+ async continue(params) {
48
+ try {
49
+ const task = this.store.getTask();
50
+ await this.store.updateTask({
51
+ input: {
52
+ ...task.input,
53
+ ...params.input
54
+ },
55
+ taskStatus: TaskDataStatus.RUNNING
56
+ });
57
+ await this.store.addInfoLog({
58
+ message: "Task continuing.",
59
+ data: params.input
60
+ });
61
+ await this.store.save();
62
+ } catch (ex) {
63
+ if (ex instanceof NotFoundError) return this.response.error({
64
+ error: {
65
+ message: ex.message || "Task not found.",
66
+ code: ex.code || "TASK_NOT_FOUND",
67
+ data: {
68
+ ...ex.data,
69
+ input: this.store.getInput()
70
+ }
71
+ }
72
+ });
73
+ return this.error({
74
+ error: {
75
+ message: `Failed to update task input: ${ex.message || "unknown error"}`,
76
+ code: ex.code || "TASK_UPDATE_ERROR"
77
+ }
78
+ });
79
+ }
80
+ return this.response.continue(params);
81
+ }
82
+ async error(params) {
83
+ const error = params.error instanceof Error ? getErrorProperties(params.error) : params.error;
84
+ try {
85
+ await this.store.updateTask({
86
+ taskStatus: TaskDataStatus.FAILED,
87
+ finishedOn: new Date().toISOString(),
88
+ output: {
89
+ error
90
+ }
91
+ });
92
+ await this.store.addErrorLog({
93
+ message: params.error.message,
94
+ data: this.store.getInput(),
95
+ error
96
+ });
97
+ await this.store.save();
98
+ } catch (ex) {
99
+ return this.response.error({
100
+ ...params,
101
+ error: {
102
+ ...error,
103
+ message: ex.message || error.message,
104
+ code: ex.code || error.code,
105
+ data: {
106
+ ...error.data,
107
+ ...ex.data,
108
+ input: this.store.getInput()
109
+ }
110
+ }
111
+ });
112
+ }
113
+ return this.response.error({
114
+ ...params,
115
+ error: {
116
+ ...params.error,
117
+ data: {
118
+ ...error.data,
119
+ input: this.store.getInput()
120
+ }
121
+ }
122
+ });
123
+ }
124
+ }
125
+ export { DatabaseResponse };
126
+
127
+ //# sourceMappingURL=DatabaseResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/response/DatabaseResponse.js","sources":["../../../src/api/response/DatabaseResponse.ts"],"sourcesContent":["import { TaskDataStatus } from \"~/api/types.js\";\nimport { NotFoundError } from \"@webiny/api-graphql\";\nimport type {\n IResponse,\n IResponseAsync,\n IResponseContinueParams,\n IResponseContinueResult,\n IResponseDoneParams,\n IResponseDoneResult,\n IResponseErrorParams,\n IResponseErrorResult,\n IResponseResult\n} from \"./abstractions/index.js\";\nimport type { ITaskManagerStorePrivate } from \"~/api/runner/abstractions/index.js\";\nimport { getErrorProperties } from \"~/api/utils/getErrorProperties.js\";\nimport { TaskResultStatus } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\n\nexport class DatabaseResponse implements IResponseAsync {\n public readonly response: IResponse;\n\n private readonly store: ITaskManagerStorePrivate;\n\n public constructor(response: IResponse, store: ITaskManagerStorePrivate) {\n this.response = response;\n this.store = store;\n }\n\n public from(result: IResponseResult): Promise<IResponseResult> {\n switch (result.status) {\n case TaskResultStatus.DONE:\n return this.done(result);\n case TaskResultStatus.CONTINUE:\n return this.continue(result);\n case TaskResultStatus.ERROR:\n return this.error(result);\n case TaskResultStatus.ABORTED:\n return this.aborted();\n }\n }\n\n public async done(params: IResponseDoneParams): Promise<IResponseDoneResult> {\n const { output, ...rest } = params;\n let message = params.message;\n try {\n await this.store.updateTask({\n taskStatus: TaskDataStatus.SUCCESS,\n finishedOn: new Date().toISOString(),\n output\n });\n await this.store.addInfoLog({\n message: message || \"Task done.\"\n });\n await this.store.save();\n } catch (ex) {\n message = `Task done, but failed to update task log. (${ex.message || \"unknown\"})`;\n }\n /**\n * Default behavior is to return the done response.\n */\n return this.response.done({\n ...rest,\n message,\n output\n });\n }\n\n public async aborted() {\n return this.response.aborted();\n }\n\n public async continue(\n params: IResponseContinueParams\n ): Promise<IResponseContinueResult | IResponseErrorResult> {\n try {\n const task = this.store.getTask();\n await this.store.updateTask({\n input: {\n ...task.input,\n ...params.input\n },\n taskStatus: TaskDataStatus.RUNNING\n });\n await this.store.addInfoLog({\n message: \"Task continuing.\",\n data: params.input\n });\n await this.store.save();\n } catch (ex) {\n /**\n * If task was not found, we just return the error.\n */\n if (ex instanceof NotFoundError) {\n return this.response.error({\n error: {\n message: ex.message || `Task not found.`,\n code: ex.code || \"TASK_NOT_FOUND\",\n data: {\n ...ex.data,\n input: this.store.getInput()\n }\n }\n });\n }\n /**\n * Otherwise, we store the error and return it...\n */\n return this.error({\n error: {\n message: `Failed to update task input: ${ex.message || \"unknown error\"}`,\n code: ex.code || \"TASK_UPDATE_ERROR\"\n }\n });\n }\n /**\n * Default behavior is to return the continue response.\n */\n return this.response.continue(params);\n }\n\n public async error(params: IResponseErrorParams): Promise<IResponseErrorResult> {\n const error =\n params.error instanceof Error ? getErrorProperties(params.error) : params.error;\n try {\n await this.store.updateTask({\n taskStatus: TaskDataStatus.FAILED,\n finishedOn: new Date().toISOString(),\n output: {\n error\n }\n });\n await this.store.addErrorLog({\n message: params.error.message,\n data: this.store.getInput(),\n error\n });\n await this.store.save();\n } catch (ex) {\n return this.response.error({\n ...params,\n error: {\n ...error,\n message: ex.message || error.message,\n code: ex.code || error.code,\n data: {\n ...error.data,\n ...ex.data,\n input: this.store.getInput()\n }\n }\n });\n }\n /**\n * Default behavior is to return the error response.\n */\n return this.response.error({\n ...params,\n error: {\n ...params.error,\n data: {\n ...error.data,\n input: this.store.getInput()\n }\n }\n });\n }\n}\n"],"names":["DatabaseResponse","response","store","result","TaskResultStatus","params","output","rest","message","TaskDataStatus","Date","ex","task","NotFoundError","error","Error","getErrorProperties"],"mappings":";;;;AAiBO,MAAMA;IAKT,YAAmBC,QAAmB,EAAEC,KAA+B,CAAE;QACrE,IAAI,CAAC,QAAQ,GAAGD;QAChB,IAAI,CAAC,KAAK,GAAGC;IACjB;IAEO,KAAKC,MAAuB,EAA4B;QAC3D,OAAQA,OAAO,MAAM;YACjB,KAAKC,iBAAiB,IAAI;gBACtB,OAAO,IAAI,CAAC,IAAI,CAACD;YACrB,KAAKC,iBAAiB,QAAQ;gBAC1B,OAAO,IAAI,CAAC,QAAQ,CAACD;YACzB,KAAKC,iBAAiB,KAAK;gBACvB,OAAO,IAAI,CAAC,KAAK,CAACD;YACtB,KAAKC,iBAAiB,OAAO;gBACzB,OAAO,IAAI,CAAC,OAAO;QAC3B;IACJ;IAEA,MAAa,KAAKC,MAA2B,EAAgC;QACzE,MAAM,EAAEC,MAAM,EAAE,GAAGC,MAAM,GAAGF;QAC5B,IAAIG,UAAUH,OAAO,OAAO;QAC5B,IAAI;YACA,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxB,YAAYI,eAAe,OAAO;gBAClC,YAAY,IAAIC,OAAO,WAAW;gBAClCJ;YACJ;YACA,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxB,SAASE,WAAW;YACxB;YACA,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI;QACzB,EAAE,OAAOG,IAAI;YACTH,UAAU,CAAC,2CAA2C,EAAEG,GAAG,OAAO,IAAI,UAAU,CAAC,CAAC;QACtF;QAIA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACtB,GAAGJ,IAAI;YACPC;YACAF;QACJ;IACJ;IAEA,MAAa,UAAU;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO;IAChC;IAEA,MAAa,SACTD,MAA+B,EACwB;QACvD,IAAI;YACA,MAAMO,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO;YAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxB,OAAO;oBACH,GAAGA,KAAK,KAAK;oBACb,GAAGP,OAAO,KAAK;gBACnB;gBACA,YAAYI,eAAe,OAAO;YACtC;YACA,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxB,SAAS;gBACT,MAAMJ,OAAO,KAAK;YACtB;YACA,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI;QACzB,EAAE,OAAOM,IAAI;YAIT,IAAIA,cAAcE,eACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACvB,OAAO;oBACH,SAASF,GAAG,OAAO,IAAI;oBACvB,MAAMA,GAAG,IAAI,IAAI;oBACjB,MAAM;wBACF,GAAGA,GAAG,IAAI;wBACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAC9B;gBACJ;YACJ;YAKJ,OAAO,IAAI,CAAC,KAAK,CAAC;gBACd,OAAO;oBACH,SAAS,CAAC,6BAA6B,EAAEA,GAAG,OAAO,IAAI,iBAAiB;oBACxE,MAAMA,GAAG,IAAI,IAAI;gBACrB;YACJ;QACJ;QAIA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAACN;IAClC;IAEA,MAAa,MAAMA,MAA4B,EAAiC;QAC5E,MAAMS,QACFT,OAAO,KAAK,YAAYU,QAAQC,mBAAmBX,OAAO,KAAK,IAAIA,OAAO,KAAK;QACnF,IAAI;YACA,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxB,YAAYI,eAAe,MAAM;gBACjC,YAAY,IAAIC,OAAO,WAAW;gBAClC,QAAQ;oBACJI;gBACJ;YACJ;YACA,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;gBACzB,SAAST,OAAO,KAAK,CAAC,OAAO;gBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACzBS;YACJ;YACA,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI;QACzB,EAAE,OAAOH,IAAI;YACT,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACvB,GAAGN,MAAM;gBACT,OAAO;oBACH,GAAGS,KAAK;oBACR,SAASH,GAAG,OAAO,IAAIG,MAAM,OAAO;oBACpC,MAAMH,GAAG,IAAI,IAAIG,MAAM,IAAI;oBAC3B,MAAM;wBACF,GAAGA,MAAM,IAAI;wBACb,GAAGH,GAAG,IAAI;wBACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAC9B;gBACJ;YACJ;QACJ;QAIA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACvB,GAAGN,MAAM;YACT,OAAO;gBACH,GAAGA,OAAO,KAAK;gBACf,MAAM;oBACF,GAAGS,MAAM,IAAI;oBACb,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC9B;YACJ;QACJ;IACJ;AACJ"}
@@ -0,0 +1,14 @@
1
+ import type { ITaskEvent } from "../../api/handler/types.js";
2
+ import type { IResponse, IResponseAbortedResult, IResponseContinueParams, IResponseContinueResult, IResponseDoneParams, IResponseDoneResult, IResponseErrorParams, IResponseErrorResult, IResponseFromParams, IResponseResult } from "./abstractions/index.js";
3
+ import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
4
+ export declare class Response implements IResponse {
5
+ private _event;
6
+ get event(): ITaskEvent;
7
+ constructor(event: ITaskEvent);
8
+ setEvent(event: ITaskEvent): void;
9
+ from(params: IResponseFromParams): IResponseResult;
10
+ continue(params: IResponseContinueParams): IResponseContinueResult;
11
+ done<O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput>(params?: IResponseDoneParams<O>): IResponseDoneResult<O>;
12
+ aborted(): IResponseAbortedResult;
13
+ error(params: IResponseErrorParams): IResponseErrorResult;
14
+ }
@@ -0,0 +1,91 @@
1
+ import object_sizeof from "object-sizeof";
2
+ import { ResponseContinueResult } from "./ResponseContinueResult.js";
3
+ import { ResponseDoneResult } from "./ResponseDoneResult.js";
4
+ import { ResponseErrorResult } from "./ResponseErrorResult.js";
5
+ import { ResponseAbortedResult } from "./ResponseAbortedResult.js";
6
+ import { getErrorProperties } from "../utils/getErrorProperties.js";
7
+ import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
8
+ const MAX_SIZE_BYTES = 237568;
9
+ const createMaxSizeOutput = ({ size })=>({
10
+ message: "Output size exceeds the maximum allowed size.",
11
+ size,
12
+ max: MAX_SIZE_BYTES
13
+ });
14
+ const getOutput = (output)=>{
15
+ if (!output || 0 === Object.keys(output).length) return;
16
+ let size = object_sizeof(output);
17
+ if (size > MAX_SIZE_BYTES) {
18
+ if (output.stack) {
19
+ delete output.stack;
20
+ size = object_sizeof(output);
21
+ if (size <= MAX_SIZE_BYTES) return output;
22
+ }
23
+ if (output.error?.stack) {
24
+ delete output.error.stack;
25
+ size = object_sizeof(output);
26
+ if (size <= MAX_SIZE_BYTES) return output;
27
+ }
28
+ return createMaxSizeOutput({
29
+ size
30
+ });
31
+ }
32
+ return output;
33
+ };
34
+ class Response {
35
+ get event() {
36
+ return this._event;
37
+ }
38
+ constructor(event){
39
+ this._event = event;
40
+ }
41
+ setEvent(event) {
42
+ this._event = event;
43
+ }
44
+ from(params) {
45
+ switch(params.status){
46
+ case TaskResultStatus.DONE:
47
+ return this.done(params);
48
+ case TaskResultStatus.CONTINUE:
49
+ return this.continue(params);
50
+ case TaskResultStatus.ERROR:
51
+ return this.error(params);
52
+ }
53
+ }
54
+ continue(params) {
55
+ return new ResponseContinueResult({
56
+ message: params.message,
57
+ input: params.input,
58
+ webinyTaskId: params?.webinyTaskId || this.event.webinyTaskId,
59
+ webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,
60
+ tenant: params?.tenant || this.event.tenant,
61
+ wait: params.wait
62
+ });
63
+ }
64
+ done(params) {
65
+ return new ResponseDoneResult({
66
+ webinyTaskId: params?.webinyTaskId || this.event.webinyTaskId,
67
+ webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,
68
+ tenant: params?.tenant || this.event.tenant,
69
+ message: params?.message,
70
+ output: getOutput(params?.output)
71
+ });
72
+ }
73
+ aborted() {
74
+ return new ResponseAbortedResult({
75
+ webinyTaskId: this.event.webinyTaskId,
76
+ webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,
77
+ tenant: this.event.tenant
78
+ });
79
+ }
80
+ error(params) {
81
+ return new ResponseErrorResult({
82
+ webinyTaskId: params.webinyTaskId || this.event.webinyTaskId,
83
+ webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,
84
+ tenant: params.tenant || this.event.tenant,
85
+ error: params.error instanceof Error ? getErrorProperties(params.error) : params.error
86
+ });
87
+ }
88
+ }
89
+ export { Response };
90
+
91
+ //# sourceMappingURL=Response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/response/Response.js","sources":["../../../src/api/response/Response.ts"],"sourcesContent":["import sizeOfObject from \"object-sizeof\";\n\nimport type { ITaskEvent } from \"~/api/handler/types.js\";\nimport type {\n IResponse,\n IResponseAbortedResult,\n IResponseContinueParams,\n IResponseContinueResult,\n IResponseDoneParams,\n IResponseDoneResult,\n IResponseErrorParams,\n IResponseErrorResult,\n IResponseFromParams,\n IResponseResult\n} from \"./abstractions/index.js\";\nimport { ResponseContinueResult } from \"~/api/response/ResponseContinueResult.js\";\nimport { ResponseDoneResult } from \"~/api/response/ResponseDoneResult.js\";\nimport { ResponseErrorResult } from \"~/api/response/ResponseErrorResult.js\";\nimport { ResponseAbortedResult } from \"./ResponseAbortedResult.js\";\nimport { getErrorProperties } from \"~/api/utils/getErrorProperties.js\";\nimport {\n TaskDefinition,\n TaskResultStatus\n} from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\n\n/**\n * Step Functions has a limit of 256KB for the output size.\n * We will set the max output to be 232KB to leave some room for the rest of the data.\n */\nconst MAX_SIZE_BYTES: number = 232 * 1024;\n\ninterface ICreateMaxSizeOutputParams {\n size: number;\n}\n\nconst createMaxSizeOutput = <O extends TaskDefinition.TaskOutput>({\n size\n}: ICreateMaxSizeOutputParams): O => {\n return {\n message: `Output size exceeds the maximum allowed size.`,\n size,\n max: MAX_SIZE_BYTES\n } as unknown as O;\n};\n/**\n * Figure out the size of the output object and remove the stack trace if the size exceeds the maximum allowed size.\n * If the size is still greater than the maximum allowed size, just return the message that the output size exceeds the maximum allowed size.\n */\nconst getOutput = <O extends TaskDefinition.TaskOutput>(output?: O): O | undefined => {\n if (!output || Object.keys(output).length === 0) {\n return undefined;\n }\n let size = sizeOfObject(output);\n if (size > MAX_SIZE_BYTES) {\n if (output.stack) {\n delete output.stack;\n size = sizeOfObject(output);\n if (size <= MAX_SIZE_BYTES) {\n return output;\n }\n }\n if (output.error?.stack) {\n delete output.error.stack;\n size = sizeOfObject(output);\n if (size <= MAX_SIZE_BYTES) {\n return output;\n }\n }\n return createMaxSizeOutput<O>({ size });\n }\n return output;\n};\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 TaskResultStatus.DONE:\n return this.done(params);\n case TaskResultStatus.CONTINUE:\n return this.continue(params);\n case TaskResultStatus.ERROR:\n return this.error(params);\n }\n }\n\n public continue(params: IResponseContinueParams): IResponseContinueResult {\n return new ResponseContinueResult({\n message: params.message,\n input: params.input,\n webinyTaskId: params?.webinyTaskId || this.event.webinyTaskId,\n webinyTaskDefinitionId: this.event.webinyTaskDefinitionId,\n tenant: params?.tenant || this.event.tenant,\n wait: params.wait\n });\n }\n\n public done<O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput>(\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 message: params?.message,\n output: getOutput<O>(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 });\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 error: params.error instanceof Error ? getErrorProperties(params.error) : params.error\n });\n }\n}\n"],"names":["MAX_SIZE_BYTES","createMaxSizeOutput","size","getOutput","output","Object","sizeOfObject","Response","event","params","TaskResultStatus","ResponseContinueResult","ResponseDoneResult","ResponseAbortedResult","ResponseErrorResult","Error","getErrorProperties"],"mappings":";;;;;;;AA6BA,MAAMA,iBAAyB;AAM/B,MAAMC,sBAAsB,CAAsC,EAC9DC,IAAI,EACqB,GAClB;QACH,SAAS;QACTA;QACA,KAAKF;IACT;AAMJ,MAAMG,YAAY,CAAsCC;IACpD,IAAI,CAACA,UAAUC,AAA+B,MAA/BA,OAAO,IAAI,CAACD,QAAQ,MAAM,EACrC;IAEJ,IAAIF,OAAOI,cAAaF;IACxB,IAAIF,OAAOF,gBAAgB;QACvB,IAAII,OAAO,KAAK,EAAE;YACd,OAAOA,OAAO,KAAK;YACnBF,OAAOI,cAAaF;YACpB,IAAIF,QAAQF,gBACR,OAAOI;QAEf;QACA,IAAIA,OAAO,KAAK,EAAE,OAAO;YACrB,OAAOA,OAAO,KAAK,CAAC,KAAK;YACzBF,OAAOI,cAAaF;YACpB,IAAIF,QAAQF,gBACR,OAAOI;QAEf;QACA,OAAOH,oBAAuB;YAAEC;QAAK;IACzC;IACA,OAAOE;AACX;AAEO,MAAMG;IAGT,IAAW,QAAoB;QAC3B,OAAO,IAAI,CAAC,MAAM;IACtB;IAEA,YAAmBC,KAAiB,CAAE;QAClC,IAAI,CAAC,MAAM,GAAGA;IAClB;IAEO,SAASA,KAAiB,EAAE;QAC/B,IAAI,CAAC,MAAM,GAAGA;IAClB;IAEO,KAAKC,MAA2B,EAAmB;QACtD,OAAQA,OAAO,MAAM;YACjB,KAAKC,iBAAiB,IAAI;gBACtB,OAAO,IAAI,CAAC,IAAI,CAACD;YACrB,KAAKC,iBAAiB,QAAQ;gBAC1B,OAAO,IAAI,CAAC,QAAQ,CAACD;YACzB,KAAKC,iBAAiB,KAAK;gBACvB,OAAO,IAAI,CAAC,KAAK,CAACD;QAC1B;IACJ;IAEO,SAASA,MAA+B,EAA2B;QACtE,OAAO,IAAIE,uBAAuB;YAC9B,SAASF,OAAO,OAAO;YACvB,OAAOA,OAAO,KAAK;YACnB,cAAcA,QAAQ,gBAAgB,IAAI,CAAC,KAAK,CAAC,YAAY;YAC7D,wBAAwB,IAAI,CAAC,KAAK,CAAC,sBAAsB;YACzD,QAAQA,QAAQ,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM;YAC3C,MAAMA,OAAO,IAAI;QACrB;IACJ;IAEO,KACHA,MAA+B,EACT;QACtB,OAAO,IAAIG,mBAAsB;YAC7B,cAAcH,QAAQ,gBAAgB,IAAI,CAAC,KAAK,CAAC,YAAY;YAC7D,wBAAwB,IAAI,CAAC,KAAK,CAAC,sBAAsB;YACzD,QAAQA,QAAQ,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM;YAC3C,SAASA,QAAQ;YACjB,QAAQN,UAAaM,QAAQ;QACjC;IACJ;IAEO,UAAkC;QACrC,OAAO,IAAII,sBAAsB;YAC7B,cAAc,IAAI,CAAC,KAAK,CAAC,YAAY;YACrC,wBAAwB,IAAI,CAAC,KAAK,CAAC,sBAAsB;YACzD,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM;QAC7B;IACJ;IAEO,MAAMJ,MAA4B,EAAwB;QAC7D,OAAO,IAAIK,oBAAoB;YAC3B,cAAcL,OAAO,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY;YAC5D,wBAAwB,IAAI,CAAC,KAAK,CAAC,sBAAsB;YACzD,QAAQA,OAAO,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;YAC1C,OAAOA,OAAO,KAAK,YAAYM,QAAQC,mBAAmBP,OAAO,KAAK,IAAIA,OAAO,KAAK;QAC1F;IACJ;AACJ"}
@@ -0,0 +1,9 @@
1
+ import type { IResponseAbortedResult } from "./abstractions/index.js";
2
+ import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
3
+ export declare class ResponseAbortedResult implements IResponseAbortedResult {
4
+ readonly webinyTaskId: string;
5
+ readonly webinyTaskDefinitionId: string;
6
+ readonly tenant: string;
7
+ readonly status: TaskResultStatus.ABORTED;
8
+ constructor(params: Omit<IResponseAbortedResult, "status">);
9
+ }
@@ -0,0 +1,12 @@
1
+ import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ class ResponseAbortedResult {
3
+ constructor(params){
4
+ this.status = TaskResultStatus.ABORTED;
5
+ this.webinyTaskId = params.webinyTaskId;
6
+ this.webinyTaskDefinitionId = params.webinyTaskDefinitionId;
7
+ this.tenant = params.tenant;
8
+ }
9
+ }
10
+ export { ResponseAbortedResult };
11
+
12
+ //# sourceMappingURL=ResponseAbortedResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/response/ResponseAbortedResult.js","sources":["../../../src/api/response/ResponseAbortedResult.ts"],"sourcesContent":["import type { IResponseAbortedResult } from \"./abstractions/index.js\";\nimport { TaskResultStatus } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\n\nexport class ResponseAbortedResult implements IResponseAbortedResult {\n public readonly webinyTaskId: string;\n public readonly webinyTaskDefinitionId: string;\n public readonly tenant: string;\n public readonly status: TaskResultStatus.ABORTED = TaskResultStatus.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 }\n}\n"],"names":["ResponseAbortedResult","params","TaskResultStatus"],"mappings":";AAGO,MAAMA;IAMT,YAAmBC,MAA8C,CAAE;aAFnD,MAAM,GAA6BC,iBAAiB,OAAO;QAGvE,IAAI,CAAC,YAAY,GAAGD,OAAO,YAAY;QACvC,IAAI,CAAC,sBAAsB,GAAGA,OAAO,sBAAsB;QAC3D,IAAI,CAAC,MAAM,GAAGA,OAAO,MAAM;IAC/B;AACJ"}
@@ -0,0 +1,17 @@
1
+ import type { ITaskDataInput } from "../../api/types.js";
2
+ import type { IResponseContinueResult } from "./abstractions/index.js";
3
+ import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
4
+ export declare class ResponseContinueResult<T = ITaskDataInput> implements IResponseContinueResult<T> {
5
+ readonly message?: string | undefined;
6
+ readonly webinyTaskId: string;
7
+ readonly webinyTaskDefinitionId: string;
8
+ readonly tenant: string;
9
+ readonly status: TaskResultStatus.CONTINUE;
10
+ readonly input: T;
11
+ /**
12
+ * We need this to make sure that the task will not use the delay from the previous iteration.
13
+ */
14
+ readonly delay = -1;
15
+ readonly wait?: number;
16
+ constructor(params: Omit<IResponseContinueResult<T>, "delay" | "status">);
17
+ }
@@ -0,0 +1,16 @@
1
+ import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ class ResponseContinueResult {
3
+ constructor(params){
4
+ this.status = TaskResultStatus.CONTINUE;
5
+ this.delay = -1;
6
+ this.message = params.message;
7
+ this.webinyTaskId = params.webinyTaskId;
8
+ this.webinyTaskDefinitionId = params.webinyTaskDefinitionId;
9
+ this.tenant = params.tenant;
10
+ this.input = params.input;
11
+ this.wait = params.wait;
12
+ }
13
+ }
14
+ export { ResponseContinueResult };
15
+
16
+ //# sourceMappingURL=ResponseContinueResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/response/ResponseContinueResult.js","sources":["../../../src/api/response/ResponseContinueResult.ts"],"sourcesContent":["import type { ITaskDataInput } from \"~/api/types.js\";\nimport type { IResponseContinueResult } from \"./abstractions/index.js\";\nimport { TaskResultStatus } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\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 status: TaskResultStatus.CONTINUE = TaskResultStatus.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.input = params.input;\n this.wait = params.wait;\n }\n}\n"],"names":["ResponseContinueResult","params","TaskResultStatus"],"mappings":";AAIO,MAAMA;IAaT,YAAmBC,MAA4D,CAAE;aARjE,MAAM,GAA8BC,iBAAiB,QAAQ;QAI5E,KACe,KAAK,GAAG;QAIpB,IAAI,CAAC,OAAO,GAAGD,OAAO,OAAO;QAC7B,IAAI,CAAC,YAAY,GAAGA,OAAO,YAAY;QACvC,IAAI,CAAC,sBAAsB,GAAGA,OAAO,sBAAsB;QAC3D,IAAI,CAAC,MAAM,GAAGA,OAAO,MAAM;QAC3B,IAAI,CAAC,KAAK,GAAGA,OAAO,KAAK;QACzB,IAAI,CAAC,IAAI,GAAGA,OAAO,IAAI;IAC3B;AACJ"}
@@ -0,0 +1,11 @@
1
+ import type { IResponseDoneResult } from "./abstractions/index.js";
2
+ import { TaskDefinition, TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
3
+ export declare class ResponseDoneResult<O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput> implements IResponseDoneResult<O> {
4
+ readonly message?: string | undefined;
5
+ readonly webinyTaskId: string;
6
+ readonly webinyTaskDefinitionId: string;
7
+ readonly tenant: string;
8
+ readonly output?: O;
9
+ readonly status: TaskResultStatus.DONE;
10
+ constructor(params: Omit<IResponseDoneResult<O>, "status">);
11
+ }
@@ -0,0 +1,14 @@
1
+ import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ class ResponseDoneResult {
3
+ constructor(params){
4
+ this.status = TaskResultStatus.DONE;
5
+ this.message = params.message;
6
+ this.webinyTaskId = params.webinyTaskId;
7
+ this.webinyTaskDefinitionId = params.webinyTaskDefinitionId;
8
+ this.tenant = params.tenant;
9
+ this.output = Object.keys(params.output || {}).length > 0 ? params.output : void 0;
10
+ }
11
+ }
12
+ export { ResponseDoneResult };
13
+
14
+ //# sourceMappingURL=ResponseDoneResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/response/ResponseDoneResult.js","sources":["../../../src/api/response/ResponseDoneResult.ts"],"sourcesContent":["import type { IResponseDoneResult } from \"./abstractions/index.js\";\nimport {\n TaskDefinition,\n TaskResultStatus\n} from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\n\nexport class ResponseDoneResult<\n O extends TaskDefinition.TaskOutput = TaskDefinition.TaskOutput\n> implements IResponseDoneResult<O> {\n public readonly message?: string | undefined;\n public readonly webinyTaskId: string;\n public readonly webinyTaskDefinitionId: string;\n public readonly tenant: string;\n public readonly output?: O;\n public readonly status: TaskResultStatus.DONE = TaskResultStatus.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.output = Object.keys(params.output || {}).length > 0 ? params.output : undefined;\n }\n}\n"],"names":["ResponseDoneResult","params","TaskResultStatus","Object","undefined"],"mappings":";AAMO,MAAMA;IAUT,YAAmBC,MAA8C,CAAE;aAFnD,MAAM,GAA0BC,iBAAiB,IAAI;QAGjE,IAAI,CAAC,OAAO,GAAGD,OAAO,OAAO;QAC7B,IAAI,CAAC,YAAY,GAAGA,OAAO,YAAY;QACvC,IAAI,CAAC,sBAAsB,GAAGA,OAAO,sBAAsB;QAC3D,IAAI,CAAC,MAAM,GAAGA,OAAO,MAAM;QAC3B,IAAI,CAAC,MAAM,GAAGE,OAAO,IAAI,CAACF,OAAO,MAAM,IAAI,CAAC,GAAG,MAAM,GAAG,IAAIA,OAAO,MAAM,GAAGG;IAChF;AACJ"}
@@ -0,0 +1,10 @@
1
+ import type { IResponseError, IResponseErrorResult } from "./abstractions/index.js";
2
+ import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
3
+ export declare class ResponseErrorResult implements IResponseErrorResult {
4
+ readonly webinyTaskId: string;
5
+ readonly webinyTaskDefinitionId: string;
6
+ readonly tenant: string;
7
+ readonly error: IResponseError;
8
+ readonly status: TaskResultStatus.ERROR;
9
+ constructor(params: Omit<IResponseErrorResult, "status">);
10
+ }
@@ -0,0 +1,13 @@
1
+ import { TaskResultStatus } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ class ResponseErrorResult {
3
+ constructor(params){
4
+ this.status = TaskResultStatus.ERROR;
5
+ this.webinyTaskId = params.webinyTaskId;
6
+ this.webinyTaskDefinitionId = params.webinyTaskDefinitionId;
7
+ this.tenant = params.tenant;
8
+ this.error = params.error;
9
+ }
10
+ }
11
+ export { ResponseErrorResult };
12
+
13
+ //# sourceMappingURL=ResponseErrorResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/response/ResponseErrorResult.js","sources":["../../../src/api/response/ResponseErrorResult.ts"],"sourcesContent":["import type { IResponseError, IResponseErrorResult } from \"./abstractions/index.js\";\nimport { TaskResultStatus } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\n\nexport class ResponseErrorResult implements IResponseErrorResult {\n public readonly webinyTaskId: string;\n public readonly webinyTaskDefinitionId: string;\n public readonly tenant: string;\n public readonly error: IResponseError;\n public readonly status: TaskResultStatus.ERROR = TaskResultStatus.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.error = params.error;\n }\n}\n"],"names":["ResponseErrorResult","params","TaskResultStatus"],"mappings":";AAGO,MAAMA;IAOT,YAAmBC,MAA4C,CAAE;aAFjD,MAAM,GAA2BC,iBAAiB,KAAK;QAGnE,IAAI,CAAC,YAAY,GAAGD,OAAO,YAAY;QACvC,IAAI,CAAC,sBAAsB,GAAGA,OAAO,sBAAsB;QAC3D,IAAI,CAAC,MAAM,GAAGA,OAAO,MAAM;QAC3B,IAAI,CAAC,KAAK,GAAGA,OAAO,KAAK;IAC7B;AACJ"}
@@ -0,0 +1,12 @@
1
+ import type { IResponse, IResponseError, ITaskResponse, ITaskResponseContinueOptions } from "./abstractions/index.js";
2
+ import type { ITaskDataInput } from "../../api/types.js";
3
+ import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
4
+ export declare class TaskResponse implements ITaskResponse {
5
+ private readonly response;
6
+ constructor(response: IResponse);
7
+ done<O extends TaskDefinition.ResultDone = TaskDefinition.ResultDone>(message?: string | O, output?: O): TaskDefinition.ResultDone<O>;
8
+ continue<T = ITaskDataInput>(input: T, options?: ITaskResponseContinueOptions): TaskDefinition.ResultContinue;
9
+ error(error: IResponseError | Error | string): TaskDefinition.ResultError;
10
+ aborted(): TaskDefinition.ResultAborted;
11
+ private getError;
12
+ }
@@ -0,0 +1,53 @@
1
+ import { getErrorProperties } from "../utils/getErrorProperties.js";
2
+ const MAX_WAITING_TIME = 30672000;
3
+ const getWaitingTime = (options)=>{
4
+ let waitingTime;
5
+ if (!options) return;
6
+ if ("seconds" in options) waitingTime = options.seconds;
7
+ else if ("date" in options) {
8
+ const now = new Date();
9
+ waitingTime = (options.date.getTime() - now.getTime()) / 1000;
10
+ }
11
+ if (!waitingTime || waitingTime < 0) return;
12
+ return waitingTime > MAX_WAITING_TIME ? MAX_WAITING_TIME : waitingTime;
13
+ };
14
+ class TaskResponse {
15
+ constructor(response){
16
+ this.response = response;
17
+ }
18
+ done(message, output) {
19
+ if ("object" == typeof message && !output) return this.response.done({
20
+ output: message
21
+ });
22
+ return this.response.done({
23
+ message: message,
24
+ output
25
+ });
26
+ }
27
+ continue(input, options) {
28
+ const wait = getWaitingTime(options);
29
+ if (!wait || wait < 1) return this.response.continue({
30
+ input: input
31
+ });
32
+ return this.response.continue({
33
+ input: input,
34
+ wait
35
+ });
36
+ }
37
+ error(error) {
38
+ return this.response.error({
39
+ error: this.getError(error)
40
+ });
41
+ }
42
+ aborted() {
43
+ return this.response.aborted();
44
+ }
45
+ getError(error) {
46
+ if (error instanceof Error) ;
47
+ else if ("string" == typeof error) return getErrorProperties(new Error(error));
48
+ return getErrorProperties(error);
49
+ }
50
+ }
51
+ export { TaskResponse };
52
+
53
+ //# sourceMappingURL=TaskResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/response/TaskResponse.js","sources":["../../../src/api/response/TaskResponse.ts"],"sourcesContent":["import type {\n IResponse,\n IResponseError,\n ITaskResponse,\n ITaskResponseContinueOptions\n} from \"./abstractions/index.js\";\nimport type { ITaskDataInput } from \"~/api/types.js\";\nimport { getErrorProperties } from \"~/api/utils/getErrorProperties.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\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 TaskDefinition.ResultDone = TaskDefinition.ResultDone>(\n message?: string | O,\n output?: O\n ): TaskDefinition.ResultDone<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 ): TaskDefinition.ResultContinue {\n const wait = getWaitingTime(options);\n if (!wait || wait < 1) {\n return this.response.continue({\n input: input as ITaskDataInput\n });\n }\n return this.response.continue({\n input: input as ITaskDataInput,\n wait\n });\n }\n\n public error(error: IResponseError | Error | string): TaskDefinition.ResultError {\n return this.response.error({\n error: this.getError(error)\n });\n }\n\n public aborted(): TaskDefinition.ResultAborted {\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 getErrorProperties(new Error(error));\n }\n return getErrorProperties(error);\n }\n}\n"],"names":["MAX_WAITING_TIME","getWaitingTime","options","waitingTime","now","Date","TaskResponse","response","message","output","input","wait","error","Error","getErrorProperties"],"mappings":";AAaA,MAAMA,mBAAmB;AAOzB,MAAMC,iBAAiB,CAACC;IACpB,IAAIC;IACJ,IAAI,CAACD,SACD;IAEJ,IAAI,aAAaA,SACbC,cAAcD,QAAQ,OAAO;SAC1B,IAAI,UAAUA,SAAS;QAC1B,MAAME,MAAM,IAAIC;QAChBF,cAAeD,AAAAA,CAAAA,QAAQ,IAAI,CAAC,OAAO,KAAKE,IAAI,OAAO,EAAC,IAAK;IAC7D;IACA,IAAI,CAACD,eAAeA,cAAc,GAC9B;IAEJ,OAAOA,cAAcH,mBAAmBA,mBAAmBG;AAC/D;AAEO,MAAMG;IAGT,YAAmBC,QAAmB,CAAE;QACpC,IAAI,CAAC,QAAQ,GAAGA;IACpB;IAEO,KACHC,OAAoB,EACpBC,MAAU,EACkB;QAC5B,IAAI,AAAmB,YAAnB,OAAOD,WAAwB,CAACC,QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACtB,QAAQD;QACZ;QAEJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAI;YACzB,SAASA;YACTC;QACJ;IACJ;IAEO,SACHC,KAAQ,EACRR,OAAsC,EACT;QAC7B,MAAMS,OAAOV,eAAeC;QAC5B,IAAI,CAACS,QAAQA,OAAO,GAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1B,OAAOD;QACX;QAEJ,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1B,OAAOA;YACPC;QACJ;IACJ;IAEO,MAAMC,KAAsC,EAA8B;QAC7E,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACvB,OAAO,IAAI,CAAC,QAAQ,CAACA;QACzB;IACJ;IAEO,UAAwC;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO;IAChC;IAEQ,SAASA,KAAsC,EAA0B;QAC7E,IAAIA,iBAAiBC;aAEd,IAAI,AAAiB,YAAjB,OAAOD,OACd,OAAOE,mBAAmB,IAAID,MAAMD;QAExC,OAAOE,mBAAmBF;IAC9B;AACJ"}