@webiny/background-tasks 0.0.0-unstable.7be00a75a9 → 0.0.0-unstable.9609e4e0c9

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 (529) hide show
  1. package/admin/BackgroundTaskRoutes.js +35 -15
  2. package/admin/BackgroundTaskRoutes.js.map +1 -1
  3. package/admin/BackgroundTasks.js +9 -0
  4. package/admin/BackgroundTasks.js.map +1 -1
  5. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.d.ts +12 -0
  6. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js +40 -0
  7. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js.map +1 -0
  8. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.d.ts +11 -0
  9. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js +18 -0
  10. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js.map +1 -0
  11. package/admin/features/getBackgroundTaskSettings/abstractions.d.ts +15 -0
  12. package/admin/features/getBackgroundTaskSettings/abstractions.js +6 -0
  13. package/admin/features/getBackgroundTaskSettings/abstractions.js.map +1 -0
  14. package/admin/features/getBackgroundTaskSettings/feature.d.ts +3 -0
  15. package/admin/features/getBackgroundTaskSettings/feature.js +19 -0
  16. package/admin/features/getBackgroundTaskSettings/feature.js.map +1 -0
  17. package/admin/features/getBackgroundTaskSettings/index.d.ts +3 -0
  18. package/admin/features/getBackgroundTaskSettings/index.js +2 -0
  19. package/admin/features/listLogs/ListLogsGateway.js +1 -1
  20. package/admin/features/listLogs/ListLogsGateway.js.map +1 -1
  21. package/admin/features/permissions/feature.d.ts +1 -1
  22. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.d.ts +12 -0
  23. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js +43 -0
  24. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js.map +1 -0
  25. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +11 -0
  26. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +18 -0
  27. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  28. package/admin/features/updateBackgroundTaskSettings/abstractions.d.ts +18 -0
  29. package/admin/features/updateBackgroundTaskSettings/abstractions.js +6 -0
  30. package/admin/features/updateBackgroundTaskSettings/abstractions.js.map +1 -0
  31. package/admin/features/updateBackgroundTaskSettings/feature.d.ts +3 -0
  32. package/admin/features/updateBackgroundTaskSettings/feature.js +19 -0
  33. package/admin/features/updateBackgroundTaskSettings/feature.js.map +1 -0
  34. package/admin/features/updateBackgroundTaskSettings/index.d.ts +3 -0
  35. package/admin/features/updateBackgroundTaskSettings/index.js +2 -0
  36. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.d.ts +21 -0
  37. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js +86 -0
  38. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js.map +1 -0
  39. package/admin/presentation/BackgroundTaskSettings/abstractions.d.ts +16 -0
  40. package/admin/presentation/BackgroundTaskSettings/abstractions.js +5 -0
  41. package/admin/presentation/BackgroundTaskSettings/abstractions.js.map +1 -0
  42. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.d.ts +2 -0
  43. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js +56 -0
  44. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js.map +1 -0
  45. package/admin/presentation/BackgroundTaskSettings/feature.d.ts +3 -0
  46. package/admin/presentation/BackgroundTaskSettings/feature.js +17 -0
  47. package/admin/presentation/BackgroundTaskSettings/feature.js.map +1 -0
  48. package/admin/presentation/BackgroundTaskSettings/index.d.ts +2 -0
  49. package/admin/presentation/BackgroundTaskSettings/index.js +2 -0
  50. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js +2 -1
  51. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js.map +1 -1
  52. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.d.ts +2 -0
  53. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js +16 -0
  54. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js.map +1 -0
  55. package/admin/presentation/TaskDetail/TaskDetailPresenter.js +1 -1
  56. package/admin/presentation/TaskDetail/TaskDetailPresenter.js.map +1 -1
  57. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js +6 -0
  58. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js.map +1 -1
  59. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js +1 -1
  60. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js.map +1 -1
  61. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.d.ts +2 -0
  62. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js +3 -1
  63. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js.map +1 -1
  64. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.d.ts +2 -0
  65. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js +16 -0
  66. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js.map +1 -0
  67. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js +78 -40
  68. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js.map +1 -1
  69. package/admin/routes.d.ts +1 -0
  70. package/admin/routes.js +4 -0
  71. package/admin/routes.js.map +1 -1
  72. package/admin/shared/types.d.ts +3 -0
  73. package/api/BackgroundTasksFeature.d.ts +4 -0
  74. package/api/BackgroundTasksFeature.js +79 -0
  75. package/api/BackgroundTasksFeature.js.map +1 -0
  76. package/api/abstractions/Timer.d.ts +1 -0
  77. package/api/abstractions/Timer.js +0 -0
  78. package/api/abstractions/index.d.ts +1 -0
  79. package/api/abstractions/index.js +1 -0
  80. package/api/crud/TaskLogPrivateModel.d.ts +9 -0
  81. package/api/crud/TaskLogPrivateModel.js +41 -0
  82. package/api/crud/TaskLogPrivateModel.js.map +1 -0
  83. package/api/crud/TaskPrivateModel.d.ts +9 -0
  84. package/api/crud/TaskPrivateModel.js +56 -0
  85. package/api/crud/TaskPrivateModel.js.map +1 -0
  86. package/api/decorators/SelfCleaningTaskHandlerDecorator.d.ts +33 -0
  87. package/api/decorators/SelfCleaningTaskHandlerDecorator.js +69 -0
  88. package/api/decorators/SelfCleaningTaskHandlerDecorator.js.map +1 -0
  89. package/api/decorators/TaskDefinitionDefaultsDecorator.d.ts +27 -0
  90. package/api/decorators/TaskDefinitionDefaultsDecorator.js +47 -0
  91. package/api/decorators/TaskDefinitionDefaultsDecorator.js.map +1 -0
  92. package/api/domain/BackgroundTaskSettings.d.ts +3 -0
  93. package/api/domain/BackgroundTaskSettings.js +0 -0
  94. package/api/domain/TaskService.d.ts +12 -0
  95. package/api/domain/TaskService.js +5 -0
  96. package/api/domain/TaskService.js.map +1 -0
  97. package/api/domain/constants.d.ts +3 -0
  98. package/api/domain/constants.js +6 -0
  99. package/api/domain/constants.js.map +1 -0
  100. package/api/domain/errors.d.ts +61 -0
  101. package/api/domain/errors.js +109 -0
  102. package/api/domain/errors.js.map +1 -0
  103. package/api/domain/task/TaskLogModelProvider.d.ts +12 -0
  104. package/api/domain/task/TaskLogModelProvider.js +23 -0
  105. package/api/domain/task/TaskLogModelProvider.js.map +1 -0
  106. package/api/domain/task/TaskLogsRepository.d.ts +34 -0
  107. package/api/domain/task/TaskLogsRepository.js +146 -0
  108. package/api/domain/task/TaskLogsRepository.js.map +1 -0
  109. package/api/domain/task/TaskModelProvider.d.ts +12 -0
  110. package/api/domain/task/TaskModelProvider.js +23 -0
  111. package/api/domain/task/TaskModelProvider.js.map +1 -0
  112. package/api/domain/task/TasksRepository.d.ts +37 -0
  113. package/api/domain/task/TasksRepository.js +126 -0
  114. package/api/domain/task/TasksRepository.js.map +1 -0
  115. package/api/domain/task/abstractions.d.ts +50 -0
  116. package/api/domain/task/abstractions.js +8 -0
  117. package/api/domain/task/abstractions.js.map +1 -0
  118. package/api/domain/task/createRevisionId.d.ts +1 -0
  119. package/api/domain/task/createRevisionId.js +8 -0
  120. package/api/domain/task/createRevisionId.js.map +1 -0
  121. package/api/domain/task/entryToTask.d.ts +3 -0
  122. package/api/domain/task/entryToTask.js +20 -0
  123. package/api/domain/task/entryToTask.js.map +1 -0
  124. package/api/domain/task/entryToTaskLog.d.ts +3 -0
  125. package/api/domain/task/entryToTaskLog.js +12 -0
  126. package/api/domain/task/entryToTaskLog.js.map +1 -0
  127. package/api/events/TaskAfterCreateEvent.d.ts +6 -0
  128. package/api/events/TaskAfterCreateEvent.js +13 -0
  129. package/api/events/TaskAfterCreateEvent.js.map +1 -0
  130. package/api/events/TaskAfterDeleteEvent.d.ts +6 -0
  131. package/api/events/TaskAfterDeleteEvent.js +13 -0
  132. package/api/events/TaskAfterDeleteEvent.js.map +1 -0
  133. package/api/events/TaskAfterUpdateEvent.d.ts +6 -0
  134. package/api/events/TaskAfterUpdateEvent.js +13 -0
  135. package/api/events/TaskAfterUpdateEvent.js.map +1 -0
  136. package/api/events/TaskBeforeCreateEvent.d.ts +6 -0
  137. package/api/events/TaskBeforeCreateEvent.js +13 -0
  138. package/api/events/TaskBeforeCreateEvent.js.map +1 -0
  139. package/api/events/TaskBeforeDeleteEvent.d.ts +6 -0
  140. package/api/events/TaskBeforeDeleteEvent.js +13 -0
  141. package/api/events/TaskBeforeDeleteEvent.js.map +1 -0
  142. package/api/events/TaskBeforeUpdateEvent.d.ts +6 -0
  143. package/api/events/TaskBeforeUpdateEvent.js +13 -0
  144. package/api/events/TaskBeforeUpdateEvent.js.map +1 -0
  145. package/api/events/abstractions.d.ts +53 -0
  146. package/api/events/abstractions.js +10 -0
  147. package/api/events/abstractions.js.map +1 -0
  148. package/api/events/index.d.ts +7 -0
  149. package/api/events/index.js +7 -0
  150. package/api/features/AbortTask/AbortTaskUseCase.d.ts +9 -0
  151. package/api/features/AbortTask/AbortTaskUseCase.js +12 -0
  152. package/api/features/AbortTask/AbortTaskUseCase.js.map +1 -0
  153. package/api/features/AbortTask/abstractions.d.ts +25 -0
  154. package/api/features/AbortTask/abstractions.js +5 -0
  155. package/api/features/AbortTask/abstractions.js.map +1 -0
  156. package/api/features/AbortTask/feature.d.ts +4 -0
  157. package/api/features/AbortTask/feature.js +13 -0
  158. package/api/features/AbortTask/feature.js.map +1 -0
  159. package/api/features/AbortTask/index.d.ts +2 -0
  160. package/api/features/AbortTask/index.js +2 -0
  161. package/api/features/BackgroundTaskPermissions/abstractions.d.ts +17 -0
  162. package/api/features/BackgroundTaskPermissions/abstractions.js +6 -0
  163. package/api/features/BackgroundTaskPermissions/abstractions.js.map +1 -0
  164. package/api/features/BackgroundTaskPermissions/feature.d.ts +4 -0
  165. package/api/features/BackgroundTaskPermissions/feature.js +7 -0
  166. package/api/features/BackgroundTaskPermissions/feature.js.map +1 -0
  167. package/api/features/BackgroundTaskPermissions/index.d.ts +2 -0
  168. package/api/features/BackgroundTaskPermissions/index.js +2 -0
  169. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +27 -0
  170. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +117 -0
  171. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -0
  172. package/api/features/CleanupTaskSubtree/abstractions.d.ts +7 -0
  173. package/api/features/CleanupTaskSubtree/abstractions.js +5 -0
  174. package/api/features/CleanupTaskSubtree/abstractions.js.map +1 -0
  175. package/api/features/CleanupTaskSubtree/feature.d.ts +4 -0
  176. package/api/features/CleanupTaskSubtree/feature.js +11 -0
  177. package/api/features/CleanupTaskSubtree/feature.js.map +1 -0
  178. package/api/features/CleanupTaskSubtree/index.d.ts +2 -0
  179. package/api/features/CleanupTaskSubtree/index.js +2 -0
  180. package/api/features/CreateTask/CreateTaskUseCase.d.ts +17 -0
  181. package/api/features/CreateTask/CreateTaskUseCase.js +56 -0
  182. package/api/features/CreateTask/CreateTaskUseCase.js.map +1 -0
  183. package/api/features/CreateTask/abstractions.d.ts +21 -0
  184. package/api/features/CreateTask/abstractions.js +5 -0
  185. package/api/features/CreateTask/abstractions.js.map +1 -0
  186. package/api/features/CreateTask/feature.d.ts +4 -0
  187. package/api/features/CreateTask/feature.js +11 -0
  188. package/api/features/CreateTask/feature.js.map +1 -0
  189. package/api/features/CreateTask/index.d.ts +2 -0
  190. package/api/features/CreateTask/index.js +2 -0
  191. package/api/features/CreateTaskLog/CreateTaskLogUseCase.d.ts +13 -0
  192. package/api/features/CreateTaskLog/CreateTaskLogUseCase.js +19 -0
  193. package/api/features/CreateTaskLog/CreateTaskLogUseCase.js.map +1 -0
  194. package/api/features/CreateTaskLog/abstractions.d.ts +16 -0
  195. package/api/features/CreateTaskLog/abstractions.js +5 -0
  196. package/api/features/CreateTaskLog/abstractions.js.map +1 -0
  197. package/api/features/CreateTaskLog/feature.d.ts +4 -0
  198. package/api/features/CreateTaskLog/feature.js +11 -0
  199. package/api/features/CreateTaskLog/feature.js.map +1 -0
  200. package/api/features/CreateTaskLog/index.d.ts +2 -0
  201. package/api/features/CreateTaskLog/index.js +2 -0
  202. package/api/features/DeleteTask/DeleteTaskUseCase.d.ts +14 -0
  203. package/api/features/DeleteTask/DeleteTaskUseCase.js +34 -0
  204. package/api/features/DeleteTask/DeleteTaskUseCase.js.map +1 -0
  205. package/api/features/DeleteTask/abstractions.d.ts +17 -0
  206. package/api/features/DeleteTask/abstractions.js +5 -0
  207. package/api/features/DeleteTask/abstractions.js.map +1 -0
  208. package/api/features/DeleteTask/feature.d.ts +4 -0
  209. package/api/features/DeleteTask/feature.js +11 -0
  210. package/api/features/DeleteTask/feature.js.map +1 -0
  211. package/api/features/DeleteTask/index.d.ts +2 -0
  212. package/api/features/DeleteTask/index.js +2 -0
  213. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.d.ts +11 -0
  214. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.js +19 -0
  215. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.js.map +1 -0
  216. package/api/features/DeleteTaskLog/abstractions.d.ts +14 -0
  217. package/api/features/DeleteTaskLog/abstractions.js +5 -0
  218. package/api/features/DeleteTaskLog/abstractions.js.map +1 -0
  219. package/api/features/DeleteTaskLog/feature.d.ts +4 -0
  220. package/api/features/DeleteTaskLog/feature.js +11 -0
  221. package/api/features/DeleteTaskLog/feature.js.map +1 -0
  222. package/api/features/DeleteTaskLog/index.d.ts +2 -0
  223. package/api/features/DeleteTaskLog/index.js +2 -0
  224. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.d.ts +21 -0
  225. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js +63 -0
  226. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js.map +1 -0
  227. package/api/features/GetBackgroundTaskSettings/abstractions.d.ts +13 -0
  228. package/api/features/GetBackgroundTaskSettings/abstractions.js +5 -0
  229. package/api/features/GetBackgroundTaskSettings/abstractions.js.map +1 -0
  230. package/api/features/GetBackgroundTaskSettings/feature.d.ts +4 -0
  231. package/api/features/GetBackgroundTaskSettings/feature.js +11 -0
  232. package/api/features/GetBackgroundTaskSettings/feature.js.map +1 -0
  233. package/api/features/GetBackgroundTaskSettings/index.d.ts +2 -0
  234. package/api/features/GetBackgroundTaskSettings/index.js +2 -0
  235. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.d.ts +11 -0
  236. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.js +19 -0
  237. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.js.map +1 -0
  238. package/api/features/GetLatestTaskLog/abstractions.d.ts +15 -0
  239. package/api/features/GetLatestTaskLog/abstractions.js +5 -0
  240. package/api/features/GetLatestTaskLog/abstractions.js.map +1 -0
  241. package/api/features/GetLatestTaskLog/feature.d.ts +4 -0
  242. package/api/features/GetLatestTaskLog/feature.js +11 -0
  243. package/api/features/GetLatestTaskLog/feature.js.map +1 -0
  244. package/api/features/GetLatestTaskLog/index.d.ts +2 -0
  245. package/api/features/GetLatestTaskLog/index.js +2 -0
  246. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.d.ts +13 -0
  247. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js +51 -0
  248. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js.map +1 -0
  249. package/api/features/GetRunnableTaskDefinition/abstractions.d.ts +17 -0
  250. package/api/features/GetRunnableTaskDefinition/abstractions.js +5 -0
  251. package/api/features/GetRunnableTaskDefinition/abstractions.js.map +1 -0
  252. package/api/features/GetRunnableTaskDefinition/feature.d.ts +4 -0
  253. package/api/features/GetRunnableTaskDefinition/feature.js +11 -0
  254. package/api/features/GetRunnableTaskDefinition/feature.js.map +1 -0
  255. package/api/features/GetRunnableTaskDefinition/index.d.ts +2 -0
  256. package/api/features/GetRunnableTaskDefinition/index.js +2 -0
  257. package/api/features/GetTask/GetTaskUseCase.d.ts +13 -0
  258. package/api/features/GetTask/GetTaskUseCase.js +19 -0
  259. package/api/features/GetTask/GetTaskUseCase.js.map +1 -0
  260. package/api/features/GetTask/abstractions.d.ts +17 -0
  261. package/api/features/GetTask/abstractions.js +5 -0
  262. package/api/features/GetTask/abstractions.js.map +1 -0
  263. package/api/features/GetTask/feature.d.ts +4 -0
  264. package/api/features/GetTask/feature.js +11 -0
  265. package/api/features/GetTask/feature.js.map +1 -0
  266. package/api/features/GetTask/index.d.ts +2 -0
  267. package/api/features/GetTask/index.js +2 -0
  268. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.d.ts +11 -0
  269. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js +24 -0
  270. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js.map +1 -0
  271. package/api/features/ListTaskDefinitions/abstractions.d.ts +9 -0
  272. package/api/features/ListTaskDefinitions/abstractions.js +5 -0
  273. package/api/features/ListTaskDefinitions/abstractions.js.map +1 -0
  274. package/api/features/ListTaskDefinitions/feature.d.ts +4 -0
  275. package/api/features/ListTaskDefinitions/feature.js +11 -0
  276. package/api/features/ListTaskDefinitions/feature.js.map +1 -0
  277. package/api/features/ListTaskDefinitions/index.d.ts +2 -0
  278. package/api/features/ListTaskDefinitions/index.js +2 -0
  279. package/api/features/ListTaskLogs/ListTaskLogsUseCase.d.ts +12 -0
  280. package/api/features/ListTaskLogs/ListTaskLogsUseCase.js +19 -0
  281. package/api/features/ListTaskLogs/ListTaskLogsUseCase.js.map +1 -0
  282. package/api/features/ListTaskLogs/abstractions.d.ts +15 -0
  283. package/api/features/ListTaskLogs/abstractions.js +5 -0
  284. package/api/features/ListTaskLogs/abstractions.js.map +1 -0
  285. package/api/features/ListTaskLogs/feature.d.ts +4 -0
  286. package/api/features/ListTaskLogs/feature.js +11 -0
  287. package/api/features/ListTaskLogs/feature.js.map +1 -0
  288. package/api/features/ListTaskLogs/index.d.ts +2 -0
  289. package/api/features/ListTaskLogs/index.js +2 -0
  290. package/api/features/ListTasks/ListTasksUseCase.d.ts +13 -0
  291. package/api/features/ListTasks/ListTasksUseCase.js +19 -0
  292. package/api/features/ListTasks/ListTasksUseCase.js.map +1 -0
  293. package/api/features/ListTasks/abstractions.d.ts +19 -0
  294. package/api/features/ListTasks/abstractions.js +5 -0
  295. package/api/features/ListTasks/abstractions.js.map +1 -0
  296. package/api/features/ListTasks/feature.d.ts +4 -0
  297. package/api/features/ListTasks/feature.js +11 -0
  298. package/api/features/ListTasks/feature.js.map +1 -0
  299. package/api/features/ListTasks/index.d.ts +2 -0
  300. package/api/features/ListTasks/index.js +2 -0
  301. package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.d.ts +11 -0
  302. package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.js +19 -0
  303. package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.js.map +1 -0
  304. package/api/features/ListVisibleTaskDefinitions/abstractions.d.ts +9 -0
  305. package/api/features/ListVisibleTaskDefinitions/abstractions.js +5 -0
  306. package/api/features/ListVisibleTaskDefinitions/abstractions.js.map +1 -0
  307. package/api/features/ListVisibleTaskDefinitions/feature.d.ts +4 -0
  308. package/api/features/ListVisibleTaskDefinitions/feature.js +11 -0
  309. package/api/features/ListVisibleTaskDefinitions/feature.js.map +1 -0
  310. package/api/features/ListVisibleTaskDefinitions/index.d.ts +2 -0
  311. package/api/features/ListVisibleTaskDefinitions/index.js +2 -0
  312. package/api/features/TaskController/TaskController.d.ts +49 -0
  313. package/api/features/TaskController/TaskController.js +71 -0
  314. package/api/features/TaskController/TaskController.js.map +1 -0
  315. package/api/features/TaskController/augmentation.d.ts +60 -0
  316. package/api/features/TaskController/augmentation.js +0 -0
  317. package/api/features/TaskController/index.d.ts +2 -0
  318. package/api/features/TaskController/index.js +2 -0
  319. package/api/features/TaskExecutionContext/TaskExecutionContext.d.ts +24 -0
  320. package/api/features/TaskExecutionContext/TaskExecutionContext.js +43 -0
  321. package/api/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -0
  322. package/api/features/TaskExecutionContext/abstractions.d.ts +26 -0
  323. package/api/features/TaskExecutionContext/abstractions.js +5 -0
  324. package/api/features/TaskExecutionContext/abstractions.js.map +1 -0
  325. package/api/features/TaskExecutionContext/feature.d.ts +4 -0
  326. package/api/features/TaskExecutionContext/feature.js +11 -0
  327. package/api/features/TaskExecutionContext/feature.js.map +1 -0
  328. package/api/features/TaskExecutionContext/index.d.ts +1 -0
  329. package/api/features/TaskExecutionContext/index.js +1 -0
  330. package/api/features/TaskHandlerResolver/TaskHandlerResolver.d.ts +12 -0
  331. package/api/features/TaskHandlerResolver/TaskHandlerResolver.js +19 -0
  332. package/api/features/TaskHandlerResolver/TaskHandlerResolver.js.map +1 -0
  333. package/api/features/TaskHandlerResolver/abstractions.d.ts +17 -0
  334. package/api/features/TaskHandlerResolver/abstractions.js +5 -0
  335. package/api/features/TaskHandlerResolver/abstractions.js.map +1 -0
  336. package/api/features/TaskHandlerResolver/feature.d.ts +9 -0
  337. package/api/features/TaskHandlerResolver/feature.js +11 -0
  338. package/api/features/TaskHandlerResolver/feature.js.map +1 -0
  339. package/api/features/TaskHandlerResolver/index.d.ts +2 -0
  340. package/api/features/TaskHandlerResolver/index.js +2 -0
  341. package/api/features/TaskService/BackgroundTaskService.d.ts +42 -0
  342. package/api/features/TaskService/BackgroundTaskService.js +191 -0
  343. package/api/features/TaskService/BackgroundTaskService.js.map +1 -0
  344. package/api/features/TaskService/feature.d.ts +4 -0
  345. package/api/features/TaskService/feature.js +11 -0
  346. package/api/features/TaskService/feature.js.map +1 -0
  347. package/api/features/TaskService/index.d.ts +1 -0
  348. package/api/features/TaskService/index.js +1 -0
  349. package/api/features/TriggerTask/TriggerTaskUseCase.d.ts +9 -0
  350. package/api/features/TriggerTask/TriggerTaskUseCase.js +12 -0
  351. package/api/features/TriggerTask/TriggerTaskUseCase.js.map +1 -0
  352. package/api/features/TriggerTask/abstractions.d.ts +28 -0
  353. package/api/features/TriggerTask/abstractions.js +5 -0
  354. package/api/features/TriggerTask/abstractions.js.map +1 -0
  355. package/api/features/TriggerTask/feature.d.ts +4 -0
  356. package/api/features/TriggerTask/feature.js +13 -0
  357. package/api/features/TriggerTask/feature.js.map +1 -0
  358. package/api/features/TriggerTask/index.d.ts +2 -0
  359. package/api/features/TriggerTask/index.js +2 -0
  360. package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.d.ts +15 -0
  361. package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.js +26 -0
  362. package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.js.map +1 -0
  363. package/api/features/TriggerVisibleTask/abstractions.d.ts +17 -0
  364. package/api/features/TriggerVisibleTask/abstractions.js +5 -0
  365. package/api/features/TriggerVisibleTask/abstractions.js.map +1 -0
  366. package/api/features/TriggerVisibleTask/feature.d.ts +4 -0
  367. package/api/features/TriggerVisibleTask/feature.js +11 -0
  368. package/api/features/TriggerVisibleTask/feature.js.map +1 -0
  369. package/api/features/TriggerVisibleTask/index.d.ts +2 -0
  370. package/api/features/TriggerVisibleTask/index.js +2 -0
  371. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.d.ts +23 -0
  372. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js +67 -0
  373. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map +1 -0
  374. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +14 -0
  375. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +27 -0
  376. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  377. package/api/features/UpdateBackgroundTaskSettings/abstractions.d.ts +26 -0
  378. package/api/features/UpdateBackgroundTaskSettings/abstractions.js +6 -0
  379. package/api/features/UpdateBackgroundTaskSettings/abstractions.js.map +1 -0
  380. package/api/features/UpdateBackgroundTaskSettings/feature.d.ts +4 -0
  381. package/api/features/UpdateBackgroundTaskSettings/feature.js +13 -0
  382. package/api/features/UpdateBackgroundTaskSettings/feature.js.map +1 -0
  383. package/api/features/UpdateBackgroundTaskSettings/index.d.ts +2 -0
  384. package/api/features/UpdateBackgroundTaskSettings/index.js +2 -0
  385. package/api/features/UpdateBackgroundTaskSettings/schema.d.ts +4 -0
  386. package/api/features/UpdateBackgroundTaskSettings/schema.js +8 -0
  387. package/api/features/UpdateBackgroundTaskSettings/schema.js.map +1 -0
  388. package/api/features/UpdateTask/UpdateTaskUseCase.d.ts +17 -0
  389. package/api/features/UpdateTask/UpdateTaskUseCase.js +36 -0
  390. package/api/features/UpdateTask/UpdateTaskUseCase.js.map +1 -0
  391. package/api/features/UpdateTask/abstractions.d.ts +22 -0
  392. package/api/features/UpdateTask/abstractions.js +5 -0
  393. package/api/features/UpdateTask/abstractions.js.map +1 -0
  394. package/api/features/UpdateTask/feature.d.ts +4 -0
  395. package/api/features/UpdateTask/feature.js +11 -0
  396. package/api/features/UpdateTask/feature.js.map +1 -0
  397. package/api/features/UpdateTask/index.d.ts +2 -0
  398. package/api/features/UpdateTask/index.js +2 -0
  399. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.d.ts +12 -0
  400. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.js +19 -0
  401. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.js.map +1 -0
  402. package/api/features/UpdateTaskLog/abstractions.d.ts +16 -0
  403. package/api/features/UpdateTaskLog/abstractions.js +5 -0
  404. package/api/features/UpdateTaskLog/abstractions.js.map +1 -0
  405. package/api/features/UpdateTaskLog/feature.d.ts +4 -0
  406. package/api/features/UpdateTaskLog/feature.js +11 -0
  407. package/api/features/UpdateTaskLog/feature.js.map +1 -0
  408. package/api/features/UpdateTaskLog/index.d.ts +2 -0
  409. package/api/features/UpdateTaskLog/index.js +2 -0
  410. package/api/global.d.ts +1 -0
  411. package/api/global.js +1 -0
  412. package/api/graphql/BackgroundTasksGraphQLSchema.d.ts +29 -0
  413. package/api/graphql/BackgroundTasksGraphQLSchema.js +462 -0
  414. package/api/graphql/BackgroundTasksGraphQLSchema.js.map +1 -0
  415. package/api/graphql/checkPermissions.d.ts +7 -0
  416. package/api/graphql/checkPermissions.js +22 -0
  417. package/api/graphql/checkPermissions.js.map +1 -0
  418. package/api/graphql/utils.d.ts +9 -0
  419. package/api/graphql/utils.js +20 -0
  420. package/api/graphql/utils.js.map +1 -0
  421. package/api/handler/types.d.ts +21 -0
  422. package/api/handler/types.js +0 -0
  423. package/api/index.d.ts +21 -0
  424. package/api/index.js +20 -0
  425. package/api/models/BackgroundTaskSettingsModel.d.ts +8 -0
  426. package/api/models/BackgroundTaskSettingsModel.js +27 -0
  427. package/api/models/BackgroundTaskSettingsModel.js.map +1 -0
  428. package/api/permissions.d.ts +12 -0
  429. package/api/permissions.js +22 -0
  430. package/api/permissions.js.map +1 -0
  431. package/api/response/DatabaseResponse.d.ts +12 -0
  432. package/api/response/DatabaseResponse.js +127 -0
  433. package/api/response/DatabaseResponse.js.map +1 -0
  434. package/api/response/Response.d.ts +14 -0
  435. package/api/response/Response.js +91 -0
  436. package/api/response/Response.js.map +1 -0
  437. package/api/response/ResponseAbortedResult.d.ts +9 -0
  438. package/api/response/ResponseAbortedResult.js +12 -0
  439. package/api/response/ResponseAbortedResult.js.map +1 -0
  440. package/api/response/ResponseContinueResult.d.ts +17 -0
  441. package/api/response/ResponseContinueResult.js +16 -0
  442. package/api/response/ResponseContinueResult.js.map +1 -0
  443. package/api/response/ResponseDoneResult.d.ts +11 -0
  444. package/api/response/ResponseDoneResult.js +14 -0
  445. package/api/response/ResponseDoneResult.js.map +1 -0
  446. package/api/response/ResponseErrorResult.d.ts +10 -0
  447. package/api/response/ResponseErrorResult.js +13 -0
  448. package/api/response/ResponseErrorResult.js.map +1 -0
  449. package/api/response/TaskResponse.d.ts +12 -0
  450. package/api/response/TaskResponse.js +53 -0
  451. package/api/response/TaskResponse.js.map +1 -0
  452. package/api/response/abstractions/Response.d.ts +25 -0
  453. package/api/response/abstractions/Response.js +0 -0
  454. package/api/response/abstractions/ResponseAbortedResult.d.ts +5 -0
  455. package/api/response/abstractions/ResponseAbortedResult.js +0 -0
  456. package/api/response/abstractions/ResponseBaseResult.d.ts +7 -0
  457. package/api/response/abstractions/ResponseBaseResult.js +0 -0
  458. package/api/response/abstractions/ResponseContinueResult.d.ts +21 -0
  459. package/api/response/abstractions/ResponseContinueResult.js +0 -0
  460. package/api/response/abstractions/ResponseDoneResult.d.ts +13 -0
  461. package/api/response/abstractions/ResponseDoneResult.js +0 -0
  462. package/api/response/abstractions/ResponseErrorResult.d.ts +18 -0
  463. package/api/response/abstractions/ResponseErrorResult.js +0 -0
  464. package/api/response/abstractions/TaskResponse.d.ts +16 -0
  465. package/api/response/abstractions/TaskResponse.js +0 -0
  466. package/api/response/abstractions/index.d.ts +7 -0
  467. package/api/response/abstractions/index.js +7 -0
  468. package/api/response/index.d.ts +7 -0
  469. package/api/response/index.js +7 -0
  470. package/api/runner/TaskControl.d.ts +48 -0
  471. package/api/runner/TaskControl.js +186 -0
  472. package/api/runner/TaskControl.js.map +1 -0
  473. package/api/runner/TaskEventValidation.d.ts +5 -0
  474. package/api/runner/TaskEventValidation.js +20 -0
  475. package/api/runner/TaskEventValidation.js.map +1 -0
  476. package/api/runner/TaskManager.d.ts +22 -0
  477. package/api/runner/TaskManager.js +83 -0
  478. package/api/runner/TaskManager.js.map +1 -0
  479. package/api/runner/TaskManagerStore.d.ts +57 -0
  480. package/api/runner/TaskManagerStore.js +127 -0
  481. package/api/runner/TaskManagerStore.js.map +1 -0
  482. package/api/runner/TaskRunner.d.ts +25 -0
  483. package/api/runner/TaskRunner.js +86 -0
  484. package/api/runner/TaskRunner.js.map +1 -0
  485. package/api/runner/abstractions/TaskControl.d.ts +10 -0
  486. package/api/runner/abstractions/TaskControl.js +0 -0
  487. package/api/runner/abstractions/TaskEventValidation.d.ts +5 -0
  488. package/api/runner/abstractions/TaskEventValidation.js +0 -0
  489. package/api/runner/abstractions/TaskManager.d.ts +5 -0
  490. package/api/runner/abstractions/TaskManager.js +0 -0
  491. package/api/runner/abstractions/TaskManagerStore.d.ts +92 -0
  492. package/api/runner/abstractions/TaskManagerStore.js +0 -0
  493. package/api/runner/abstractions/TaskRunner.d.ts +13 -0
  494. package/api/runner/abstractions/TaskRunner.js +0 -0
  495. package/api/runner/abstractions/index.d.ts +5 -0
  496. package/api/runner/abstractions/index.js +5 -0
  497. package/api/runner/index.d.ts +1 -0
  498. package/api/runner/index.js +1 -0
  499. package/api/tasks/testingRunTask.d.ts +19 -0
  500. package/api/tasks/testingRunTask.js +25 -0
  501. package/api/tasks/testingRunTask.js.map +1 -0
  502. package/api/types.d.ts +120 -0
  503. package/api/types.js +20 -0
  504. package/api/types.js.map +1 -0
  505. package/api/utils/ObjectUpdater.d.ts +8 -0
  506. package/api/utils/ObjectUpdater.js +33 -0
  507. package/api/utils/ObjectUpdater.js.map +1 -0
  508. package/api/utils/getErrorProperties.d.ts +2 -0
  509. package/api/utils/getErrorProperties.js +9 -0
  510. package/api/utils/getErrorProperties.js.map +1 -0
  511. package/api/utils/getObjectProperties.d.ts +8 -0
  512. package/api/utils/getObjectProperties.js +11 -0
  513. package/api/utils/getObjectProperties.js.map +1 -0
  514. package/api/utils/index.d.ts +3 -0
  515. package/api/utils/index.js +3 -0
  516. package/api/utils/normalizeSelfCleanup.d.ts +2 -0
  517. package/api/utils/normalizeSelfCleanup.js +16 -0
  518. package/api/utils/normalizeSelfCleanup.js.map +1 -0
  519. package/index.d.ts +1 -0
  520. package/index.js +1 -0
  521. package/package.json +32 -13
  522. package/testing/index.d.ts +3 -0
  523. package/testing/index.js +2 -0
  524. package/testing/mockTaskTriggerTransportPlugin.d.ts +2 -0
  525. package/testing/mockTaskTriggerTransportPlugin.js +18 -0
  526. package/testing/mockTaskTriggerTransportPlugin.js.map +1 -0
  527. package/testing/runner.d.ts +19 -0
  528. package/testing/runner.js +44 -0
  529. package/testing/runner.js.map +1 -0
@@ -0,0 +1,41 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ import { TaskLogItemType } from "../types.js";
3
+ const WEBINY_TASK_LOG_MODEL_ID = "wbyTaskLog";
4
+ class TaskLogPrivateModelImpl {
5
+ async execute(builder) {
6
+ return [
7
+ builder.private({
8
+ modelId: WEBINY_TASK_LOG_MODEL_ID,
9
+ name: "Webiny Task Log",
10
+ lifecycleEvents: false
11
+ }).fields((fields)=>({
12
+ executionName: fields.text().label("Execution Name"),
13
+ task: fields.text().label("Task").required("Task is required."),
14
+ iteration: fields.number().label("Iteration").required("Iteration is required."),
15
+ items: fields.object().label("Items").list().required("Items is required.").fields((fields)=>({
16
+ message: fields.text().label("Message").required("Message is required."),
17
+ createdOn: fields.datetime().label("Created On").required("Created On is required."),
18
+ type: fields.text().label("Type").required("Type is required.").predefinedValues([
19
+ {
20
+ value: TaskLogItemType.INFO,
21
+ label: "Info"
22
+ },
23
+ {
24
+ value: TaskLogItemType.ERROR,
25
+ label: "Error"
26
+ }
27
+ ]),
28
+ data: fields.json().label("Data"),
29
+ error: fields.json().label("Error")
30
+ }))
31
+ }))
32
+ ];
33
+ }
34
+ }
35
+ const TaskLogPrivateModel = ModelFactory.createImplementation({
36
+ implementation: TaskLogPrivateModelImpl,
37
+ dependencies: []
38
+ });
39
+ export { TaskLogPrivateModel, WEBINY_TASK_LOG_MODEL_ID };
40
+
41
+ //# sourceMappingURL=TaskLogPrivateModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/crud/TaskLogPrivateModel.js","sources":["../../../src/api/crud/TaskLogPrivateModel.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport { TaskLogItemType } from \"~/api/types.js\";\n\nexport const WEBINY_TASK_LOG_MODEL_ID = \"wbyTaskLog\";\n\nclass TaskLogPrivateModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: WEBINY_TASK_LOG_MODEL_ID,\n name: \"Webiny Task Log\",\n lifecycleEvents: false\n })\n .fields(fields => ({\n executionName: fields.text().label(\"Execution Name\"),\n task: fields.text().label(\"Task\").required(\"Task is required.\"),\n iteration: fields\n .number()\n .label(\"Iteration\")\n .required(\"Iteration is required.\"),\n items: fields\n .object()\n .label(\"Items\")\n .list()\n .required(\"Items is required.\")\n .fields(fields => ({\n message: fields\n .text()\n .label(\"Message\")\n .required(\"Message is required.\"),\n createdOn: fields\n .datetime()\n .label(\"Created On\")\n .required(\"Created On is required.\"),\n type: fields\n .text()\n .label(\"Type\")\n .required(\"Type is required.\")\n .predefinedValues([\n {\n value: TaskLogItemType.INFO,\n label: \"Info\"\n },\n {\n value: TaskLogItemType.ERROR,\n label: \"Error\"\n }\n ]),\n data: fields.json().label(\"Data\"),\n error: fields.json().label(\"Error\")\n }))\n }))\n ];\n }\n}\n\nexport const TaskLogPrivateModel = ModelFactory.createImplementation({\n implementation: TaskLogPrivateModelImpl,\n dependencies: []\n});\n"],"names":["WEBINY_TASK_LOG_MODEL_ID","TaskLogPrivateModelImpl","builder","fields","TaskLogItemType","TaskLogPrivateModel","ModelFactory"],"mappings":";;AAGO,MAAMA,2BAA2B;AAExC,MAAMC;IACF,MAAa,QAAQC,OAA6B,EAAE;QAChD,OAAO;YACHA,QACK,OAAO,CAAC;gBACL,SAASF;gBACT,MAAM;gBACN,iBAAiB;YACrB,GACC,MAAM,CAACG,CAAAA,SAAW;oBACf,eAAeA,OAAO,IAAI,GAAG,KAAK,CAAC;oBACnC,MAAMA,OAAO,IAAI,GAAG,KAAK,CAAC,QAAQ,QAAQ,CAAC;oBAC3C,WAAWA,OACN,MAAM,GACN,KAAK,CAAC,aACN,QAAQ,CAAC;oBACd,OAAOA,OACF,MAAM,GACN,KAAK,CAAC,SACN,IAAI,GACJ,QAAQ,CAAC,sBACT,MAAM,CAACA,CAAAA,SAAW;4BACf,SAASA,OACJ,IAAI,GACJ,KAAK,CAAC,WACN,QAAQ,CAAC;4BACd,WAAWA,OACN,QAAQ,GACR,KAAK,CAAC,cACN,QAAQ,CAAC;4BACd,MAAMA,OACD,IAAI,GACJ,KAAK,CAAC,QACN,QAAQ,CAAC,qBACT,gBAAgB,CAAC;gCACd;oCACI,OAAOC,gBAAgB,IAAI;oCAC3B,OAAO;gCACX;gCACA;oCACI,OAAOA,gBAAgB,KAAK;oCAC5B,OAAO;gCACX;6BACH;4BACL,MAAMD,OAAO,IAAI,GAAG,KAAK,CAAC;4BAC1B,OAAOA,OAAO,IAAI,GAAG,KAAK,CAAC;wBAC/B;gBACR;SACP;IACL;AACJ;AAEO,MAAME,sBAAsBC,aAAa,oBAAoB,CAAC;IACjE,gBAAgBL;IAChB,cAAc,EAAE;AACpB"}
@@ -0,0 +1,9 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ export declare const WEBINY_TASK_MODEL_ID = "wbyTask";
3
+ declare class TaskPrivateModelImpl implements ModelFactory.Interface {
4
+ execute(builder: ModelFactory.Builder): Promise<import("@webiny/api-headless-cms/features/modelBuilder/index.js").PrivateModelBuilder[]>;
5
+ }
6
+ export declare const TaskPrivateModel: typeof TaskPrivateModelImpl & {
7
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-headless-cms/features/modelBuilder/abstractions").IModelFactory>;
8
+ };
9
+ export {};
@@ -0,0 +1,56 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ import { TaskDataStatus } from "../types.js";
3
+ const WEBINY_TASK_MODEL_ID = "wbyTask";
4
+ class TaskPrivateModelImpl {
5
+ async execute(builder) {
6
+ return [
7
+ builder.private({
8
+ modelId: WEBINY_TASK_MODEL_ID,
9
+ name: "Webiny Task",
10
+ lifecycleEvents: false
11
+ }).fields((fields)=>({
12
+ name: fields.text().label("Name").required("Name is required."),
13
+ definitionId: fields.text().label("Definition ID").required("Definition ID is required."),
14
+ parentId: fields.text().label("Parent ID"),
15
+ executionName: fields.text().label("Execution Name"),
16
+ iterations: fields.number().label("Iterations"),
17
+ input: fields.json().label("Input"),
18
+ output: fields.json().label("Output"),
19
+ taskStatus: fields.text().label("Status").predefinedValues([
20
+ {
21
+ value: TaskDataStatus.PENDING,
22
+ label: "Pending"
23
+ },
24
+ {
25
+ value: TaskDataStatus.RUNNING,
26
+ label: "Running"
27
+ },
28
+ {
29
+ value: TaskDataStatus.FAILED,
30
+ label: "Failed"
31
+ },
32
+ {
33
+ value: TaskDataStatus.SUCCESS,
34
+ label: "Success"
35
+ },
36
+ {
37
+ value: TaskDataStatus.ABORTED,
38
+ label: "Aborted"
39
+ }
40
+ ]).settings({
41
+ defaultValue: TaskDataStatus.PENDING
42
+ }),
43
+ startedOn: fields.datetime().label("Started On"),
44
+ finishedOn: fields.datetime().label("Finished On"),
45
+ eventResponse: fields.json().label("Event Response")
46
+ }))
47
+ ];
48
+ }
49
+ }
50
+ const TaskPrivateModel = ModelFactory.createImplementation({
51
+ implementation: TaskPrivateModelImpl,
52
+ dependencies: []
53
+ });
54
+ export { TaskPrivateModel, WEBINY_TASK_MODEL_ID };
55
+
56
+ //# sourceMappingURL=TaskPrivateModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/crud/TaskPrivateModel.js","sources":["../../../src/api/crud/TaskPrivateModel.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\nimport { TaskDataStatus } from \"~/api/types.js\";\n\nexport const WEBINY_TASK_MODEL_ID = \"wbyTask\";\n\nclass TaskPrivateModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: WEBINY_TASK_MODEL_ID,\n name: \"Webiny Task\",\n lifecycleEvents: false\n })\n .fields(fields => ({\n name: fields.text().label(\"Name\").required(\"Name is required.\"),\n definitionId: fields\n .text()\n .label(\"Definition ID\")\n .required(\"Definition ID is required.\"),\n parentId: fields.text().label(\"Parent ID\"),\n executionName: fields.text().label(\"Execution Name\"),\n iterations: fields.number().label(\"Iterations\"),\n input: fields.json().label(\"Input\"),\n output: fields.json().label(\"Output\"),\n taskStatus: fields\n .text()\n .label(\"Status\")\n .predefinedValues([\n {\n value: TaskDataStatus.PENDING,\n label: \"Pending\"\n },\n {\n value: TaskDataStatus.RUNNING,\n label: \"Running\"\n },\n {\n value: TaskDataStatus.FAILED,\n label: \"Failed\"\n },\n {\n value: TaskDataStatus.SUCCESS,\n label: \"Success\"\n },\n {\n value: TaskDataStatus.ABORTED,\n label: \"Aborted\"\n }\n ])\n .settings({ defaultValue: TaskDataStatus.PENDING }),\n startedOn: fields.datetime().label(\"Started On\"),\n finishedOn: fields.datetime().label(\"Finished On\"),\n eventResponse: fields.json().label(\"Event Response\")\n }))\n ];\n }\n}\n\nexport const TaskPrivateModel = ModelFactory.createImplementation({\n implementation: TaskPrivateModelImpl,\n dependencies: []\n});\n"],"names":["WEBINY_TASK_MODEL_ID","TaskPrivateModelImpl","builder","fields","TaskDataStatus","TaskPrivateModel","ModelFactory"],"mappings":";;AAGO,MAAMA,uBAAuB;AAEpC,MAAMC;IACF,MAAa,QAAQC,OAA6B,EAAE;QAChD,OAAO;YACHA,QACK,OAAO,CAAC;gBACL,SAASF;gBACT,MAAM;gBACN,iBAAiB;YACrB,GACC,MAAM,CAACG,CAAAA,SAAW;oBACf,MAAMA,OAAO,IAAI,GAAG,KAAK,CAAC,QAAQ,QAAQ,CAAC;oBAC3C,cAAcA,OACT,IAAI,GACJ,KAAK,CAAC,iBACN,QAAQ,CAAC;oBACd,UAAUA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAC9B,eAAeA,OAAO,IAAI,GAAG,KAAK,CAAC;oBACnC,YAAYA,OAAO,MAAM,GAAG,KAAK,CAAC;oBAClC,OAAOA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAC3B,QAAQA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAC5B,YAAYA,OACP,IAAI,GACJ,KAAK,CAAC,UACN,gBAAgB,CAAC;wBACd;4BACI,OAAOC,eAAe,OAAO;4BAC7B,OAAO;wBACX;wBACA;4BACI,OAAOA,eAAe,OAAO;4BAC7B,OAAO;wBACX;wBACA;4BACI,OAAOA,eAAe,MAAM;4BAC5B,OAAO;wBACX;wBACA;4BACI,OAAOA,eAAe,OAAO;4BAC7B,OAAO;wBACX;wBACA;4BACI,OAAOA,eAAe,OAAO;4BAC7B,OAAO;wBACX;qBACH,EACA,QAAQ,CAAC;wBAAE,cAAcA,eAAe,OAAO;oBAAC;oBACrD,WAAWD,OAAO,QAAQ,GAAG,KAAK,CAAC;oBACnC,YAAYA,OAAO,QAAQ,GAAG,KAAK,CAAC;oBACpC,eAAeA,OAAO,IAAI,GAAG,KAAK,CAAC;gBACvC;SACP;IACL;AACJ;AAEO,MAAME,mBAAmBC,aAAa,oBAAoB,CAAC;IAC9D,gBAAgBL;IAChB,cAAc,EAAE;AACpB"}
@@ -0,0 +1,33 @@
1
+ import { TaskHandler } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ import { Logger } from "@webiny/api-core/features/logger/index.js";
3
+ import { CleanupTaskSubtreeUseCase } from "../../api/features/CleanupTaskSubtree/index.js";
4
+ type HookParams = TaskHandler.LifecycleHookParams;
5
+ /**
6
+ * Deletes a finished task, and its descendants, for the events its definition asked for.
7
+ *
8
+ * Registered against `TaskHandler`, so it wraps every task's handler. Which task it is wrapping, and
9
+ * whether that task wants cleaning up, both come from `params.definition` rather than from anything
10
+ * captured at construction: one decorator instance serves whichever handler is resolved.
11
+ *
12
+ * The user's hook runs first and its failure is swallowed, so a task that throws on the way out is
13
+ * still cleaned up. That is what the previous single-object implementation did.
14
+ */
15
+ export declare class SelfCleaningTaskHandlerDecoratorImpl implements TaskHandler.Interface {
16
+ private readonly cleanupTaskSubtree;
17
+ private readonly logger;
18
+ private readonly decoratee;
19
+ constructor(cleanupTaskSubtree: CleanupTaskSubtreeUseCase.Interface, logger: Logger.Interface, decoratee: TaskHandler.Interface);
20
+ get run(): (params: import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskRunParams<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>) => Promise<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskResult<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
21
+ get onBeforeTrigger(): ((params: import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskBeforeTriggerParams<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput>) => Promise<void>) | undefined;
22
+ get onMaxIterations(): ((params: import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskLifecycleHook<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>) => Promise<void>) | undefined;
23
+ get createInputValidation(): ((params: import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskCreateInputValidationParams) => import("@webiny/api/types").GenericRecord<PropertyKey, import("zod").Schema<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>> | import("zod").Schema<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>) | undefined;
24
+ get onDone(): (params: HookParams) => Promise<void>;
25
+ get onError(): (params: HookParams) => Promise<void>;
26
+ get onAbort(): (params: HookParams) => Promise<void>;
27
+ private cleanUpIfAsked;
28
+ private safeCall;
29
+ }
30
+ export declare const SelfCleaningTaskHandlerDecorator: typeof SelfCleaningTaskHandlerDecoratorImpl & {
31
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskHandler<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
32
+ };
33
+ export {};
@@ -0,0 +1,69 @@
1
+ import { TaskHandler } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ import { Logger } from "@webiny/api-core/features/logger/index.js";
3
+ import { normalizeSelfCleanup } from "../utils/normalizeSelfCleanup.js";
4
+ import { CleanupTaskSubtreeUseCase } from "../features/CleanupTaskSubtree/index.js";
5
+ import { getErrorProperties } from "../utils/getErrorProperties.js";
6
+ class SelfCleaningTaskHandlerDecoratorImpl {
7
+ constructor(cleanupTaskSubtree, logger, decoratee){
8
+ this.cleanupTaskSubtree = cleanupTaskSubtree;
9
+ this.logger = logger;
10
+ this.decoratee = decoratee;
11
+ }
12
+ get run() {
13
+ return this.decoratee.run.bind(this.decoratee);
14
+ }
15
+ get onBeforeTrigger() {
16
+ return this.decoratee.onBeforeTrigger?.bind(this.decoratee);
17
+ }
18
+ get onMaxIterations() {
19
+ return this.decoratee.onMaxIterations?.bind(this.decoratee);
20
+ }
21
+ get createInputValidation() {
22
+ return this.decoratee.createInputValidation?.bind(this.decoratee);
23
+ }
24
+ get onDone() {
25
+ return async (params)=>{
26
+ await this.safeCall(this.decoratee.onDone, params, "onDone");
27
+ await this.cleanUpIfAsked(params, "onSuccess");
28
+ };
29
+ }
30
+ get onError() {
31
+ return async (params)=>{
32
+ await this.safeCall(this.decoratee.onError, params, "onError");
33
+ await this.cleanUpIfAsked(params, "onError");
34
+ };
35
+ }
36
+ get onAbort() {
37
+ return async (params)=>{
38
+ await this.safeCall(this.decoratee.onAbort, params, "onAbort");
39
+ await this.cleanUpIfAsked(params, "onAbort");
40
+ };
41
+ }
42
+ async cleanUpIfAsked(params, event) {
43
+ const events = normalizeSelfCleanup(params.definition.selfCleanup);
44
+ if (!events.has(event)) return;
45
+ await this.cleanupTaskSubtree.execute(params.task.id);
46
+ }
47
+ async safeCall(hook, params, name) {
48
+ if (!hook) return;
49
+ try {
50
+ await hook.call(this.decoratee, params);
51
+ } catch (ex) {
52
+ this.logger.error({
53
+ error: getErrorProperties(ex),
54
+ taskId: params.task.id,
55
+ hook: name
56
+ }, "Error executing task lifecycle hook.");
57
+ }
58
+ }
59
+ }
60
+ const SelfCleaningTaskHandlerDecorator = TaskHandler.createDecorator({
61
+ decorator: SelfCleaningTaskHandlerDecoratorImpl,
62
+ dependencies: [
63
+ CleanupTaskSubtreeUseCase,
64
+ Logger
65
+ ]
66
+ });
67
+ export { SelfCleaningTaskHandlerDecorator, SelfCleaningTaskHandlerDecoratorImpl };
68
+
69
+ //# sourceMappingURL=SelfCleaningTaskHandlerDecorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/decorators/SelfCleaningTaskHandlerDecorator.js","sources":["../../../src/api/decorators/SelfCleaningTaskHandlerDecorator.ts"],"sourcesContent":["import { TaskHandler } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { Logger } from \"@webiny/api-core/features/logger/index.js\";\nimport { normalizeSelfCleanup } from \"~/api/utils/normalizeSelfCleanup.js\";\nimport { CleanupTaskSubtreeUseCase } from \"~/api/features/CleanupTaskSubtree/index.js\";\nimport { getErrorProperties } from \"~/api/utils/getErrorProperties.js\";\n\ntype HookParams = TaskHandler.LifecycleHookParams;\n\n/**\n * Deletes a finished task, and its descendants, for the events its definition asked for.\n *\n * Registered against `TaskHandler`, so it wraps every task's handler. Which task it is wrapping, and\n * whether that task wants cleaning up, both come from `params.definition` rather than from anything\n * captured at construction: one decorator instance serves whichever handler is resolved.\n *\n * The user's hook runs first and its failure is swallowed, so a task that throws on the way out is\n * still cleaned up. That is what the previous single-object implementation did.\n */\nexport class SelfCleaningTaskHandlerDecoratorImpl implements TaskHandler.Interface {\n public constructor(\n private readonly cleanupTaskSubtree: CleanupTaskSubtreeUseCase.Interface,\n private readonly logger: Logger.Interface,\n private readonly decoratee: TaskHandler.Interface\n ) {}\n\n get run() {\n return this.decoratee.run.bind(this.decoratee);\n }\n\n get onBeforeTrigger() {\n return this.decoratee.onBeforeTrigger?.bind(this.decoratee);\n }\n\n get onMaxIterations() {\n return this.decoratee.onMaxIterations?.bind(this.decoratee);\n }\n\n get createInputValidation() {\n return this.decoratee.createInputValidation?.bind(this.decoratee);\n }\n\n get onDone() {\n return async (params: HookParams) => {\n await this.safeCall(this.decoratee.onDone, params, \"onDone\");\n await this.cleanUpIfAsked(params, \"onSuccess\");\n };\n }\n\n get onError() {\n return async (params: HookParams) => {\n await this.safeCall(this.decoratee.onError, params, \"onError\");\n await this.cleanUpIfAsked(params, \"onError\");\n };\n }\n\n get onAbort() {\n return async (params: HookParams) => {\n await this.safeCall(this.decoratee.onAbort, params, \"onAbort\");\n await this.cleanUpIfAsked(params, \"onAbort\");\n };\n }\n\n private async cleanUpIfAsked(\n params: HookParams,\n event: \"onSuccess\" | \"onError\" | \"onAbort\"\n ): Promise<void> {\n const events = normalizeSelfCleanup(params.definition.selfCleanup);\n if (!events.has(event)) {\n return;\n }\n\n await this.cleanupTaskSubtree.execute(params.task.id);\n }\n\n private async safeCall(\n hook: TaskHandler.Interface[\"onDone\"],\n params: HookParams,\n name: string\n ): Promise<void> {\n if (!hook) {\n return;\n }\n\n try {\n await hook.call(this.decoratee, params);\n } catch (ex) {\n this.logger.error(\n { error: getErrorProperties(ex), taskId: params.task.id, hook: name },\n \"Error executing task lifecycle hook.\"\n );\n }\n }\n}\n\nexport const SelfCleaningTaskHandlerDecorator = TaskHandler.createDecorator({\n decorator: SelfCleaningTaskHandlerDecoratorImpl,\n dependencies: [CleanupTaskSubtreeUseCase, Logger]\n});\n"],"names":["SelfCleaningTaskHandlerDecoratorImpl","cleanupTaskSubtree","logger","decoratee","params","event","events","normalizeSelfCleanup","hook","name","ex","getErrorProperties","SelfCleaningTaskHandlerDecorator","TaskHandler","CleanupTaskSubtreeUseCase","Logger"],"mappings":";;;;;AAkBO,MAAMA;IACT,YACqBC,kBAAuD,EACvDC,MAAwB,EACxBC,SAAgC,CACnD;aAHmBF,kBAAkB,GAAlBA;aACAC,MAAM,GAANA;aACAC,SAAS,GAATA;IAClB;IAEH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;IACjD;IAEA,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,SAAS;IAC9D;IAEA,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,SAAS;IAC9D;IAEA,IAAI,wBAAwB;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,KAAK,IAAI,CAAC,SAAS;IACpE;IAEA,IAAI,SAAS;QACT,OAAO,OAAOC;YACV,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAEA,QAAQ;YACnD,MAAM,IAAI,CAAC,cAAc,CAACA,QAAQ;QACtC;IACJ;IAEA,IAAI,UAAU;QACV,OAAO,OAAOA;YACV,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAEA,QAAQ;YACpD,MAAM,IAAI,CAAC,cAAc,CAACA,QAAQ;QACtC;IACJ;IAEA,IAAI,UAAU;QACV,OAAO,OAAOA;YACV,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAEA,QAAQ;YACpD,MAAM,IAAI,CAAC,cAAc,CAACA,QAAQ;QACtC;IACJ;IAEA,MAAc,eACVA,MAAkB,EAClBC,KAA0C,EAC7B;QACb,MAAMC,SAASC,qBAAqBH,OAAO,UAAU,CAAC,WAAW;QACjE,IAAI,CAACE,OAAO,GAAG,CAACD,QACZ;QAGJ,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACD,OAAO,IAAI,CAAC,EAAE;IACxD;IAEA,MAAc,SACVI,IAAqC,EACrCJ,MAAkB,EAClBK,IAAY,EACC;QACb,IAAI,CAACD,MACD;QAGJ,IAAI;YACA,MAAMA,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAEJ;QACpC,EAAE,OAAOM,IAAI;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CACb;gBAAE,OAAOC,mBAAmBD;gBAAK,QAAQN,OAAO,IAAI,CAAC,EAAE;gBAAE,MAAMK;YAAK,GACpE;QAER;IACJ;AACJ;AAEO,MAAMG,mCAAmCC,YAAY,eAAe,CAAC;IACxE,WAAWb;IACX,cAAc;QAACc;QAA2BC;KAAO;AACrD"}
@@ -0,0 +1,27 @@
1
+ import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ /**
3
+ * Fills in the defaults a definition is allowed to leave out, applies the one rule that overrides
4
+ * what a definition asked for (self-cleanup forces `databaseLogs` off), and rejects an id that is
5
+ * not camelCase.
6
+ *
7
+ * Everything here is metadata. A definition carries no behaviour, so there is nothing to forward:
8
+ * `GetRunnableTaskDefinitionUseCase` takes `run` and the hooks from the handler that `handler` names, after
9
+ * this decorator has run.
10
+ */
11
+ export declare class TaskDefinitionDefaultsDecoratorImpl implements TaskDefinition.Interface {
12
+ private decoratee;
13
+ private readonly cleansUp;
14
+ constructor(decoratee: TaskDefinition.Interface);
15
+ get id(): string;
16
+ get title(): string;
17
+ get description(): string | undefined;
18
+ get handler(): import("@webiny/di").Constructor<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskHandler<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
19
+ get isPrivate(): boolean;
20
+ get databaseLogs(): boolean;
21
+ get maxIterations(): number;
22
+ get selfCleanup(): import("@webiny/api-core/features/task/TaskDefinition/abstractions").ISelfCleanup | undefined;
23
+ private validate;
24
+ }
25
+ export declare const TaskDefinitionDefaultsDecorator: typeof TaskDefinitionDefaultsDecoratorImpl & {
26
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskDefinition<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput, import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
27
+ };
@@ -0,0 +1,47 @@
1
+ import camelCase from "lodash/camelCase.js";
2
+ import error from "@webiny/error";
3
+ import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
4
+ import { normalizeSelfCleanup } from "../utils/normalizeSelfCleanup.js";
5
+ const DEFAULT_MAX_ITERATIONS = 50;
6
+ class TaskDefinitionDefaultsDecoratorImpl {
7
+ constructor(decoratee){
8
+ this.decoratee = decoratee;
9
+ this.validate();
10
+ this.cleansUp = normalizeSelfCleanup(decoratee.selfCleanup).size > 0;
11
+ }
12
+ get id() {
13
+ return this.decoratee.id;
14
+ }
15
+ get title() {
16
+ return this.decoratee.title;
17
+ }
18
+ get description() {
19
+ return this.decoratee.description;
20
+ }
21
+ get handler() {
22
+ return this.decoratee.handler;
23
+ }
24
+ get isPrivate() {
25
+ return this.decoratee.isPrivate || false;
26
+ }
27
+ get databaseLogs() {
28
+ if (this.cleansUp) return false;
29
+ return this.decoratee.databaseLogs || false;
30
+ }
31
+ get maxIterations() {
32
+ return this.decoratee.maxIterations || DEFAULT_MAX_ITERATIONS;
33
+ }
34
+ get selfCleanup() {
35
+ return this.decoratee.selfCleanup;
36
+ }
37
+ validate() {
38
+ if (camelCase(this.decoratee.id) !== this.decoratee.id) throw new error(`Task ID "${this.decoratee.id}" is invalid. It must be in camelCase format, for example: "myCustomTask".`);
39
+ }
40
+ }
41
+ const TaskDefinitionDefaultsDecorator = TaskDefinition.createDecorator({
42
+ decorator: TaskDefinitionDefaultsDecoratorImpl,
43
+ dependencies: []
44
+ });
45
+ export { TaskDefinitionDefaultsDecorator, TaskDefinitionDefaultsDecoratorImpl };
46
+
47
+ //# sourceMappingURL=TaskDefinitionDefaultsDecorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/decorators/TaskDefinitionDefaultsDecorator.js","sources":["../../../src/api/decorators/TaskDefinitionDefaultsDecorator.ts"],"sourcesContent":["import camelCase from \"lodash/camelCase.js\";\nimport WebinyError from \"@webiny/error\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { normalizeSelfCleanup } from \"~/api/utils/normalizeSelfCleanup.js\";\n\nconst DEFAULT_MAX_ITERATIONS = 50;\n\n/**\n * Fills in the defaults a definition is allowed to leave out, applies the one rule that overrides\n * what a definition asked for (self-cleanup forces `databaseLogs` off), and rejects an id that is\n * not camelCase.\n *\n * Everything here is metadata. A definition carries no behaviour, so there is nothing to forward:\n * `GetRunnableTaskDefinitionUseCase` takes `run` and the hooks from the handler that `handler` names, after\n * this decorator has run.\n */\nexport class TaskDefinitionDefaultsDecoratorImpl implements TaskDefinition.Interface {\n private readonly cleansUp: boolean;\n\n constructor(private decoratee: TaskDefinition.Interface) {\n this.validate();\n this.cleansUp = normalizeSelfCleanup(decoratee.selfCleanup).size > 0;\n }\n\n get id() {\n return this.decoratee.id;\n }\n\n get title() {\n return this.decoratee.title;\n }\n\n get description() {\n return this.decoratee.description;\n }\n\n get handler() {\n return this.decoratee.handler;\n }\n\n // The three defaults.\n get isPrivate() {\n return this.decoratee.isPrivate || false;\n }\n\n get databaseLogs() {\n // A task that deletes itself on the way out has nowhere to keep logs, so asking for any\n // cleanup event overrides the task's own choice.\n if (this.cleansUp) {\n return false;\n }\n return this.decoratee.databaseLogs || false;\n }\n\n get maxIterations() {\n return this.decoratee.maxIterations || DEFAULT_MAX_ITERATIONS;\n }\n\n get selfCleanup() {\n return this.decoratee.selfCleanup;\n }\n\n private validate(): void {\n if (camelCase(this.decoratee.id) !== this.decoratee.id) {\n throw new WebinyError(\n `Task ID \"${this.decoratee.id}\" is invalid. It must be in camelCase format, for example: \"myCustomTask\".`\n );\n }\n }\n}\n\nexport const TaskDefinitionDefaultsDecorator = TaskDefinition.createDecorator({\n decorator: TaskDefinitionDefaultsDecoratorImpl,\n dependencies: []\n});\n"],"names":["DEFAULT_MAX_ITERATIONS","TaskDefinitionDefaultsDecoratorImpl","decoratee","normalizeSelfCleanup","camelCase","WebinyError","TaskDefinitionDefaultsDecorator","TaskDefinition"],"mappings":";;;;AAKA,MAAMA,yBAAyB;AAWxB,MAAMC;IAGT,YAAoBC,SAAmC,CAAE;aAArCA,SAAS,GAATA;QAChB,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,QAAQ,GAAGC,qBAAqBD,UAAU,WAAW,EAAE,IAAI,GAAG;IACvE;IAEA,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;IAC5B;IAEA,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK;IAC/B;IAEA,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW;IACrC;IAEA,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO;IACjC;IAGA,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI;IACvC;IAEA,IAAI,eAAe;QAGf,IAAI,IAAI,CAAC,QAAQ,EACb,OAAO;QAEX,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI;IAC1C;IAEA,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,IAAIF;IAC3C;IAEA,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW;IACrC;IAEQ,WAAiB;QACrB,IAAII,UAAU,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAClD,MAAM,IAAIC,MACN,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,0EAA0E,CAAC;IAGrH;AACJ;AAEO,MAAMC,kCAAkCC,eAAe,eAAe,CAAC;IAC1E,WAAWN;IACX,cAAc,EAAE;AACpB"}
@@ -0,0 +1,3 @@
1
+ export interface IBackgroundTaskSettings {
2
+ retentionDays: number | undefined;
3
+ }
File without changes
@@ -0,0 +1,12 @@
1
+ import type { ITask } from "../../api/types.js";
2
+ export type ITaskServiceTask = Pick<ITask, "id" | "definitionId">;
3
+ export interface ITaskService {
4
+ send(task: ITaskServiceTask, delay: number): Promise<unknown | null>;
5
+ fetch(task: ITask): Promise<unknown | null>;
6
+ }
7
+ export declare const TaskService: import("@webiny/di").Abstraction<ITaskService>;
8
+ export declare namespace TaskService {
9
+ type Interface = ITaskService;
10
+ type SendTaskParams = ITaskServiceTask;
11
+ type Task = ITask;
12
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const TaskService = createAbstraction("BackgroundTasks/TaskService");
3
+ export { TaskService };
4
+
5
+ //# sourceMappingURL=TaskService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/domain/TaskService.js","sources":["../../../src/api/domain/TaskService.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { ITask } from \"~/api/types.js\";\n\nexport type ITaskServiceTask = Pick<ITask, \"id\" | \"definitionId\">;\n\nexport interface ITaskService {\n send(task: ITaskServiceTask, delay: number): Promise<unknown | null>;\n fetch(task: ITask): Promise<unknown | null>;\n}\n\nexport const TaskService = createAbstraction<ITaskService>(\"BackgroundTasks/TaskService\");\n\nexport namespace TaskService {\n export type Interface = ITaskService;\n export type SendTaskParams = ITaskServiceTask;\n export type Task = ITask;\n}\n"],"names":["TaskService","createAbstraction"],"mappings":";AAUO,MAAMA,cAAcC,kBAAgC"}
@@ -0,0 +1,3 @@
1
+ export declare const BACKGROUND_TASK_SETTINGS_MODEL_ID = "backgroundTaskSettings";
2
+ export declare const BACKGROUND_TASK_MAX_RETENTION_DAYS = 3650;
3
+ export declare const BACKGROUND_TASK_DEFAULT_RETENTION_DAYS = 90;
@@ -0,0 +1,6 @@
1
+ const BACKGROUND_TASK_SETTINGS_MODEL_ID = "backgroundTaskSettings";
2
+ const BACKGROUND_TASK_MAX_RETENTION_DAYS = 3650;
3
+ const BACKGROUND_TASK_DEFAULT_RETENTION_DAYS = 90;
4
+ export { BACKGROUND_TASK_DEFAULT_RETENTION_DAYS, BACKGROUND_TASK_MAX_RETENTION_DAYS, BACKGROUND_TASK_SETTINGS_MODEL_ID };
5
+
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/domain/constants.js","sources":["../../../src/api/domain/constants.ts"],"sourcesContent":["export const BACKGROUND_TASK_SETTINGS_MODEL_ID = \"backgroundTaskSettings\";\nexport const BACKGROUND_TASK_MAX_RETENTION_DAYS = 3650;\nexport const BACKGROUND_TASK_DEFAULT_RETENTION_DAYS = 90;\n"],"names":["BACKGROUND_TASK_SETTINGS_MODEL_ID","BACKGROUND_TASK_MAX_RETENTION_DAYS","BACKGROUND_TASK_DEFAULT_RETENTION_DAYS"],"mappings":"AAAO,MAAMA,oCAAoC;AAC1C,MAAMC,qCAAqC;AAC3C,MAAMC,yCAAyC"}
@@ -0,0 +1,61 @@
1
+ import { BaseError } from "@webiny/feature/api";
2
+ import type { ZodError } from "zod";
3
+ import type { ValidationIssue } from "@webiny/utils";
4
+ export declare class TaskDefinitionNotFoundError extends BaseError<{
5
+ id: string;
6
+ }> {
7
+ readonly code: "BackgroundTasks/TaskDefinition/NotFoundError";
8
+ constructor(id: string);
9
+ }
10
+ export declare class TaskNotFoundError extends BaseError {
11
+ readonly code: "BackgroundTasks/Task/NotFoundError";
12
+ constructor();
13
+ }
14
+ export declare class TaskAbortError extends BaseError<{
15
+ id: string;
16
+ status: string;
17
+ }> {
18
+ readonly code: "BackgroundTasks/Task/Abort";
19
+ constructor(data: {
20
+ id: string;
21
+ status: string;
22
+ });
23
+ }
24
+ export declare class TaskLogNotFoundError extends BaseError {
25
+ readonly code: "BackgroundTasks/Log/NotFoundError";
26
+ constructor();
27
+ }
28
+ export declare class TaskServiceInfoError extends BaseError {
29
+ readonly code: "BackgroundTasks/Service/InfoUnavailable";
30
+ constructor();
31
+ }
32
+ interface BackgroundTaskValidationErrorData {
33
+ issues: ValidationIssue[];
34
+ }
35
+ export declare class BackgroundTaskValidationError extends BaseError<BackgroundTaskValidationErrorData> {
36
+ readonly code: "BackgroundTasks/ValidationError";
37
+ constructor(error: string | ZodError);
38
+ }
39
+ interface BackgroundTaskPersistenceErrorData {
40
+ originalMessage: string;
41
+ originalCode?: string;
42
+ originalData?: unknown;
43
+ }
44
+ export declare class BackgroundTaskPersistenceError extends BaseError<BackgroundTaskPersistenceErrorData> {
45
+ readonly code: "BackgroundTasks/PersistenceError";
46
+ constructor(error: Error);
47
+ static from(error: unknown): BackgroundTaskPersistenceError;
48
+ }
49
+ export declare class BackgroundTaskModelNotFoundError extends BaseError {
50
+ readonly code: "BackgroundTasks/ModelNotFound";
51
+ constructor(modelId: string);
52
+ }
53
+ export declare class BackgroundTaskNotAuthorizedError extends BaseError {
54
+ readonly code: "BackgroundTasks/NotAuthorized";
55
+ constructor();
56
+ }
57
+ export declare class TaskInputValidationError extends BaseError<Record<string, any>> {
58
+ readonly code: "VALIDATION_FAILED_INVALID_FIELDS";
59
+ constructor(error: ZodError);
60
+ }
61
+ export {};
@@ -0,0 +1,109 @@
1
+ import { BaseError } from "@webiny/feature/api";
2
+ import { createZodError, parseZodError } from "@webiny/utils";
3
+ class TaskDefinitionNotFoundError extends BaseError {
4
+ constructor(id){
5
+ super({
6
+ message: "Task definition not found.",
7
+ data: {
8
+ id
9
+ }
10
+ }), this.code = "BackgroundTasks/TaskDefinition/NotFoundError";
11
+ }
12
+ }
13
+ class TaskNotFoundError extends BaseError {
14
+ constructor(){
15
+ super({
16
+ message: "Task not found."
17
+ }), this.code = "BackgroundTasks/Task/NotFoundError";
18
+ }
19
+ }
20
+ class TaskAbortError extends BaseError {
21
+ constructor(data){
22
+ super({
23
+ message: "Cannot abort a task that is not pending or running!",
24
+ data
25
+ }), this.code = "BackgroundTasks/Task/Abort";
26
+ }
27
+ }
28
+ class TaskLogNotFoundError extends BaseError {
29
+ constructor(){
30
+ super({
31
+ message: "Task log not found."
32
+ }), this.code = "BackgroundTasks/Log/NotFoundError";
33
+ }
34
+ }
35
+ class TaskServiceInfoError extends BaseError {
36
+ constructor(){
37
+ super({
38
+ message: "Unable to fetch service info."
39
+ }), this.code = "BackgroundTasks/Service/InfoUnavailable";
40
+ }
41
+ }
42
+ class BackgroundTaskValidationError extends BaseError {
43
+ constructor(error){
44
+ if ("string" == typeof error) super({
45
+ message: error,
46
+ data: {
47
+ issues: []
48
+ }
49
+ }), this.code = "BackgroundTasks/ValidationError";
50
+ else {
51
+ const issues = parseZodError(error);
52
+ super({
53
+ message: "Validation failed.",
54
+ data: {
55
+ issues
56
+ }
57
+ }), this.code = "BackgroundTasks/ValidationError";
58
+ }
59
+ }
60
+ }
61
+ class BackgroundTaskPersistenceError extends BaseError {
62
+ constructor(error){
63
+ super({
64
+ message: error.message,
65
+ data: {
66
+ originalMessage: error.message
67
+ }
68
+ }), this.code = "BackgroundTasks/PersistenceError";
69
+ }
70
+ static from(error) {
71
+ if (error instanceof Error) {
72
+ const instance = new BackgroundTaskPersistenceError(error);
73
+ const data = {
74
+ originalMessage: error.message,
75
+ originalCode: error.code,
76
+ originalData: error.data
77
+ };
78
+ instance.data = data;
79
+ instance.stack = error.stack;
80
+ return instance;
81
+ }
82
+ return new BackgroundTaskPersistenceError(new Error(String(error)));
83
+ }
84
+ }
85
+ class BackgroundTaskModelNotFoundError extends BaseError {
86
+ constructor(modelId){
87
+ super({
88
+ message: `Background task model "${modelId}" was not found.`
89
+ }), this.code = "BackgroundTasks/ModelNotFound";
90
+ }
91
+ }
92
+ class BackgroundTaskNotAuthorizedError extends BaseError {
93
+ constructor(){
94
+ super({
95
+ message: "Not authorized!"
96
+ }), this.code = "BackgroundTasks/NotAuthorized";
97
+ }
98
+ }
99
+ class TaskInputValidationError extends BaseError {
100
+ constructor(error){
101
+ super({
102
+ message: "Validation failed.",
103
+ data: createZodError(error).data ?? {}
104
+ }), this.code = "VALIDATION_FAILED_INVALID_FIELDS";
105
+ }
106
+ }
107
+ export { BackgroundTaskModelNotFoundError, BackgroundTaskNotAuthorizedError, BackgroundTaskPersistenceError, BackgroundTaskValidationError, TaskAbortError, TaskDefinitionNotFoundError, TaskInputValidationError, TaskLogNotFoundError, TaskNotFoundError, TaskServiceInfoError };
108
+
109
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/domain/errors.js","sources":["../../../src/api/domain/errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\nimport type { ZodError } from \"zod\";\nimport { createZodError, parseZodError } from \"@webiny/utils\";\nimport type { ValidationIssue } from \"@webiny/utils\";\n\nexport class TaskDefinitionNotFoundError extends BaseError<{ id: string }> {\n override readonly code = \"BackgroundTasks/TaskDefinition/NotFoundError\" as const;\n\n constructor(id: string) {\n super({\n message: \"Task definition not found.\",\n data: {\n id\n }\n });\n }\n}\n\nexport class TaskNotFoundError extends BaseError {\n override readonly code = \"BackgroundTasks/Task/NotFoundError\" as const;\n\n constructor() {\n super({\n message: \"Task not found.\"\n });\n }\n}\n\nexport class TaskAbortError extends BaseError<{ id: string; status: string }> {\n override readonly code = \"BackgroundTasks/Task/Abort\" as const;\n\n constructor(data: { id: string; status: string }) {\n super({\n message: \"Cannot abort a task that is not pending or running!\",\n data\n });\n }\n}\n\nexport class TaskLogNotFoundError extends BaseError {\n override readonly code = \"BackgroundTasks/Log/NotFoundError\" as const;\n\n constructor() {\n super({\n message: \"Task log not found.\"\n });\n }\n}\n\nexport class TaskServiceInfoError extends BaseError {\n override readonly code = \"BackgroundTasks/Service/InfoUnavailable\" as const;\n\n constructor() {\n super({\n message: \"Unable to fetch service info.\"\n });\n }\n}\n\ninterface BackgroundTaskValidationErrorData {\n issues: ValidationIssue[];\n}\n\nexport class BackgroundTaskValidationError extends BaseError<BackgroundTaskValidationErrorData> {\n override readonly code = \"BackgroundTasks/ValidationError\" as const;\n\n constructor(error: string | ZodError) {\n if (typeof error === \"string\") {\n super({ message: error, data: { issues: [] } });\n } else {\n const issues = parseZodError(error);\n super({ message: \"Validation failed.\", data: { issues } });\n }\n }\n}\n\ninterface BackgroundTaskPersistenceErrorData {\n originalMessage: string;\n originalCode?: string;\n originalData?: unknown;\n}\n\nexport class BackgroundTaskPersistenceError extends BaseError<BackgroundTaskPersistenceErrorData> {\n override readonly code = \"BackgroundTasks/PersistenceError\" as const;\n\n constructor(error: Error) {\n super({ message: error.message, data: { originalMessage: error.message } });\n }\n\n static from(error: unknown): BackgroundTaskPersistenceError {\n if (error instanceof Error) {\n const instance = new BackgroundTaskPersistenceError(error);\n const data: BackgroundTaskPersistenceErrorData = {\n originalMessage: error.message,\n originalCode: (error as any).code,\n originalData: (error as any).data\n };\n (instance as any).data = data;\n instance.stack = error.stack;\n return instance;\n }\n\n return new BackgroundTaskPersistenceError(new Error(String(error)));\n }\n}\n\nexport class BackgroundTaskModelNotFoundError extends BaseError {\n override readonly code = \"BackgroundTasks/ModelNotFound\" as const;\n\n constructor(modelId: string) {\n super({ message: `Background task model \"${modelId}\" was not found.` });\n }\n}\n\nexport class BackgroundTaskNotAuthorizedError extends BaseError {\n override readonly code = \"BackgroundTasks/NotAuthorized\" as const;\n\n constructor() {\n super({ message: \"Not authorized!\" });\n }\n}\n\n/*\n * Keeps the code, message and `invalidFields` data that `createZodError` produced before task input\n * validation moved into a use case, so clients that read them see no difference.\n */\nexport class TaskInputValidationError extends BaseError<Record<string, any>> {\n override readonly code = \"VALIDATION_FAILED_INVALID_FIELDS\" as const;\n\n constructor(error: ZodError) {\n super({\n message: \"Validation failed.\",\n data: createZodError(error).data ?? {}\n });\n }\n}\n"],"names":["TaskDefinitionNotFoundError","BaseError","id","TaskNotFoundError","TaskAbortError","data","TaskLogNotFoundError","TaskServiceInfoError","BackgroundTaskValidationError","error","issues","parseZodError","BackgroundTaskPersistenceError","Error","instance","String","BackgroundTaskModelNotFoundError","modelId","BackgroundTaskNotAuthorizedError","TaskInputValidationError","createZodError"],"mappings":";;AAKO,MAAMA,oCAAoCC;IAG7C,YAAYC,EAAU,CAAE;QACpB,KAAK,CAAC;YACF,SAAS;YACT,MAAM;gBACFA;YACJ;QACJ,SARc,IAAI,GAAG;IASzB;AACJ;AAEO,MAAMC,0BAA0BF;IAGnC,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMG,uBAAuBH;IAGhC,YAAYI,IAAoC,CAAE;QAC9C,KAAK,CAAC;YACF,SAAS;YACTA;QACJ,SANc,IAAI,GAAG;IAOzB;AACJ;AAEO,MAAMC,6BAA6BL;IAGtC,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAEO,MAAMM,6BAA6BN;IAGtC,aAAc;QACV,KAAK,CAAC;YACF,SAAS;QACb,SALc,IAAI,GAAG;IAMzB;AACJ;AAMO,MAAMO,sCAAsCP;IAG/C,YAAYQ,KAAwB,CAAE;QAClC,IAAI,AAAiB,YAAjB,OAAOA,OACP,KAAK,CAAC;YAAE,SAASA;YAAO,MAAM;gBAAE,QAAQ,EAAE;YAAC;QAAE,SAJnC,IAAI,GAAG;aAKd;YACH,MAAMC,SAASC,cAAcF;YAC7B,KAAK,CAAC;gBAAE,SAAS;gBAAsB,MAAM;oBAAEC;gBAAO;YAAE,SAP9C,IAAI,GAAG;QAQrB;IACJ;AACJ;AAQO,MAAME,uCAAuCX;IAGhD,YAAYQ,KAAY,CAAE;QACtB,KAAK,CAAC;YAAE,SAASA,MAAM,OAAO;YAAE,MAAM;gBAAE,iBAAiBA,MAAM,OAAO;YAAC;QAAE,SAH3D,IAAI,GAAG;IAIzB;IAEA,OAAO,KAAKA,KAAc,EAAkC;QACxD,IAAIA,iBAAiBI,OAAO;YACxB,MAAMC,WAAW,IAAIF,+BAA+BH;YACpD,MAAMJ,OAA2C;gBAC7C,iBAAiBI,MAAM,OAAO;gBAC9B,cAAeA,MAAc,IAAI;gBACjC,cAAeA,MAAc,IAAI;YACrC;YACCK,SAAiB,IAAI,GAAGT;YACzBS,SAAS,KAAK,GAAGL,MAAM,KAAK;YAC5B,OAAOK;QACX;QAEA,OAAO,IAAIF,+BAA+B,IAAIC,MAAME,OAAON;IAC/D;AACJ;AAEO,MAAMO,yCAAyCf;IAGlD,YAAYgB,OAAe,CAAE;QACzB,KAAK,CAAC;YAAE,SAAS,CAAC,uBAAuB,EAAEA,QAAQ,gBAAgB,CAAC;QAAC,SAHvD,IAAI,GAAG;IAIzB;AACJ;AAEO,MAAMC,yCAAyCjB;IAGlD,aAAc;QACV,KAAK,CAAC;YAAE,SAAS;QAAkB,SAHrB,IAAI,GAAG;IAIzB;AACJ;AAMO,MAAMkB,iCAAiClB;IAG1C,YAAYQ,KAAe,CAAE;QACzB,KAAK,CAAC;YACF,SAAS;YACT,MAAMW,eAAeX,OAAO,IAAI,IAAI,CAAC;QACzC,SANc,IAAI,GAAG;IAOzB;AACJ"}
@@ -0,0 +1,12 @@
1
+ import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
2
+ import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
3
+ import { TaskLogModelProvider as Abstraction } from "./abstractions.js";
4
+ declare class TaskLogModelProviderImpl implements Abstraction.Interface {
5
+ private readonly getModel;
6
+ constructor(getModel: GetModelUseCase.Interface);
7
+ get(): Promise<CmsModel>;
8
+ }
9
+ export declare const TaskLogModelProvider: typeof TaskLogModelProviderImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ITaskLogModelProvider>;
11
+ };
12
+ export {};
@@ -0,0 +1,23 @@
1
+ import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
2
+ import { TaskLogModelProvider } from "./abstractions.js";
3
+ import { BackgroundTaskModelNotFoundError } from "../errors.js";
4
+ import { WEBINY_TASK_LOG_MODEL_ID } from "../../crud/TaskLogPrivateModel.js";
5
+ class TaskLogModelProviderImpl {
6
+ constructor(getModel){
7
+ this.getModel = getModel;
8
+ }
9
+ async get() {
10
+ const result = await this.getModel.execute(WEBINY_TASK_LOG_MODEL_ID);
11
+ if (result.isFail()) throw new BackgroundTaskModelNotFoundError(WEBINY_TASK_LOG_MODEL_ID);
12
+ return result.value;
13
+ }
14
+ }
15
+ const TaskLogModelProvider_TaskLogModelProvider = TaskLogModelProvider.createImplementation({
16
+ implementation: TaskLogModelProviderImpl,
17
+ dependencies: [
18
+ GetModelUseCase
19
+ ]
20
+ });
21
+ export { TaskLogModelProvider_TaskLogModelProvider as TaskLogModelProvider };
22
+
23
+ //# sourceMappingURL=TaskLogModelProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/domain/task/TaskLogModelProvider.js","sources":["../../../../src/api/domain/task/TaskLogModelProvider.ts"],"sourcesContent":["import type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { TaskLogModelProvider as Abstraction } from \"./abstractions.js\";\nimport { BackgroundTaskModelNotFoundError } from \"~/api/domain/errors.js\";\nimport { WEBINY_TASK_LOG_MODEL_ID } from \"~/api/crud/TaskLogPrivateModel.js\";\n\nclass TaskLogModelProviderImpl implements Abstraction.Interface {\n constructor(private readonly getModel: GetModelUseCase.Interface) {}\n\n async get(): Promise<CmsModel> {\n const result = await this.getModel.execute(WEBINY_TASK_LOG_MODEL_ID);\n if (result.isFail()) {\n throw new BackgroundTaskModelNotFoundError(WEBINY_TASK_LOG_MODEL_ID);\n }\n return result.value;\n }\n}\n\nexport const TaskLogModelProvider = Abstraction.createImplementation({\n implementation: TaskLogModelProviderImpl,\n dependencies: [GetModelUseCase]\n});\n"],"names":["TaskLogModelProviderImpl","getModel","result","WEBINY_TASK_LOG_MODEL_ID","BackgroundTaskModelNotFoundError","TaskLogModelProvider","Abstraction","GetModelUseCase"],"mappings":";;;;AAMA,MAAMA;IACF,YAA6BC,QAAmC,CAAE;aAArCA,QAAQ,GAARA;IAAsC;IAEnE,MAAM,MAAyB;QAC3B,MAAMC,SAAS,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACC;QAC3C,IAAID,OAAO,MAAM,IACb,MAAM,IAAIE,iCAAiCD;QAE/C,OAAOD,OAAO,KAAK;IACvB;AACJ;AAEO,MAAMG,4CAAuBC,qBAAAA,oBAAgC,CAAC;IACjE,gBAAgBN;IAChB,cAAc;QAACO;KAAgB;AACnC"}