@webiny/background-tasks 0.0.0-unstable.0d717d18dd

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 (522) 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 +59 -0
  212. package/api/BackgroundTasksFeature.js.map +1 -0
  213. package/api/TasksCrud.d.ts +10 -0
  214. package/api/TasksCrud.js +5 -0
  215. package/api/TasksCrud.js.map +1 -0
  216. package/api/abstractions/Timer.d.ts +1 -0
  217. package/api/abstractions/Timer.js +0 -0
  218. package/api/abstractions/index.d.ts +1 -0
  219. package/api/abstractions/index.js +1 -0
  220. package/api/crud/TaskLogPrivateModel.d.ts +9 -0
  221. package/api/crud/TaskLogPrivateModel.js +40 -0
  222. package/api/crud/TaskLogPrivateModel.js.map +1 -0
  223. package/api/crud/TaskPrivateModel.d.ts +9 -0
  224. package/api/crud/TaskPrivateModel.js +55 -0
  225. package/api/crud/TaskPrivateModel.js.map +1 -0
  226. package/api/crud/cleanupTaskSubtree.d.ts +8 -0
  227. package/api/crud/cleanupTaskSubtree.js +63 -0
  228. package/api/crud/cleanupTaskSubtree.js.map +1 -0
  229. package/api/crud/crud.tasks.d.ts +3 -0
  230. package/api/crud/crud.tasks.js +318 -0
  231. package/api/crud/crud.tasks.js.map +1 -0
  232. package/api/crud/definition.tasks.d.ts +3 -0
  233. package/api/crud/definition.tasks.js +17 -0
  234. package/api/crud/definition.tasks.js.map +1 -0
  235. package/api/crud/service.tasks.d.ts +3 -0
  236. package/api/crud/service.tasks.js +132 -0
  237. package/api/crud/service.tasks.js.map +1 -0
  238. package/api/decorators/RunnableTaskDecorator.d.ts +32 -0
  239. package/api/decorators/RunnableTaskDecorator.js +69 -0
  240. package/api/decorators/RunnableTaskDecorator.js.map +1 -0
  241. package/api/decorators/SelfCleaningTaskDecorator.d.ts +30 -0
  242. package/api/decorators/SelfCleaningTaskDecorator.js +84 -0
  243. package/api/decorators/SelfCleaningTaskDecorator.js.map +1 -0
  244. package/api/domain/BackgroundTaskSettings.d.ts +3 -0
  245. package/api/domain/BackgroundTaskSettings.js +0 -0
  246. package/api/domain/TaskService.d.ts +12 -0
  247. package/api/domain/TaskService.js +5 -0
  248. package/api/domain/TaskService.js.map +1 -0
  249. package/api/domain/constants.d.ts +3 -0
  250. package/api/domain/constants.js +6 -0
  251. package/api/domain/constants.js.map +1 -0
  252. package/api/domain/errors.d.ts +57 -0
  253. package/api/domain/errors.js +101 -0
  254. package/api/domain/errors.js.map +1 -0
  255. package/api/events/TaskAfterCreateEvent.d.ts +6 -0
  256. package/api/events/TaskAfterCreateEvent.js +13 -0
  257. package/api/events/TaskAfterCreateEvent.js.map +1 -0
  258. package/api/events/TaskAfterDeleteEvent.d.ts +6 -0
  259. package/api/events/TaskAfterDeleteEvent.js +13 -0
  260. package/api/events/TaskAfterDeleteEvent.js.map +1 -0
  261. package/api/events/TaskAfterUpdateEvent.d.ts +6 -0
  262. package/api/events/TaskAfterUpdateEvent.js +13 -0
  263. package/api/events/TaskAfterUpdateEvent.js.map +1 -0
  264. package/api/events/TaskBeforeCreateEvent.d.ts +6 -0
  265. package/api/events/TaskBeforeCreateEvent.js +13 -0
  266. package/api/events/TaskBeforeCreateEvent.js.map +1 -0
  267. package/api/events/TaskBeforeDeleteEvent.d.ts +6 -0
  268. package/api/events/TaskBeforeDeleteEvent.js +13 -0
  269. package/api/events/TaskBeforeDeleteEvent.js.map +1 -0
  270. package/api/events/TaskBeforeUpdateEvent.d.ts +6 -0
  271. package/api/events/TaskBeforeUpdateEvent.js +13 -0
  272. package/api/events/TaskBeforeUpdateEvent.js.map +1 -0
  273. package/api/events/abstractions.d.ts +53 -0
  274. package/api/events/abstractions.js +10 -0
  275. package/api/events/abstractions.js.map +1 -0
  276. package/api/events/index.d.ts +7 -0
  277. package/api/events/index.js +7 -0
  278. package/api/features/AbortTask/AbortTaskUseCase.d.ts +9 -0
  279. package/api/features/AbortTask/AbortTaskUseCase.js +12 -0
  280. package/api/features/AbortTask/AbortTaskUseCase.js.map +1 -0
  281. package/api/features/AbortTask/abstractions.d.ts +25 -0
  282. package/api/features/AbortTask/abstractions.js +5 -0
  283. package/api/features/AbortTask/abstractions.js.map +1 -0
  284. package/api/features/AbortTask/feature.d.ts +4 -0
  285. package/api/features/AbortTask/feature.js +13 -0
  286. package/api/features/AbortTask/feature.js.map +1 -0
  287. package/api/features/AbortTask/index.d.ts +2 -0
  288. package/api/features/AbortTask/index.js +2 -0
  289. package/api/features/BackgroundTaskPermissions/abstractions.d.ts +17 -0
  290. package/api/features/BackgroundTaskPermissions/abstractions.js +6 -0
  291. package/api/features/BackgroundTaskPermissions/abstractions.js.map +1 -0
  292. package/api/features/BackgroundTaskPermissions/feature.d.ts +4 -0
  293. package/api/features/BackgroundTaskPermissions/feature.js +7 -0
  294. package/api/features/BackgroundTaskPermissions/feature.js.map +1 -0
  295. package/api/features/BackgroundTaskPermissions/index.d.ts +2 -0
  296. package/api/features/BackgroundTaskPermissions/index.js +2 -0
  297. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +7 -0
  298. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +11 -0
  299. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -0
  300. package/api/features/CleanupTaskSubtree/abstractions.d.ts +7 -0
  301. package/api/features/CleanupTaskSubtree/abstractions.js +5 -0
  302. package/api/features/CleanupTaskSubtree/abstractions.js.map +1 -0
  303. package/api/features/CleanupTaskSubtree/index.d.ts +2 -0
  304. package/api/features/CleanupTaskSubtree/index.js +2 -0
  305. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.d.ts +21 -0
  306. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js +63 -0
  307. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js.map +1 -0
  308. package/api/features/GetBackgroundTaskSettings/abstractions.d.ts +13 -0
  309. package/api/features/GetBackgroundTaskSettings/abstractions.js +5 -0
  310. package/api/features/GetBackgroundTaskSettings/abstractions.js.map +1 -0
  311. package/api/features/GetBackgroundTaskSettings/feature.d.ts +4 -0
  312. package/api/features/GetBackgroundTaskSettings/feature.js +11 -0
  313. package/api/features/GetBackgroundTaskSettings/feature.js.map +1 -0
  314. package/api/features/GetBackgroundTaskSettings/index.d.ts +2 -0
  315. package/api/features/GetBackgroundTaskSettings/index.js +2 -0
  316. package/api/features/GetTask/GetTaskUseCase.d.ts +9 -0
  317. package/api/features/GetTask/GetTaskUseCase.js +11 -0
  318. package/api/features/GetTask/GetTaskUseCase.js.map +1 -0
  319. package/api/features/GetTask/abstractions.d.ts +10 -0
  320. package/api/features/GetTask/abstractions.js +5 -0
  321. package/api/features/GetTask/abstractions.js.map +1 -0
  322. package/api/features/GetTask/feature.d.ts +4 -0
  323. package/api/features/GetTask/feature.js +13 -0
  324. package/api/features/GetTask/feature.js.map +1 -0
  325. package/api/features/GetTask/index.d.ts +2 -0
  326. package/api/features/GetTask/index.js +2 -0
  327. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.d.ts +12 -0
  328. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.js +27 -0
  329. package/api/features/GetTaskDefinition/GetTaskDefinitionUseCase.js.map +1 -0
  330. package/api/features/GetTaskDefinition/abstractions.d.ts +17 -0
  331. package/api/features/GetTaskDefinition/abstractions.js +5 -0
  332. package/api/features/GetTaskDefinition/abstractions.js.map +1 -0
  333. package/api/features/GetTaskDefinition/feature.d.ts +4 -0
  334. package/api/features/GetTaskDefinition/feature.js +11 -0
  335. package/api/features/GetTaskDefinition/feature.js.map +1 -0
  336. package/api/features/GetTaskDefinition/index.d.ts +2 -0
  337. package/api/features/GetTaskDefinition/index.js +2 -0
  338. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.d.ts +11 -0
  339. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js +24 -0
  340. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js.map +1 -0
  341. package/api/features/ListTaskDefinitions/abstractions.d.ts +9 -0
  342. package/api/features/ListTaskDefinitions/abstractions.js +5 -0
  343. package/api/features/ListTaskDefinitions/abstractions.js.map +1 -0
  344. package/api/features/ListTaskDefinitions/feature.d.ts +4 -0
  345. package/api/features/ListTaskDefinitions/feature.js +11 -0
  346. package/api/features/ListTaskDefinitions/feature.js.map +1 -0
  347. package/api/features/ListTaskDefinitions/index.d.ts +2 -0
  348. package/api/features/ListTaskDefinitions/index.js +2 -0
  349. package/api/features/ListTasks/ListTasksUseCase.d.ts +10 -0
  350. package/api/features/ListTasks/ListTasksUseCase.js +11 -0
  351. package/api/features/ListTasks/ListTasksUseCase.js.map +1 -0
  352. package/api/features/ListTasks/abstractions.d.ts +13 -0
  353. package/api/features/ListTasks/abstractions.js +5 -0
  354. package/api/features/ListTasks/abstractions.js.map +1 -0
  355. package/api/features/ListTasks/feature.d.ts +4 -0
  356. package/api/features/ListTasks/feature.js +13 -0
  357. package/api/features/ListTasks/feature.js.map +1 -0
  358. package/api/features/ListTasks/index.d.ts +2 -0
  359. package/api/features/ListTasks/index.js +2 -0
  360. package/api/features/TaskController/TaskController.d.ts +49 -0
  361. package/api/features/TaskController/TaskController.js +71 -0
  362. package/api/features/TaskController/TaskController.js.map +1 -0
  363. package/api/features/TaskController/augmentation.d.ts +60 -0
  364. package/api/features/TaskController/augmentation.js +0 -0
  365. package/api/features/TaskController/index.d.ts +2 -0
  366. package/api/features/TaskController/index.js +2 -0
  367. package/api/features/TaskExecutionContext/TaskExecutionContext.d.ts +24 -0
  368. package/api/features/TaskExecutionContext/TaskExecutionContext.js +43 -0
  369. package/api/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -0
  370. package/api/features/TaskExecutionContext/abstractions.d.ts +26 -0
  371. package/api/features/TaskExecutionContext/abstractions.js +5 -0
  372. package/api/features/TaskExecutionContext/abstractions.js.map +1 -0
  373. package/api/features/TaskExecutionContext/feature.d.ts +4 -0
  374. package/api/features/TaskExecutionContext/feature.js +11 -0
  375. package/api/features/TaskExecutionContext/feature.js.map +1 -0
  376. package/api/features/TaskExecutionContext/index.d.ts +1 -0
  377. package/api/features/TaskExecutionContext/index.js +1 -0
  378. package/api/features/TriggerTask/TriggerTaskUseCase.d.ts +9 -0
  379. package/api/features/TriggerTask/TriggerTaskUseCase.js +12 -0
  380. package/api/features/TriggerTask/TriggerTaskUseCase.js.map +1 -0
  381. package/api/features/TriggerTask/abstractions.d.ts +28 -0
  382. package/api/features/TriggerTask/abstractions.js +5 -0
  383. package/api/features/TriggerTask/abstractions.js.map +1 -0
  384. package/api/features/TriggerTask/feature.d.ts +4 -0
  385. package/api/features/TriggerTask/feature.js +13 -0
  386. package/api/features/TriggerTask/feature.js.map +1 -0
  387. package/api/features/TriggerTask/index.d.ts +2 -0
  388. package/api/features/TriggerTask/index.js +2 -0
  389. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.d.ts +23 -0
  390. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js +65 -0
  391. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map +1 -0
  392. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +14 -0
  393. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +27 -0
  394. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  395. package/api/features/UpdateBackgroundTaskSettings/abstractions.d.ts +26 -0
  396. package/api/features/UpdateBackgroundTaskSettings/abstractions.js +6 -0
  397. package/api/features/UpdateBackgroundTaskSettings/abstractions.js.map +1 -0
  398. package/api/features/UpdateBackgroundTaskSettings/feature.d.ts +4 -0
  399. package/api/features/UpdateBackgroundTaskSettings/feature.js +13 -0
  400. package/api/features/UpdateBackgroundTaskSettings/feature.js.map +1 -0
  401. package/api/features/UpdateBackgroundTaskSettings/index.d.ts +2 -0
  402. package/api/features/UpdateBackgroundTaskSettings/index.js +2 -0
  403. package/api/features/UpdateBackgroundTaskSettings/schema.d.ts +4 -0
  404. package/api/features/UpdateBackgroundTaskSettings/schema.js +8 -0
  405. package/api/features/UpdateBackgroundTaskSettings/schema.js.map +1 -0
  406. package/api/global.d.ts +1 -0
  407. package/api/global.js +1 -0
  408. package/api/graphql/BackgroundTasksContextualSchema.d.ts +21 -0
  409. package/api/graphql/BackgroundTasksContextualSchema.js +369 -0
  410. package/api/graphql/BackgroundTasksContextualSchema.js.map +1 -0
  411. package/api/graphql/checkPermissions.d.ts +7 -0
  412. package/api/graphql/checkPermissions.js +22 -0
  413. package/api/graphql/checkPermissions.js.map +1 -0
  414. package/api/graphql/utils.d.ts +9 -0
  415. package/api/graphql/utils.js +20 -0
  416. package/api/graphql/utils.js.map +1 -0
  417. package/api/handler/types.d.ts +21 -0
  418. package/api/handler/types.js +0 -0
  419. package/api/index.d.ts +12 -0
  420. package/api/index.js +11 -0
  421. package/api/models/BackgroundTaskSettingsModel.d.ts +8 -0
  422. package/api/models/BackgroundTaskSettingsModel.js +27 -0
  423. package/api/models/BackgroundTaskSettingsModel.js.map +1 -0
  424. package/api/permissions.d.ts +12 -0
  425. package/api/permissions.js +22 -0
  426. package/api/permissions.js.map +1 -0
  427. package/api/response/DatabaseResponse.d.ts +12 -0
  428. package/api/response/DatabaseResponse.js +127 -0
  429. package/api/response/DatabaseResponse.js.map +1 -0
  430. package/api/response/Response.d.ts +14 -0
  431. package/api/response/Response.js +91 -0
  432. package/api/response/Response.js.map +1 -0
  433. package/api/response/ResponseAbortedResult.d.ts +9 -0
  434. package/api/response/ResponseAbortedResult.js +12 -0
  435. package/api/response/ResponseAbortedResult.js.map +1 -0
  436. package/api/response/ResponseContinueResult.d.ts +17 -0
  437. package/api/response/ResponseContinueResult.js +16 -0
  438. package/api/response/ResponseContinueResult.js.map +1 -0
  439. package/api/response/ResponseDoneResult.d.ts +11 -0
  440. package/api/response/ResponseDoneResult.js +14 -0
  441. package/api/response/ResponseDoneResult.js.map +1 -0
  442. package/api/response/ResponseErrorResult.d.ts +10 -0
  443. package/api/response/ResponseErrorResult.js +13 -0
  444. package/api/response/ResponseErrorResult.js.map +1 -0
  445. package/api/response/TaskResponse.d.ts +12 -0
  446. package/api/response/TaskResponse.js +53 -0
  447. package/api/response/TaskResponse.js.map +1 -0
  448. package/api/response/abstractions/Response.d.ts +25 -0
  449. package/api/response/abstractions/Response.js +0 -0
  450. package/api/response/abstractions/ResponseAbortedResult.d.ts +5 -0
  451. package/api/response/abstractions/ResponseAbortedResult.js +0 -0
  452. package/api/response/abstractions/ResponseBaseResult.d.ts +7 -0
  453. package/api/response/abstractions/ResponseBaseResult.js +0 -0
  454. package/api/response/abstractions/ResponseContinueResult.d.ts +21 -0
  455. package/api/response/abstractions/ResponseContinueResult.js +0 -0
  456. package/api/response/abstractions/ResponseDoneResult.d.ts +13 -0
  457. package/api/response/abstractions/ResponseDoneResult.js +0 -0
  458. package/api/response/abstractions/ResponseErrorResult.d.ts +18 -0
  459. package/api/response/abstractions/ResponseErrorResult.js +0 -0
  460. package/api/response/abstractions/TaskResponse.d.ts +16 -0
  461. package/api/response/abstractions/TaskResponse.js +0 -0
  462. package/api/response/abstractions/index.d.ts +7 -0
  463. package/api/response/abstractions/index.js +7 -0
  464. package/api/response/index.d.ts +7 -0
  465. package/api/response/index.js +7 -0
  466. package/api/runner/TaskControl.d.ts +14 -0
  467. package/api/runner/TaskControl.js +176 -0
  468. package/api/runner/TaskControl.js.map +1 -0
  469. package/api/runner/TaskEventValidation.d.ts +5 -0
  470. package/api/runner/TaskEventValidation.js +20 -0
  471. package/api/runner/TaskEventValidation.js.map +1 -0
  472. package/api/runner/TaskManager.d.ts +11 -0
  473. package/api/runner/TaskManager.js +82 -0
  474. package/api/runner/TaskManager.js.map +1 -0
  475. package/api/runner/TaskManagerStore.d.ts +41 -0
  476. package/api/runner/TaskManagerStore.js +111 -0
  477. package/api/runner/TaskManagerStore.js.map +1 -0
  478. package/api/runner/TaskRunner.d.ts +25 -0
  479. package/api/runner/TaskRunner.js +55 -0
  480. package/api/runner/TaskRunner.js.map +1 -0
  481. package/api/runner/abstractions/TaskControl.d.ts +10 -0
  482. package/api/runner/abstractions/TaskControl.js +0 -0
  483. package/api/runner/abstractions/TaskEventValidation.d.ts +5 -0
  484. package/api/runner/abstractions/TaskEventValidation.js +0 -0
  485. package/api/runner/abstractions/TaskManager.d.ts +5 -0
  486. package/api/runner/abstractions/TaskManager.js +0 -0
  487. package/api/runner/abstractions/TaskManagerStore.d.ts +92 -0
  488. package/api/runner/abstractions/TaskManagerStore.js +0 -0
  489. package/api/runner/abstractions/TaskRunner.d.ts +13 -0
  490. package/api/runner/abstractions/TaskRunner.js +0 -0
  491. package/api/runner/abstractions/index.d.ts +5 -0
  492. package/api/runner/abstractions/index.js +5 -0
  493. package/api/runner/index.d.ts +1 -0
  494. package/api/runner/index.js +1 -0
  495. package/api/service/createService.d.ts +6 -0
  496. package/api/service/createService.js +11 -0
  497. package/api/service/createService.js.map +1 -0
  498. package/api/service/index.d.ts +1 -0
  499. package/api/service/index.js +1 -0
  500. package/api/tasks/testingRunTask.d.ts +11 -0
  501. package/api/tasks/testingRunTask.js +18 -0
  502. package/api/tasks/testingRunTask.js.map +1 -0
  503. package/api/types.d.ts +167 -0
  504. package/api/types.js +20 -0
  505. package/api/types.js.map +1 -0
  506. package/api/utils/ObjectUpdater.d.ts +8 -0
  507. package/api/utils/ObjectUpdater.js +33 -0
  508. package/api/utils/ObjectUpdater.js.map +1 -0
  509. package/api/utils/getErrorProperties.d.ts +2 -0
  510. package/api/utils/getErrorProperties.js +9 -0
  511. package/api/utils/getErrorProperties.js.map +1 -0
  512. package/api/utils/getObjectProperties.d.ts +8 -0
  513. package/api/utils/getObjectProperties.js +11 -0
  514. package/api/utils/getObjectProperties.js.map +1 -0
  515. package/api/utils/index.d.ts +3 -0
  516. package/api/utils/index.js +3 -0
  517. package/api/utils/normalizeSelfCleanup.d.ts +2 -0
  518. package/api/utils/normalizeSelfCleanup.js +16 -0
  519. package/api/utils/normalizeSelfCleanup.js.map +1 -0
  520. package/index.d.ts +2 -0
  521. package/index.js +2 -0
  522. package/package.json +68 -0
@@ -0,0 +1,69 @@
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
+ const DEFAULT_MAX_ITERATIONS = 50;
5
+ class RunnableTaskDecoratorImpl {
6
+ constructor(decoratee){
7
+ this.decoratee = decoratee;
8
+ this.validate();
9
+ }
10
+ get id() {
11
+ return this.decoratee.id;
12
+ }
13
+ get title() {
14
+ return this.decoratee.title;
15
+ }
16
+ get description() {
17
+ return this.decoratee.description;
18
+ }
19
+ get isPrivate() {
20
+ return this.decoratee.isPrivate || false;
21
+ }
22
+ get databaseLogs() {
23
+ return this.decoratee.databaseLogs || false;
24
+ }
25
+ get maxIterations() {
26
+ return this.decoratee.maxIterations || DEFAULT_MAX_ITERATIONS;
27
+ }
28
+ get selfCleanup() {
29
+ return this.decoratee.selfCleanup;
30
+ }
31
+ get createInputValidation() {
32
+ return this.decoratee.createInputValidation;
33
+ }
34
+ get run() {
35
+ return this.decoratee.run.bind(this.decoratee);
36
+ }
37
+ get onBeforeTrigger() {
38
+ return this.decoratee.onBeforeTrigger?.bind(this.decoratee);
39
+ }
40
+ get onDone() {
41
+ return this.decoratee.onDone?.bind(this.decoratee);
42
+ }
43
+ get onError() {
44
+ return this.decoratee.onError?.bind(this.decoratee);
45
+ }
46
+ get onAbort() {
47
+ return this.decoratee.onAbort?.bind(this.decoratee);
48
+ }
49
+ get onMaxIterations() {
50
+ return this.decoratee.onMaxIterations?.bind(this.decoratee);
51
+ }
52
+ validate() {
53
+ if (camelCase(this.decoratee.id) !== this.decoratee.id) {
54
+ const message = `Task ID "${this.decoratee.id}" is invalid. It must be in camelCase format, for example: "myCustomTask".`;
55
+ console.log(message);
56
+ throw new error(message);
57
+ }
58
+ }
59
+ getTask() {
60
+ return this;
61
+ }
62
+ }
63
+ const RunnableTaskDecorator = TaskDefinition.createDecorator({
64
+ decorator: RunnableTaskDecoratorImpl,
65
+ dependencies: []
66
+ });
67
+ export { RunnableTaskDecorator };
68
+
69
+ //# sourceMappingURL=RunnableTaskDecorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/decorators/RunnableTaskDecorator.js","sources":["../../../src/api/decorators/RunnableTaskDecorator.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 type { ITaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\n\nconst DEFAULT_MAX_ITERATIONS = 50;\n\n/**\n * RunnableTaskDecorator adds runtime behavior to TaskDefinition:\n * - Applies default values (maxIterations, isPrivate, databaseLogs, fields)\n * - Validates task ID (must be camelCase)\n * - Provides field management methods\n */\nclass RunnableTaskDecoratorImpl implements TaskDefinition.Interface {\n constructor(private decoratee: TaskDefinition.Interface) {\n this.validate();\n }\n\n // Delegate simple properties\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 // Apply default values\n get isPrivate() {\n return this.decoratee.isPrivate || false;\n }\n\n get databaseLogs() {\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 get createInputValidation() {\n return this.decoratee.createInputValidation;\n }\n\n // Delegate lifecycle methods (bind to preserve context)\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 onDone() {\n return this.decoratee.onDone?.bind(this.decoratee);\n }\n\n get onError() {\n return this.decoratee.onError?.bind(this.decoratee);\n }\n\n get onAbort() {\n return this.decoratee.onAbort?.bind(this.decoratee);\n }\n\n get onMaxIterations() {\n return this.decoratee.onMaxIterations?.bind(this.decoratee);\n }\n\n // Validation logic\n private validate(): void {\n if (camelCase(this.decoratee.id) !== this.decoratee.id) {\n const message = `Task ID \"${this.decoratee.id}\" is invalid. It must be in camelCase format, for example: \"myCustomTask\".`;\n console.log(message);\n throw new WebinyError(message);\n }\n }\n\n // Method to get the underlying task (for compatibility with existing code)\n public getTask(): ITaskDefinition {\n return this;\n }\n}\n\nexport const RunnableTaskDecorator = TaskDefinition.createDecorator({\n decorator: RunnableTaskDecoratorImpl,\n dependencies: []\n});\n"],"names":["DEFAULT_MAX_ITERATIONS","RunnableTaskDecoratorImpl","decoratee","camelCase","message","console","WebinyError","RunnableTaskDecorator","TaskDefinition"],"mappings":";;;AAKA,MAAMA,yBAAyB;AAQ/B,MAAMC;IACF,YAAoBC,SAAmC,CAAE;aAArCA,SAAS,GAATA;QAChB,IAAI,CAAC,QAAQ;IACjB;IAGA,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;IAGA,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI;IACvC;IAEA,IAAI,eAAe;QACf,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;IAEA,IAAI,wBAAwB;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,qBAAqB;IAC/C;IAGA,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,SAAS;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,SAAS;IACrD;IAEA,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,SAAS;IACtD;IAEA,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,SAAS;IACtD;IAEA,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,SAAS;IAC9D;IAGQ,WAAiB;QACrB,IAAIG,UAAU,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE;YACpD,MAAMC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,0EAA0E,CAAC;YACzHC,QAAQ,GAAG,CAACD;YACZ,MAAM,IAAIE,MAAYF;QAC1B;IACJ;IAGO,UAA2B;QAC9B,OAAO,IAAI;IACf;AACJ;AAEO,MAAMG,wBAAwBC,eAAe,eAAe,CAAC;IAChE,WAAWP;IACX,cAAc,EAAE;AACpB"}
@@ -0,0 +1,30 @@
1
+ import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ import { CleanupTaskSubtreeUseCase } from "../../api/features/CleanupTaskSubtree/index.js";
3
+ type LifecycleHook = TaskDefinition.Interface["onDone"];
4
+ type HookParams = Parameters<NonNullable<LifecycleHook>>[0];
5
+ export declare class SelfCleaningTaskDecoratorImpl implements TaskDefinition.Interface {
6
+ private readonly cleanupTaskSubtree;
7
+ private decoratee;
8
+ private readonly events;
9
+ constructor(cleanupTaskSubtree: CleanupTaskSubtreeUseCase.Interface, decoratee: TaskDefinition.Interface);
10
+ get id(): string;
11
+ get title(): string;
12
+ get description(): string | undefined;
13
+ get isPrivate(): boolean | undefined;
14
+ get maxIterations(): number | undefined;
15
+ get selfCleanup(): import("@webiny/api-core/features/task/TaskDefinition/abstractions").ISelfCleanup | undefined;
16
+ get createInputValidation(): ((params: import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskCreateInputValidationParams) => import("@webiny/api/types").GenericRecord<PropertyKey, import("zod").ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>> | import("zod").ZodType<unknown, unknown, import("zod/v4/core").$ZodTypeInternals<unknown, unknown>>) | undefined;
17
+ 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>>;
18
+ get onBeforeTrigger(): ((params: import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskBeforeTriggerParams<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskInput>) => Promise<void>) | undefined;
19
+ 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;
20
+ get databaseLogs(): boolean | undefined;
21
+ get onDone(): (params: HookParams) => Promise<void>;
22
+ get onError(): (params: HookParams) => Promise<void>;
23
+ get onAbort(): (params: HookParams) => Promise<void>;
24
+ private runCleanup;
25
+ private safeCall;
26
+ }
27
+ export declare const SelfCleaningTaskDecorator: typeof SelfCleaningTaskDecoratorImpl & {
28
+ __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>>;
29
+ };
30
+ export {};
@@ -0,0 +1,84 @@
1
+ import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/index.js";
2
+ import { normalizeSelfCleanup } from "../utils/normalizeSelfCleanup.js";
3
+ import { CleanupTaskSubtreeUseCase } from "../features/CleanupTaskSubtree/index.js";
4
+ import { getErrorProperties } from "../utils/getErrorProperties.js";
5
+ class SelfCleaningTaskDecoratorImpl {
6
+ constructor(cleanupTaskSubtree, decoratee){
7
+ this.cleanupTaskSubtree = cleanupTaskSubtree;
8
+ this.decoratee = decoratee;
9
+ this.events = normalizeSelfCleanup(decoratee.selfCleanup);
10
+ }
11
+ get id() {
12
+ return this.decoratee.id;
13
+ }
14
+ get title() {
15
+ return this.decoratee.title;
16
+ }
17
+ get description() {
18
+ return this.decoratee.description;
19
+ }
20
+ get isPrivate() {
21
+ return this.decoratee.isPrivate;
22
+ }
23
+ get maxIterations() {
24
+ return this.decoratee.maxIterations;
25
+ }
26
+ get selfCleanup() {
27
+ return this.decoratee.selfCleanup;
28
+ }
29
+ get createInputValidation() {
30
+ return this.decoratee.createInputValidation;
31
+ }
32
+ get run() {
33
+ return this.decoratee.run.bind(this.decoratee);
34
+ }
35
+ get onBeforeTrigger() {
36
+ return this.decoratee.onBeforeTrigger?.bind(this.decoratee);
37
+ }
38
+ get onMaxIterations() {
39
+ return this.decoratee.onMaxIterations?.bind(this.decoratee);
40
+ }
41
+ get databaseLogs() {
42
+ if (this.events.size > 0) return false;
43
+ return this.decoratee.databaseLogs;
44
+ }
45
+ get onDone() {
46
+ return async (params)=>{
47
+ await this.safeCall(this.decoratee.onDone, params, "onDone");
48
+ if (this.events.has("onSuccess")) await this.runCleanup(params);
49
+ };
50
+ }
51
+ get onError() {
52
+ return async (params)=>{
53
+ await this.safeCall(this.decoratee.onError, params, "onError");
54
+ if (this.events.has("onError")) await this.runCleanup(params);
55
+ };
56
+ }
57
+ get onAbort() {
58
+ return async (params)=>{
59
+ await this.safeCall(this.decoratee.onAbort, params, "onAbort");
60
+ if (this.events.has("onAbort")) await this.runCleanup(params);
61
+ };
62
+ }
63
+ async runCleanup(params) {
64
+ await this.cleanupTaskSubtree.execute(params.task.id);
65
+ }
66
+ async safeCall(hook, params, name) {
67
+ if (!hook) return;
68
+ try {
69
+ await hook.call(this.decoratee, params);
70
+ } catch (ex) {
71
+ console.error(`Error executing ${name} hook for task "${params.task.id}".`);
72
+ console.log(getErrorProperties(ex));
73
+ }
74
+ }
75
+ }
76
+ const SelfCleaningTaskDecorator = TaskDefinition.createDecorator({
77
+ decorator: SelfCleaningTaskDecoratorImpl,
78
+ dependencies: [
79
+ CleanupTaskSubtreeUseCase
80
+ ]
81
+ });
82
+ export { SelfCleaningTaskDecorator, SelfCleaningTaskDecoratorImpl };
83
+
84
+ //# sourceMappingURL=SelfCleaningTaskDecorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/decorators/SelfCleaningTaskDecorator.js","sources":["../../../src/api/decorators/SelfCleaningTaskDecorator.ts"],"sourcesContent":["import { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport type { ISelfCleanupEvent } from \"@webiny/api-core/features/task/TaskDefinition/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 LifecycleHook = TaskDefinition.Interface[\"onDone\"];\ntype HookParams = Parameters<NonNullable<LifecycleHook>>[0];\n\nexport class SelfCleaningTaskDecoratorImpl implements TaskDefinition.Interface {\n private readonly events: ReadonlySet<ISelfCleanupEvent>;\n\n public constructor(\n private readonly cleanupTaskSubtree: CleanupTaskSubtreeUseCase.Interface,\n private decoratee: TaskDefinition.Interface\n ) {\n this.events = normalizeSelfCleanup(decoratee.selfCleanup);\n }\n\n // Pass-through properties.\n get id() {\n return this.decoratee.id;\n }\n get title() {\n return this.decoratee.title;\n }\n get description() {\n return this.decoratee.description;\n }\n get isPrivate() {\n return this.decoratee.isPrivate;\n }\n get maxIterations() {\n return this.decoratee.maxIterations;\n }\n get selfCleanup() {\n return this.decoratee.selfCleanup;\n }\n get createInputValidation() {\n return this.decoratee.createInputValidation;\n }\n get run() {\n return this.decoratee.run.bind(this.decoratee);\n }\n get onBeforeTrigger() {\n return this.decoratee.onBeforeTrigger?.bind(this.decoratee);\n }\n get onMaxIterations() {\n return this.decoratee.onMaxIterations?.bind(this.decoratee);\n }\n\n // databaseLogs override — any non-empty event set forces false.\n get databaseLogs() {\n if (this.events.size > 0) {\n return false;\n }\n return this.decoratee.databaseLogs;\n }\n\n // Always-defined lifecycle hooks. Each runs the user's hook first, then\n // triggers cleanup if the matching event is in the set.\n get onDone() {\n return async (params: HookParams) => {\n await this.safeCall(this.decoratee.onDone, params, \"onDone\");\n if (this.events.has(\"onSuccess\")) {\n await this.runCleanup(params);\n }\n };\n }\n\n get onError() {\n return async (params: HookParams) => {\n await this.safeCall(this.decoratee.onError, params, \"onError\");\n if (this.events.has(\"onError\")) {\n await this.runCleanup(params);\n }\n };\n }\n\n get onAbort() {\n return async (params: HookParams) => {\n await this.safeCall(this.decoratee.onAbort, params, \"onAbort\");\n if (this.events.has(\"onAbort\")) {\n await this.runCleanup(params);\n }\n };\n }\n\n private async runCleanup(params: HookParams): Promise<void> {\n await this.cleanupTaskSubtree.execute(params.task.id);\n }\n\n private async safeCall(\n hook: LifecycleHook | undefined,\n params: HookParams,\n name: string\n ): Promise<void> {\n if (!hook) {\n return;\n }\n try {\n await hook.call(this.decoratee, params);\n } catch (ex) {\n console.error(`Error executing ${name} hook for task \"${params.task.id}\".`);\n console.log(getErrorProperties(ex));\n }\n }\n}\n\nexport const SelfCleaningTaskDecorator = TaskDefinition.createDecorator({\n decorator: SelfCleaningTaskDecoratorImpl,\n dependencies: [CleanupTaskSubtreeUseCase]\n});\n"],"names":["SelfCleaningTaskDecoratorImpl","cleanupTaskSubtree","decoratee","normalizeSelfCleanup","params","hook","name","ex","console","getErrorProperties","SelfCleaningTaskDecorator","TaskDefinition","CleanupTaskSubtreeUseCase"],"mappings":";;;;AASO,MAAMA;IAGT,YACqBC,kBAAuD,EAChEC,SAAmC,CAC7C;aAFmBD,kBAAkB,GAAlBA;aACTC,SAAS,GAATA;QAER,IAAI,CAAC,MAAM,GAAGC,qBAAqBD,UAAU,WAAW;IAC5D;IAGA,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;IAC5B;IACA,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK;IAC/B;IACA,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW;IACrC;IACA,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS;IACnC;IACA,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa;IACvC;IACA,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW;IACrC;IACA,IAAI,wBAAwB;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,qBAAqB;IAC/C;IACA,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;IACjD;IACA,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,SAAS;IAC9D;IACA,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,SAAS;IAC9D;IAGA,IAAI,eAAe;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GACnB,OAAO;QAEX,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY;IACtC;IAIA,IAAI,SAAS;QACT,OAAO,OAAOE;YACV,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAEA,QAAQ;YACnD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAChB,MAAM,IAAI,CAAC,UAAU,CAACA;QAE9B;IACJ;IAEA,IAAI,UAAU;QACV,OAAO,OAAOA;YACV,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAEA,QAAQ;YACpD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAChB,MAAM,IAAI,CAAC,UAAU,CAACA;QAE9B;IACJ;IAEA,IAAI,UAAU;QACV,OAAO,OAAOA;YACV,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAEA,QAAQ;YACpD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAChB,MAAM,IAAI,CAAC,UAAU,CAACA;QAE9B;IACJ;IAEA,MAAc,WAAWA,MAAkB,EAAiB;QACxD,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAACA,OAAO,IAAI,CAAC,EAAE;IACxD;IAEA,MAAc,SACVC,IAA+B,EAC/BD,MAAkB,EAClBE,IAAY,EACC;QACb,IAAI,CAACD,MACD;QAEJ,IAAI;YACA,MAAMA,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAED;QACpC,EAAE,OAAOG,IAAI;YACTC,QAAQ,KAAK,CAAC,CAAC,gBAAgB,EAAEF,KAAK,gBAAgB,EAAEF,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1EI,QAAQ,GAAG,CAACC,mBAAmBF;QACnC;IACJ;AACJ;AAEO,MAAMG,4BAA4BC,eAAe,eAAe,CAAC;IACpE,WAAWX;IACX,cAAc;QAACY;KAA0B;AAC7C"}
@@ -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,57 @@
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 {};
@@ -0,0 +1,101 @@
1
+ import { BaseError } from "@webiny/feature/api";
2
+ import { 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
+ export { BackgroundTaskModelNotFoundError, BackgroundTaskNotAuthorizedError, BackgroundTaskPersistenceError, BackgroundTaskValidationError, TaskAbortError, TaskDefinitionNotFoundError, TaskLogNotFoundError, TaskNotFoundError, TaskServiceInfoError };
100
+
101
+ //# 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 { 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"],"names":["TaskDefinitionNotFoundError","BaseError","id","TaskNotFoundError","TaskAbortError","data","TaskLogNotFoundError","TaskServiceInfoError","BackgroundTaskValidationError","error","issues","parseZodError","BackgroundTaskPersistenceError","Error","instance","String","BackgroundTaskModelNotFoundError","modelId","BackgroundTaskNotAuthorizedError"],"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"}
@@ -0,0 +1,6 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskAfterCreatePayload } from "./abstractions.js";
3
+ export declare class TaskAfterCreateEvent extends DomainEvent<TaskAfterCreatePayload> {
4
+ eventType: "task.afterCreate";
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<TaskAfterCreatePayload>>>;
6
+ }
@@ -0,0 +1,13 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskAfterCreateEventHandler } from "./abstractions.js";
3
+ class TaskAfterCreateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return TaskAfterCreateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "task.afterCreate";
9
+ }
10
+ }
11
+ export { TaskAfterCreateEvent };
12
+
13
+ //# sourceMappingURL=TaskAfterCreateEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/events/TaskAfterCreateEvent.js","sources":["../../../src/api/events/TaskAfterCreateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { TaskAfterCreateEventHandler, TaskAfterCreatePayload } from \"./abstractions.js\";\n\nexport class TaskAfterCreateEvent extends DomainEvent<TaskAfterCreatePayload> {\n eventType = \"task.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return TaskAfterCreateEventHandler;\n }\n}\n"],"names":["TaskAfterCreateEvent","DomainEvent","TaskAfterCreateEventHandler"],"mappings":";;AAGO,MAAMA,6BAA6BC;IAGtC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -0,0 +1,6 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskAfterDeletePayload } from "./abstractions.js";
3
+ export declare class TaskAfterDeleteEvent extends DomainEvent<TaskAfterDeletePayload> {
4
+ eventType: "task.afterDelete";
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<TaskAfterDeletePayload>>>;
6
+ }
@@ -0,0 +1,13 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskAfterDeleteEventHandler } from "./abstractions.js";
3
+ class TaskAfterDeleteEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return TaskAfterDeleteEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "task.afterDelete";
9
+ }
10
+ }
11
+ export { TaskAfterDeleteEvent };
12
+
13
+ //# sourceMappingURL=TaskAfterDeleteEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/events/TaskAfterDeleteEvent.js","sources":["../../../src/api/events/TaskAfterDeleteEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { TaskAfterDeleteEventHandler, TaskAfterDeletePayload } from \"./abstractions.js\";\n\nexport class TaskAfterDeleteEvent extends DomainEvent<TaskAfterDeletePayload> {\n eventType = \"task.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return TaskAfterDeleteEventHandler;\n }\n}\n"],"names":["TaskAfterDeleteEvent","DomainEvent","TaskAfterDeleteEventHandler"],"mappings":";;AAGO,MAAMA,6BAA6BC;IAGtC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -0,0 +1,6 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskAfterUpdatePayload } from "./abstractions.js";
3
+ export declare class TaskAfterUpdateEvent extends DomainEvent<TaskAfterUpdatePayload> {
4
+ eventType: "task.afterUpdate";
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<TaskAfterUpdatePayload>>>;
6
+ }
@@ -0,0 +1,13 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskAfterUpdateEventHandler } from "./abstractions.js";
3
+ class TaskAfterUpdateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return TaskAfterUpdateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "task.afterUpdate";
9
+ }
10
+ }
11
+ export { TaskAfterUpdateEvent };
12
+
13
+ //# sourceMappingURL=TaskAfterUpdateEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/events/TaskAfterUpdateEvent.js","sources":["../../../src/api/events/TaskAfterUpdateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { TaskAfterUpdateEventHandler, TaskAfterUpdatePayload } from \"./abstractions.js\";\n\nexport class TaskAfterUpdateEvent extends DomainEvent<TaskAfterUpdatePayload> {\n eventType = \"task.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return TaskAfterUpdateEventHandler;\n }\n}\n"],"names":["TaskAfterUpdateEvent","DomainEvent","TaskAfterUpdateEventHandler"],"mappings":";;AAGO,MAAMA,6BAA6BC;IAGtC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -0,0 +1,6 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskBeforeCreatePayload } from "./abstractions.js";
3
+ export declare class TaskBeforeCreateEvent extends DomainEvent<TaskBeforeCreatePayload> {
4
+ eventType: "task.beforeCreate";
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<TaskBeforeCreatePayload>>>;
6
+ }
@@ -0,0 +1,13 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskBeforeCreateEventHandler } from "./abstractions.js";
3
+ class TaskBeforeCreateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return TaskBeforeCreateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "task.beforeCreate";
9
+ }
10
+ }
11
+ export { TaskBeforeCreateEvent };
12
+
13
+ //# sourceMappingURL=TaskBeforeCreateEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/events/TaskBeforeCreateEvent.js","sources":["../../../src/api/events/TaskBeforeCreateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { TaskBeforeCreateEventHandler, TaskBeforeCreatePayload } from \"./abstractions.js\";\n\nexport class TaskBeforeCreateEvent extends DomainEvent<TaskBeforeCreatePayload> {\n eventType = \"task.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return TaskBeforeCreateEventHandler;\n }\n}\n"],"names":["TaskBeforeCreateEvent","DomainEvent","TaskBeforeCreateEventHandler"],"mappings":";;AAGO,MAAMA,8BAA8BC;IAGvC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -0,0 +1,6 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskBeforeDeletePayload } from "./abstractions.js";
3
+ export declare class TaskBeforeDeleteEvent extends DomainEvent<TaskBeforeDeletePayload> {
4
+ eventType: "task.beforeDelete";
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<TaskBeforeDeletePayload>>>;
6
+ }
@@ -0,0 +1,13 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskBeforeDeleteEventHandler } from "./abstractions.js";
3
+ class TaskBeforeDeleteEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return TaskBeforeDeleteEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "task.beforeDelete";
9
+ }
10
+ }
11
+ export { TaskBeforeDeleteEvent };
12
+
13
+ //# sourceMappingURL=TaskBeforeDeleteEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/events/TaskBeforeDeleteEvent.js","sources":["../../../src/api/events/TaskBeforeDeleteEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { TaskBeforeDeleteEventHandler, TaskBeforeDeletePayload } from \"./abstractions.js\";\n\nexport class TaskBeforeDeleteEvent extends DomainEvent<TaskBeforeDeletePayload> {\n eventType = \"task.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return TaskBeforeDeleteEventHandler;\n }\n}\n"],"names":["TaskBeforeDeleteEvent","DomainEvent","TaskBeforeDeleteEventHandler"],"mappings":";;AAGO,MAAMA,8BAA8BC;IAGvC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -0,0 +1,6 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskBeforeUpdatePayload } from "./abstractions.js";
3
+ export declare class TaskBeforeUpdateEvent extends DomainEvent<TaskBeforeUpdatePayload> {
4
+ eventType: "task.beforeUpdate";
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<TaskBeforeUpdatePayload>>>;
6
+ }
@@ -0,0 +1,13 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { TaskBeforeUpdateEventHandler } from "./abstractions.js";
3
+ class TaskBeforeUpdateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return TaskBeforeUpdateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "task.beforeUpdate";
9
+ }
10
+ }
11
+ export { TaskBeforeUpdateEvent };
12
+
13
+ //# sourceMappingURL=TaskBeforeUpdateEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/events/TaskBeforeUpdateEvent.js","sources":["../../../src/api/events/TaskBeforeUpdateEvent.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { TaskBeforeUpdateEventHandler, TaskBeforeUpdatePayload } from \"./abstractions.js\";\n\nexport class TaskBeforeUpdateEvent extends DomainEvent<TaskBeforeUpdatePayload> {\n eventType = \"task.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return TaskBeforeUpdateEventHandler;\n }\n}\n"],"names":["TaskBeforeUpdateEvent","DomainEvent","TaskBeforeUpdateEventHandler"],"mappings":";;AAGO,MAAMA,8BAA8BC;IAGvC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}