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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (666) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/admin/BackgroundTaskRoutes.d.ts +2 -0
  4. package/admin/BackgroundTaskRoutes.js +70 -0
  5. package/admin/BackgroundTaskRoutes.js.map +1 -0
  6. package/admin/BackgroundTasks.d.ts +2 -0
  7. package/admin/BackgroundTasks.js +55 -0
  8. package/admin/BackgroundTasks.js.map +1 -0
  9. package/admin/features/abortTask/AbortTaskGateway.d.ts +12 -0
  10. package/admin/features/abortTask/AbortTaskGateway.js +62 -0
  11. package/admin/features/abortTask/AbortTaskGateway.js.map +1 -0
  12. package/admin/features/abortTask/AbortTaskUseCase.d.ts +11 -0
  13. package/admin/features/abortTask/AbortTaskUseCase.js +18 -0
  14. package/admin/features/abortTask/AbortTaskUseCase.js.map +1 -0
  15. package/admin/features/abortTask/abstractions.d.ts +19 -0
  16. package/admin/features/abortTask/abstractions.js +6 -0
  17. package/admin/features/abortTask/abstractions.js.map +1 -0
  18. package/admin/features/abortTask/feature.d.ts +3 -0
  19. package/admin/features/abortTask/feature.js +19 -0
  20. package/admin/features/abortTask/feature.js.map +1 -0
  21. package/admin/features/abortTask/index.d.ts +2 -0
  22. package/admin/features/abortTask/index.js +2 -0
  23. package/admin/features/deleteTask/DeleteTaskGateway.d.ts +11 -0
  24. package/admin/features/deleteTask/DeleteTaskGateway.js +41 -0
  25. package/admin/features/deleteTask/DeleteTaskGateway.js.map +1 -0
  26. package/admin/features/deleteTask/DeleteTaskUseCase.d.ts +10 -0
  27. package/admin/features/deleteTask/DeleteTaskUseCase.js +18 -0
  28. package/admin/features/deleteTask/DeleteTaskUseCase.js.map +1 -0
  29. package/admin/features/deleteTask/abstractions.d.ts +14 -0
  30. package/admin/features/deleteTask/abstractions.js +6 -0
  31. package/admin/features/deleteTask/abstractions.js.map +1 -0
  32. package/admin/features/deleteTask/feature.d.ts +3 -0
  33. package/admin/features/deleteTask/feature.js +19 -0
  34. package/admin/features/deleteTask/feature.js.map +1 -0
  35. package/admin/features/deleteTask/index.d.ts +2 -0
  36. package/admin/features/deleteTask/index.js +2 -0
  37. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.d.ts +12 -0
  38. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js +40 -0
  39. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsGateway.js.map +1 -0
  40. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.d.ts +11 -0
  41. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js +18 -0
  42. package/admin/features/getBackgroundTaskSettings/GetBackgroundTaskSettingsUseCase.js.map +1 -0
  43. package/admin/features/getBackgroundTaskSettings/abstractions.d.ts +15 -0
  44. package/admin/features/getBackgroundTaskSettings/abstractions.js +6 -0
  45. package/admin/features/getBackgroundTaskSettings/abstractions.js.map +1 -0
  46. package/admin/features/getBackgroundTaskSettings/feature.d.ts +3 -0
  47. package/admin/features/getBackgroundTaskSettings/feature.js +19 -0
  48. package/admin/features/getBackgroundTaskSettings/feature.js.map +1 -0
  49. package/admin/features/getBackgroundTaskSettings/index.d.ts +3 -0
  50. package/admin/features/getBackgroundTaskSettings/index.js +2 -0
  51. package/admin/features/getTask/GetTaskGateway.d.ts +12 -0
  52. package/admin/features/getTask/GetTaskGateway.js +61 -0
  53. package/admin/features/getTask/GetTaskGateway.js.map +1 -0
  54. package/admin/features/getTask/GetTaskUseCase.d.ts +11 -0
  55. package/admin/features/getTask/GetTaskUseCase.js +18 -0
  56. package/admin/features/getTask/GetTaskUseCase.js.map +1 -0
  57. package/admin/features/getTask/abstractions.d.ts +15 -0
  58. package/admin/features/getTask/abstractions.js +6 -0
  59. package/admin/features/getTask/abstractions.js.map +1 -0
  60. package/admin/features/getTask/feature.d.ts +3 -0
  61. package/admin/features/getTask/feature.js +19 -0
  62. package/admin/features/getTask/feature.js.map +1 -0
  63. package/admin/features/getTask/index.d.ts +2 -0
  64. package/admin/features/getTask/index.js +2 -0
  65. package/admin/features/listDefinitions/ListDefinitionsGateway.d.ts +12 -0
  66. package/admin/features/listDefinitions/ListDefinitionsGateway.js +42 -0
  67. package/admin/features/listDefinitions/ListDefinitionsGateway.js.map +1 -0
  68. package/admin/features/listDefinitions/ListDefinitionsUseCase.d.ts +11 -0
  69. package/admin/features/listDefinitions/ListDefinitionsUseCase.js +18 -0
  70. package/admin/features/listDefinitions/ListDefinitionsUseCase.js.map +1 -0
  71. package/admin/features/listDefinitions/abstractions.d.ts +15 -0
  72. package/admin/features/listDefinitions/abstractions.js +6 -0
  73. package/admin/features/listDefinitions/abstractions.js.map +1 -0
  74. package/admin/features/listDefinitions/feature.d.ts +3 -0
  75. package/admin/features/listDefinitions/feature.js +19 -0
  76. package/admin/features/listDefinitions/feature.js.map +1 -0
  77. package/admin/features/listDefinitions/index.d.ts +2 -0
  78. package/admin/features/listDefinitions/index.js +2 -0
  79. package/admin/features/listLogs/ListLogsGateway.d.ts +11 -0
  80. package/admin/features/listLogs/ListLogsGateway.js +73 -0
  81. package/admin/features/listLogs/ListLogsGateway.js.map +1 -0
  82. package/admin/features/listLogs/ListLogsUseCase.d.ts +10 -0
  83. package/admin/features/listLogs/ListLogsUseCase.js +18 -0
  84. package/admin/features/listLogs/ListLogsUseCase.js.map +1 -0
  85. package/admin/features/listLogs/abstractions.d.ts +30 -0
  86. package/admin/features/listLogs/abstractions.js +6 -0
  87. package/admin/features/listLogs/abstractions.js.map +1 -0
  88. package/admin/features/listLogs/feature.d.ts +3 -0
  89. package/admin/features/listLogs/feature.js +19 -0
  90. package/admin/features/listLogs/feature.js.map +1 -0
  91. package/admin/features/listLogs/index.d.ts +2 -0
  92. package/admin/features/listLogs/index.js +2 -0
  93. package/admin/features/listTasks/ListTasksGateway.d.ts +11 -0
  94. package/admin/features/listTasks/ListTasksGateway.js +79 -0
  95. package/admin/features/listTasks/ListTasksGateway.js.map +1 -0
  96. package/admin/features/listTasks/ListTasksUseCase.d.ts +10 -0
  97. package/admin/features/listTasks/ListTasksUseCase.js +18 -0
  98. package/admin/features/listTasks/ListTasksUseCase.js.map +1 -0
  99. package/admin/features/listTasks/abstractions.d.ts +31 -0
  100. package/admin/features/listTasks/abstractions.js +6 -0
  101. package/admin/features/listTasks/abstractions.js.map +1 -0
  102. package/admin/features/listTasks/feature.d.ts +3 -0
  103. package/admin/features/listTasks/feature.js +19 -0
  104. package/admin/features/listTasks/feature.js.map +1 -0
  105. package/admin/features/listTasks/index.d.ts +2 -0
  106. package/admin/features/listTasks/index.js +2 -0
  107. package/admin/features/permissions/abstractions.d.ts +17 -0
  108. package/admin/features/permissions/abstractions.js +6 -0
  109. package/admin/features/permissions/abstractions.js.map +1 -0
  110. package/admin/features/permissions/feature.d.ts +14 -0
  111. package/admin/features/permissions/feature.js +7 -0
  112. package/admin/features/permissions/feature.js.map +1 -0
  113. package/admin/features/permissions/index.d.ts +2 -0
  114. package/admin/features/permissions/index.js +2 -0
  115. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.d.ts +12 -0
  116. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js +43 -0
  117. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsGateway.js.map +1 -0
  118. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +11 -0
  119. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +18 -0
  120. package/admin/features/updateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  121. package/admin/features/updateBackgroundTaskSettings/abstractions.d.ts +18 -0
  122. package/admin/features/updateBackgroundTaskSettings/abstractions.js +6 -0
  123. package/admin/features/updateBackgroundTaskSettings/abstractions.js.map +1 -0
  124. package/admin/features/updateBackgroundTaskSettings/feature.d.ts +3 -0
  125. package/admin/features/updateBackgroundTaskSettings/feature.js +19 -0
  126. package/admin/features/updateBackgroundTaskSettings/feature.js.map +1 -0
  127. package/admin/features/updateBackgroundTaskSettings/index.d.ts +3 -0
  128. package/admin/features/updateBackgroundTaskSettings/index.js +2 -0
  129. package/admin/index.d.ts +2 -0
  130. package/admin/index.js +2 -0
  131. package/admin/permissions.d.ts +12 -0
  132. package/admin/permissions.js +22 -0
  133. package/admin/permissions.js.map +1 -0
  134. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.d.ts +21 -0
  135. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js +86 -0
  136. package/admin/presentation/BackgroundTaskSettings/BackgroundTaskSettingsPresenter.js.map +1 -0
  137. package/admin/presentation/BackgroundTaskSettings/abstractions.d.ts +16 -0
  138. package/admin/presentation/BackgroundTaskSettings/abstractions.js +5 -0
  139. package/admin/presentation/BackgroundTaskSettings/abstractions.js.map +1 -0
  140. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.d.ts +2 -0
  141. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js +56 -0
  142. package/admin/presentation/BackgroundTaskSettings/components/BackgroundTaskSettingsView.js.map +1 -0
  143. package/admin/presentation/BackgroundTaskSettings/feature.d.ts +3 -0
  144. package/admin/presentation/BackgroundTaskSettings/feature.js +17 -0
  145. package/admin/presentation/BackgroundTaskSettings/feature.js.map +1 -0
  146. package/admin/presentation/BackgroundTaskSettings/index.d.ts +2 -0
  147. package/admin/presentation/BackgroundTaskSettings/index.js +2 -0
  148. package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.d.ts +14 -0
  149. package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.js +41 -0
  150. package/admin/presentation/TaskDefinitions/TaskDefinitionsPresenter.js.map +1 -0
  151. package/admin/presentation/TaskDefinitions/abstractions.d.ts +14 -0
  152. package/admin/presentation/TaskDefinitions/abstractions.js +5 -0
  153. package/admin/presentation/TaskDefinitions/abstractions.js.map +1 -0
  154. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.d.ts +2 -0
  155. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js +76 -0
  156. package/admin/presentation/TaskDefinitions/components/TaskDefinitionsView.js.map +1 -0
  157. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.d.ts +2 -0
  158. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js +16 -0
  159. package/admin/presentation/TaskDefinitions/components/TaskExecutionsButton.js.map +1 -0
  160. package/admin/presentation/TaskDefinitions/feature.d.ts +3 -0
  161. package/admin/presentation/TaskDefinitions/feature.js +17 -0
  162. package/admin/presentation/TaskDefinitions/feature.js.map +1 -0
  163. package/admin/presentation/TaskDefinitions/index.d.ts +2 -0
  164. package/admin/presentation/TaskDefinitions/index.js +2 -0
  165. package/admin/presentation/TaskDetail/TaskDetailPresenter.d.ts +24 -0
  166. package/admin/presentation/TaskDetail/TaskDetailPresenter.js +87 -0
  167. package/admin/presentation/TaskDetail/TaskDetailPresenter.js.map +1 -0
  168. package/admin/presentation/TaskDetail/abstractions.d.ts +24 -0
  169. package/admin/presentation/TaskDetail/abstractions.js +5 -0
  170. package/admin/presentation/TaskDetail/abstractions.js.map +1 -0
  171. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.d.ts +11 -0
  172. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js +270 -0
  173. package/admin/presentation/TaskDetail/components/TaskDetailDrawer.js.map +1 -0
  174. package/admin/presentation/TaskDetail/feature.d.ts +3 -0
  175. package/admin/presentation/TaskDetail/feature.js +17 -0
  176. package/admin/presentation/TaskDetail/feature.js.map +1 -0
  177. package/admin/presentation/TaskDetail/index.d.ts +2 -0
  178. package/admin/presentation/TaskDetail/index.js +2 -0
  179. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.d.ts +15 -0
  180. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js +91 -0
  181. package/admin/presentation/TaskExecutions/TaskExecutionsDataSource.js.map +1 -0
  182. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.d.ts +54 -0
  183. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js +109 -0
  184. package/admin/presentation/TaskExecutions/TaskExecutionsPresenter.js.map +1 -0
  185. package/admin/presentation/TaskExecutions/abstractions.d.ts +28 -0
  186. package/admin/presentation/TaskExecutions/abstractions.js +5 -0
  187. package/admin/presentation/TaskExecutions/abstractions.js.map +1 -0
  188. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.d.ts +2 -0
  189. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js +16 -0
  190. package/admin/presentation/TaskExecutions/components/TaskDefinitionsButton.js.map +1 -0
  191. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.d.ts +2 -0
  192. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js +341 -0
  193. package/admin/presentation/TaskExecutions/components/TaskExecutionsView.js.map +1 -0
  194. package/admin/presentation/TaskExecutions/feature.d.ts +3 -0
  195. package/admin/presentation/TaskExecutions/feature.js +17 -0
  196. package/admin/presentation/TaskExecutions/feature.js.map +1 -0
  197. package/admin/presentation/TaskExecutions/index.d.ts +2 -0
  198. package/admin/presentation/TaskExecutions/index.js +2 -0
  199. package/admin/presentation/security/HasPermission.d.ts +12 -0
  200. package/admin/presentation/security/HasPermission.js +6 -0
  201. package/admin/presentation/security/HasPermission.js.map +1 -0
  202. package/admin/presentation/security/usePermissions.d.ts +12 -0
  203. package/admin/presentation/security/usePermissions.js +6 -0
  204. package/admin/presentation/security/usePermissions.js.map +1 -0
  205. package/admin/routes.d.ts +6 -0
  206. package/admin/routes.js +18 -0
  207. package/admin/routes.js.map +1 -0
  208. package/admin/shared/types.d.ts +18 -0
  209. package/admin/shared/types.js +0 -0
  210. package/api/BackgroundTasksFeature.d.ts +4 -0
  211. package/api/BackgroundTasksFeature.js +79 -0
  212. package/api/BackgroundTasksFeature.js.map +1 -0
  213. package/api/abstractions/Timer.d.ts +1 -0
  214. package/api/abstractions/Timer.js +0 -0
  215. package/api/abstractions/index.d.ts +1 -0
  216. package/api/abstractions/index.js +1 -0
  217. package/api/crud/TaskLogPrivateModel.d.ts +9 -0
  218. package/api/crud/TaskLogPrivateModel.js +41 -0
  219. package/api/crud/TaskLogPrivateModel.js.map +1 -0
  220. package/api/crud/TaskPrivateModel.d.ts +9 -0
  221. package/api/crud/TaskPrivateModel.js +56 -0
  222. package/api/crud/TaskPrivateModel.js.map +1 -0
  223. package/api/decorators/SelfCleaningTaskHandlerDecorator.d.ts +33 -0
  224. package/api/decorators/SelfCleaningTaskHandlerDecorator.js +69 -0
  225. package/api/decorators/SelfCleaningTaskHandlerDecorator.js.map +1 -0
  226. package/api/decorators/TaskDefinitionDefaultsDecorator.d.ts +27 -0
  227. package/api/decorators/TaskDefinitionDefaultsDecorator.js +47 -0
  228. package/api/decorators/TaskDefinitionDefaultsDecorator.js.map +1 -0
  229. package/api/domain/BackgroundTaskSettings.d.ts +3 -0
  230. package/api/domain/BackgroundTaskSettings.js +0 -0
  231. package/api/domain/TaskService.d.ts +12 -0
  232. package/api/domain/TaskService.js +5 -0
  233. package/api/domain/TaskService.js.map +1 -0
  234. package/api/domain/constants.d.ts +3 -0
  235. package/api/domain/constants.js +6 -0
  236. package/api/domain/constants.js.map +1 -0
  237. package/api/domain/errors.d.ts +61 -0
  238. package/api/domain/errors.js +109 -0
  239. package/api/domain/errors.js.map +1 -0
  240. package/api/domain/task/TaskLogModelProvider.d.ts +12 -0
  241. package/api/domain/task/TaskLogModelProvider.js +23 -0
  242. package/api/domain/task/TaskLogModelProvider.js.map +1 -0
  243. package/api/domain/task/TaskLogsRepository.d.ts +34 -0
  244. package/api/domain/task/TaskLogsRepository.js +146 -0
  245. package/api/domain/task/TaskLogsRepository.js.map +1 -0
  246. package/api/domain/task/TaskModelProvider.d.ts +12 -0
  247. package/api/domain/task/TaskModelProvider.js +23 -0
  248. package/api/domain/task/TaskModelProvider.js.map +1 -0
  249. package/api/domain/task/TasksRepository.d.ts +37 -0
  250. package/api/domain/task/TasksRepository.js +126 -0
  251. package/api/domain/task/TasksRepository.js.map +1 -0
  252. package/api/domain/task/abstractions.d.ts +50 -0
  253. package/api/domain/task/abstractions.js +8 -0
  254. package/api/domain/task/abstractions.js.map +1 -0
  255. package/api/domain/task/createRevisionId.d.ts +1 -0
  256. package/api/domain/task/createRevisionId.js +8 -0
  257. package/api/domain/task/createRevisionId.js.map +1 -0
  258. package/api/domain/task/entryToTask.d.ts +3 -0
  259. package/api/domain/task/entryToTask.js +20 -0
  260. package/api/domain/task/entryToTask.js.map +1 -0
  261. package/api/domain/task/entryToTaskLog.d.ts +3 -0
  262. package/api/domain/task/entryToTaskLog.js +12 -0
  263. package/api/domain/task/entryToTaskLog.js.map +1 -0
  264. package/api/events/TaskAfterCreateEvent.d.ts +6 -0
  265. package/api/events/TaskAfterCreateEvent.js +13 -0
  266. package/api/events/TaskAfterCreateEvent.js.map +1 -0
  267. package/api/events/TaskAfterDeleteEvent.d.ts +6 -0
  268. package/api/events/TaskAfterDeleteEvent.js +13 -0
  269. package/api/events/TaskAfterDeleteEvent.js.map +1 -0
  270. package/api/events/TaskAfterUpdateEvent.d.ts +6 -0
  271. package/api/events/TaskAfterUpdateEvent.js +13 -0
  272. package/api/events/TaskAfterUpdateEvent.js.map +1 -0
  273. package/api/events/TaskBeforeCreateEvent.d.ts +6 -0
  274. package/api/events/TaskBeforeCreateEvent.js +13 -0
  275. package/api/events/TaskBeforeCreateEvent.js.map +1 -0
  276. package/api/events/TaskBeforeDeleteEvent.d.ts +6 -0
  277. package/api/events/TaskBeforeDeleteEvent.js +13 -0
  278. package/api/events/TaskBeforeDeleteEvent.js.map +1 -0
  279. package/api/events/TaskBeforeUpdateEvent.d.ts +6 -0
  280. package/api/events/TaskBeforeUpdateEvent.js +13 -0
  281. package/api/events/TaskBeforeUpdateEvent.js.map +1 -0
  282. package/api/events/abstractions.d.ts +53 -0
  283. package/api/events/abstractions.js +10 -0
  284. package/api/events/abstractions.js.map +1 -0
  285. package/api/events/index.d.ts +7 -0
  286. package/api/events/index.js +7 -0
  287. package/api/features/AbortTask/AbortTaskUseCase.d.ts +9 -0
  288. package/api/features/AbortTask/AbortTaskUseCase.js +12 -0
  289. package/api/features/AbortTask/AbortTaskUseCase.js.map +1 -0
  290. package/api/features/AbortTask/abstractions.d.ts +25 -0
  291. package/api/features/AbortTask/abstractions.js +5 -0
  292. package/api/features/AbortTask/abstractions.js.map +1 -0
  293. package/api/features/AbortTask/feature.d.ts +4 -0
  294. package/api/features/AbortTask/feature.js +13 -0
  295. package/api/features/AbortTask/feature.js.map +1 -0
  296. package/api/features/AbortTask/index.d.ts +2 -0
  297. package/api/features/AbortTask/index.js +2 -0
  298. package/api/features/BackgroundTaskPermissions/abstractions.d.ts +17 -0
  299. package/api/features/BackgroundTaskPermissions/abstractions.js +6 -0
  300. package/api/features/BackgroundTaskPermissions/abstractions.js.map +1 -0
  301. package/api/features/BackgroundTaskPermissions/feature.d.ts +4 -0
  302. package/api/features/BackgroundTaskPermissions/feature.js +7 -0
  303. package/api/features/BackgroundTaskPermissions/feature.js.map +1 -0
  304. package/api/features/BackgroundTaskPermissions/index.d.ts +2 -0
  305. package/api/features/BackgroundTaskPermissions/index.js +2 -0
  306. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.d.ts +27 -0
  307. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js +117 -0
  308. package/api/features/CleanupTaskSubtree/CleanupTaskSubtreeUseCase.js.map +1 -0
  309. package/api/features/CleanupTaskSubtree/abstractions.d.ts +7 -0
  310. package/api/features/CleanupTaskSubtree/abstractions.js +5 -0
  311. package/api/features/CleanupTaskSubtree/abstractions.js.map +1 -0
  312. package/api/features/CleanupTaskSubtree/feature.d.ts +4 -0
  313. package/api/features/CleanupTaskSubtree/feature.js +11 -0
  314. package/api/features/CleanupTaskSubtree/feature.js.map +1 -0
  315. package/api/features/CleanupTaskSubtree/index.d.ts +2 -0
  316. package/api/features/CleanupTaskSubtree/index.js +2 -0
  317. package/api/features/CreateTask/CreateTaskUseCase.d.ts +17 -0
  318. package/api/features/CreateTask/CreateTaskUseCase.js +56 -0
  319. package/api/features/CreateTask/CreateTaskUseCase.js.map +1 -0
  320. package/api/features/CreateTask/abstractions.d.ts +21 -0
  321. package/api/features/CreateTask/abstractions.js +5 -0
  322. package/api/features/CreateTask/abstractions.js.map +1 -0
  323. package/api/features/CreateTask/feature.d.ts +4 -0
  324. package/api/features/CreateTask/feature.js +11 -0
  325. package/api/features/CreateTask/feature.js.map +1 -0
  326. package/api/features/CreateTask/index.d.ts +2 -0
  327. package/api/features/CreateTask/index.js +2 -0
  328. package/api/features/CreateTaskLog/CreateTaskLogUseCase.d.ts +13 -0
  329. package/api/features/CreateTaskLog/CreateTaskLogUseCase.js +19 -0
  330. package/api/features/CreateTaskLog/CreateTaskLogUseCase.js.map +1 -0
  331. package/api/features/CreateTaskLog/abstractions.d.ts +16 -0
  332. package/api/features/CreateTaskLog/abstractions.js +5 -0
  333. package/api/features/CreateTaskLog/abstractions.js.map +1 -0
  334. package/api/features/CreateTaskLog/feature.d.ts +4 -0
  335. package/api/features/CreateTaskLog/feature.js +11 -0
  336. package/api/features/CreateTaskLog/feature.js.map +1 -0
  337. package/api/features/CreateTaskLog/index.d.ts +2 -0
  338. package/api/features/CreateTaskLog/index.js +2 -0
  339. package/api/features/DeleteTask/DeleteTaskUseCase.d.ts +14 -0
  340. package/api/features/DeleteTask/DeleteTaskUseCase.js +34 -0
  341. package/api/features/DeleteTask/DeleteTaskUseCase.js.map +1 -0
  342. package/api/features/DeleteTask/abstractions.d.ts +17 -0
  343. package/api/features/DeleteTask/abstractions.js +5 -0
  344. package/api/features/DeleteTask/abstractions.js.map +1 -0
  345. package/api/features/DeleteTask/feature.d.ts +4 -0
  346. package/api/features/DeleteTask/feature.js +11 -0
  347. package/api/features/DeleteTask/feature.js.map +1 -0
  348. package/api/features/DeleteTask/index.d.ts +2 -0
  349. package/api/features/DeleteTask/index.js +2 -0
  350. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.d.ts +11 -0
  351. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.js +19 -0
  352. package/api/features/DeleteTaskLog/DeleteTaskLogUseCase.js.map +1 -0
  353. package/api/features/DeleteTaskLog/abstractions.d.ts +14 -0
  354. package/api/features/DeleteTaskLog/abstractions.js +5 -0
  355. package/api/features/DeleteTaskLog/abstractions.js.map +1 -0
  356. package/api/features/DeleteTaskLog/feature.d.ts +4 -0
  357. package/api/features/DeleteTaskLog/feature.js +11 -0
  358. package/api/features/DeleteTaskLog/feature.js.map +1 -0
  359. package/api/features/DeleteTaskLog/index.d.ts +2 -0
  360. package/api/features/DeleteTaskLog/index.js +2 -0
  361. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.d.ts +21 -0
  362. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js +63 -0
  363. package/api/features/GetBackgroundTaskSettings/GetBackgroundTaskSettingsRepository.js.map +1 -0
  364. package/api/features/GetBackgroundTaskSettings/abstractions.d.ts +13 -0
  365. package/api/features/GetBackgroundTaskSettings/abstractions.js +5 -0
  366. package/api/features/GetBackgroundTaskSettings/abstractions.js.map +1 -0
  367. package/api/features/GetBackgroundTaskSettings/feature.d.ts +4 -0
  368. package/api/features/GetBackgroundTaskSettings/feature.js +11 -0
  369. package/api/features/GetBackgroundTaskSettings/feature.js.map +1 -0
  370. package/api/features/GetBackgroundTaskSettings/index.d.ts +2 -0
  371. package/api/features/GetBackgroundTaskSettings/index.js +2 -0
  372. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.d.ts +11 -0
  373. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.js +19 -0
  374. package/api/features/GetLatestTaskLog/GetLatestTaskLogUseCase.js.map +1 -0
  375. package/api/features/GetLatestTaskLog/abstractions.d.ts +15 -0
  376. package/api/features/GetLatestTaskLog/abstractions.js +5 -0
  377. package/api/features/GetLatestTaskLog/abstractions.js.map +1 -0
  378. package/api/features/GetLatestTaskLog/feature.d.ts +4 -0
  379. package/api/features/GetLatestTaskLog/feature.js +11 -0
  380. package/api/features/GetLatestTaskLog/feature.js.map +1 -0
  381. package/api/features/GetLatestTaskLog/index.d.ts +2 -0
  382. package/api/features/GetLatestTaskLog/index.js +2 -0
  383. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.d.ts +13 -0
  384. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js +51 -0
  385. package/api/features/GetRunnableTaskDefinition/GetRunnableTaskDefinitionUseCase.js.map +1 -0
  386. package/api/features/GetRunnableTaskDefinition/abstractions.d.ts +17 -0
  387. package/api/features/GetRunnableTaskDefinition/abstractions.js +5 -0
  388. package/api/features/GetRunnableTaskDefinition/abstractions.js.map +1 -0
  389. package/api/features/GetRunnableTaskDefinition/feature.d.ts +4 -0
  390. package/api/features/GetRunnableTaskDefinition/feature.js +11 -0
  391. package/api/features/GetRunnableTaskDefinition/feature.js.map +1 -0
  392. package/api/features/GetRunnableTaskDefinition/index.d.ts +2 -0
  393. package/api/features/GetRunnableTaskDefinition/index.js +2 -0
  394. package/api/features/GetTask/GetTaskUseCase.d.ts +13 -0
  395. package/api/features/GetTask/GetTaskUseCase.js +19 -0
  396. package/api/features/GetTask/GetTaskUseCase.js.map +1 -0
  397. package/api/features/GetTask/abstractions.d.ts +17 -0
  398. package/api/features/GetTask/abstractions.js +5 -0
  399. package/api/features/GetTask/abstractions.js.map +1 -0
  400. package/api/features/GetTask/feature.d.ts +4 -0
  401. package/api/features/GetTask/feature.js +11 -0
  402. package/api/features/GetTask/feature.js.map +1 -0
  403. package/api/features/GetTask/index.d.ts +2 -0
  404. package/api/features/GetTask/index.js +2 -0
  405. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.d.ts +11 -0
  406. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js +24 -0
  407. package/api/features/ListTaskDefinitions/ListTaskDefinitionsUseCase.js.map +1 -0
  408. package/api/features/ListTaskDefinitions/abstractions.d.ts +9 -0
  409. package/api/features/ListTaskDefinitions/abstractions.js +5 -0
  410. package/api/features/ListTaskDefinitions/abstractions.js.map +1 -0
  411. package/api/features/ListTaskDefinitions/feature.d.ts +4 -0
  412. package/api/features/ListTaskDefinitions/feature.js +11 -0
  413. package/api/features/ListTaskDefinitions/feature.js.map +1 -0
  414. package/api/features/ListTaskDefinitions/index.d.ts +2 -0
  415. package/api/features/ListTaskDefinitions/index.js +2 -0
  416. package/api/features/ListTaskLogs/ListTaskLogsUseCase.d.ts +12 -0
  417. package/api/features/ListTaskLogs/ListTaskLogsUseCase.js +19 -0
  418. package/api/features/ListTaskLogs/ListTaskLogsUseCase.js.map +1 -0
  419. package/api/features/ListTaskLogs/abstractions.d.ts +15 -0
  420. package/api/features/ListTaskLogs/abstractions.js +5 -0
  421. package/api/features/ListTaskLogs/abstractions.js.map +1 -0
  422. package/api/features/ListTaskLogs/feature.d.ts +4 -0
  423. package/api/features/ListTaskLogs/feature.js +11 -0
  424. package/api/features/ListTaskLogs/feature.js.map +1 -0
  425. package/api/features/ListTaskLogs/index.d.ts +2 -0
  426. package/api/features/ListTaskLogs/index.js +2 -0
  427. package/api/features/ListTasks/ListTasksUseCase.d.ts +13 -0
  428. package/api/features/ListTasks/ListTasksUseCase.js +19 -0
  429. package/api/features/ListTasks/ListTasksUseCase.js.map +1 -0
  430. package/api/features/ListTasks/abstractions.d.ts +19 -0
  431. package/api/features/ListTasks/abstractions.js +5 -0
  432. package/api/features/ListTasks/abstractions.js.map +1 -0
  433. package/api/features/ListTasks/feature.d.ts +4 -0
  434. package/api/features/ListTasks/feature.js +11 -0
  435. package/api/features/ListTasks/feature.js.map +1 -0
  436. package/api/features/ListTasks/index.d.ts +2 -0
  437. package/api/features/ListTasks/index.js +2 -0
  438. package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.d.ts +11 -0
  439. package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.js +19 -0
  440. package/api/features/ListVisibleTaskDefinitions/ListVisibleTaskDefinitionsUseCase.js.map +1 -0
  441. package/api/features/ListVisibleTaskDefinitions/abstractions.d.ts +9 -0
  442. package/api/features/ListVisibleTaskDefinitions/abstractions.js +5 -0
  443. package/api/features/ListVisibleTaskDefinitions/abstractions.js.map +1 -0
  444. package/api/features/ListVisibleTaskDefinitions/feature.d.ts +4 -0
  445. package/api/features/ListVisibleTaskDefinitions/feature.js +11 -0
  446. package/api/features/ListVisibleTaskDefinitions/feature.js.map +1 -0
  447. package/api/features/ListVisibleTaskDefinitions/index.d.ts +2 -0
  448. package/api/features/ListVisibleTaskDefinitions/index.js +2 -0
  449. package/api/features/TaskController/TaskController.d.ts +49 -0
  450. package/api/features/TaskController/TaskController.js +71 -0
  451. package/api/features/TaskController/TaskController.js.map +1 -0
  452. package/api/features/TaskController/augmentation.d.ts +60 -0
  453. package/api/features/TaskController/augmentation.js +0 -0
  454. package/api/features/TaskController/index.d.ts +2 -0
  455. package/api/features/TaskController/index.js +2 -0
  456. package/api/features/TaskExecutionContext/TaskExecutionContext.d.ts +24 -0
  457. package/api/features/TaskExecutionContext/TaskExecutionContext.js +43 -0
  458. package/api/features/TaskExecutionContext/TaskExecutionContext.js.map +1 -0
  459. package/api/features/TaskExecutionContext/abstractions.d.ts +26 -0
  460. package/api/features/TaskExecutionContext/abstractions.js +5 -0
  461. package/api/features/TaskExecutionContext/abstractions.js.map +1 -0
  462. package/api/features/TaskExecutionContext/feature.d.ts +4 -0
  463. package/api/features/TaskExecutionContext/feature.js +11 -0
  464. package/api/features/TaskExecutionContext/feature.js.map +1 -0
  465. package/api/features/TaskExecutionContext/index.d.ts +1 -0
  466. package/api/features/TaskExecutionContext/index.js +1 -0
  467. package/api/features/TaskHandlerResolver/TaskHandlerResolver.d.ts +12 -0
  468. package/api/features/TaskHandlerResolver/TaskHandlerResolver.js +19 -0
  469. package/api/features/TaskHandlerResolver/TaskHandlerResolver.js.map +1 -0
  470. package/api/features/TaskHandlerResolver/abstractions.d.ts +17 -0
  471. package/api/features/TaskHandlerResolver/abstractions.js +5 -0
  472. package/api/features/TaskHandlerResolver/abstractions.js.map +1 -0
  473. package/api/features/TaskHandlerResolver/feature.d.ts +9 -0
  474. package/api/features/TaskHandlerResolver/feature.js +11 -0
  475. package/api/features/TaskHandlerResolver/feature.js.map +1 -0
  476. package/api/features/TaskHandlerResolver/index.d.ts +2 -0
  477. package/api/features/TaskHandlerResolver/index.js +2 -0
  478. package/api/features/TaskService/BackgroundTaskService.d.ts +42 -0
  479. package/api/features/TaskService/BackgroundTaskService.js +191 -0
  480. package/api/features/TaskService/BackgroundTaskService.js.map +1 -0
  481. package/api/features/TaskService/feature.d.ts +4 -0
  482. package/api/features/TaskService/feature.js +11 -0
  483. package/api/features/TaskService/feature.js.map +1 -0
  484. package/api/features/TaskService/index.d.ts +1 -0
  485. package/api/features/TaskService/index.js +1 -0
  486. package/api/features/TriggerTask/TriggerTaskUseCase.d.ts +9 -0
  487. package/api/features/TriggerTask/TriggerTaskUseCase.js +12 -0
  488. package/api/features/TriggerTask/TriggerTaskUseCase.js.map +1 -0
  489. package/api/features/TriggerTask/abstractions.d.ts +28 -0
  490. package/api/features/TriggerTask/abstractions.js +5 -0
  491. package/api/features/TriggerTask/abstractions.js.map +1 -0
  492. package/api/features/TriggerTask/feature.d.ts +4 -0
  493. package/api/features/TriggerTask/feature.js +13 -0
  494. package/api/features/TriggerTask/feature.js.map +1 -0
  495. package/api/features/TriggerTask/index.d.ts +2 -0
  496. package/api/features/TriggerTask/index.js +2 -0
  497. package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.d.ts +15 -0
  498. package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.js +26 -0
  499. package/api/features/TriggerVisibleTask/TriggerVisibleTaskUseCase.js.map +1 -0
  500. package/api/features/TriggerVisibleTask/abstractions.d.ts +17 -0
  501. package/api/features/TriggerVisibleTask/abstractions.js +5 -0
  502. package/api/features/TriggerVisibleTask/abstractions.js.map +1 -0
  503. package/api/features/TriggerVisibleTask/feature.d.ts +4 -0
  504. package/api/features/TriggerVisibleTask/feature.js +11 -0
  505. package/api/features/TriggerVisibleTask/feature.js.map +1 -0
  506. package/api/features/TriggerVisibleTask/index.d.ts +2 -0
  507. package/api/features/TriggerVisibleTask/index.js +2 -0
  508. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.d.ts +23 -0
  509. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js +67 -0
  510. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsRepository.js.map +1 -0
  511. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.d.ts +14 -0
  512. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js +27 -0
  513. package/api/features/UpdateBackgroundTaskSettings/UpdateBackgroundTaskSettingsUseCase.js.map +1 -0
  514. package/api/features/UpdateBackgroundTaskSettings/abstractions.d.ts +26 -0
  515. package/api/features/UpdateBackgroundTaskSettings/abstractions.js +6 -0
  516. package/api/features/UpdateBackgroundTaskSettings/abstractions.js.map +1 -0
  517. package/api/features/UpdateBackgroundTaskSettings/feature.d.ts +4 -0
  518. package/api/features/UpdateBackgroundTaskSettings/feature.js +13 -0
  519. package/api/features/UpdateBackgroundTaskSettings/feature.js.map +1 -0
  520. package/api/features/UpdateBackgroundTaskSettings/index.d.ts +2 -0
  521. package/api/features/UpdateBackgroundTaskSettings/index.js +2 -0
  522. package/api/features/UpdateBackgroundTaskSettings/schema.d.ts +4 -0
  523. package/api/features/UpdateBackgroundTaskSettings/schema.js +8 -0
  524. package/api/features/UpdateBackgroundTaskSettings/schema.js.map +1 -0
  525. package/api/features/UpdateTask/UpdateTaskUseCase.d.ts +17 -0
  526. package/api/features/UpdateTask/UpdateTaskUseCase.js +36 -0
  527. package/api/features/UpdateTask/UpdateTaskUseCase.js.map +1 -0
  528. package/api/features/UpdateTask/abstractions.d.ts +22 -0
  529. package/api/features/UpdateTask/abstractions.js +5 -0
  530. package/api/features/UpdateTask/abstractions.js.map +1 -0
  531. package/api/features/UpdateTask/feature.d.ts +4 -0
  532. package/api/features/UpdateTask/feature.js +11 -0
  533. package/api/features/UpdateTask/feature.js.map +1 -0
  534. package/api/features/UpdateTask/index.d.ts +2 -0
  535. package/api/features/UpdateTask/index.js +2 -0
  536. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.d.ts +12 -0
  537. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.js +19 -0
  538. package/api/features/UpdateTaskLog/UpdateTaskLogUseCase.js.map +1 -0
  539. package/api/features/UpdateTaskLog/abstractions.d.ts +16 -0
  540. package/api/features/UpdateTaskLog/abstractions.js +5 -0
  541. package/api/features/UpdateTaskLog/abstractions.js.map +1 -0
  542. package/api/features/UpdateTaskLog/feature.d.ts +4 -0
  543. package/api/features/UpdateTaskLog/feature.js +11 -0
  544. package/api/features/UpdateTaskLog/feature.js.map +1 -0
  545. package/api/features/UpdateTaskLog/index.d.ts +2 -0
  546. package/api/features/UpdateTaskLog/index.js +2 -0
  547. package/api/global.d.ts +1 -0
  548. package/api/global.js +1 -0
  549. package/api/graphql/BackgroundTasksGraphQLSchema.d.ts +29 -0
  550. package/api/graphql/BackgroundTasksGraphQLSchema.js +462 -0
  551. package/api/graphql/BackgroundTasksGraphQLSchema.js.map +1 -0
  552. package/api/graphql/checkPermissions.d.ts +7 -0
  553. package/api/graphql/checkPermissions.js +22 -0
  554. package/api/graphql/checkPermissions.js.map +1 -0
  555. package/api/graphql/utils.d.ts +9 -0
  556. package/api/graphql/utils.js +20 -0
  557. package/api/graphql/utils.js.map +1 -0
  558. package/api/handler/types.d.ts +21 -0
  559. package/api/handler/types.js +0 -0
  560. package/api/index.d.ts +21 -0
  561. package/api/index.js +20 -0
  562. package/api/models/BackgroundTaskSettingsModel.d.ts +8 -0
  563. package/api/models/BackgroundTaskSettingsModel.js +27 -0
  564. package/api/models/BackgroundTaskSettingsModel.js.map +1 -0
  565. package/api/permissions.d.ts +12 -0
  566. package/api/permissions.js +22 -0
  567. package/api/permissions.js.map +1 -0
  568. package/api/response/DatabaseResponse.d.ts +12 -0
  569. package/api/response/DatabaseResponse.js +127 -0
  570. package/api/response/DatabaseResponse.js.map +1 -0
  571. package/api/response/Response.d.ts +14 -0
  572. package/api/response/Response.js +91 -0
  573. package/api/response/Response.js.map +1 -0
  574. package/api/response/ResponseAbortedResult.d.ts +9 -0
  575. package/api/response/ResponseAbortedResult.js +12 -0
  576. package/api/response/ResponseAbortedResult.js.map +1 -0
  577. package/api/response/ResponseContinueResult.d.ts +17 -0
  578. package/api/response/ResponseContinueResult.js +16 -0
  579. package/api/response/ResponseContinueResult.js.map +1 -0
  580. package/api/response/ResponseDoneResult.d.ts +11 -0
  581. package/api/response/ResponseDoneResult.js +14 -0
  582. package/api/response/ResponseDoneResult.js.map +1 -0
  583. package/api/response/ResponseErrorResult.d.ts +10 -0
  584. package/api/response/ResponseErrorResult.js +13 -0
  585. package/api/response/ResponseErrorResult.js.map +1 -0
  586. package/api/response/TaskResponse.d.ts +12 -0
  587. package/api/response/TaskResponse.js +53 -0
  588. package/api/response/TaskResponse.js.map +1 -0
  589. package/api/response/abstractions/Response.d.ts +25 -0
  590. package/api/response/abstractions/Response.js +0 -0
  591. package/api/response/abstractions/ResponseAbortedResult.d.ts +5 -0
  592. package/api/response/abstractions/ResponseAbortedResult.js +0 -0
  593. package/api/response/abstractions/ResponseBaseResult.d.ts +7 -0
  594. package/api/response/abstractions/ResponseBaseResult.js +0 -0
  595. package/api/response/abstractions/ResponseContinueResult.d.ts +21 -0
  596. package/api/response/abstractions/ResponseContinueResult.js +0 -0
  597. package/api/response/abstractions/ResponseDoneResult.d.ts +13 -0
  598. package/api/response/abstractions/ResponseDoneResult.js +0 -0
  599. package/api/response/abstractions/ResponseErrorResult.d.ts +18 -0
  600. package/api/response/abstractions/ResponseErrorResult.js +0 -0
  601. package/api/response/abstractions/TaskResponse.d.ts +16 -0
  602. package/api/response/abstractions/TaskResponse.js +0 -0
  603. package/api/response/abstractions/index.d.ts +7 -0
  604. package/api/response/abstractions/index.js +7 -0
  605. package/api/response/index.d.ts +7 -0
  606. package/api/response/index.js +7 -0
  607. package/api/runner/TaskControl.d.ts +48 -0
  608. package/api/runner/TaskControl.js +186 -0
  609. package/api/runner/TaskControl.js.map +1 -0
  610. package/api/runner/TaskEventValidation.d.ts +5 -0
  611. package/api/runner/TaskEventValidation.js +20 -0
  612. package/api/runner/TaskEventValidation.js.map +1 -0
  613. package/api/runner/TaskManager.d.ts +22 -0
  614. package/api/runner/TaskManager.js +83 -0
  615. package/api/runner/TaskManager.js.map +1 -0
  616. package/api/runner/TaskManagerStore.d.ts +57 -0
  617. package/api/runner/TaskManagerStore.js +127 -0
  618. package/api/runner/TaskManagerStore.js.map +1 -0
  619. package/api/runner/TaskRunner.d.ts +25 -0
  620. package/api/runner/TaskRunner.js +86 -0
  621. package/api/runner/TaskRunner.js.map +1 -0
  622. package/api/runner/abstractions/TaskControl.d.ts +10 -0
  623. package/api/runner/abstractions/TaskControl.js +0 -0
  624. package/api/runner/abstractions/TaskEventValidation.d.ts +5 -0
  625. package/api/runner/abstractions/TaskEventValidation.js +0 -0
  626. package/api/runner/abstractions/TaskManager.d.ts +5 -0
  627. package/api/runner/abstractions/TaskManager.js +0 -0
  628. package/api/runner/abstractions/TaskManagerStore.d.ts +92 -0
  629. package/api/runner/abstractions/TaskManagerStore.js +0 -0
  630. package/api/runner/abstractions/TaskRunner.d.ts +13 -0
  631. package/api/runner/abstractions/TaskRunner.js +0 -0
  632. package/api/runner/abstractions/index.d.ts +5 -0
  633. package/api/runner/abstractions/index.js +5 -0
  634. package/api/runner/index.d.ts +1 -0
  635. package/api/runner/index.js +1 -0
  636. package/api/tasks/testingRunTask.d.ts +19 -0
  637. package/api/tasks/testingRunTask.js +25 -0
  638. package/api/tasks/testingRunTask.js.map +1 -0
  639. package/api/types.d.ts +120 -0
  640. package/api/types.js +20 -0
  641. package/api/types.js.map +1 -0
  642. package/api/utils/ObjectUpdater.d.ts +8 -0
  643. package/api/utils/ObjectUpdater.js +33 -0
  644. package/api/utils/ObjectUpdater.js.map +1 -0
  645. package/api/utils/getErrorProperties.d.ts +2 -0
  646. package/api/utils/getErrorProperties.js +9 -0
  647. package/api/utils/getErrorProperties.js.map +1 -0
  648. package/api/utils/getObjectProperties.d.ts +8 -0
  649. package/api/utils/getObjectProperties.js +11 -0
  650. package/api/utils/getObjectProperties.js.map +1 -0
  651. package/api/utils/index.d.ts +3 -0
  652. package/api/utils/index.js +3 -0
  653. package/api/utils/normalizeSelfCleanup.d.ts +2 -0
  654. package/api/utils/normalizeSelfCleanup.js +16 -0
  655. package/api/utils/normalizeSelfCleanup.js.map +1 -0
  656. package/index.d.ts +2 -0
  657. package/index.js +2 -0
  658. package/package.json +65 -0
  659. package/testing/index.d.ts +3 -0
  660. package/testing/index.js +2 -0
  661. package/testing/mockTaskTriggerTransportPlugin.d.ts +2 -0
  662. package/testing/mockTaskTriggerTransportPlugin.js +18 -0
  663. package/testing/mockTaskTriggerTransportPlugin.js.map +1 -0
  664. package/testing/runner.d.ts +19 -0
  665. package/testing/runner.js +44 -0
  666. package/testing/runner.js.map +1 -0
@@ -0,0 +1,12 @@
1
+ export declare const HasPermission: import("react").FC<import("@webiny/app-admin/permissions").HasPermissionProps<{
2
+ readonly prefix: "backgroundTasks";
3
+ readonly fullAccess: true;
4
+ readonly entities: [{
5
+ readonly id: "task";
6
+ readonly permission: "backgroundTasks.task";
7
+ readonly scopes: ["full"];
8
+ readonly actions: [{
9
+ readonly name: "rwd";
10
+ }];
11
+ }];
12
+ }>>;
@@ -0,0 +1,6 @@
1
+ import { createHasPermission } from "@webiny/app-admin/exports/admin/security.js";
2
+ import { TaskPermissions } from "../../features/permissions/abstractions.js";
3
+ const HasPermission = createHasPermission(TaskPermissions);
4
+ export { HasPermission };
5
+
6
+ //# sourceMappingURL=HasPermission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/security/HasPermission.js","sources":["../../../../src/admin/presentation/security/HasPermission.tsx"],"sourcesContent":["import { createHasPermission } from \"@webiny/app-admin/exports/admin/security.js\";\nimport { TaskPermissions } from \"~/admin/features/permissions/abstractions.js\";\nimport { BACKGROUND_TASK_PERMISSIONS_SCHEMA } from \"~/admin/permissions.js\";\n\nexport const HasPermission =\n createHasPermission<typeof BACKGROUND_TASK_PERMISSIONS_SCHEMA>(TaskPermissions);\n"],"names":["HasPermission","createHasPermission","TaskPermissions"],"mappings":";;AAIO,MAAMA,gBACTC,oBAA+DC"}
@@ -0,0 +1,12 @@
1
+ export declare const usePermissions: () => {
2
+ canAccess: (entityId: "task") => boolean;
3
+ canAction: (action: string, entityId: "task") => boolean;
4
+ } & {
5
+ canRead: (entityId: "task") => boolean;
6
+ canCreate: (entityId: "task") => boolean;
7
+ canEdit: (entityId: "task", item?: import("@webiny/app-admin/permissions").OwnableItem) => boolean;
8
+ canDelete: (entityId: "task", item?: import("@webiny/app-admin/permissions").OwnableItem) => boolean;
9
+ } & {
10
+ canPublish: (entityId: string) => boolean;
11
+ canUnpublish: (entityId: string) => boolean;
12
+ };
@@ -0,0 +1,6 @@
1
+ import { createUsePermissions } from "@webiny/app-admin/exports/admin/security.js";
2
+ import { TaskPermissions } from "../../features/permissions/abstractions.js";
3
+ const usePermissions = createUsePermissions(TaskPermissions);
4
+ export { usePermissions };
5
+
6
+ //# sourceMappingURL=usePermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/presentation/security/usePermissions.js","sources":["../../../../src/admin/presentation/security/usePermissions.ts"],"sourcesContent":["import { createUsePermissions } from \"@webiny/app-admin/exports/admin/security.js\";\nimport { TaskPermissions } from \"~/admin/features/permissions/abstractions.js\";\n\nexport const usePermissions = createUsePermissions(TaskPermissions);\n"],"names":["usePermissions","createUsePermissions","TaskPermissions"],"mappings":";;AAGO,MAAMA,iBAAiBC,qBAAqBC"}
@@ -0,0 +1,6 @@
1
+ import { Route } from "@webiny/app-admin";
2
+ export declare const Routes: {
3
+ Definitions: Route<undefined>;
4
+ Executions: Route<undefined>;
5
+ Settings: Route<undefined>;
6
+ };
@@ -0,0 +1,18 @@
1
+ import { Route } from "@webiny/app-admin";
2
+ const Routes = {
3
+ Definitions: new Route({
4
+ name: "BackgroundTasks/Definitions",
5
+ path: "/background-tasks/definitions"
6
+ }),
7
+ Executions: new Route({
8
+ name: "BackgroundTasks/Executions",
9
+ path: "/background-tasks/executions"
10
+ }),
11
+ Settings: new Route({
12
+ name: "BackgroundTasks/Settings",
13
+ path: "/background-tasks/settings"
14
+ })
15
+ };
16
+ export { Routes };
17
+
18
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin/routes.js","sources":["../../src/admin/routes.ts"],"sourcesContent":["import { Route } from \"@webiny/app-admin\";\n\nexport const Routes = {\n Definitions: new Route({\n name: \"BackgroundTasks/Definitions\",\n path: \"/background-tasks/definitions\"\n }),\n Executions: new Route({\n name: \"BackgroundTasks/Executions\",\n path: \"/background-tasks/executions\"\n }),\n Settings: new Route({\n name: \"BackgroundTasks/Settings\",\n path: \"/background-tasks/settings\"\n })\n};\n"],"names":["Routes","Route"],"mappings":";AAEO,MAAMA,SAAS;IAClB,aAAa,IAAIC,MAAM;QACnB,MAAM;QACN,MAAM;IACV;IACA,YAAY,IAAIA,MAAM;QAClB,MAAM;QACN,MAAM;IACV;IACA,UAAU,IAAIA,MAAM;QAChB,MAAM;QACN,MAAM;IACV;AACJ"}
@@ -0,0 +1,18 @@
1
+ import type { TaskRun } from "@webiny/sdk";
2
+ export type TaskStatus = "pending" | "running" | "success" | "failed" | "aborted";
3
+ export type Task = Omit<TaskRun, "taskStatus"> & {
4
+ taskStatus: TaskStatus;
5
+ createdOn?: string;
6
+ savedOn?: string;
7
+ createdBy?: {
8
+ id: string;
9
+ displayName: string;
10
+ type?: string;
11
+ };
12
+ };
13
+ export type { TaskLog } from "@webiny/sdk";
14
+ export type { TaskLogItem } from "@webiny/sdk";
15
+ export type { TaskDefinition } from "@webiny/sdk";
16
+ export interface BackgroundTaskSettings {
17
+ retentionDays: number | undefined;
18
+ }
File without changes
@@ -0,0 +1,4 @@
1
+ export declare const BackgroundTasksFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,79 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { TaskDefinitionDefaultsDecorator } from "./decorators/TaskDefinitionDefaultsDecorator.js";
3
+ import { SelfCleaningTaskHandlerDecorator } from "./decorators/SelfCleaningTaskHandlerDecorator.js";
4
+ import { TaskController } from "./features/TaskController/index.js";
5
+ import { TaskPrivateModel } from "./crud/TaskPrivateModel.js";
6
+ import { TaskLogPrivateModel } from "./crud/TaskLogPrivateModel.js";
7
+ import { BackgroundTaskSettingsModel } from "./models/BackgroundTaskSettingsModel.js";
8
+ import { TaskModelProvider } from "./domain/task/TaskModelProvider.js";
9
+ import { TaskLogModelProvider } from "./domain/task/TaskLogModelProvider.js";
10
+ import { TasksRepository } from "./domain/task/TasksRepository.js";
11
+ import { TaskLogsRepository } from "./domain/task/TaskLogsRepository.js";
12
+ import { TaskExecutionContextFeature } from "./features/TaskExecutionContext/feature.js";
13
+ import { TaskHandlerResolverFeature } from "./features/TaskHandlerResolver/feature.js";
14
+ import { GetRunnableTaskDefinitionFeature } from "./features/GetRunnableTaskDefinition/feature.js";
15
+ import { ListTaskDefinitionsFeature } from "./features/ListTaskDefinitions/feature.js";
16
+ import { CleanupTaskSubtreeFeature } from "./features/CleanupTaskSubtree/index.js";
17
+ import { CreateTaskFeature } from "./features/CreateTask/index.js";
18
+ import { UpdateTaskFeature } from "./features/UpdateTask/index.js";
19
+ import { DeleteTaskFeature } from "./features/DeleteTask/index.js";
20
+ import { BackgroundTaskServiceFeature } from "./features/TaskService/index.js";
21
+ import { CreateTaskLogFeature } from "./features/CreateTaskLog/index.js";
22
+ import { UpdateTaskLogFeature } from "./features/UpdateTaskLog/index.js";
23
+ import { DeleteTaskLogFeature } from "./features/DeleteTaskLog/index.js";
24
+ import { GetLatestTaskLogFeature } from "./features/GetLatestTaskLog/index.js";
25
+ import { ListTaskLogsFeature } from "./features/ListTaskLogs/index.js";
26
+ import { TriggerTaskFeature } from "./features/TriggerTask/feature.js";
27
+ import { AbortTaskFeature } from "./features/AbortTask/feature.js";
28
+ import { GetTaskFeature } from "./features/GetTask/feature.js";
29
+ import { TriggerVisibleTaskFeature } from "./features/TriggerVisibleTask/feature.js";
30
+ import { ListVisibleTaskDefinitionsFeature } from "./features/ListVisibleTaskDefinitions/feature.js";
31
+ import { ListTasksFeature } from "./features/ListTasks/feature.js";
32
+ import { TestingRunTaskDefinition } from "./tasks/testingRunTask.js";
33
+ import { BackgroundTaskPermissionsFeature } from "./features/BackgroundTaskPermissions/feature.js";
34
+ import { GetBackgroundTaskSettingsFeature } from "./features/GetBackgroundTaskSettings/feature.js";
35
+ import { UpdateBackgroundTaskSettingsFeature } from "./features/UpdateBackgroundTaskSettings/feature.js";
36
+ import { BackgroundTasksGraphQLSchema } from "./graphql/BackgroundTasksGraphQLSchema.js";
37
+ const BackgroundTasksFeature = createFeature({
38
+ name: "BackgroundTasks",
39
+ register (container) {
40
+ container.register(TaskPrivateModel);
41
+ container.register(TaskLogPrivateModel);
42
+ container.register(BackgroundTaskSettingsModel);
43
+ container.registerDecorator(TaskDefinitionDefaultsDecorator);
44
+ container.registerDecorator(SelfCleaningTaskHandlerDecorator);
45
+ TaskHandlerResolverFeature.register(container);
46
+ GetRunnableTaskDefinitionFeature.register(container);
47
+ ListTaskDefinitionsFeature.register(container);
48
+ container.register(TaskModelProvider);
49
+ container.register(TaskLogModelProvider);
50
+ container.register(TasksRepository);
51
+ container.register(TaskLogsRepository);
52
+ GetTaskFeature.register(container);
53
+ ListTasksFeature.register(container);
54
+ CreateTaskFeature.register(container);
55
+ UpdateTaskFeature.register(container);
56
+ DeleteTaskFeature.register(container);
57
+ CleanupTaskSubtreeFeature.register(container);
58
+ CreateTaskLogFeature.register(container);
59
+ UpdateTaskLogFeature.register(container);
60
+ DeleteTaskLogFeature.register(container);
61
+ GetLatestTaskLogFeature.register(container);
62
+ ListTaskLogsFeature.register(container);
63
+ BackgroundTaskServiceFeature.register(container);
64
+ TriggerTaskFeature.register(container);
65
+ AbortTaskFeature.register(container);
66
+ TriggerVisibleTaskFeature.register(container);
67
+ ListVisibleTaskDefinitionsFeature.register(container);
68
+ TaskExecutionContextFeature.register(container);
69
+ container.register(TaskController);
70
+ container.register(TestingRunTaskDefinition);
71
+ BackgroundTaskPermissionsFeature.register(container);
72
+ GetBackgroundTaskSettingsFeature.register(container);
73
+ UpdateBackgroundTaskSettingsFeature.register(container);
74
+ container.register(BackgroundTasksGraphQLSchema);
75
+ }
76
+ });
77
+ export { BackgroundTasksFeature };
78
+
79
+ //# sourceMappingURL=BackgroundTasksFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api/BackgroundTasksFeature.js","sources":["../../src/api/BackgroundTasksFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { TaskDefinitionDefaultsDecorator } from \"./decorators/TaskDefinitionDefaultsDecorator.js\";\nimport { SelfCleaningTaskHandlerDecorator } from \"./decorators/SelfCleaningTaskHandlerDecorator.js\";\nimport { TaskController } from \"./features/TaskController/index.js\";\nimport { TaskPrivateModel } from \"./crud/TaskPrivateModel.js\";\nimport { TaskLogPrivateModel } from \"./crud/TaskLogPrivateModel.js\";\nimport { BackgroundTaskSettingsModel } from \"./models/BackgroundTaskSettingsModel.js\";\nimport { TaskModelProvider } from \"./domain/task/TaskModelProvider.js\";\nimport { TaskLogModelProvider } from \"./domain/task/TaskLogModelProvider.js\";\nimport { TasksRepository } from \"./domain/task/TasksRepository.js\";\nimport { TaskLogsRepository } from \"./domain/task/TaskLogsRepository.js\";\nimport { TaskExecutionContextFeature } from \"./features/TaskExecutionContext/feature.js\";\nimport { TaskHandlerResolverFeature } from \"./features/TaskHandlerResolver/feature.js\";\nimport { GetRunnableTaskDefinitionFeature } from \"./features/GetRunnableTaskDefinition/feature.js\";\nimport { ListTaskDefinitionsFeature } from \"./features/ListTaskDefinitions/feature.js\";\nimport { CleanupTaskSubtreeFeature } from \"./features/CleanupTaskSubtree/index.js\";\nimport { CreateTaskFeature } from \"./features/CreateTask/index.js\";\nimport { UpdateTaskFeature } from \"./features/UpdateTask/index.js\";\nimport { DeleteTaskFeature } from \"./features/DeleteTask/index.js\";\nimport { BackgroundTaskServiceFeature } from \"./features/TaskService/index.js\";\nimport { CreateTaskLogFeature } from \"./features/CreateTaskLog/index.js\";\nimport { UpdateTaskLogFeature } from \"./features/UpdateTaskLog/index.js\";\nimport { DeleteTaskLogFeature } from \"./features/DeleteTaskLog/index.js\";\nimport { GetLatestTaskLogFeature } from \"./features/GetLatestTaskLog/index.js\";\nimport { ListTaskLogsFeature } from \"./features/ListTaskLogs/index.js\";\nimport { TriggerTaskFeature } from \"./features/TriggerTask/feature.js\";\nimport { AbortTaskFeature } from \"./features/AbortTask/feature.js\";\nimport { GetTaskFeature } from \"./features/GetTask/feature.js\";\nimport { TriggerVisibleTaskFeature } from \"./features/TriggerVisibleTask/feature.js\";\nimport { ListVisibleTaskDefinitionsFeature } from \"./features/ListVisibleTaskDefinitions/feature.js\";\nimport { ListTasksFeature } from \"./features/ListTasks/feature.js\";\nimport { TestingRunTaskDefinition } from \"./tasks/testingRunTask.js\";\nimport { BackgroundTaskPermissionsFeature } from \"./features/BackgroundTaskPermissions/feature.js\";\nimport { GetBackgroundTaskSettingsFeature } from \"./features/GetBackgroundTaskSettings/feature.js\";\nimport { UpdateBackgroundTaskSettingsFeature } from \"./features/UpdateBackgroundTaskSettings/feature.js\";\nimport { BackgroundTasksGraphQLSchema } from \"./graphql/BackgroundTasksGraphQLSchema.js\";\n\nexport const BackgroundTasksFeature = createFeature({\n name: \"BackgroundTasks\",\n register(container) {\n // Register models at register() time so they are available to GetModelUseCase when the\n // ModelsFetcher cache is first filled (which may happen during an earlier feature's enhance).\n container.register(TaskPrivateModel);\n container.register(TaskLogPrivateModel);\n container.register(BackgroundTaskSettingsModel);\n\n // Metadata rules, applied to every registered TaskDefinition.\n container.registerDecorator(TaskDefinitionDefaultsDecorator);\n\n // Self-cleanup runs in the lifecycle hooks, which belong to the handler. Applied when the\n // runner resolves the handler a definition names.\n container.registerDecorator(SelfCleaningTaskHandlerDecorator);\n\n // Task definition use cases.\n TaskHandlerResolverFeature.register(container);\n GetRunnableTaskDefinitionFeature.register(container);\n ListTaskDefinitionsFeature.register(container);\n\n // Task and log storage.\n container.register(TaskModelProvider);\n container.register(TaskLogModelProvider);\n container.register(TasksRepository);\n container.register(TaskLogsRepository);\n\n // Task use cases, and the public TaskService (trigger, abort, service info) on top of them.\n GetTaskFeature.register(container);\n ListTasksFeature.register(container);\n CreateTaskFeature.register(container);\n UpdateTaskFeature.register(container);\n DeleteTaskFeature.register(container);\n CleanupTaskSubtreeFeature.register(container);\n CreateTaskLogFeature.register(container);\n UpdateTaskLogFeature.register(container);\n DeleteTaskLogFeature.register(container);\n GetLatestTaskLogFeature.register(container);\n ListTaskLogsFeature.register(container);\n BackgroundTaskServiceFeature.register(container);\n TriggerTaskFeature.register(container);\n AbortTaskFeature.register(container);\n\n // The GraphQL API's use cases: private definitions cannot be started or listed; their\n // runs are visible like any other.\n TriggerVisibleTaskFeature.register(container);\n ListVisibleTaskDefinitionsFeature.register(container);\n\n // Execution context (singleton), controller, and the built-in test task.\n TaskExecutionContextFeature.register(container);\n container.register(TaskController);\n container.register(TestingRunTaskDefinition);\n\n // Permissions + settings features.\n BackgroundTaskPermissionsFeature.register(container);\n GetBackgroundTaskSettingsFeature.register(container);\n UpdateBackgroundTaskSettingsFeature.register(container);\n\n // GraphQL schema, rendered from the CMS task/log content models.\n container.register(BackgroundTasksGraphQLSchema);\n }\n});\n"],"names":["BackgroundTasksFeature","createFeature","container","TaskPrivateModel","TaskLogPrivateModel","BackgroundTaskSettingsModel","TaskDefinitionDefaultsDecorator","SelfCleaningTaskHandlerDecorator","TaskHandlerResolverFeature","GetRunnableTaskDefinitionFeature","ListTaskDefinitionsFeature","TaskModelProvider","TaskLogModelProvider","TasksRepository","TaskLogsRepository","GetTaskFeature","ListTasksFeature","CreateTaskFeature","UpdateTaskFeature","DeleteTaskFeature","CleanupTaskSubtreeFeature","CreateTaskLogFeature","UpdateTaskLogFeature","DeleteTaskLogFeature","GetLatestTaskLogFeature","ListTaskLogsFeature","BackgroundTaskServiceFeature","TriggerTaskFeature","AbortTaskFeature","TriggerVisibleTaskFeature","ListVisibleTaskDefinitionsFeature","TaskExecutionContextFeature","TaskController","TestingRunTaskDefinition","BackgroundTaskPermissionsFeature","GetBackgroundTaskSettingsFeature","UpdateBackgroundTaskSettingsFeature","BackgroundTasksGraphQLSchema"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCO,MAAMA,yBAAyBC,cAAc;IAChD,MAAM;IACN,UAASC,SAAS;QAGdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QAGnBH,UAAU,iBAAiB,CAACI;QAI5BJ,UAAU,iBAAiB,CAACK;QAG5BC,2BAA2B,QAAQ,CAACN;QACpCO,iCAAiC,QAAQ,CAACP;QAC1CQ,2BAA2B,QAAQ,CAACR;QAGpCA,UAAU,QAAQ,CAACS;QACnBT,UAAU,QAAQ,CAACU;QACnBV,UAAU,QAAQ,CAACW;QACnBX,UAAU,QAAQ,CAACY;QAGnBC,eAAe,QAAQ,CAACb;QACxBc,iBAAiB,QAAQ,CAACd;QAC1Be,kBAAkB,QAAQ,CAACf;QAC3BgB,kBAAkB,QAAQ,CAAChB;QAC3BiB,kBAAkB,QAAQ,CAACjB;QAC3BkB,0BAA0B,QAAQ,CAAClB;QACnCmB,qBAAqB,QAAQ,CAACnB;QAC9BoB,qBAAqB,QAAQ,CAACpB;QAC9BqB,qBAAqB,QAAQ,CAACrB;QAC9BsB,wBAAwB,QAAQ,CAACtB;QACjCuB,oBAAoB,QAAQ,CAACvB;QAC7BwB,6BAA6B,QAAQ,CAACxB;QACtCyB,mBAAmB,QAAQ,CAACzB;QAC5B0B,iBAAiB,QAAQ,CAAC1B;QAI1B2B,0BAA0B,QAAQ,CAAC3B;QACnC4B,kCAAkC,QAAQ,CAAC5B;QAG3C6B,4BAA4B,QAAQ,CAAC7B;QACrCA,UAAU,QAAQ,CAAC8B;QACnB9B,UAAU,QAAQ,CAAC+B;QAGnBC,iCAAiC,QAAQ,CAAChC;QAC1CiC,iCAAiC,QAAQ,CAACjC;QAC1CkC,oCAAoC,QAAQ,CAAClC;QAG7CA,UAAU,QAAQ,CAACmC;IACvB;AACJ"}
@@ -0,0 +1 @@
1
+ export type { Timer } from "@webiny/utils/features/Timer/abstraction.js";
File without changes
@@ -0,0 +1 @@
1
+ export { Timer } from "./Timer.js";
@@ -0,0 +1 @@
1
+ export { Timer } from "./Timer.js";
@@ -0,0 +1,9 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ export declare const WEBINY_TASK_LOG_MODEL_ID = "wbyTaskLog";
3
+ declare class TaskLogPrivateModelImpl implements ModelFactory.Interface {
4
+ execute(builder: ModelFactory.Builder): Promise<import("@webiny/api-headless-cms/features/modelBuilder/index.js").PrivateModelBuilder[]>;
5
+ }
6
+ export declare const TaskLogPrivateModel: typeof TaskLogPrivateModelImpl & {
7
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-headless-cms/features/modelBuilder/abstractions").IModelFactory>;
8
+ };
9
+ export {};
@@ -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;